鄭奇斌,刁興春,王彥臻,曹建軍,劉 藝,秦 偉
(1. 陸軍工程大學(xué) 指揮控制工程學(xué)院, 江蘇 南京 210007; 2. 軍事科學(xué)院, 北京 100089;3. 軍事科學(xué)院 國防科技創(chuàng)新研究院, 北京 100071; 4. 天津(濱海)人工智能創(chuàng)新中心, 天津 300450;5. 國防科技大學(xué) 第六十三研究所, 江蘇 南京 210007)
隨著多媒體、互聯(lián)網(wǎng)和大數(shù)據(jù)等技術(shù)的迅速發(fā)展,文本、圖像等不同模態(tài)的數(shù)據(jù)迅速涌現(xiàn)[1]。不同模態(tài)的數(shù)據(jù)結(jié)合在一起,顯示出較單模態(tài)數(shù)據(jù)更加豐富的自然和社會屬性[2]。而近年來機器學(xué)習(xí)等技術(shù)的發(fā)展使得綜合利用多模態(tài)數(shù)據(jù)成為可能,特別是得益于深度學(xué)習(xí)技術(shù)的發(fā)展,跨模態(tài)檢索[3]、視覺問答[4]、跨模態(tài)推理[5]等多模態(tài)應(yīng)用取得了巨大的進步。
跨模態(tài)檢索旨在發(fā)現(xiàn)不同模態(tài)(除少數(shù)工作,如文獻[6]涉及兩種以上模態(tài)的數(shù)據(jù),大部分研究都聚焦于文本和圖像兩種模態(tài))數(shù)據(jù)對象間的相似關(guān)系,例如通過文本描述檢索具有相似語義的圖像,或通過圖像檢索具有相似語義的文本[7]。由于不同模態(tài)數(shù)據(jù)的表征是異構(gòu)的,其相似度難以直接計算,通常需要將文本、圖像等數(shù)據(jù)映射到目標表示空間或一個公共表示空間中[2-3]?,F(xiàn)有研究通過典型相關(guān)分析[7-11]、主題模型[12-14]、稀疏表示[15-16]等方法實現(xiàn)跨模態(tài)映射,而近年來基于深度學(xué)習(xí)的方法[6, 17-22]由于其優(yōu)異的性能成了主流。
盡管以上方法各不相同,但其中采用的映射函數(shù)形式幾乎是線性變換或深度神經(jīng)網(wǎng)絡(luò),并通過相應(yīng)的損失函數(shù)學(xué)習(xí)其具體參數(shù)。其中,最常見的損失函數(shù)是最大邊界損失[17, 23],此外還有對抗型損失[24]、最大似然估計損失[25]等。這些損失函數(shù)的目的是使跨模態(tài)映射函數(shù)能夠同時保持對象的模態(tài)內(nèi)和模態(tài)間近鄰關(guān)系。然而實際中由于訓(xùn)練數(shù)據(jù)不足等原因,并不能保證學(xué)習(xí)到的映射函數(shù)可以完全跨越模態(tài)間的障礙。Collell和Moens[26]對線性變換和深度神經(jīng)網(wǎng)絡(luò)的跨模態(tài)映射能力進行測試,發(fā)現(xiàn)其對模態(tài)內(nèi)近鄰關(guān)系的保持較好,而對模態(tài)間近鄰關(guān)系的保持存在缺陷。
在此基礎(chǔ)上,本文發(fā)現(xiàn)常見跨模態(tài)函數(shù)存在“相似性漂移”問題——映射函數(shù)對模態(tài)間近鄰關(guān)系的保持能力與鄰域的大小相關(guān),在較小的鄰域內(nèi)近鄰結(jié)構(gòu)與真實近鄰保持一致;而當鄰域變大時,映射函數(shù)的近鄰保持能力迅速降低?!跋嗨菩云啤眴栴}的存在會增大跨模態(tài)檢索中誤匹配的概率,降低其準確性。為了降低其影響,本文提出了一種基于“鄰域傳播”的匹配策略——通過樣本的模態(tài)內(nèi)近鄰替代它自身,在映射空間中的較小鄰域中進行跨模態(tài)相似樣本的匹配。
本文首先介紹常見的跨模態(tài)映射函數(shù),并引出其“相似性漂移”問題;然后,提出基于“鄰域傳播”的匹配策略,在不改變跨模態(tài)映射函數(shù)的條件下,降低“相似性漂移”問題對跨模態(tài)檢索精度的影響;最后,通過在真實數(shù)據(jù)集上的實驗分析,對“相似性漂移”問題的存在性以及匹配策略的有效性進行驗證。
跨模態(tài)檢索任務(wù)是找到待查詢對象xi∈X在目標集合的跨模態(tài)近鄰yi∈Y,為計算任意跨模態(tài)對象間的相似度,可以通過映射函數(shù)f:X→Y或g:Y→X將源對象映射到目標對象的表示空間[7]。構(gòu)建跨模態(tài)映射函數(shù)的過程中,通常需要f和g能夠同時保持對象的模態(tài)內(nèi)近鄰關(guān)系和模態(tài)間近鄰關(guān)系。以f為例,為了在目標空間中保持模態(tài)間近鄰關(guān)系,對任意xi∈X和yi∈Y,映射f需要滿足:
(1)
式(1)表示如果不同模態(tài)的樣本xi和yi相似,則通過f將xi映射到Y(jié)中后,f(xi)和yi的距離應(yīng)小于δ。
同時,為了保持模態(tài)內(nèi)對象的近鄰關(guān)系,映射f還需要保持X的模態(tài)內(nèi)近鄰關(guān)系:
(2)
式(2)表示如果同模態(tài)對象在原始表示空間中距離較小,在映射后它們的距離仍然要保持足夠?。环粗?,如果同模態(tài)對象在原始表示空間中差異較大,在映射后它們的距離仍然要保持足夠大。由式(2)可以進一步導(dǎo)出:
(3)
式(3)說明為了保持模態(tài)內(nèi)關(guān)系,f必須為Lipschitz連續(xù)的,其中KX> 0為Lipschitz常數(shù)?,F(xiàn)有研究中最常用的線性變換
f(x)=W0x+b0
(4)
以及深度神經(jīng)網(wǎng)絡(luò)
f(x)=W1σ(W0x+b0)+b1
(5)
都滿足上述條件。其中,W0和W1為線性映射矩陣,b0和b1為偏置,σ為非線性映射函數(shù)。為了使映射f能保持對象間的近鄰關(guān)系,實際中經(jīng)常通過最小化最大邊界損失(max-margin loss)[17]來學(xué)習(xí)f:
(6)
其中:θ為邊界;x,y為相似的樣本對;x′,y為不相似樣本對。
盡管深度神經(jīng)網(wǎng)絡(luò)具有強大的學(xué)習(xí)能力,但是因為訓(xùn)練數(shù)據(jù)不足等原因,想要在跨模態(tài)映射中“完美”地保持模態(tài)內(nèi)近鄰關(guān)系和模態(tài)間近鄰關(guān)系并非容易。Collell和Moens[26]通過在不同多模態(tài)數(shù)據(jù)集上的實驗證明,盡管現(xiàn)有方法都致力于在跨模態(tài)映射中保持樣本的近鄰關(guān)系,但是最終學(xué)習(xí)到的映射函數(shù)并不能很好地保持樣本的模態(tài)間近鄰關(guān)系:主流的線性變換和深度神經(jīng)網(wǎng)絡(luò)更傾向于保持模態(tài)內(nèi)近鄰關(guān)系,而對模態(tài)間近鄰關(guān)系的保持較差。因此,相似的跨模態(tài)樣本經(jīng)過映射后不一定保持靠近,而不相似的跨模態(tài)樣本卻可能接近,從而導(dǎo)致檢索的準確率下降。
Collell和Moens[26]提出平均近鄰覆蓋率(mean Nearest Neighbor Overlap,mNNO)來度量跨模態(tài)映射對近鄰關(guān)系的保持能力,給定兩個一一配對的對象集合V和Z,mNNO定義為:
(7)
其中,索引相同的vi∈V及zi∈Z為匹配的對象,N為數(shù)據(jù)集V和Z的對象總數(shù),NNK(vi)和NNK(zi)分別為vi和zi的K近鄰對象索引集合。mNNO通過計算映射前后對象的平均K近鄰結(jié)構(gòu)覆蓋率來度量映射f對近鄰結(jié)構(gòu)的保持能力,mNNO(X,f(X))表示模態(tài)內(nèi)近鄰覆蓋率,mNNO(Y,f(X))表示模態(tài)間近鄰覆蓋率。mNNO越高,則通過f進行映射后,匹配的準確率也會越高。
mNNO對不同粒度(由K值體現(xiàn))的近鄰覆蓋率取平均值,從整體上度量跨模態(tài)映射對近鄰關(guān)系的保持能力,而本文發(fā)現(xiàn)在不同的K值下,映射函數(shù)的模態(tài)間近鄰保持能力是變化的:當K較小時,樣本在映射空間中的跨模態(tài)近鄰和真實近鄰的覆蓋率較高;隨著K變大,跨模態(tài)近鄰覆蓋率迅速下降。本文將這種映射函數(shù)對模態(tài)間近鄰關(guān)系的保持能力隨鄰域變化的現(xiàn)象稱為“相似性漂移”,如圖1所示。
圖1 相似性漂移問題示意Fig.1 Illustration of similarity drifting
圖1中展示的是xi在映射空間Y中的近鄰結(jié)構(gòu),其中圓點表示xi同模態(tài)近鄰在Y中的象,方形表示其跨模態(tài)近鄰,實心表示真匹配,空心表示誤匹配。由于映射函數(shù)的“相似性漂移”問題,在映射空間中的同模態(tài)近鄰大部分為真匹配;而跨模態(tài)近鄰中誤匹配較多。此外,圖1中隨著鄰域δ的增大,發(fā)生誤匹配的概率逐漸變大。這是由于對象間的相似性經(jīng)過跨模態(tài)映射f后難以完全保持,并且其失真程度隨著相似性判定的粒度增長(也就是鄰域的擴大)而迅速升高。
跨模態(tài)映射函數(shù)的“相似性漂移”問題顯然會增大誤匹配發(fā)生的概率,并降低跨模態(tài)檢索的準確性。
由于跨模態(tài)映射函數(shù)的“相似性漂移”問題,映射空間中樣本的模態(tài)間近鄰關(guān)系難以保持。而相對模態(tài)間近鄰關(guān)系,包括線性變換和深度神經(jīng)網(wǎng)絡(luò)在內(nèi)的映射函數(shù)都可以較好地保持樣本的模態(tài)內(nèi)近鄰關(guān)系。此外,映射函數(shù)對模態(tài)間近鄰結(jié)構(gòu)的保持能力是隨著鄰域的增大而降低的,當鄰域較小時,映射函數(shù)可以較好地保持模態(tài)間的近鄰關(guān)系。因此,可以借助樣本xi同模態(tài)近鄰在映射空間的象,在其較小鄰域中進行近鄰匹配,進而降低“相似性漂移”造成的影響,得到更加準確的匹配結(jié)果。綜合上述討論,本節(jié)提出一種基于“鄰域傳播”的匹配方法,其基本思想如圖2所示。
圖2 基于鄰域傳播的匹配示意Fig.2 Illustration of neighbor-propagation matching
不同于傳統(tǒng)方法直接通過f將xi映射到Y(jié)空間中后再進行相似度匹配,圖2為了尋找樣本xi的跨模態(tài)相似樣本,首先通過給定的閾值τ在表征空間X中篩選同模態(tài)相似樣本;然后利用f將這些樣本投影到Y(jié)空間中,并在Y空間中這些樣本的鄰域內(nèi)進行近鄰匹配,選擇每個樣本的最近鄰作為各自的跨模態(tài)相似樣本;最后將上述結(jié)果求并集,得到樣本xi的所有跨模態(tài)相似樣本。上述過程可以形式化為:
(8)
其中,yl∈Y為目標項集中第l項,s為相似度函數(shù)(本文中使用余弦相似度)。模態(tài)內(nèi)相似度閾值τ決定了匹配的粒度,本文中由用戶根據(jù)其對準確率、召回率的偏好,以及數(shù)據(jù)的分布來決定。詳細步驟見算法1。
算法1 鄰域傳播匹配
首先,利用現(xiàn)有方法學(xué)習(xí)跨模態(tài)映射函數(shù)f(例如,通過式(6)中的最大邊界損失學(xué)習(xí)式(5)中的深度神經(jīng)網(wǎng)絡(luò)作為映射函數(shù)f);然后對每個待查詢對象qi,篩選所有相似度大于閾值τ的模態(tài)內(nèi)近鄰qj(j≠i),并利用學(xué)習(xí)到的函數(shù)f將其映射到目標空間中后,選擇T中與qj的相似度最高的tj作為查詢對象的匹配對象,并將(qi,tj)加入匹配結(jié)果集合中。
設(shè)|Q|=n,|T|=m不考慮步驟1中跨模態(tài)映射學(xué)習(xí)的復(fù)雜度,上述算法的復(fù)雜度為O(n2m)。其中,查詢集中共有n個待查詢項;對每個待查詢項,根據(jù)閾值τ過濾其近鄰的復(fù)雜度為n-1,相似度高于閾值的最多為n-1個,而查詢每個近鄰在目標項集中的最近鄰復(fù)雜度為m,則整個算法的復(fù)雜度為O(n×(n-1)×m)=O(n2m)。
為了驗證“相似性漂移”問題以及基于鄰域傳播的匹配策略,本節(jié)在真實數(shù)據(jù)集上對二者進行了實驗分析。
數(shù)據(jù)集及特征提取: IAPR TC-12[27],Wikipedia[7],訓(xùn)練集和測試集按照4 ∶1的比例劃分。其中,圖像的特征通過預(yù)訓(xùn)練神經(jīng)網(wǎng)絡(luò)模型VGG[28]提取,而文本的特征通過雙向門限循環(huán)單元網(wǎng)絡(luò)(Bi-directional Gated Recurrent Unit,Bi-GRU)[29]提取。
跨模態(tài)映射:分別通過式(4)中的線性變換[21](記為Linear),及式(5)中的前饋神經(jīng)網(wǎng)絡(luò)完成。與文獻[26]一樣,W0和W1的初始參數(shù)產(chǎn)生自均勻分布[-1,1],b0和b1初始化為0,非線性映射σ采用分別采用ReLU[20]、TanH[30]、Sigmoid[23]三種激活函數(shù),網(wǎng)絡(luò)的深度為五層。
實驗中主要驗證兩個問題:
1)“相似性漂移”問題驗證:利用線性變換和深度神經(jīng)網(wǎng)絡(luò)對不同數(shù)據(jù)集上的文本和圖像數(shù)據(jù)進行跨模態(tài)映射,通過計算不同鄰域的平均最近鄰覆蓋率[26],分析跨模態(tài)映射對模態(tài)間關(guān)系保持能力和相似性粒度之間的關(guān)系,驗證“相似性漂移”問題的存在。
2)“文本-圖像”匹配方法驗證:對相似性匹配方法在文本和圖像的雙向匹配任務(wù)中的表現(xiàn)進行比較,驗證鄰域傳播匹配的有效性。其中,直接通過對象自身相似度閾值進行匹配的方法記為TH,本文提出的鄰域傳播匹配方法記為NP。
通過線性變換和深度神經(jīng)網(wǎng)絡(luò)進行跨模態(tài)映射,然后通過余弦相似度執(zhí)行文本到圖像以及圖像到文本的相似度計算和匹配,并通過準確率(Precision)、召回率(Recall)指標進行對比:
(9)
(10)
其中,TP指正匹配對象的數(shù)量,F(xiàn)P指誤匹配對象的數(shù)量,F(xiàn)N指未匹配到的正確對象數(shù)量。此外,為了更加直觀地體現(xiàn)方法間的性能差異,還計算了曲線的AUC(area under curve)值,也就是曲線與坐標軸圍成的面積。
本節(jié)的實驗中,分別測試在給定不同最近鄰參數(shù)K的條件下,線性變換(記為Linear)和深度神經(jīng)網(wǎng)絡(luò)(同文獻[26],激活函數(shù)使用ReLU,記為NN)在跨模態(tài)映射中對模態(tài)內(nèi)關(guān)系(記為f(X),X)和模態(tài)間關(guān)系(記為f(X),Y)的保持能力,包括文本到圖像(記為I2T)以及圖像到文本(記為T2I)兩個方向,以余弦距離(記為Cos)和歐式距離(記為Euc)為相似性度量。兩個數(shù)據(jù)集上的平均最近鄰覆蓋率測試結(jié)果如圖3~6所示。
(a) I2T_linear_Cos (b) I2T_NN_Cos
圖3所示為Wikipedia數(shù)據(jù)集中圖像-文本的平均近鄰覆蓋率,經(jīng)過兩種跨模態(tài)映射后,圖像模態(tài)內(nèi)對象近鄰結(jié)構(gòu)覆蓋率較高,而圖像到文本的跨模態(tài)近鄰覆蓋率較低。此外,模態(tài)內(nèi)近鄰和模態(tài)間近鄰的覆蓋率隨著K的增大,呈現(xiàn)降低的趨勢。
(a) T2I_linear_Cos (b) T2I_NN_Cos
圖4所示為Wikipedia數(shù)據(jù)集上文本-圖像的平均近鄰覆蓋率結(jié)果??缒B(tài)映射對Wikipedia數(shù)據(jù)集的文本數(shù)據(jù)的模態(tài)內(nèi)近鄰結(jié)構(gòu)保持能力更高(高于圖像數(shù)據(jù)約0.2)。此外,當K=1時,該數(shù)據(jù)集的模態(tài)內(nèi)和模態(tài)間的近鄰覆蓋率同樣保持最高,而隨著K的增大,模態(tài)間平均近鄰覆蓋率仍然隨之降低,但模態(tài)內(nèi)近鄰覆蓋率在降低之后有輕微回升。
(a) I2T_linear_Cos (b) I2T_NN_Cos
圖5為IAPR TC-12數(shù)據(jù)集中圖像-文本的平均近鄰覆蓋率,可以發(fā)現(xiàn),通過線性變換或者神經(jīng)網(wǎng)絡(luò)將圖像數(shù)據(jù)映射到共同空間中后,無論使用余弦距離還是歐式距離,兩種跨模態(tài)映射對模態(tài)內(nèi)關(guān)系的保持能力要高于對模態(tài)間關(guān)系的保持能力。并且,無論對圖像到圖像的模態(tài)內(nèi)保持,還是圖像到文本的模態(tài)間保持,其平均覆蓋率當K=1時最大,而隨著K的增長,很快下降到一個穩(wěn)定的值。
(a) T2I_linear_Cos (b) T2I_NN_Cos
在圖6的IAPR TC-12數(shù)據(jù)集上文本-圖像的平均近鄰覆蓋率測試中,線性變換和深度神經(jīng)網(wǎng)絡(luò)同樣傾向于保持模態(tài)內(nèi)近鄰關(guān)系,但是二者的差距較小。此外,當K為1時,兩種跨模態(tài)映射函數(shù)的近鄰保持能力仍最高,并且當K>1時迅速下降達到較低水平。
在IAPR TC-12和Wikipedia兩個數(shù)據(jù)集上執(zhí)行雙向(圖像到文本,記為I2T;圖像到文本,記為T2I)匹配,其準確率-召回率曲線如圖7~10所示。
(a) Lin (b) Sigmoid
圖7為IAPR TC-12數(shù)據(jù)集的圖像-文本匹配結(jié)果,其中基于鄰域傳播的匹配方法在線性變換以及Sigmoid和TanH作為激活函數(shù)的深度神經(jīng)網(wǎng)絡(luò)中均取得了更高的準確率,而在以ReLU作為激活函數(shù)的神經(jīng)網(wǎng)絡(luò)中準確率較低,但仍然高于通過閾值直接匹配的方法。
(a) Lin (b) Sigmoid
圖8為IAPR TC-12數(shù)據(jù)集的文本-圖像匹配結(jié)果,在線性變換和以TanH、Sigmoid為激活函數(shù)的深度神經(jīng)網(wǎng)絡(luò)中,基于鄰域傳播的匹配方法取得了更高的準確率,其AUC值遠高于直接通過閾值進行匹配的方法;而在采用ReLU的深度神經(jīng)網(wǎng)絡(luò)中,兩種匹配方法近似,其AUC值都較低。
(a) Lin (b) Sigmoid
圖9 為Wikipedia數(shù)據(jù)集圖像-文本匹配結(jié)果,其中基于鄰域傳播的匹配方法表現(xiàn)不佳,在四種跨模態(tài)映射函數(shù)中其準確率始終低于基于閾值的匹配方法。
(a) Lin (b) Sigmoid
圖10中,基于鄰域傳播的匹配方法在Wikipedia數(shù)據(jù)集文本-圖像匹配任務(wù)中,準確性遠遠超過了基準方法。其AUC值高出基于閾值匹配的方法約0.45。
為驗證基于鄰域傳播的匹配方法在部分情況下失效的原因,實驗還通過計算樣本與其近鄰之間的距離,對數(shù)據(jù)集中文本和圖像數(shù)據(jù)樣本的近鄰結(jié)構(gòu)進行分析。其中,樣本與其近鄰的距離通過平均K近鄰距離(mean K Nearest Neighbor Distance,mKNND)進行度量,其定義如下:
(11)
其中,NNj(xi)表示xi的第j近鄰,d表示距離(實驗中采用余弦距離)。
圖11 (a)中,Wikipedia數(shù)據(jù)集圖像數(shù)據(jù)的平均K近鄰距離明顯高于IAPRTC-12數(shù)據(jù)集,并且隨著K的增大而增大。而在圖11 (b)中,兩個數(shù)據(jù)集的文本數(shù)據(jù)平均K近鄰距離明顯低于圖像數(shù)據(jù),其中Wikipedia數(shù)據(jù)集的平均K近鄰距離更低并且隨著K的增大增長較慢。根據(jù)圖11的結(jié)果,可以推斷圖 9中基于鄰域傳播的匹配方法失效的原因之一是Wikipedia數(shù)據(jù)集的圖像樣本間差別較大,在鄰域傳播的過程中誤差增大,導(dǎo)致匹配失效。此外,兩個數(shù)據(jù)集上文本數(shù)據(jù)的近鄰結(jié)構(gòu)更加緊湊,這也是文本-圖像匹配準確度高于圖像-文本匹配的主要原因。
(a) 圖像(a) Image
通過上述實驗可以說明,盡管基于鄰域傳播的匹配方法在特殊情況下會失效,但是在大部分條件下都能有效地提升跨模態(tài)匹配的準確率,特別是當模態(tài)內(nèi)和模態(tài)間近鄰保持能力差別較大時。因此,本文提出的基于鄰域傳播的匹配方法對提升跨模態(tài)檢索準確率具有重要意義。
現(xiàn)有跨模態(tài)檢索問題的研究中,通常通過深度神經(jīng)網(wǎng)絡(luò)或線性變換對不同模態(tài)的文本和圖像數(shù)據(jù)進行跨模態(tài)映射,在此基礎(chǔ)上進行相似度計算。而本文發(fā)現(xiàn)跨模態(tài)映射函數(shù)對近鄰關(guān)系保持能力隨著相似性判定的粒度增大而衰減,即存在“相似性漂移”問題。該問題導(dǎo)致誤匹配的概率上升,進而降低檢索的準確性。
為降低相似性漂移問題的影響,本文提出基于鄰域傳播的匹配方法,利用同模態(tài)近鄰樣本來發(fā)現(xiàn)待匹配對象的跨模態(tài)近鄰。通過實驗驗證可以證明,該匹配方法對降低“相似性漂移”問題的影響,提高跨模態(tài)檢索的準確率具有明顯效果。盡管其有效性受到模態(tài)內(nèi)近鄰結(jié)構(gòu)的影響,但是這不影響其具有重要參考意義。在未來的工作中,可以通過與普通的匹配方法結(jié)合來克服其局限性。例如設(shè)定一個閾值,當查詢樣本和其模態(tài)內(nèi)近鄰的距離小于閾值時采取鄰域傳播的匹配方法,當距離大于閾值時仍然通過該樣本自身來進行匹配。