从5大挑战带你了解多模态机器学习
摘要:多模態機器學習旨在從多種模態建立一種模型,能夠處理和關聯多種模態的信息。考慮到數據的異構性,MMML(Multimodal Machine Learning)領域帶來了許多獨特的挑戰,總體而言五種:表示、轉化、對齊、融合、協同學習。
本文分享自華為云社區《多模態學習綜述》,原文作者:Finetune小能手。
前言
一種模態指事物發生或體驗的方式,關于多模態研究的問題就是指包含多種模態。
多模態機器學習旨在從多種模態建立一種模型,能夠處理和關聯多種模態的信息
考慮到數據的異構性,MMML(Multimodal Machine Learning)領域帶來了許多獨特的挑戰,總體而言五種:
表示:最為基礎的挑戰,學習利用多種模態的互補性和冗余性,來表示和概括模態數據的方法。模態的異構性為這種表示帶來挑戰。例如:語言通常是符號表示,而語音通常是信號表示。
轉化:如何轉換(映射)一種模態的數據到另一種模態。多模態不僅數據異構,而且模態間的關系通常是開放的或者說是主觀的。例如,有許多種正確的方法來描述一張圖片,其中可能并不存在最好的模態轉譯。
對齊:模態對齊主要是識別多種模態的要素(子要素)間的直接聯系。例如,將菜譜的每一步和做菜的視頻進行對應。解決這個問題需要衡量不同模態的間的相似性,而且要考慮可能的長距離依賴和歧義。
融合:將多種模態的信息進行連接,從而完成推理。例如,視聽語音識別,視覺描述的嘴唇的運動與音頻信號進行混合來完成所說的詞的推理。當可能至少一種模態數據丟失的時候,來自不同模態的信息在推理中有不同的預測能力和噪聲拓撲。
協同學習:在不同模態、表示、預測模型間進行知識遷移。協同訓練、conceptual grounding和zero-shot learning中有典型應用。當某一種模態資源有限時(標注數據很少)有很大意義。
應用:應用很多,包括視聽語音識別(AVSR),多媒體數據索引和搜索,社交互動行為理解,視頻描述等
一、多模態表示
多模態表示需解決問題:異構數據如何結合,不同級別的噪聲如何處理,丟失數據如何處理
Bengio指出,好的特征表示應該:
平滑
時空一致
稀疏
自然聚類
Srivastava et.al.補充三點
表征空間應該反映對應概念相似性
即便一些模態不存在,表征應該易于獲得
使填充丟失的模態成為可能
在之前的研究中(before 2019),大部分多模態表征簡單的將單模態特征進行連接,兩種多模態表征方法:聯合表示(joint representation),協同表示(coordinated representation)
聯合表示
每個模態為x_ixi?,x_m = f(x_1, dots, x_n)xm?=f(x1?,…,xn?)
聯合表示常用于訓練推理均為多模態數據的任務中,最為簡單的方法就是特征拼接
深度學習方法:深度學習特征后幾層天然的包含高層語義信息,常用最后或倒數第二層特征
由于深度學習網絡需要大量標注數據,常會利用無監督方法,例如自編碼器,進行特征表示預訓練,深度學習不能天然的解決數據丟失問題。
概率圖模型:利用隱隨機變量構建特征表示
最常見的基于圖模型的特征表示方法,利用深度玻爾茲曼機(DBM)、受限玻爾茲曼機(RBM)作為模塊構建,類似深度學習,特征分層,是無監督方法。也有用深度信念網絡(DBN)表征每個模態然后進行聯合表示的。
利用多模態深度玻爾茲曼機學習多模態特征表示,由于天然的生成特性,能夠輕松處理丟失數據問題,整個模態數據丟失也可以自然解決;還可以用某種模態來生成另一種種模態的樣本;DBM缺陷在于難訓練,計算代價高,需要變分近似訓練方法
序列表征
當數據的長度是變長序列時,例如句子、視頻或者音頻流,使用序列表征
RNN,LSTM當前主要用于表示單模態序列,而RNN的某個時刻的hidden state,可以看做在這個時刻前的所有序列的特征的整合,AVSR中Cosi等人使用RNN來表示多模態特征。
協同表示
每個模態為x_ixi?,f(x_1) sim g(x_2)f(x1?)~g(x2?),每個模態有對應的映射函數,將它映射到多模態空間中,每個模態的投影過程是獨立的,但是最終的多模態空間是通過某種限制來協同表示的。
兩種協同表示方式:相似度模型,結構化模型,前者保證特征表示的相似性,后者加強在特征結果空間中的結構化。
相似度模型:相似度模型最小化不同模態在協同表示空間中的距離,例如狗和狗的圖像的距離,小于狗和車的圖像的距離。深度神經網絡在協同表示中的優勢在于能夠以端到端的方式進行協同表示的聯合學習。
結構化協同空間模型:結構化協同表示模型加強了不同模態表示的附加限制,具體的結構化限制根據應用而異。
結構化協同表示空間常用在跨模態哈希中,將高維的數據壓縮到緊湊的二進制表示使得相似的object有相似的編碼,常用于跨模態檢索中。哈希的方法迫使最終多模態空間表示有如下限制:1) N維的漢明空間,可控位數的二進制表示;2) 不同模態的相同object有著相似的哈希編碼;3) 多模態空間必須保持數據相似性。
另一種結構化協同表示的方法來源于圖像和語言的“順序嵌入”。
例如,Vendrov et al. 在多模態空間中強化了一種不相似度量,它是非對稱的偏序關系。主要思想是在語言和圖像的表示中抓住了一種偏序關系,強制了一種層級結構。對于一張圖像,這種偏序關系為“a woman walking her dog” > “woman walking her dog” > “woman walking”。
一種特殊的結構化協同空間是基于典型相關分析(CCA)。CCA利用線性投影最大化兩個隨機變量相關性,增強了新空間的正交性。CCA模型多用于跨模態搜索,和語音視覺信號分析。
利用核方法,CCA可以擴展為KCCA,這種非參數的方法隨著訓練數據規模的增長可擴展性較差。深度典型相關分析DCCA作為KCCA的替代品被提出,解決了可擴展性問題,可以得到更好的相關表示空間。深度相關性RBM也可以作為跨模態搜索的方法。
KCCA,CCA,DCCA都是非監督的方法,僅能優化特征表示的相關性,能夠獲取到跨模態的共享特征。
其它的方法例如,深度典型相關自編碼器,語義相關性最大化方法也用于結構化協同空間表示中
小結:
聯合和協同表示方法是多模態特征表示的兩種主要方法。
聯合特征表示方法將多模態數據投影到一個共同的特征表示空間,最適用于推理時所有模態的數據都出現的場景。
協同特征表示方法將每個模態投影到分離但相關的空間,這種方法適用于推理時僅有一種模態出現的情況。
聯合表示方法已經用在構建多于兩種模態表示的場景,而協同空間表示常限定為兩種模態。
二、多模態轉化
從一種模態轉化為另一種模態是很多多模態機器學習關注的內容。
多模態轉化的任務是給定一個模態中的一個實體,生成另一種模態中的相同實體。例如,給定一張圖像,我們可以生成一句話來描述這張圖像,或者,給定一個文字描述,我們能夠生成與之匹配的圖像。多模態轉化已經研究了很長時間,早期的語音合成、視聽語音生成,視頻描述,跨模態檢索。近來,NLP和CV領域的結合,以及大規模多模態數據都推動這方面發展。
熱門應用:視覺場景描述(圖像、視頻描述),除了識別主體部分、理解視覺場景,還需要生成語法正確,理解精確的描述語句。
多模態轉化可以分為兩類,基于實例的方法和生成式方法,前者使用字典實現模態轉化,后者使用模型生成轉化結果
考慮到生成式模型需要生成信號或者符號序列(句子),生成式模型方法挑戰更大。所以早期很多方法都傾向于基于實例的方法進行模態轉化。然而隨著深度學習的發展,生成式模型也具備了生成圖像、聲音、文本的能力。
基于實例的方法
基于實例的方法受限于訓練數據——字典(源模態、目標模態構成的實例對)
兩種算法:基于檢索的方法,基于組合的方法,前者直接使用搜索到的轉化結果,不會修改它們,后者依賴于更復雜的規則,基于大量搜索到的實例建立模態轉化結果
基于檢索的方法:基于檢索的方法是多模態轉化最簡單的方法,它依賴字典中搜索到的最近的樣本,利用它作為轉化的結果,檢索在單模態空間中完成,也可以在中間語義空間中完成。
給定一個待轉化的源模態的實例,單模態檢索通過在字典中查找最近的源模態實例實現模態轉化,本質上就是通過KNN找到源模態到目標模態的映射。一些典型應用場景比如TTS,圖像描述等。這種方法的好處是僅需要單一模態的表示,就可以通過檢索實現。但也是由于采用搜索的方法,所以需要考慮搜索結果的重排序問題。這種方法的問題在于,在單模態空間中相似度高實例的并不一定就是好的模態轉化。
另一種方法是利用中間語義空間來實現相似性比較。這種方法一般會搭配協同表示使用,應該是由于協同表示空間本身就對向量表示進行了相似性限制。在語義空間中進行模態檢索的方法比單模態檢索的方法效果更好,因為它的搜索空間同時反映了兩種模態,更具有含義。同時,它支持雙向的轉化,這在單模態檢索中不是很直接。然而,中間語義空間檢索的方法需要學習一個語義空間,這需要大量的訓練字典(源模態、目標模態樣本對)。
基于組合的方法:通過將檢索結果進行有意義的組合來得到更好的模態轉化結果,基于組合的媒體描述(media description)主要是基于圖像的描述語句都有著相同的簡單結構這一特點。通常組合的規則都是人工指定的或者啟發式生成的。
基于實例的方法面臨的最大問題在于它的模型就是整個字典,模型會隨著數據集的增加而不斷增大,而且推理會變慢;另一個問題就是除非整個字典非常大,否則不能覆蓋所有可能的源模態查詢。這個問題可以通過多種模型組合解決。基于實例的方法進行多模態轉化是單方向的,基于語義空間的方法可以在源模態和目標模態間雙向轉化。
生成式方法
生成式方法在多模態轉化中構建的模型能夠對給定單一模態實例進行多模態轉化,挑戰在于需要理解源模態來生成目標序列、信號,可能正確的轉化結果非常多,因此這類方法較難評估。
三種生成式方法:基于語法,編碼器-解碼器,連續生成模型,第一種方法利用語法來限定目標域,例如生成基于<主語,賓語,動詞>這種模板限定的句子;編碼器解碼器模型先將原模態編碼到一個隱空間表示,然后解碼器生成目標模態;第三種方法基于源模態的一個流式輸入連續生成目標模態,特別適用于時序句子翻譯如TTS。
基于語法規則的模型:依賴于為了生成特定模式而預先定義的語法。這種方法先從源模態中檢測高層含義,例如圖像中的實體、視頻中的行為;然后將這些檢測結果送入一個機遇預定義語法的生成過程來得到目標模態。
一些基于語法的方法依賴于圖模型生成目標模式
基于語法的方法有事在于更傾向于生成語句結構上或者邏輯上正確的實例,因為他們是基于預先定義模板的、限定的語法。缺點在于生成語法化的結果而不是創新式的轉化,沒有生成新的內容;而且基于語法的方法依賴于復雜的概念,這些概念的detection的pipeline很復雜,每個概念的提取可能需要單獨的模型和獨立的訓練集
編碼器解碼器模型:基于端到端神經網絡訓練,是最近最流行的多模態轉化技術,核心思想是受限將源模態編碼一種向量表示,然后利用解碼器模塊生成目標模態。起初用于機器翻譯,當前已經成功用于圖片解說,視頻描述;當前主要用于生成文本,也可以用于生成圖像和連續的語音、聲音。
編碼:首先將源實例進行特定模態編碼。對聲音信號比較流行的編碼方法是RNN和DBN;對詞、句子編碼常用distributional semantics和RNN的變種;對于圖像用CNN;視頻編碼仍然常用人工特征。也可以使用單一的模態表示方法,例如利用協同表示,能夠得到更好的結果。
解碼:通常利用RNN或者LSTM,將編碼后的特征表示作為初始隱藏狀態。Venugopalan et al.驗證了利用預訓練的LSTM解碼器用于圖像解說對于視頻描述任務是有益的。利用RNN面臨的問題在于模型需要從單一的圖像、句子或者視頻向量表示來生成一種描述。當需要生成長序列時,模型會忘記初始輸入。這個問題可以通過注意力機制解決,讓網絡在生成過程中更關注與圖像、句子、視頻的部分內容。基于注意力的生成式RNN也被用于從句子生成圖像的任務,不真實但是有潛質。
基于編碼器解碼器的網絡雖然成功但是仍面臨很多問題。Devlin et al.指出網絡可能記住了訓練數據,而不是學習到了如何理解和生成視覺場景。他觀察到kNN模型生成的結果和編解碼網絡的生成結果非常相似。編解碼模型需要的訓練數據規模非常大。
連續生成模型:連續生成模型用于序列翻譯和在線的方式在每個時間戳生成輸出,當sequence到sequence轉化時,這種方法很有效,例如文本轉語音,語音轉文本,視頻轉文本。
許多其它的方法也被提出用于這種建模:圖模型,連續編解碼方法,各種其它的回歸分類方法。這些模型需要額外解決的問題是模態間的時序一致性問題。近來,Encoder-Decoder模型常用于序列轉化建模。
小結和討論
多模態轉化所面臨的一大挑戰是很難進行評估,有些任務(例如語音識別)有一個正確的translation,而像語音合成和媒體描述則沒有。有時就像在語言翻譯場景中一樣,多種答案都是正確的,哪種翻譯更好通常非常主觀。當前,大量近似自動化評價的標準也在輔助模態轉化結果評估。
人的評價標準是最理想的。一些自動化評價指標例如在媒體描述中常用的:BLEU、ROUGE、Meteor、CIDEr也被提出,但是褒貶不一。
解決評估問題非常重要,不但能夠用于比較不同的方法,而且能夠提供更好的優化目標。
三、多模態對齊
多模態對齊是指找到兩種或多種模態的instances中sub-components之間的對應關系,例如:給定一張圖片和一個描述,找到詞或者短語對應圖片中的區域;另一個例子是給定一個電影,將它和字幕或者書中的章節對齊。
多模態對齊分成兩類:隱式對齊和顯示對齊,顯示對齊顯示的關注模態間sub-components的對應關系,例如將視頻和菜譜中對應的步驟對齊;隱式對齊常作為其它任務的一個環節,例如基于文本的圖像搜索中,將關鍵詞和圖片的區域進行對齊
顯示對齊
sub-components間的相似性衡量是顯示對齊的基礎,兩類算法無監督方法和(弱)監督方法
無監督方法:無監督方法不需要模態間對齊的標注,Dynamic time warping衡量兩個序列的相似性,找到一個optimal的match,是一種dynamic programming的方法。由于DTW需要預定義的相似性度量,可以利用CCA(典型相關性分析)將模態映射到一個協同表達空間。DTW和CCA都是線性變換,不能找到模態間的非線性關系。圖模型也可以用于無監督多模態序列的對齊。
DTW和圖模型的方法用于多模態對齊需要遵循一些限制條件,例如時序一致性、時間上沒有很大的跳躍、單調性。DTW能夠同時學習相似性度量和模態對齊,圖模型方法在建模過程中需要專家知識。
(弱)監督方法:監督方法需要標注好的模態對齊實例,用于訓練模態對齊中的相似性度量,許多監督式序列對齊方法收到非監督方法的啟發,當前深度學習方法用于模態對齊更加常見。
隱式對齊
常用作其它任務的中間步驟,使得例如語音識別、機器翻譯、多媒體描述和視覺問答達到更好的性能。早期工作基于圖模型,當前更多基于神經網絡。
圖模型:需要人工構建模態間的映射關系
神經網絡:模態轉換如果能夠使用模態對齊,任務的性能可以得到提升
單純的使用encoder只能通過調整權重來總結整張圖片、句子、視頻,作為單一的向量表示;注意力機制的引入,使得decoder能夠關注到sub-components。注意力機制會讓decoder更多的關注sub-components
注意力機制可以認為是深度學習模態對齊的一種慣用方法。
小結
模態對齊面臨著許多困難:少有顯示標注模態對齊的數據集;很難設計模態間的相似性度量;存在多種可能的模態對齊,而且一個模態中的elements可能在另一個模態中沒有對應。
四、多模態融合
多模態融合就是整合多種模態的信息進行分類或者回歸任務,多模態融合研究可以追溯到25年前。多模態融合帶來的好處有:(1)同一個現象的不同模態表示能夠產生更robust的推理結果;(2)從多種規模中能夠得到輔助的信息,這些信息在單一模態中是不可見的;(3)對于一個多模態系統而言,模態融合能夠在某一種模態消失時仍正常運行。
當前多模態表示和融合的界限愈發模糊,因為在深度學習中,表示學習和分類/回歸任務交織在一起。
兩種多模態混合方法:模型無關和基于模型的方法,前者不直接依賴于一種特定的機器學習方法,后者顯示的在構建過程中進行融合(核方法、圖模型、神經網絡)。
模型無關方法
模型無關的方法有三種:前期融合、后期融合和混合融合。前期融合是特征級別的融合,后期融合是推理結果的融合,混合融合同時包括兩種融合方法。
模型無關的融合方法好處是:可以兼容任何一種分類器或者回歸器
前期融合可以看做是多模態表示的一種前期嘗試
后期融合利用單一模態的預測結果,通過投票機制、加權、signal variance或者一個模型進行融合。后期融合忽略了模態底層特征之間的關系
基于模型的方法
多核學習(MKL):kernel SVM的擴展,對于不同模態使用不同的kernel
MKL方法是深度學習之前最常用的方法,優勢在于loss function是凸的,模型訓練可以使用標準的優化package和全局優化方法,劣勢在于測試時對于數據集的依賴推理速度慢。
圖模型
在本篇綜述中僅考慮淺層的圖模型,深度圖模型例如DBN可以參考前面章節內容,大多數圖模型可以分成兩類:生成式(聯合概率)和判別式(條件概率)
圖模型能夠很容易的發掘數據中的空間和時序結構,同時可以將專家知識嵌入到模型中,模型也可解釋
神經網絡
神經網絡用于模態融合所使用的模態、優化方法可能不同,通過joint hidden layers進行信息融合的思路是一致的。神經網絡也用于時序多模態融合,通常采用RNN和LSTM,典型的應用是audio-visual情感分類,圖片解說
深度神經網絡用于模態融合優點:(1)可以從大量數據學習;(2)端到端學習多模態特征表示和融合;(3)和非深度學習方法相比性能好,能學習復雜的decision boundary
缺點:可解釋性差,不知道網絡根據什么進行推理,也不知道每個模態起的作用;需要大量訓練數據才能得到好的效果
小結
多模態融合任務中有如下挑戰:1)signal可能不是時序對齊的,例如密集的連續信號vs稀疏的事件;2)很難建立一個模型來發掘補充信息而非輔助信息;3)每個模態在不同時間點可能展現出不同類型、不同級別的噪聲。
五、多模態共同學習
多模態共同學習旨在通過發掘另一種模態的信息來幫助當前模態建模
相關場景:一種模態的資源有限,缺乏標注數據或者輸入噪聲大,標簽可靠性低
三種co-learning的方法:并行,非并行,混合;第一種方法需要一種模態的observation和另一種模態的observation直接連接,例如在audio-visual speech數據及上,video和speech sample來自同一個speaker;非并行數據方法不需要兩種observation的直接連接,通常利用類別間的交集,例如在zero shot learning中利用Wiki的文本數據擴展傳統的視覺目標識別數據集提升目標識別的性能;混合數據的方法通過一種共享模態或者數據連接起來。
并行數據
模態之間共享一個實例集合,兩種方法:協同訓練和表征學習
協同訓練:當某一個模態的標記數據非常少時,可以利用協同訓練生成更多的標注訓練數據,或者利用模態間的不一致性過濾不可靠標注樣本
協同訓練方法能夠生成更多的標注數據,但也可能會導致overfitting
遷移學習:多模態玻爾茲曼機或者多模態自編碼器將一種模態特征表示轉化為另一種,這樣不僅能得到多模態表征,而且對于單模態而言推理過程中也能得到更好的性能。
非并行數據
不需要依賴模態間共享的實例,有共享的類別或者概念(concept)即可
遷移學習:遷移學習能夠從一個數據充分、干凈的模態學習特征表示遷移到另一個數據稀缺、噪聲大的模態,這種遷移學習常用多模態協同特征表示實現。
Conceptual grounding:通過語言以及其他附加模態,例如視覺、聲音、甚至味覺,學習語義含義,單純的利用文本信息不能很好的學習到語義含義,例如人學習一個概念的時候利用的是所有的感知信息而非單純的符號。
grounding通常通過尋找特征表征間的共同隱空間或者分別學習每個模態的特征表示然后進行拼接,conceptual grounding和多模態特征對齊之間有很高的重合部分,因為視覺場景和對應描述對齊本身能夠帶來更好的文本或者視覺特征表示。
需要注意的是,grounding并不能在所有情況下帶來性能的提升,僅當grounding與具體任務相關時有效,例如在視覺相關任務中利用圖像進行grounding
Zero-shot learning:ZSL任務是指在沒有顯示的見過任何sample的情況下識別一種概念,例如不提供任何貓的圖片對圖片中的貓進行分類。
兩種方法:單模態方法和多模態方法
單模態方法:關注待識別類別的組成部分和屬性,例如視覺方面通過顏色、大小、形狀等屬性去預測為見過的類別
多模態方法:利用另一個模態的信息,在另一個模態中該類別出現過
混合數據:通過共享的模態或者數據集連接兩種非數據并行的模態,典型的任務例如多種語言進行圖像描述,圖片會與至少一種語言之間建立聯系,語言之間的可以利用機器翻譯任務建立起聯系。
目標任務如果僅有少量標注數據,也可利用類似或相關任務去提升性能,例如利用大量文本語料指導圖像分割任務。
小結
多模態協同學習通過尋找模態之間的互補信息,使一種模態影響另一種模態的訓練過程。
多模態協同學習是與任務無關的,可以用于更好的多模態特征融合、轉換和對齊。
點擊關注,第一時間了解華為云新鮮技術~
總結
以上是生活随笔為你收集整理的从5大挑战带你了解多模态机器学习的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 治疗阳痿药(这3种药物治疗阳痿有何讲究?
- 下一篇: 汽车为什么有概念车?