Multi-modal Deep Learning

轉自:http://blog.csdn.net/s2010241013/article/details/51731657

 

摘要

     本文提出一種在深度網絡上的新應用,用深度網絡學習多模態。特別的是,我們證明了跨模態特徵學習——如果在特徵學習過程中多模態出現了,對於一個模態而言,更好的特徵可以被學習(多模態上學習,單模態上測試)。此外,我們展示瞭如何在多模態間學習一個共享的特徵,並在一個特別的任務上評估它——分類器用只有音頻的數據訓練但是在只有視頻的數據上測試(反之亦然)。我們的模型在CUAVE和AVLetters數據集上進行視-聽語音分類,證明了它在視覺語音分類(在AVLetters數據集上)有效的共享特徵學習上是已發表中論文中最佳的。

1.介紹

       在語音識別中,人類通過合併語音-視覺信息來理解語音。視覺模態提供了發音地方肌肉運動的信息,這些可以幫助消除相似語音(如不發音的輔音)的歧義。

      多模態學習包括來自多源的相關信息。語音和視覺數據在語音識別時在某個“中間層”是相關的,例如音位和視位;未加工的像素是很難與語音波形或聲譜圖產生相關性的。

       在本文中,我們對“中間層”的關係感興趣,因此我們選擇使用語音-視覺分類來驗證我們的模型。特別的是,我們關注用於語音識別的學習特徵,這個學習特徵是和視覺中的脣形聯繫在一起的。

       全部任務可分爲三部分-特徵學習、有監督訓練和測試。用一個簡單的線性分類器進行有監督訓練和測試,以檢查使用多模態數據的不同的特徵學習模型(eg:多模態融合、跨模態學習和共享特徵學習...)的有效性。我們考慮三個學習佈置——多模態融合、跨模態學習和共享特徵學習

       (如圖1所示)多模態融合:數據來自所有模態,用於所有模態。跨模態學習:數據來自所有模態,但只在某模態可用。共享特徵學習:訓練和測試用的不同模態的數據。如果特徵可以在跨不同模態下捕獲相關性,這會允許我們進行評價。特別的是,學習這些佈置可以使我們評估學到的特徵是否具有模態不變性。

 

       接下來,我們描述模型的構造塊。然後,我們實現了不同的使用深度學習的多模態學習模型,這些模型可以實現不同的多模態任務。最後,我們展示實驗結果和總結。

2.背景

       深度學習的當前工作已經測試了deep sigmoidal networks是如何被訓練的,以產生有用的用於手寫數字識別和文本的特徵。當前工作的關鍵在於使用RBMs(Restricted Boltzmann Machines)微調的進行貪心的逐層訓練。我們使用一個擴展的稀疏RBMs,它學習到的特徵對於數字和自然的圖像來說是有意義的特徵。

2.1稀疏RBMs

       爲了正則化模型使其稀疏,我們讓每個隱藏層單元有一個使用了正則化懲罰的預先期望的激活函數,這個正則化懲罰的形式是,其中是訓練集,決定了隱藏層單元激活函數的稀疏性(就是隱藏層單元激活函數是否被激活)。

3.學習結構

       這部分描述我們的模型,用它來完成語音-視頻二模態的特徵學習任務。輸入到模型裏的語音和視頻是連續的音頻和視頻圖像。爲了推出我們的深度自編碼模型,我們先描述一些簡單的模型以及他們的缺點。(下面的都是預訓練模型)

       I.RBM模型。用其分別訓練語音和視頻,學習RBM之後,在v固定時得到的隱藏層值可以作爲數據的一個新特徵。我們將這個模型作爲基準來比較我們的多模態模型的結果,也可以將其用來預訓練我們的深度網絡。

       II.爲了訓練多模態模型,一個直接的方法是訓練一個把語音和視頻數據連接在一起的RBM。雖然這個模型聯合了語音和視頻數據的分佈,但它仍是一個淺層模型。語音和視頻數據之間的關聯是高度非線性的,RBM很難學習這些相關性形成多模態特徵。事實上,我們發現在隱藏層單元學習到的淺層的二模態RBM結果與單模態下的值有很強的關聯,但與跨模態下的值就沒有。

      III.因此,我們考慮在每個模態的預訓練層貪婪的訓練一個RBM,前面()的第一層的隱藏值作爲新層的訓練數據。通過學習到的第一層特徵來表示數據可以更容易的讓模型來學習跨模態的高階相關性。通俗的來說,第一層特徵相當於音位和視位,第二層模型化了他們之間的關係。

      然而,上述的多模態模型還有兩個問題。第一,沒有明確的目標提供給模型去發現跨模態間的相關性;一些隱藏層單元只針對語音調整參數,另一些只針對視頻調整參數,這樣模型纔有可能找到想要的特徵。第二,在跨模態學習佈置中只有一個模態用於監督訓練和測試,這樣的模型顯得很笨拙。只有一個模態呈現,就要整合沒有觀察到的可見變量來推理。

      因此,我們提出解決以上問題的深度自編碼模型。我們首先考慮跨模態學習佈置:特徵學習過程中兩個模態都呈現了,但只有一個模態用於有監督訓練和測試。當只給視頻數據時,深度自編碼模型用於訓練重建語音和視頻模態(圖3a)。我們用二模態的DBN(Deep belief network)權重(圖2d)去初始化深度自編碼模型。中間層可以作爲新特徵表示來用。這個模型可以看做多任務學習的一個實例。

      我們在佈置中使用圖3a模型。另一方面,當多模態適合任務時,並不清楚如何使用模型針對每個模態進行深度自編碼訓練。一個直接的方法是訓練解碼權重tied(這個我也不知道怎麼理解)的網絡。但是,這樣的方法擴展性不是很好——如果在測試時我們允許任意模態相結合形成特徵,我們將需要訓練指數級數量的模型。

      受到降噪自編碼模型的啓發,我們提出訓練二模態深度自編碼模型(3b),它使用了一個擴充(對單模態輸入的擴充)但是有噪聲的數據集。實際上,我們擴充時一個模態用全零作爲輸入,另一個模態用原始值作爲輸入,但是依舊要求模型重建這兩個模態。因此,三分之一的訓練數據只有視頻作爲輸入,三分之一的訓練數據只有語音作爲輸入,最後三分之一既有視頻又有語音

      由於使用了稀疏RBMs進行的初始化,我們發現就算深度自編碼訓練之後,隱藏層單元還是有低期望激活函數。因此,當一個輸入模態全設爲零,第一層特徵也接近於零。所以,我們本質上訓練了一個模態特別的深度自編碼網絡(3a)。當某個模態輸入缺失時,這個模型仍是魯棒的。

4.實驗和結果

      我們用分離字母和數字的語音-視頻分類來評估我們的模型。稀疏參數採用交叉覈實來選擇,即其它所有參數都保持固定(包括隱藏層大小和權重調整)。

4.1數據預處理

       我們用時間導數的譜來表現語音信號,採用PCA白化(就是歸一化)將483維減少到100維。

       對於視頻,我們預處理它以便於只提取嘴部的ROI(感興趣區域)。每個嘴部ROI都縮放到60*80,進一步使用PCA白化減少到32維。我們用4幀連續視頻作爲輸入,這近似於10幀連續的語音。對每個模態,我們都在時間上進行特徵均值歸一化,類似於去除直流分量。我們也注意到在特徵裏增加時間導數,這種用法在文獻裏有很多,它有助於模擬不斷變化的語音信息。時間導數用歸一化線性斜率計算,所以導數特徵的動態範圍可以和原始信號媲美。

4.2數據集和任務

      我們保證沒有測試集數據用於無監督特徵學習。所有的深度自編碼模型都用全部無標籤的語音和視頻數據來訓練。

      我們注意到在所有的數據集中,就脣的外表、定位和大小是多樣性的。對每個語音-視頻剪切塊,我們從其幀的重疊序列中提取出特徵。由於每個樣本都有不同的持續時間,我們將每個樣本分割成S個相等的塊,用平均值表示每塊。來自所有塊的特徵隨後連接在一起。特別的是,我們使用S=1和S=3時的特徵結合形成我們最終的特徵,用SVM來進行分類。

4.3跨模態學習

      我們評估如果在特徵學習過程中給的是多模態數據,我們是否可以在一個模態上學習到很好的特徵。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章