李 佩,陳喬松,陳鵬昌,鄧 欣,王 進,樸昌浩
(1.重慶郵電大學 計算機科學與技術學院,重慶 400065;2.數(shù)據工程與認知計算重慶市重點實驗室,重慶 400065)
在移動互聯(lián)網時代,人們能夠隨時隨自由地通過網絡發(fā)布信息、傳遞信息和接收信息,這些信息中通常包含文字、音頻、圖片、視頻等多模態(tài)數(shù)據。飛速增長的多模態(tài)數(shù)據帶來了大量的跨模態(tài)檢索應用需求,但這些跨模態(tài)檢索需求不能由以文檢文等單模態(tài)檢索技術來解決,因此亟需發(fā)展適用于跨模態(tài)檢索的理論、方法和技術。
近年來,深度神經網絡在計算機視覺[1-2]、自然語言處理[3-4]、語音識別[5-6]等各個領域都取得了顯著的成果,展現(xiàn)出了深度學習模型在處理不同模態(tài)信息時具有的優(yōu)異特征提取能力。當前,基于深度學習的多模態(tài)檢索逐漸成為多模態(tài)檢索方法的主流。
在傳統(tǒng)的多模態(tài)檢索模型[7-9]中,一般針對不同的模態(tài)使用不同的神經網絡提取特征向量,或者使用一個主干網絡同時提取不同模態(tài)的特征向量。前者著重利用模態(tài)特異信息,但難以提取模態(tài)間聯(lián)系與不同模態(tài)樣本的共性,后者著重提取模態(tài)間聯(lián)系與共性,但共性與聯(lián)系只是所有數(shù)據的一小部分,造成了大量有效的模態(tài)特異信息的損失[10]。
針對以上問題,本文提出一種多模態(tài)細粒度檢索框架MS2Net。通過提取并融合不同模態(tài)細粒度樣本的模態(tài)特異信息及模態(tài)公共信息,得到包含豐富語義信息及模態(tài)間聯(lián)系與共性的特征向量,并通過改進discriminate loss[11]、center loss[12]、triplet loss[13]等損失函數(shù),將其組成適合多模態(tài)細粒度檢索任務的目標函數(shù)。
跨模態(tài)檢索的目標是用戶給定任意一個樣本作為查詢樣例,系統(tǒng)檢索得到并反饋與查詢樣例相關的各個模態(tài)樣本。目前主流的基于深度學習的跨模態(tài)檢索方法過程是使用不同的分支網絡提取不同模態(tài)數(shù)據的特征向量,再將這些不同模態(tài)數(shù)據提取出的特征向量映射到一個高維公共空間中,在該高維公共空間中,對不同模態(tài)的公共空間向量進行直接比較得到最佳匹配項。這種方法利用神經網絡優(yōu)異的特征提取能力消減了不同模態(tài)數(shù)據間的異構鴻溝,并利用在高維空間中的聚類函數(shù)消減不同模態(tài)數(shù)據間的語義鴻溝,達到較優(yōu)的檢索效果。在此基礎上,文獻[14]利用上述基本框架提取公共空間向量,并通過多目標函數(shù)的方式增強了公共空間向量的多模態(tài)檢索性能,具體方法是通過監(jiān)督學習保證分支網絡提取的特征向量的質量,并設計目標函數(shù)減小同類別樣本的類內差異,增加不同類樣本的類間差異。文獻[15]通過設置模態(tài)內的注意力機制及模態(tài)間注意力機制,建立圖像中部分位置與文本中單詞的強聯(lián)系,來增強不同模態(tài)的相同類別樣本間的語義相似性。文獻[16]在公共空間中引入了對抗神經網絡GAN 中的對抗思想,使得圖像向量與文字向量盡可能地相融合。
跨模態(tài)細粒度檢索相較于跨模態(tài)檢索的最大困難是樣本類間差異小、類內差異大。為了解決這個問題,文獻[17]通過對輸入信息進行預處理的方式,建立樣本不同部位圖像與文字之間的強監(jiān)督學習,進行多模態(tài)表征學習,并用于跨模態(tài)細粒度檢索。文獻[18]驗證了使用單一主干網絡不僅可以提取用于各模態(tài)數(shù)據分類的模態(tài)特異信息,還可以提取出不同模態(tài)數(shù)據間的聯(lián)系,實現(xiàn)跨模態(tài)檢索。同時,通過多任務目標函數(shù)的協(xié)作減小類內差異,增大類間差異,實現(xiàn)最優(yōu)的多模態(tài)細粒度檢索性能。
優(yōu)秀的多模態(tài)表征學習能夠有效地提取不同模態(tài)樣本的有效信息,使得特征向量含有豐富的原始樣本中的語義信息,能極大地提升后序檢索工作的準確性。文獻[19]在ReID 任務中同時利用了模態(tài)特異特征及模態(tài)共享特征,通過兩個分支分別提取各個模態(tài)特異信息,將分支信息進行多損失函數(shù)約束的轉換得到模態(tài)公共特征,再進行充分的特征融合,在ReID 任務中取得了較好的性能。文獻[20]使用卷積神經網絡提取圖像特征,同時利用一個雙階段特征提取網絡提取文本特征,具體是在第1 個階段使用兩個LSTM 分支分別提取食物實體以及長句子的特征,最后通過正則化聯(lián)合兩個特征得到菜單文本特征。
將樣本映射到高維公共空間是各種多模態(tài)任務中的重要方法,可以有效地化解不同模態(tài)數(shù)據之間的異構鴻溝,而對于檢索任務,公共空間向量聚類效果的好壞,直接決定了多模態(tài)檢索的效果。文獻[21]通過監(jiān)督學習保證特征向量的質量,再通過增大不同類別但相同模態(tài)樣本對及不同類別不同模態(tài)樣本對之間的類間距離,減少相同類別不同模態(tài)樣本對之間的距離,對公共空間向量進行聚類。文獻[22]則通過類別單詞的預訓練嵌入向量作為錨點,將提取出的對應類別的樣本對的特征向量以這個錨點作為中心進行聚類。為了更有效地提高triplet loss 的訓練效果,文獻[23]通過L2 正則化將高緯空間向量限制在一個球形空間中,并通過預訓練的音頻錨點,保證了類別中心的穩(wěn)定,增強了聚類效果。
2.2.1 多模態(tài)特征提取
若要實現(xiàn)多模態(tài)檢索,則首要任務是必須有效地提取多模態(tài)數(shù)據的特征。相較于傳統(tǒng)方法通常只提取模態(tài)特異特征,多模態(tài)特征應同時具備模態(tài)特異信息及模態(tài)共享信息,本文使用模態(tài)共享主干網絡及模態(tài)特異分支網絡分別提取這兩種特征信息。
由于在數(shù)據預處理階段,圖像、視頻及音頻模態(tài)的數(shù)據都被轉換成了四維矩陣的圖像形式,文本模態(tài)數(shù)據也通過卷積神經網絡升維成了四維矩陣,因此本文采用計算機視覺領域常見的基準網絡作為主干網絡進行監(jiān)督分類實驗,目的是為了選擇對樣本特征提取能力更強的網絡,更利于模型學習到共享信息。
MS2Net 的特征提取部分由1 個主干網絡及4 個分支網絡構成,主干網絡層數(shù)過深或者結構過于復雜會導致模型無法收斂或者訓練時間超出預期,ResNet-50 網絡結構簡單,參數(shù)量不大,更適合用于進行端到端學習,考慮到分類精度和訓練難度的平衡,本文最終采用在ImageNet 上預訓練的ResNet-50作為主干網絡的初始狀態(tài)。
MS2Net 框架包含4 個分支網絡,為了減少整個網絡的參數(shù)量,需要選擇輕量級網絡,同時MixNet-S[24]中的深度混合卷積包含不同大小的卷積核,不僅保證了提取圖像特征時精度與參數(shù)量的平衡,還在提取矩陣形式的聲音及文本特征時,能夠提取到不同范圍內的時序特征,在多種輕量級網絡中進行監(jiān)督分類的效果最佳。
MS2Net 網絡結構如圖1 所示。
圖1 MS2Net 網絡結構Fig.1 MS2Net network structure
監(jiān)督分類實驗結果如表1 所示(加粗數(shù)字為最優(yōu)值)??梢钥闯觯琈ixNet-S 在單獨一個模態(tài)的F1-score 指標明顯高于ResNet-50,但是當MixNet-S 作為主干網絡進行多模態(tài)分類時,平均F1-score 指標不及ResNet-50 的50%。
表1 多跨模態(tài)監(jiān)督分類的F1-score 值Table 1 F1-score values of multi-span modal supervised classification
從實驗結果可以看出,主干網絡ResNet-50 提取的是各個模態(tài)共有的粗粒度共有特征,能同時對4 個模態(tài)的數(shù)據進行分類,而分支網絡專注于提取單個模態(tài)的細粒度特異特征信息,因此在特定模態(tài)分類效果上明顯優(yōu)于主干網絡,結合主干網絡的粗粒度特征及分支網絡的細粒度特征,經過多模態(tài)特征融合模塊之后,MS2Net 的效果相較于主干網絡ResNet-50 提升了36.2%,進一步佐證了模態(tài)特異特征及模態(tài)共享特征思想的有效性。同時,模態(tài)共享主干網絡及模態(tài)特異分支網絡可以根據實際情況進行更換,模態(tài)特異分支還可以根據實際數(shù)據中的模態(tài)數(shù)量進行增減,使得整個網絡具有良好的可擴展性及魯棒性。
2.2.2 多模態(tài)特征融合
在得到多模態(tài)特征向量后,需要有效地利用多模態(tài)特征向量。相較于傳統(tǒng)方法將不同模態(tài)樣本特征進行拼接后直接傳入映射層中,本文的方法在多模態(tài)特征融合更注重于不同模態(tài)信息的充分混合及高效利用,在多模態(tài)融合模塊中,先將各個模態(tài)的模態(tài)特異特征與模態(tài)公共特征進行拼接,通過注意力機制[25],使得模型能更有效地選擇信息。最終對于每個模態(tài)產生一個模態(tài)融合特征,即zi=映射層使用全連接層,將模態(tài)融合特征映射到d3維度,即
通過以上的操作,將4 種不同模態(tài)的數(shù)據分別提取了模態(tài)共享特征及模態(tài)特異特征,并對這兩個特征進行了特征融合,最后將其融合之后的特征映射到公共空間中,并通過multi-center loss 函數(shù)進行聚類。
多模態(tài)特征融合模塊結構如圖2 所示。
圖2 多模態(tài)特征融合模塊結構Fig.2 Structure of multi-modal feature fusion module
損失函數(shù)的目標是引導上述網絡結構來學習一種語義映射,可以將同類別的樣本映射到公共空間中距離相近的區(qū)域,即使這些樣本屬于不同的模態(tài)。
為了使得模型能區(qū)分細粒度樣本的所屬類別,本文方法首先通過ohem loss 函數(shù)來進行監(jiān)督學習,并且通過將易分類樣本cross entropy loss 函數(shù)值置0,使得模型更加專注于學習相似樣本間的細節(jié)差異。其次為了使提取出來的模態(tài)共享特征與模態(tài)特異特征包含不同的信息,使用discriminate loss 函數(shù)來加大這兩種信息的差異,最后通過multi-center loss 函數(shù)對映射到公共空間中的向量進行聚類。相較于傳統(tǒng)的center loss 函數(shù),multi-center loss 函數(shù)給每個模態(tài)數(shù)據都分配一個類別中心,通過類別中心之間的距離減小,間接地聚合不同模態(tài)數(shù)據。以上3 個loss 函數(shù)的組合,使得本文方法在高位空間中克服了不同模態(tài)數(shù)據間的語義鴻溝及異構鴻溝,使不同模態(tài)下的同類別樣本相較于同模態(tài)的不同類別樣本能夠呈現(xiàn)更相似的特征向量。
2.3.1 supervised loss 函數(shù)
監(jiān)督學習是保證網絡提取特征向量的質量的重要手段,同時為了驅使網絡學習細粒度樣本間的細節(jié)信息,本文方法選用ohem loss 函數(shù),如式(1)所示,即在原始的cross-entropy 函數(shù)的基礎上,對每個batch 的樣本只學習損失較大的一部分樣本,使得模型更加專注于提取不同樣本間的細節(jié)差異。
其中:y是樣本的label 值;pi是網絡的輸出值;1(·)為指示函數(shù),如果loss 值大于閾值,則值為1,否則值為0。
2.3.2 discriminate loss 函數(shù)
為了避免主干網絡及分支網絡學習到過于相近的特征,本文方法使用discriminate loss 函數(shù),如式(2)所示,保證主干網絡提取的信息與分支網絡提取的信息既包含足夠多的樣本特征信息,又具有足夠的差異性。
其中:Φi=為特征相似性函數(shù),用于計算模態(tài)公共特征向量和模態(tài)特異特征向量的相似性;δ(·)為sigmoid 函數(shù),即y=為 一個自 定義閾值,當模態(tài)共享特征向量和模態(tài)特異特征向量的相似性小于該閾值時,模型不再計算其的loss。隨著vi與ui的相似度越來越高,即δ(Φi)越大,Ldis值也越大。因此,discriminate loss 函數(shù)在確保模態(tài)公共特征向量和模態(tài)特異特征向量質量的基礎上,同時保證這兩個向量的差異性,使得MS2Net 提取的特征向量包含原始樣本中更全面的信息。
2.3.3 multi-center loss 函數(shù)
為了更好地提高多模態(tài)細粒度檢索效果,不同模態(tài)的相同類別樣本向量,相較于同模態(tài)不同類別樣本向量在公共空間中應該更加相鄰,但是在多模態(tài)場景下,不同模態(tài)樣本在公共空間中概率分布相差較大,傳統(tǒng)center loss 函數(shù)的聚類能力有限,所以本文針對多模態(tài)聚類場景設計了multi-center loss 函數(shù),通過在每個類別的所有模態(tài)中都分別引入一個類內中心,提升整體的聚類效果,計算公式如式(3)所示:
其中:表示m模態(tài)的第i個樣本向量;表示該樣本向量在m模態(tài)下的類內中心;Cy為y類別下的所有模態(tài)的類內中心;μ是權重參數(shù);D(·)為類內中心的距離函數(shù)。
D(·)計算公式如式(4)所示:
multi-center loss 函數(shù)的思想可以概括為:先將相同模態(tài)、相同類別的樣本分別聚集到該模態(tài)下的類內中心周圍,再通過減小不同模態(tài)、相同類別的類內中心的距離,間接地將不同模態(tài)、相同類別的樣本聚集到一起。
綜上所述,最終目標函數(shù)定義如式(5)所示:
目標函數(shù)由3 個經典的損失函數(shù)改進組成,更加適合于多模態(tài)細粒度檢索的場景,在下文的消融實驗中將證明該目標函數(shù)的有效性。
為了驗證本文提出方法的有效性,在公開數(shù)據集FG-Xmedia 上進行實驗,首先和之前的最優(yōu)結果進行對比,然后對MS2Net 進行更深入的分析,包括各個組件的消融實驗以及通過降維的公共空間向量可視化。
本文使用的數(shù)據集是當前唯一的跨四模態(tài)細粒度檢索公開數(shù)據集FG-Xmedia,該數(shù)據集的圖像部分采用CUB-200-2011[26],視頻部分采用YouTube Bird[27],并從公開數(shù)據集上收集了相應的文本和音頻部分。總地來講,該數(shù)據集包含了“鳥類”這一粗粒度大類中的200 種細粒度子類的4 個模態(tài)的信息,分別為11 788 張圖像、8 000 段文本、18 350 個視頻及12 000 段音頻。
數(shù)據集的劃分方法如下:對于圖片數(shù)據集,訓練集包含5 994 張圖片,測試集包含5 794 張圖片;對于視頻數(shù)據集,訓練集包含12 666 個視頻,測試集包含5 684 個視頻;對于音頻數(shù)據集,訓練集和測試集同時包含6 000 份音頻;對于文本數(shù)據集,訓練集和測試集同時包含4 000 份文本。
為了降低模型訓練難度及盡量消除數(shù)據的異構性,使得主干網絡可以統(tǒng)一提取不同模態(tài)的公共特征,音頻數(shù)據通過傅里葉變換轉化為頻譜圖,文字通過詞嵌入轉換為一維詞向量,再通過卷積操作拼接成為類圖像的矩陣形式。視頻通過抽幀的方式轉換為圖像形式,這樣4 種數(shù)據都可以被組織成為相同的矩陣形式傳入到主干網絡中。
對于多模態(tài)細粒度檢索任務,本文使用平均精度均值(mean Average Precision,mAP)分數(shù)來衡量其性能,首先對于每一個查詢樣例計算其平均準確率,然后再計算這些平均準確率的平均值,作為mAP 查詢分數(shù)。
為了更加全面地了解模型的檢索效果,需要分別計算每個模態(tài)對于其他單個模態(tài)的檢索分數(shù),并計算每個模態(tài)對其他所有模態(tài)的檢索分數(shù)。
MS2Net 使用ResNet-50 作為主干網絡,將Mixnet-L 作為分支網絡,數(shù)據經過預處理后由這兩個網絡提取特征向量,之后通過一個512 維的全連接層映射到公共空間,公共空間向量再通過一個200 維的全連接層,以類別為標簽進行監(jiān)督學習。
網絡使用PyTorch 編寫,并通過RTX-2070 顯卡訓練。在訓練過程中使用SGD 優(yōu)化器,初始學習率設置為3e-3,學習率衰減策略使用PyTorch 框架提供的ReduceLROnPlateau 策略,并訓練200 輪。
表2 所示為某模態(tài)數(shù)據作為查詢樣本對其他某單一模態(tài)的樣本進行檢索的mAP 值結果(加粗數(shù)字為最優(yōu)值),箭頭左右兩端分別代表查詢樣本的模態(tài)及待檢索的目標模態(tài),可以看到MS2Net 在大多數(shù)模態(tài)的檢索任務中都明顯優(yōu)于FGCrossNet 算法。在I→T、T→I、T→V、V→T、A→T 等場景例中,MS2Net相較于FGCrossNet 算法提升超過100%。整體上一對一模態(tài)檢索的平均檢索mAP 值相較FGCrossNet算法提升了65%。
表2 一對一跨模態(tài)檢索的mAP 值Table 2 mAP values of one-to-one cross-modal retrieval
表3 所示為某一個模態(tài)數(shù)據作為查詢對其他所有模態(tài)檢索的mAP 值(加粗數(shù)字為最優(yōu)值),該項測試中T→ALL 相較于FGCrossNet 算法提升超過100%,其他場景也有明顯提升。整體上多模態(tài)的平均檢索mAP 值相較FGCrossNet 算法提升48%,充分證明了MS2Net 在多模態(tài)細粒度檢索任務上的有效性。
表3 一對多跨模態(tài)檢索的mAP 值Table 3 mAP values of one-to-all cross-modal retrieval
為了驗證MS2Net 中各個組件的有效性,本文進行了消融實驗,結果如表4 和表5 所示(加粗數(shù)字為最優(yōu)值),MS2Net 表示利用MS2Net 網絡提取并直接拼接使用模態(tài)公共特征及模態(tài)特異特征得到的結果,MMFM 表示引入注意力機制優(yōu)化了特征融合過程,并使用單獨的映射層輸出的512 維的向量作為公共空間向量。由消融實驗結果可知,經過特征融合和注意力機制之后單模態(tài)檢索性能提升13.5%,多模態(tài)檢索性能提升19%,multi-center loss 函數(shù)表示使用本文提出的multi-center loss 函數(shù)替代傳統(tǒng)的center loss 函數(shù)對公共空間向量進行聚類。一對一跨模態(tài)檢索實驗與一對多跨模態(tài)檢索實驗性能分別提升10%與8%。
表4 一對一跨模態(tài)檢索的消融實驗結果Table 4 Ablation experiment results of one-to-one cross-modal retrieval
表5 一對多跨模態(tài)檢索的消融實驗結果Table 5 Ablation experiment results of one-to-all cross-modal retrieval
消融實驗的結果驗證了聯(lián)合模態(tài)間共性與模態(tài)特性思路及本文提出的multi-center loss 函數(shù)的有效性。同時也可看出,高維公共空間向量相較于同類別數(shù)相等維度的特征向量,在檢索任務中更合適作為原始樣本的表達形式。
為展示改進后multi-center loss 的聚類效果,本文對其進行了可視化分析,聚類結果可視化結果如圖3 所示。
圖3 降維可視化圖聚類結果示意圖Fig.3 Schematic diagram of clustering result of dimensionality reduction visual view
為了直觀地感受不同方法產生的公共空間向量的聚類情況,本文統(tǒng)一使用VTSne 算法對數(shù)據集中前5 個類別產生的高維向量進行降維。
在上述圖像中,相同的灰度代表樣本屬于相同的類別,相同的形狀表示樣本屬于相同的模態(tài)。多模態(tài)細粒度檢索的困難就是類間差異小和類內差異大,這在圖3(a)中可以清晰地看到,各個模態(tài)的樣本相互混雜,公共空間向量沒有以類別為中心聚集,圖3(b)為采用了MS2Net 及center loss 函數(shù)之后的結果,因為特征向量質量的提升與類別中心的引入,聚類效果相較于之前有明顯提升,圖3(c)為采用multi-center loss 函數(shù)替換center loss 函數(shù),可以看到,同類別之間的公共空間向量,相較于圖3(b)聚集的更加緊密,不同類別的公共空間向量在高維空間中的分布也更加稀疏,驗證了multi-center loss 函數(shù)在多模態(tài)數(shù)據聚類中的有效性。
本文提出一種多模態(tài)細粒度檢索方法,該方法包括MS2Net 多模態(tài)特征提取框架及相應的目標函數(shù)。MS2Net 通過利用模態(tài)公共特征及模態(tài)特異特征提升公共空間向量的性能,同時給出目標函數(shù)組合,通過監(jiān)督學習保證特征的質量和模態(tài)公共特征及模態(tài)特異特征的可區(qū)分性,從而進行有效的多模態(tài)特征向量聚類。消融實驗結果表明,MS2Net 性能明顯提高,驗證了各組件的有效性。由于當前多模態(tài)檢索的數(shù)據集稀少,且數(shù)據集達標成本明顯高于單模態(tài)數(shù)據集,下一步利用當前的公開數(shù)據集對多模態(tài)特征提取網絡進行預訓練,并加入判別器網絡判斷樣本對類別,以提高在無標簽檢索數(shù)據集上的檢索效果。