陳 寧,段友祥,孫歧峰
中國石油大學(華東)計算機科學與技術學院,山東 青島 266580
近年來,隨著互聯網的蓬勃發展、智能設備與社交網絡的普及,多媒體數據在互聯網上爆炸式地增長。這些海量的數據包括文本、圖像、視頻及音頻等各種模態形式,同一事物會有多種不同模態數據的描述。這些數據在形式上“異構多源”,而在語義上相互關聯。
單模態檢索[1-2]為信息檢索的傳統方式,要求檢索集與查詢集為相同模態,如文本檢索文本[3]、圖像檢索圖像[4]、視頻檢索視頻[5]等。以圖像檢索為例,單模態檢索技術主要包括基于文本關鍵字檢索、基于圖像底層特征索引以及基于語義建模和匹配等。雖然這些方法對于單模態檢索來說能取得較好的檢索結果,但是獲取到的信息僅僅局限于一種模態數據,這種單一模態信息檢索已不能滿足人們高效、全面、準確獲得對象信息的需求。因此如何對描述同一事物的各種模態數據進行高效檢索成為信息檢索領域一個重要的研究課題。面對海量、互聯的多媒體數據,人們渴望通過其中一種模態數據來檢索相關聯的其他不同模態的補充數據。如圖1 所示,左側通過圖像檢索出相關文本,右側通過文本檢索出相關圖像,描述同一個事物的文本與圖像屬于不同模態的數據,這種不同模態數據之間的互檢索方式稱為跨模態檢索。

Fig.1 Schematic diagram of cross-modal retrieval圖1 跨模態檢索示意圖
當前解決跨模態檢索問題的一般技術框架如圖2所示:首先對不同模態數據的特征進行提取;然后對獲取的特征表示進行建模,即建立不同模態數據特征之間的關聯關系表示模型;最后通過表示模型和相關算法獲得檢索結果并排序。其中在大多數建模算法中都會遇到處于不同特征空間的數據之間無法直接進行比較的問題,這是多模態數據間所具有的特點,即底層特征(如圖像的顏色,文本的關鍵字、詞,視頻的幀等)異構,高層語義相關,即語義鴻溝[6]。因此跨模態檢索研究的難點問題是,如何關聯不同模態的數據并度量處于不同特征空間的模態數據之間相似性。

Fig.2 Cross-modal retrieval framework圖2 跨模態檢索框架
進而如何深入挖掘模態間的結構信息以及語義關聯,建立多模態數據特征關聯模型是提升多模態檢索精度的關鍵?;趯Χ嗄B數據中豐富信息進行分析,研究者采用不同的技術和方法提出了多種多模態數據特征關聯表示模型。由于具有相同語義的不同模態數據之間具有潛在的關聯性,使得構建公共子空間成為當前最主流的特征關聯模型。其核心思想是將不同模態的數據特征映射到同一個公共子空間,從而為不同模態數據生成統一的特征表征形式,進而使其可以直接進行相似度度量。本文主要以跨模態檢索的關鍵技術——公共子空間建模為主線,對跨模態相關研究進行綜述,具體將其歸納總結為基于傳統統計分析、基于深度學習和基于哈希學習三類技術。
為了清晰起見,以兩種模態類型X與Y為例,給出跨模態檢索的定義。訓練數據定義為D={X,Y},其中,這里n表示訓練樣本實例的數據量,xi表示來自X模態的第i個樣本實例的特征向量。同樣地,定義,其中yj表示來自Y模態的第j個樣本實例的特征向量??梢蕴峁┯柧殧祿恼Z義標簽定義為,其中表示X模態第i個實例的語義標簽向量,表示Y模態第j個實例的語義標簽向量,用來表示該模態數據樣本所屬的語義類別。若兩個模態數據xi與yj之間存在語義關聯,則;否則,。
由于不同模態的數據的特征向量與xi和yj位于不同的特征表示空間,并且通常具有不同的統計屬性,它們不能直接進行比較。因此跨模態檢索針對每種模態學習一個轉換函數:對于X模態,ui=f(xi;γX)∈Rd;對于Y模態,vj=f(yj;γY)∈Rd。其中,d為公共子空間的維度,γX與γY為兩個模態數據的訓練參數。轉換函數將來自不同特征空間的數據xi與yj映射成為公共子空間中的特征向量ui與vj。使得來自不同模態的數據可以直接進行比較,并且在公共子空間中,相同類別的樣本相似度大于不同類別的樣本的相似度。
跨模態檢索的目標是計算跨模態數據的相似性。例如,針對來自X模態的數據xa,利用上述轉換函數將其映射到公共子空間ua=f(xa;γX)∈Rd,計算其與公共子空間中所有Y模態數據vj的相似度dj=sim(ua,vj),將相似度進行排序,最終得到Y模態中與xa相關聯的數據的檢索結果。
傳統統計分析是常用的公共子空間技術的基礎,其通過優化統計值來學習子空間的投影矩陣。主要有三種解決思路,分別是無監督學習、監督學習與半監督學習。其中無監督學習的訓練數據均無標簽標記,監督學習與之相反,對所有訓練數據進行人工標注,通過利用數據的標簽信息來關聯數據的特征與語義,而半監督學習中僅有部分訓練數據有標簽標記。
Li 等人提出了最早的傳統統計分析方法——跨模態因子分析法(cross-modal factor analysis,CFA)[7],通過最小化不同模態樣本變量對之間的距離來學習投影子空間,進而探索模態間數據背后存在的潛在變量關系。最具代表性的方法是由Thompson提出的典型相關分析(canonical correlation analysis,CCA)[8],其通過從原數據變量中選取具有代表性的綜合指標的相關關系反映原數據之間的相關關系,同時考慮了變量間與變量內特征的關聯。不足之處在于CCA的目的是尋找變量之間投影后的綜合指標之間的關系,但是無法通過該關系還原出原變量,即找不到原變量之間直接映射關系。此外Rosipal 等人提出偏最小二乘法(partial least squares,PLS)[9],利用潛在變量對觀測變量集之間的關系,通過最大化不同變量集之間的協方差來創建潛在關系向量,在子空間的跨模態檢索問題中,進一步加強了不同模態之間相關性分析。
在CCA 的基礎上,Zhang 等人又提出了基于核的典型相關分析方法(kernel canonical correlation analysis,KCCA)[10],將核函數引入CCA,擴展到可以特征化兩組多維變量的非線性關系,將原始特征數據映射到更高維的核函數特征空間。KCCA 的優化問題與CCA 相同,均希望找到最優系數,使得兩組變量的相關性最大。由于KCCA 復雜的函數空間,使用足夠的訓練數據可以表示更高的相關性,且可以生成特征以提高分類器性能。但是KCCA 與CCA 均要求數據是成對對應的,當模式中的多個點簇對應于另一個點簇時,或者當成對模式被類標簽補充時,KCCA與CCA 都不能直接使用。KCCA 方法雖然解決了數據的非線性問題,但是由于核函數選取的不可知性,使得訓練開銷增大且模型更為復雜,因此Andrew 提出深度典型相關分析(deep canonical correlation analysis,DCCA)[11]。神經網絡在解決非線性問題時,是通過嵌入每個層次的非線性函數來解決的。DCCA 采用深度神經網絡(deep neural networks,DNN)分別求出兩個視圖經過線性化的向量,并求出兩個投影向量的最大相關性,最后獲得新的投影向量,將其加入模型算法中進行學習。
顯然上述方法并未涉及高層語義的分析建模,語義特征的缺失使其無法達到令人滿意的結果。因此許多學者提出基于監督算法的統計分析技術,利用不同模態數據的高層語義關系進一步關聯底層的異構特征。
Jia 等人通過基于馬爾科夫隨機場的主題模型[12]對模態間的高層語義關系進行建模?;贑CA 方法,Rasiwasia 等人研究了文本和圖像聯合建模的問題,提出三種子空間學習模型[13],通過邏輯回歸增加了語義層的判斷。之后又提出了聚類相關性分析(cluster canonical correlation analysis,Cluster-CCA)[14],與CCA、KCCA 不同的是,其沒有要求數據的標準成對關系,在Cluster-CCA 中,每個集合都被劃分成多個簇或者類,其中的類標簽定義了集合之間的對應關系。Cluster-CCA 能夠在特征空間上學習最大化兩個集合之間相關性的判別低維表示,同時在學習空間上分離不同的類。此外還提出了核擴展,核聚類典型相關分析(kernel cluster canonical correlation analysis,Cluster-KCCA)[14],擴展了Cluster-CCA 到高維空間的非線性投影來觀察兩個集合間的關系。Cluster-CCA改進了CCA 只能適用于所有數據必須成對對應的數據集的問題,即拓寬了應用范圍。但是當應用于大規模數據集時,計算協方差的復雜度隨著數據數量變化呈平方的關系增長。
此外,Ranjan等人基于CCA提出了多標簽典型關聯分析(multi-label canonical correlation analysis,ml-CCA)[15],用于學習共享子空間,以多標簽注釋的形式表示高層語義信息。對于多標簽數據集,不同模態間存在自然的多對多對應關系,即來自一種模態的每個數據點與來自另一個模態的若干個其他數據點相關。與CCA 不同,ml-CCA 不依賴于模態之間數據的顯示配對,而是使用多標簽信息來建立模態間對應關系,產生了一個更適合跨模態檢索任務的判別子空間。同時提出Fast ml-CCA[15],它是一個高效率版本ml-CCA,能夠處理大規模數據集,且在學習子空間的同時能夠有效地融合多標簽信息。Gong等人還提出了三視角CCA(3view canonical correlation analysis,3view-CCA)[16],結合第三視角捕捉高層次語義,考慮文本與圖像兩種模態的同時,將高層語義視為一種模態,最大化三種模態兩兩間的相關性,證明了語義特征的加入使得檢索準確率得到了極大的提高。模態數據點之間的對應關系如圖3 所示,圓圈和方塊表示兩種模態的數據點,“+”“-”“*”表示類標簽。在cluster-CCA 中,一種模態中的每個點與另一個模態中的所有相同的類點配對。在3view-CCA 中,第一個模態中的每個樣本與來自第二模態的具有相同類標簽的單個樣本配對。在ml-CCA 中,一組樣本可與第二組中的多個樣本配對。

Fig.3 Correspondence of modal data points圖3 模態數據點對應關系
基于未標記數據易于收集和不同模態之間的相關性的特性,Zhang等人提出了廣義半監督結構子空間學習方法(generalized semi-supervised structured subspace learning,GSS-SL)[17],將標簽圖約束、標簽鏈損失函數和正則化集成到聯合最小化公式中,以學習有區別的公共子空間。
雖然現有的傳統統計分析的技術比較容易實現,但是存在共同的缺點:欠缺對模態內數據局部結構和模態間數據結構匹配的考慮。實際上,與具有鄰域關系的樣本相對應的另一模態的樣本數據也具有鄰域關系。并且大多數統計分析方法學習到的都是非線性映射,因此在模態間高級語義建模方面無法取得有效的結果。同樣,統計分析方法在處理大規模以及高維多模態數據的計算復雜度上也表現得不盡人意。
近年來,深度學習在單模態領域取得突破性進展,如自然語言處理領域、圖像領域和語音識別領域,神經網絡強大的抽象能力在不同的多媒體應用中展現出無窮的潛力,如對象識別[18]與文本生成[19],為其在跨模態檢索的研究上奠定了理論基礎和技術實踐。
Ngiam 等人首次采用深度學習的方法處理多模態任務,提出將受限玻爾茲曼機(restricted Boltzmann machine,RBM)應用于公共子空間的學習[20],通過輸入連續的音頻和視頻幀訓練模型,來學習音頻與視頻的統一表示。此項工作展示了深度學習如何應用于發現多模態特征的挑戰性任務,但是模型采用的是手工設計特定于任務的特征,既困難又耗時?;谥暗墓ぷ鱗20],考慮到探索關聯數據的側重點在于語義關聯,Srivastava 等人提出基于深度玻爾茲曼機的多模態學習(deep Boltzmann machine,DBM)[21],將DBM 結構擴充到多模態領域,通過多模態DBM,學習聯合概率分布。該方法對模態內數據的底層特征分別進行學習,利用不同模態之間的高層語義關系建立模態之間的關聯。DBM 學習多模態表示的最大優點之一就是其生成特性,即它允許數據有丟失。即使整個模態丟失,模型也可以通過對它們的條件分布進行采樣并填充來提取這種表示,進而很好地工作,因此該模型可以有效地利用大量未標記的數據。然而,由于RBM 的原因,仍舊沒有解決耗時嚴重的問題,在當時計算能力不高的情況下,也嚴重限制了其實際的應用。并且使用傳統手工特征技術,使得性能仍遠遠不能令人滿意。
為研究圖像與文本之間的交叉檢索,Feng等人提出了基于對應式自編碼器模型(correspondence autoencoder,Corr-AE)[22]的方法,并提出了新的優化目標。通過使每種模態的表示學習誤差和模態間的隱藏表示的相關學習誤差的線性組合最小化,對模型進行訓練。最小化相關學習誤差迫使模型只學習不同模態隱藏的公共信息,最小化表示學習誤差使得隱藏表示足以重構每種模態的輸入。此模型將單模態的表示學習和多模態的相關性學習結合到一個過程中,從而將自編碼代價和相關代價結合起來?;诖隧椆ぷ?,Zhang 等人提出獨立組件多模態自動編碼器(independent component multimodal autoencoder,ICMAE)[23]的深度體系結構,使用兩個自編碼器不斷學習跨視覺和文本的共享高級表示,從而進行屬性的自動發現。雖然自編碼器的加入使得模型泛化能力得到加強,然而針對異常識別場景,得到的重構輸出可能也會變成異常數據。
而現有的大多數跨模態檢索方法,在整個訓練過程中要使用到包含所有模態的數據,不同模態轉換的最佳參數之間彼此依賴,并且當處理來自新模態的樣本數據的時候,整個模型需要重新進行訓練。因此,Hu 等人提出了可擴展的深度多模態學習方法(scalable deep multimodal learning,SDML)[24],設計預先定義一個公共子空間,使得類間差異最大、類內差異最小。針對每一種模態數據設計一個深度監督自編碼器(deep supervised autoencoder,DSAE)將多模態數據轉換到預定義的公共子空間,實現跨模態學習。與大多數現有方法不同的是,SDML 可以獨立、并行地訓練不同的特定模態的網絡,可以有效地處理來自新模態的樣本,只需要訓練針對該模態的新網絡即可。因此其是可以擴展模態數量的,是最先提出可以將不定數量的模態數據獨立投影到預定義子空間中的方法之一,亦是提出將跨模態檢索問題擴展到多個模態數量的實踐之一,值得人們關注,這也是大多數現有方法所忽略的問題,亦是未來的挑戰。
為了學習到更加具有判別性的表示,諸多學者提出了基于深度監督學習的跨模態檢索方法。為加強對圖像與文本之間的高級語義相關性表示的探索,Wang 等人提出了一種正則化的深度神經網絡(regularized deep neural network,RE-DNN)[25],用于跨模態的語義映射。RE-DNN 通過結合卷積神經網絡(convolutional neural networks,CNN)(處理圖像)和語言神經網絡(處理文本),將圖像和文本數據映射到公共語義子空間,得到一個同時捕獲模態內和模態間關系的聯合模型,從而進行模態間數據的相似度度量。
也有一些想法將DNN 與CCA 相結合作為DCCA[11],其有很明顯的缺點:對內存的過度占用,計算速度過慢以及過擬合現象的發生。因此使用DCCA 框架時,特征的高維性使得其在內存和復雜性方面提出了巨大的挑戰。Yan 等人提出了一種基于DCCA 的端到端學習方法(end-to-end learning scheme based on deep canonical correlation analysis)[26]來對文本和圖像進行檢索,通過GPU 實現來解決這些問題,并提出處理過擬合的方法,以此來應對DCCA 框架的缺點。之前的工作[20-21]為不同模態數據創建一個具有共享層的網絡,而DCCA 與之不同的是,其使用兩個獨立的子網絡,并且通過控制代碼層的相關約束性來最大化模態數據之間總體的相關性。
為解決帶有一個或多個標簽的圖像文本跨模態檢索問題,Wei等人提出了深度語義匹配(deep semantic matching,Deep-SM)[27]的方法,利用卷積神經網絡對視覺特征的強大表示能力,完成文本和圖像兩種模態之間的檢索,并驗證了使用CNN 視覺特征表示的圖像進行跨模態檢索相比于其他方法更容易獲得更好的結果。然而對于文本數據只是使用一個完全連接的神經網絡來提取文本的語義特征,未來可以探索更合適的神經網絡,以建立文本數據的底層特征和高級語義之間的關系。與此同時,為了從差異很大的模態數據之間學習到共享關聯表示,Castrejon 等人提出了正則化跨模態卷積神經網絡(regularized convolutional neural network,RE-CNN)[28]的方法,在給出僅使用場景標簽注釋的數據集前提下,從弱對齊數據中學習到具有強對齊的跨模態表示。
而為致力于圖像與文本句子之間的檢索,Zhang等人提出一種跨模態關系引導網絡(cross-modal relation guided network,CRGN)[29],其將圖像與文本嵌入到一個潛在的特征空間中。該模型使用門控循環單元(gated recurrent unit,GRU)提取文本特征,使用殘差網絡(residual network,ResNet)提取圖像特征,并提出一種有效的多任務損失兩階段訓練策略,用于優化網絡。該方法雖然取得了很好的檢索結果,但是仍具有很大的發展空間,為適應大規模的跨模態檢索任務,可以將其與哈希網絡相結合。
綜上可知,CNN 可以保留領域的聯系和空間的局部特點,且對于局部操作有很強的抽象表征能力。可以利用圖像的二維結構和相鄰像素之間的高度相關性,且引入池化操作在一定程度上保證了圖像的平移不變性,使得模型不受位置變化的影響。池化操作同樣使得網絡擁有更大的感受野,使得網絡在更深層學習到更加抽象的特征表示。因此,CNN特別適合于圖像模態特征及語義的提取。尤其是近些年代表圖像領域最高水平的ImageNet 視覺識別競賽(ImageNet Large Scale Visual Recognition Challenge,ILSVRC)[30]所涌現出來網絡模型,如AlexNet[31]、VGG[32]、GoogLeNet[33]、ResNet[34]、DenseNet[35]、SeNet[36]等在圖像特征提取、圖像分類方面表現出絕佳性能的CNN網絡模型,其判別能力甚至超過了人的水平,并且Wei 等人[27]也證明使用CNN 視覺特征相比于傳統視覺特征(SIFT(scale-invariant feature transform)、BoVW(bag of visual words)以及LLC(locality-constrained linear coding)等)能給模型帶來更加良好的效果。這對跨模態檢索領域帶來了巨大的推動力,大部分前人的工作也是基于這些網絡模型所展開的。關于不同CNN 模型在實際應用中的重要指標的全面分析,讀者可參考文獻[37],此些模型的特征抽象以及表示能力均獲得了卓越的成果。
當前用于跨模態檢索的算法通常提取全局特征,用于拉近相匹配的模態數據。在研究圖像文本匹配時,考慮到全局特征包含較多的冗余信息,即關注圖像中的顯著區域、句子中的顯著單詞以及區域和單詞之間的交互作用,過濾掉不相關的信息。Huang 等人提出一種基于選擇性的多模態長短期記憶網絡(selective multimodal long short-term memory network,sm-LSTM)[38]的動態模型,在每一個時間步上,利用基于上下文的注意力機制來選擇不同模態數據之間描述相同語義的部分,從而進行計算得到局部相似性。最后,將經過多個時間步測量所得的局部相似性聚合為全局相似性。其使用的LSTM 模型以及提到的一種多模態的基于上下文的注意力機制,會對人們后續的工作帶來極大的啟發。然而使用全連接的循環神經網絡(recurrent neural network,RNN)帶來了不小的計算負擔,增加了模型的運算復雜度,這方面表現得不如CNN 建模。
同樣地,基于上述思想,Wang 等人提出跨模態自適應消息傳遞方法(cross-modal adaptive message passing,CAMP)[39],其由跨模態消息聚合模塊和跨模態門控融合模塊組成,使用自適應門控方案正確處理負對和無關信息。此外,代替傳統的聯合嵌入方法,基于融合后的特征來推斷匹配分數,并且提出負二進制交叉熵損失進行訓練。其很好地關注到模態數據間的重要信息并為跨模態匹配找到細粒度的線索,然而這種基于注意力的方法忽略了一個文本單詞或者圖像區域在不同的上下文中可能含有不同的語義的問題。同時考慮模態內和模態間上下文語境,并在適應各種上下文的情況下執行檢索是更加有效的。針對上述工作[29-30]所存在的問題,Zhang等人提出上下文感知注意網絡(context-aware attention network,CANN)[40],同時利用全局模態間和模態內相關關系來發現潛在的語義關系,從全局的角度基于給定的上下文來自適應地選擇信息片段,包括單模態內的語義相關性以及模態間的可能的對齊方式,并使用基于語義的注意力捕獲模態相關性、更細粒度的語義以及豐富的上下文信息,使得模型性能表現得更加優異。
RNN 是處理具有時序關系的數據相關任務最成功的多層神經網絡模型,樣本出現的時間順序對于自然語言處理來說非常重要,針對其他網絡無法對時間序列上的變化進行建模的問題,RNN 給予了很好的解決。很多現有模型對文本模態僅使用全連接層提取特征,忽略了文本的上下文信息以及豐富的語義信息,因此在跨模態檢索中處理時間序列的文本、音頻等模態的建模問題時,考慮使用RNN 進行特征提取表征,將會是一個很好的選擇。
Goodfellow 等人提出的生成對抗網絡(generative adversarial networks,GAN)[41]為跨模態檢索的研究提供了很大的啟發。Gu等人第一次提出同時利用GAN和強化學習(reinforcement learning,RL)實現跨模態檢索[42]。將生成過程引入到傳統的跨模態特征嵌入中,解決了傳統跨模態檢索方法在高層語義層面匹配良好,但在圖片細節和句子單詞層面缺乏良好匹配的問題,不僅可以學習到多模態數據的高層抽象表示,還能學習到模態數據的底層表示。但是其所生成圖像的質量有待提高,且并未考慮如何共同提取和利用特定于模態以及模態之間共享的特征,即多模態數據之間的互補性與相關性的問題。
GAN 網絡已顯示出通過對抗學習來對數據分布進行建模的強大能力,使得跨模態檢索有了很大的進展空間,針對其中有效地聯合提取和利用互補性與相關性特征的問題,Wu 等人提出一種基于GAN 網絡的方法MS2GAN(modality-specific and shared generative adversarial network)[43],其由兩個學習特定于模態特征的子網和一個學習共享特征的公共子網組成,并使用生成模型預測產生的語義標簽對相似性進行建模,判別模型用于對模態的特征進行分類,使得檢索精度得到了極大的提升。然而該模型運算復雜度較高,且僅在公共數據集上進行測試,未來可以嘗試與哈希方法結合以提高檢索效率,并使用實際數據測試模型以提高模型穩健性,使得進一步應對實際應用。
GAN 網絡模型充分體現了多層網絡架構的強大性,并且最關鍵的是引入了無監督學習方式,使得模型的訓練學習不再依賴大量的標記數據。針對無監督、半監督等場景,讀者可以考慮利用GAN 進行模型訓練。
深度學習具有豐富的表示能力和強大的計算能力,能更好地適用于大規模訓練樣本。但現有的基于深度學習的跨模態檢索技術仍然有待完善,其主要挑戰來自于不同模態數據特征的互異性,需要將不同模態的特征信息融合到一起,從而得到關于數據更好的理解以及應用。然而由于每種模態數據之間的表達方式、理解方式差異很大,現有的深度學習模型在抽取特征之后,再將其投影到一個公共的空間中,不同模態之間特征的相互融合以及相互對照仍然需要繼續進一步地優化,不同模態內部數據的局部結構和模態間語義類結構關聯缺乏關注和深入研究。因此跨模態檢索在深度學習上的應用需要在特征融合、泛化能力、噪音對抗、語義特征缺失等方面繼續進行長久的探索。
傳統統計分析技術與深度學習技術均基于提取到的特征值直接進行建模,從而實現跨模態檢索,這對于大規模數據集非常耗時,并且需要大量的存儲空間。哈希學習由于存儲需求低且檢索速度快,應對大規模數據具有很好的效果。該方法將原始特征空間中的數據點映射成公共漢明空間中的二進制編碼,通過計算待查詢數據的哈希編碼和原始數據哈希編碼之間的漢明距離進行相似度排序,從而得到檢索結果,使得檢索效率得到了極大的提高。并且以二進制編碼代替原始數據存儲,使得檢索任務對存儲量的需求極大地降低。
哈希學習的最初提出是為了加速檢索過程,并廣泛使用于各種檢索任務中,但是它們大多數只涉及一種模態數據[44]。Zhang 等人提出了具有多個信息源的復合哈希(composite Hashing with multiple information sources,CHMIS)[45],將哈希學習技術引入多模態檢索,其設計的哈希碼盡可能保留了原空間中的近鄰相似性,這也就是所謂的保留相似性,如圖4 所示。具體來說,所有數據點都使用緊湊的二進制串編碼,在原空間中相似的兩個點被映射到哈??臻g中時也應該具有相似性。同樣在后續工作中,保留相似性是解決基于哈希方法的跨模態檢索問題的關鍵原則[46]。

Fig.4 Keep similarity圖4 保留相似性
許多監督的多模態哈希方法(supervised multimodal Hashing,SMH)被提出,這些方法利用語義標簽提高檢索精度,然而大多數訓練時間復雜度太高,無法擴展到大規模數據集。因此,Zhang等人提出了新的語義相關最大化方法(semantic correlation maximization,SCM)[47],將語義信息無縫地集成到大規模數據建模的哈希學習過程中,避免了顯式地計算成對相似矩陣,利用所有監督信息進行線性時間復雜度的訓練。提出了一種逐位學習哈希函數的順序學習方法,每一位的散列函數的解都有一個閉式解,在SCM學習過程中,不需要任何超參數和停止條件,使得SCM 在精度和可擴展性方面都明顯優于SMH 方法。
為了研究跨視圖相似性搜索在多模態數據環境中學習哈希函數的問題,Ding等人提出了集體矩陣分解哈希(collective matrix factorization Hashing,CMFH)[48]方法,首次使用集體矩陣分解技術來學習交叉視圖散列函數,其不僅支持跨視圖檢索,而且通過合并多個視圖信息源提高了搜索精度。為了研究圖像文本檢索問題,Lin 等人提出了語義保持哈希(semanticspreserving Hashing,SePH)[49]方法,將數據的語義相似性作為監督信息。SePH 將待學習散列碼之間所有的成對漢明距離轉換為另一個概率分布,并通過最小化Kulback-Leibler 散度在漢明空間中學習的散列碼來近似它。利用具有采樣策略的核邏輯回歸,學習從視圖特征到散列碼的非線性投影。
此外,當前跨模態哈希方法通常學習統一的或等長的哈希碼來表示多模態的數據,使得不同模態的數據具有直觀的可比性。然而,由于來自不同模態的數據可能不具有一對一的對應關系,這種統一的或等長的哈希表示會犧牲它們表示的可擴展性。Liu等人打破了相等散列長度表示的限制,提出了使用不等長的不同散列編碼異構數據,并提出了一個通用靈活且高效的矩陣因子分解哈希(matrix tri-factorization Hashing,MTFH)[50]框架,其可以無縫地工作在各種檢索任務中,包括成對或不成對的多模態數據,以及等長或者變長的哈希編碼環境。MTFH 是首次提出嘗試學習不同長度的散列碼用于異構數據比較的方法,并且所學的特定模態的散列碼對于跨模態檢索來說在語義上更有意義,是一個高效的無松弛的離散優化算法,可以很好地減少哈希碼學習過程中的量化誤差。通過這個有效的實驗,后續工作可以側重于利用每個模態的最佳散列長度來執行跨模態檢索任務,以及對小樣本數據集的適應性和對更多模態的擴展。
為了綜合利用不同模態之間的內在相關性,并同時充分利用監督信息進行高效的跨模態檢索,Meng等人提出了一種新穎的跨模態哈希方法(asymmetric supervised consistent and specific Hashing,ASCSH)[51],并且提出了一種有效的多模態映射學習策略,將不同模態的映射矩陣分解為一致部分和特定于模態的部分。同時為了充分挖掘監督信息,構造了一種新穎的離散不對稱學習結構,以聯合利用成對相似性和語義標簽。該模型給人們帶來啟發:聯合探索一致和特定于模態的信息,有利于發現模態數據間的共享內在語義;引入非對稱編碼結構,有助于提高哈希碼的區分能力,進而降低計算成本。該方法值得人們思考,其不僅可以產生優越的性能,而且在計算效率和檢索性能之間也獲得了良好的平衡,是應對目前部分跨模態檢索相關方法的運算復雜度較高問題的方法之一。
早期還有很多類似于上述方法的工作,這些方法大多專注于模態間語義關系的發掘,而這些語義關系往往是通過某些淺層的結構提取出的基于手工制作的特性,而這些特性可能與哈希編碼學習過程不兼容。這就使得特征提取與哈希碼學習過程的分離,從而降低了緊湊哈希碼的有效性。
與上述傳統的淺層結構提取手工特征相比,深度學習技術所提取的特征更加具有區分性和有效性。因此近些年來,大量的研究深度學習結合哈希學習(簡稱深度哈希)的工作陸續展開。
由于大多數跨模態哈希(cross-modal Hashing,CMH)方法基于手工制作的特性,導致其無法實現令人滿意的性能。Jiang等人提出一種新的CMH方法——深度跨模態哈希(deep cross-modal Hashing,DCMH)[52],實現圖像文本兩種模態數據的互檢索。DCMH 是集成特征學習與哈希學習的端到端框架,從端開始執行特征學習,一端提取圖像特征,一端提取文本特征。自DCMH 首次提出將哈希與深度學習結合并證明了其可行性以來,諸多基于深度哈希的跨模態研究工作陸續展開。在DCMH 的基礎上,Zhen 等人提出深度監督跨模態檢索(deep supervised cross-modal retrieval,DSCMR)[53]方法,其目的是保持不同語義類別樣本之間的區分度,同時消除跨模態差異。最小化樣本在標簽空間和公共表示空間中的判別損失,用以監督模型學習判別特征。同時最小化模態不變性損失,并使用權重共享策略來學習公共表示空間中的模態變量特征。這樣的學習策略,使得成對標簽信息和分類信息都被盡可能充分地利用,確保了所學習的表示在語義結構上是有區別的,彌合了不同模態之間的異構差距。
基于深度學習方法的成功,跨模態檢索在近些年取得了顯著的進展,但是仍然存在一個關鍵的瓶頸,即如何彌補不同模態之間的差異以進一步提高檢索的準確性。因此,Li 等人提出了一種自監督的對抗式哈希方法(self-supervised adversarial Hashing,SSAH)[54],利用兩個對抗網絡來學習不同模態的高維特征及其對應哈希碼,以最大化語義相關性和模態之間的特征分布的一致性。并且利用自監督語義網絡以多標簽標注的形式發現高級語義信息,將自監督語義學習與對抗學習相結合,能盡可能保證語義相關性和跨模態表示一致性。這些信息指導著特征學習的過程,并且在公共語義空間和漢明空間中也保持著模態之間的關系。
為加強對語義標簽信息的利用,Lin 等人提出一種新的深度跨模態哈希方法——語義深度跨模態哈希(semantic deep cross-modal Hashing,SDCH)[55],生成更加具有區分性的哈希碼。利用語義標簽改進特征學習部分,可以保留學習到的特征的語義信息,并保持跨模態數據的不變性。此外,采用模態間成對損失、交叉熵損失和量化損失來保證所有相似實例對的排序相關性高于不同實例對的排序相關性。語義標簽的加入使得可以利用其來為相互關聯的跨模態數據學習更一致的哈希碼,這能顯著地減輕模態差距并提高檢索性能。然而現實中的數據往往并不完全具有相關語義標簽,無監督領域缺乏足夠的探索,且由于DNN 的加入使得可以產生更多的語義相關特征和哈希碼,并且能進一步提高檢索性能,Su 等人提出了一種面向大規模的深度無監督聯合語義重構哈希(deep joint-semantics reconstructing Hashing,DJSRH)[56]方法,其首次提出構造一種新穎的聯合語義親和矩陣,以學習保留原始數據鄰域結構的哈希碼,用于挖掘輸入實例之間潛在的內在語義關系。通過提出的重構框架學習二進制碼以最大限度地重構聯合語義結構,一方面對原始相似度范圍進行線性變換以調整更好的量化區域,使重構更加靈活;另一方面,重構了特定的相似度值,使得DJSRH 比前人[57]所使用的拉普拉斯約束更適合端到端的分批訓練。
由于大多數現有的跨模態哈希方法在探索模態數據間的語義一致性方面有所欠缺,進而導致性能不理想,Xie等人提出了一種新穎的深度哈希方法CPAH(multi-task consistency-preserving adversarial Hashing)[58],其將多模態語義一致性學習和哈希學習無縫地結合在一個端到端的框架中。并且提出了一致性細化模塊和多任務對抗性學習模塊,分別用于分離模態表示與保留語義一致性信息,充分挖掘不同模態間的語義一致性和相關性,進而實現高效率的檢索。
現有方法將哈希學習用于跨模態檢索,使其具有存儲需求小和檢索速度快的優勢。卻存在一些問題,如將模態數據實值特征進行二值化轉化過程中將原有數據的結構破壞,不可避免有精度損失,并且大部分沒有考慮到模態內數據結構和模態間結構的匹配關聯,對哈希進行優化計算比較復雜等。
在對相關研究總結綜述的基礎上,為了進一步加深對相關研究的認識和理解,評估與分析不同跨模態檢索技術方法的特點,本文在傳統統計分析、深度學習、哈希學習三大類技術中選取具有代表性的方法,在同一個數據集上進行跨模態檢索實驗,并根據實驗結果進行分析和比較。
跨模態常用數據集有Wikipedia[13]數據集、Flickr8K數據集、Flickr30K[59]數據集、NUS-WIDE[60]數據集、XMedia[61]數據集、MIR Flickr[62]數據集、MSCOCO[63]數據集等。
為了統一,按照文獻[64]選取NUS-WIDE 數據集中10 個最常見類別的圖像進行實驗,并且每一個圖像以及相應的標簽被視為具有唯一類別標簽的圖像文本對。最終有71 602 個圖像文本對,其中訓練集由42 941 對圖像文本對組成,驗證集由5 000 對圖像文本對組成,測試集由23 661 對圖像文本對組成。
為了控制其他因素干擾,對圖像使用相同的CNN特征,這些CNN 特征是遵循文獻[24]從具有4 096 個維度的19 層VGG Net[32]中的fc7 層提取出來的。300個維度的文本特征是通過預先訓練好的Doc2Vec 模型[65]中提取出來的,對NUS-WIDE 數據集預處理結果如表1 所示。

Table 1 Preprocessing results for NUS-WIDE data set表1 對數據集NUS-WIDE 預處理結果
基于傳統統計分析的跨模態檢索技術選取了GSS-SL[17]方法,基于深度學習的跨模態技術選取了SDML[24]方法,基于哈希學習的跨模態技術選取了MTFH[50]方法。
三種檢索方法分別在經過預處理之后的統一數據集NUS-WIDE上進行跨模態檢索任務實驗,即通過一種模態去查詢另一種模態,這里通過文本檢索圖像(文本→圖像)和通過圖像檢索文本(圖像→文本)。
采用平均精度均值(mean average precision,mAP)作為評估指標對性能進行評估。其中MTFH 方法,選取在核邏輯回歸中更優的k-means 方案[50],哈希長度依次調整16 bit、32 bit、64 bit、128 bit,記錄其mAP結果。
表2 列出了三種方法在NUS-WIDE 數據集上實驗的mAP 結果。
從表2 中可以看出:SDML 方法性能最優,其次是MTFH 方法,最差的是GSS-SL 方法。且MTFH 方法性能并不是隨著哈希碼長度增加而持續提升,長度最適合的哈希碼才能使其達到最高精度。

Table 2 mAP score comparison表2 mAP 分值比較
從方法的理論基礎和實驗結果可以得出如下結論:基于傳統統計分析的技術作為跨模態公共子空間建模方法的基本范例,這些方法對于訓練來說是相對有效的,并且易于實施,但是由于其并沒有考慮單一模態數據的局部結構與模態間的數據結構的匹配情況,且僅僅通過線性投影很難完全對真實世界中多模態數據的復雜相關性進行建模,導致在模態間高級語義建模方面無法取得有效的結果。其次其不僅針對如今大規模以及高維的數據來說訓練時間較復雜,模型的運算復雜度較高以及檢索效率較低,而且模型的易擴展性較差,大多模型僅限制兩種媒體類型作為輸入,擴展多模態檢索需更加復雜的工作設計,因此與其他兩類技術方法相比處于劣勢。
基于深度學習的跨模態檢索技術,具有更好的適應大數據樣本的能力、超強計算能力和深度學習模型對特征的豐富表示能力等特點。深度學習的發展,很好地解決了傳統統計分析方法難以提取數據之間非線性關系的難題,這對于跨模態檢索領域來說是一個質的飛躍,因此其相比于傳統統計分析方法能更好地提取多模態數據間語義信息,進而使得跨模態檢索的性能得到了進一步的提高。然而大多數現有方法,存在同樣的問題:模型過于復雜,大規模數據訓練耗時較長,且運算復雜度過高;僅追求檢索精度,而忽略了檢索性能,使得模型雖然獲得卓越的檢索精度,然而具有巨大的檢索延遲和效率低下的問題,難以在現實中應用;大多數方法仍然僅針對兩種模態的檢索問題,模型可擴展性依然較差,盡管有針對五種模態的工作[28],但仍是未來研究的重要挑戰。
基于哈希學習技術的加入,很好地解決了前人大多數工作存在的實際檢索時效率低下的問題,對于跨模態檢索的實際應用起到了巨大的推動作用。其使用短的二進制哈希碼,使得檢索效率得到了極大的提高,且其還具有低存儲的特性,降低了對存儲的要求,使得檢索在現實世界中大規模數據集上受益頗多,成為應對跨模態檢索模型復雜度較高的主流解決手段。然而在將實值特征數據轉化為二值哈希碼的過程中,不得不將原有數據結構破壞,這就不可避免地造成了精度的損失。因此,其對多模態數據語義的提取以及對處理復雜交叉模態數據相關性的特征抽象能力沒有深度學習表現得那樣卓越。
因此,同時結合深度學習算法在表征學習中表現出來的良好性能以及哈希方法所表現出的高效率低存儲的特性,有助于減少不同模態形式數據之間的異構性差距和語義差距,同時降低算法運算復雜度。適當結合深度學習算法與哈希學習(簡稱深度哈希)來為跨模態檢索建模不同類型的數據是未來的趨勢,不僅可以獲得卓越的檢索精度,在計算效率和檢索性能之間也可獲得良好的平衡。自2017 年,DCMH 方法首次提出將兩者結合并證明了其可行性以來,已經有諸多學者進行實踐,例如DSCMR[53]、SSAH[54]、SHCH[55]、DJSRH[56]、CPAH[58]等,使用集成的方式將高級特征學習與哈希學習結合起來,由此可以通過誤差反向傳播利用哈希碼來優化特征表示[50],這將是未來研究的重點所在。除了少數方法[48],值得注意的是大多數已有的基于哈希技術的跨模態檢索方法在可擴展性方面依然沒有太多涉及,這將是未來將其應用于現實所面臨的重要挑戰。
盡管跨模態檢索領域已經取得了一些有前景的成果,但在最先進的方法和用戶期望之間仍存在差距,這表明人們仍然需要在該問題上持續探索。當前大部分現有工作,存在以下共同問題,這也是未來研究的重要挑戰。
(1)模型的可擴展性
模型大多從頭開始訓練,且大多現有工作仍限制于只有兩種媒體類型作為輸入,模型可擴展性較差,共同學習兩個以上的媒體類型的公共子空間可以用來提高跨模態檢索問題的靈活性,亦是未來研究的重要挑戰。
(2)應對現實數據集的跨模態檢索
像Facebook、YouTube、微博、微信等社交網絡產生了大量的由人們所創建的多模態內容,然而這些數據大多是松散的,并且標簽是有限的且含有噪聲的,而大規模的多模態數據是很難進行標記的?,F有大多數方法僅針對理想大規模樣本以及含有語義標簽的數據集設計,而對于現實中小樣本、零樣本、噪聲樣本場景以及弱監督、半監督、無監督方法較少涉及,因此在此情況下如何利用有限的且有噪聲干擾的數據來學習多模態數據之間的語義相關性,是未來亟待解決的問題。
(3)大規模的具有多樣性或噪聲的數據集
近些年越來越復雜的算法模型涌現,然而缺乏進一步用于訓練、測試以及評估模型的良好數據集。當前跨模態檢索所共用的數據集,存在規模太小、類別合理性以及大多僅包含文本及圖像兩種模態缺乏多樣性等問題,這些問題的存在使得多數數據集限制了模型評估的客觀性。例如,Wikipedia[13]數據集太小,且僅僅包含兩種模態數據類型。因此,包含多種模態樣本以及含有噪聲的大規模真實數據集,將是解決以上兩個問題的關鍵,也將對未來的研究工作帶來極大的幫助。近些年也出現了一些比較好的數據集,例如XMedia[61]數據集,其是第一個包含五種模態類型(圖像、文本、視頻、音頻和3D 模型)、200 多個類別、10 萬多個實例的數據集,這將有助于人們專注于算法設計,而不是耗時地比較模型與結果,極大促進跨模態檢索的發展。
(4)檢索效率的追求
大多數現有模型僅追求檢索精度,卻忽略了檢索效率,導致了訓練之后的模型具有巨大的檢索延遲和效率低下的問題,使得無法在現實中應用。因此如何在保證檢索精度的同時提高檢索效率,是亟待解決亦必須解決的問題,是后續工作的重中之重,其中哈希方法的廣泛應用為此問題的解決帶來了巨大的推動力,近些年的文獻也偏向于與哈希方法結合完成檢索,進而降低運算的復雜度。
(5)語義鴻溝
如前面所說,深度哈希是將跨模態檢索應用于現實所面臨的重要挑戰,然而盡管現有方法與很多方法相比表現出出色的性能,但仍然受到計算復雜性以及對模型最佳參數查找的窮舉搜索的限制,并且不能很好地彌合哈希碼的漢明距離與特征度量距離之間的語義差距。因此,結合深度學習與哈希學習來解決跨模態檢索問題方面的研究很值得關注和期待,也是后續研究的重點。例如,使用CNN 建模圖像模態,使用RNN 建模文本模態。需注意的是Self-Attention 機制[66]被廣泛關注,其由于可以無視詞之間的距離直接計算依賴關系,且能夠解決RNN 出現的不能并行的問題,近些年被廣泛用來配合RNN 與CNN 使用,甚至該機制可以代替RNN 并能取得更加優越的效果,已被成功應用于各種自然語言處理(natural language processing,NLP)以及計算機視覺(computational vision,CV)任務[67-69]。以及近些年被廣泛關注的Transformer模型[66],旨在全部利用Attention方式替換RNN 的循環機制,進而能并行優化計算并實現提速,從而其在NLP 以及CV 任務上表現出卓越的性能,這使得在跨模態檢索問題上具有很高的應用價值,也已經有學者對其進行了研究應用[70-71]。
(6)細粒度的語義關聯以及豐富的上下文信息
跨模態檢索的主要挑戰仍是不同模態數據之間的“語義鴻溝”,大多數已有模型通常將不同模態數據映射到公共子空間,在其中比較不同模態數據。然而,由于不同的圖像區域往往對應于不同的文本片段,直接映射到公共子空間顯得太粗糙,考慮的粒度更精細可以更準確地對多模態語義進行關聯建模。而且,模態之間的語義相關性往往與上下文信息有關,現有許多方法忽略了含有豐富語義關系的上下文,只考慮語義類別標簽等作為訓練信息,降低了檢索的性能。因此,如何獲取不同模態數據片段并找到其語義關聯關系進而進行細粒度建模,以及更加關注含有豐富語義的上下文信息是未來需要解決的問題,這將對模型的精度提高帶來助力。
本文深入分析了跨模態檢索問題,針對公共子空間建模關鍵技術進行了研究,將其總結歸納為基于傳統統計分析、基于深度學習和基于哈希學習三類技術;對三類技術相關研究的發展脈絡、研究現狀和進展進行了綜述,從理論和實驗兩個角度進行了對比分析;對目前研究的各種不同方法的特點和不足進行了總結,并對未來研究重點進行了充分展望,為后續研究奠定了扎實基礎。