何 沛,王 萌,王 卓,盧光云
(1.廣西科技大學理學院,廣西柳州 545000;2.廣西科技大學數字啟迪學院,廣西柳州 545000;3.柳州工學院,廣西柳州 545616)
隨著多媒體技術的發展,網絡上每天都會產生大量的多媒體數據。由于不同類型的數據表現形式不同,如何使用一種類型的數據去靈活檢索其他不同類型但包含了相同對象的數據成為了一個巨大的挑戰。
不同模態的特征投影具有異質性差異,跨模態哈希方法通過將其映射到同一漢明空間去度量其相似性,是當前最普遍的跨模態方法之一。其中比較關鍵的一步是如何提取具有代表性的特征。早期哈希方法一般是根據數據集來手工設計特征[1,2],此類方法泛化性較差,導致其在實際應用中無法達到較好的檢索性能。深度學習的發展帶來了更優秀的特征提取方式,近年來出現了很多深度跨模態哈希(Deep Cross-Modal Hashing,DCMH)方法[3-5],其中包括很多具有代表性的方法[6,7]。比如,深度跨模態哈希方法[6]將特征學習和哈希碼學習集成到同一個框架中,用端到端的深度神經網絡將不同模態的數據變換到一個公共空間來實現跨模態檢索,但是這些深度跨模態哈希方法依舊存在許多需要解決的問題。首先,許多哈希方法在從特征提取到生成哈希碼的過程中使用了深度網絡,在這個過程中可能會丟失部分語義信息,如何增強哈希碼中包含的特征信息是一個需要解決的問題。其次,不同模態的數據具有異質性差異,如何更好地彌合異質性差異,也是值得注意的一點。另外,許多哈希方法都在更加有效地利用標簽信息,使得數據中的語義信息能夠被充分利用。
針對以上問題,本文提出了一種特征增強對抗跨模態哈希(Feature Boosting Adversarial Hashing for Cross-Modal,FBAH)方法,采用子空間學習和對抗學習相結合的方式來學習特征表示和哈希碼。首先,受到JFSSL方法[8]的啟發,選擇網絡末端的哈希空間作為子空間,利用線性網絡去學習投影矩陣,將不同模態的特征映射到哈希空間,通過最小化差異來保持特征表示在不同模態間的分布一致性。其次,受到殘差網絡[9]和一些語義增強策略[10]的啟發,FBAH方法構造了一種類殘差結構來實現特征增強,使得后續生成的哈希碼包含更多語義信息。此外,為了保證能夠生成高質量的哈希碼,在哈希空間通過對抗學習來保證不同模態哈希碼的一致性,引入余弦三元組約束[11]來保證特征間的相似性以及可區分性,采用一個帶有分支的線性分類器進行兩個維度的標簽判別,以保證模態內語義不變性。
子空間學習是跨模態檢索方法的主流方法之一,其核心是將不同模態的數據映射到一個公共子空間來進行特征學習。近些年來,出現了很多基于子空間學習的跨模態方法,比如典型相關分析(CCA)[12]、偏最小二乘(PLS)[13]等方法。這些方法力求尋找一個合適的子空間[8,13],比如具有標簽信息的標簽空間[8]或者將圖像模態映射到文本模態之中[14],通過映射到同一空間來減少不同模態數據的異質性差異。不同于上述子空間方法,本文嘗試選擇哈希空間作為子空間。哈希空間可以包含文本和圖像的特征信息,通過子空間學習能夠使不同模態的特征表示盡可能近似,以便進行跨模態檢索。
解決不同模態數據的異質性是跨模態檢索中的核心問題之一。對抗性跨模態檢索(Adversarial Cross-Modal Retrieval,ACMR)[15]首次將對抗學習思想引入到跨模態檢索之中,通過構建特征投影器和模態分類器來進行對抗學習,去嘗試解決模態間數據的異質性,當模態分類器無法分辨特征投影器輸入特征的歸屬模態時,則訓練結束。因為對抗學習的有效性,Li等[16]也嘗試利用對抗學習來解決跨模態哈希問題。自監督對抗哈希(Self-Supervised Adversarial Hashing,SSAH)將自監督語義學習與對抗學習相結合,利用語義信息和不同模態子網絡輸出特征的對抗過程,來實現自監督過程,最終達到提升跨模態檢索精度的目的。Bai等[17]也在深度對抗離散哈希(Deep Adversarial Discrete Hashing,DADH)中,將對抗學習同時應用于特征學習模塊和哈希學習模塊之中,進行兩次對抗學習,來保證跨模態特征表示的分布一致性。研究表明,通過充分利用對抗學習可以有效地彌合異質性差異[18]。本文將對抗學習引入哈希空間,來保證模態間數據的一致性。
相對于無監督的跨模態檢索方法[19,20],有監督的跨模態方法[11,17,20]能夠利用標簽信息來區分具有不同語義的特征,并保證具有相同語義特征的結構不變,來進一步提高檢索性能。比如,Gu等[11]提出的對抗引導非對稱哈希(Adversary Guided Asymmetric Hashing for Cross-Modal Retrieval,AGAH)方法,采用對抗學習引導的多標簽注意模塊去學習特征表示,并且利用多標簽二進制碼映射,使哈希碼具有多標簽語義信息,獲得了很好的檢索效果。Zhen等[21]提出的深度監督跨模態檢索(Deep Supervised Cross-modal Retrieval,DSCMR),通過線性分類器預測并判別投影特征的語義類別,來保證特征投影的語義結構不變,并根據語義對特征投影的余弦距離進行放縮,來提高特征間的辨識度。不同于一般有監督的哈希方法,本文使用帶有分支的線性分類器進行標簽預測,從兩個維度實現模態內的語義保持。

FBAH方法的整體框架如圖1所示,可以分為特征學習和哈希學習兩個部分。

圖1 FBAH方法的框架
在特征學習部分,首先對輸入的原始高維圖像特征X和文本特征Y進行子空間學習。在保持哈希碼與高維特征一致性的同時,通過稀疏投影矩陣選擇其中具有較大區分度的特征和my。主網絡則將兩種高維特征通過3層全連接層和1個哈希層將高維特征映射到哈希空間。
在哈希學習部分,首先將通過主網絡輸出的低維特征fX和fY與通過特征選擇投影過來的特征信息mX和mY結合,形成被增強的特征hX和hY。為了生成二進制碼的一致性,引入對抗學習來消除模態間的異質性差異。然后,采用帶有分支的線性分類器,通過兩種維度預測并判別標簽信息,來保證模態內語義的一致性。最后,引入余弦三元組約束來保證哈希空間中相同語義特征的相似性以及不同語義特征的區分性。
首先使用在ImageNet上預訓練好的CNN-F模型[22]提取原始圖片的4 096維高維特征,然后將3個全連接層和1個哈希層作為圖像特征學習的主網絡,將高維特征映射到哈希空間。對于文本特征,使用Bow模型提取原始高維文本特征,同樣使用3層全連接與1個哈希層作為文本特征學習的主網絡。函數fX=FX(X;θX)和fY=FY(Y;θY)分別表示圖像和文本的特征投影。其中fX和fY分別表示圖像和文本主網絡的輸出,θX和θY是兩個函數的參數。如圖2所示,本節可以分為子空間學習和特征增強兩個模塊。

圖2 特征增強與子空間學習
2.3.1 子空間學習
為了縮小不同模態數據的異質性以及保證最終所產生的哈希碼與原始特征具有一致性,FBAH方法選擇將最終生成的統一哈希碼所在的空間作為一個哈希子空間。接下來,學習每個模態的投影矩陣,將不同模態的數據映射到哈希子空間。在哈希子空間中,可以測量不同模態數據與最終生成哈希碼的相似性。也就是說,這是一個最小化問題,將不同模態數據映射到哈希空間的投影矩陣的目標函數定義
如下:
(1)
其中,B是哈希子空間中的哈希碼,Ux和Uy分別是圖像模態和文本模態的投影矩陣。隨著哈希碼的不斷更新,哈希子空間也會隨之更新。哈希子空間學習使得模態間異質性縮小,生成質量更高的哈希碼,而高質量的哈希碼也會生成更好的哈希子空間,二者形成一個良性循環。
2.3.2 特征增強
經過主體網絡的非線性變換,語義信息不可避免地會出現一部分丟失,為了解決這個問題,FBAH方法通過兩步去解決。首先,采用L21范數獲得稀疏的投影矩陣,同時對不同的特征空間起到特征選擇的作用[8]。
方程(1)中的目標函數可以進一步寫成
(2)
其中,μ1和μ2用來控制矩陣稀疏性參數。
接下來,需要考慮的是如何將選擇出來的有區分度的特征融合進主網絡輸出的特征之中。受到Resnet方法[9]的啟發,本文設計了一個類殘差結構,FBAH方法將全連接層和哈希層視為一個主網絡,將通過稀疏投影矩陣篩選出來的特征與主網絡生成的低維特征融合,來達到特征增強的目的。
經過特征增強后的特征記為h*=f*+σm*,*∈(X,Y),哈希碼通過sign函數生成:BX=sign(hX),BY=sign(hY),其中信號函數被定義為

(3)
同時,為了在模態間生成一致的哈希碼,獲得一個包含文本和圖像兩個模態信息的哈希子空間,引入B=BX=BY,其中,B=sign(hX+hY)。最后通過最小化量化損失來保證哈希碼與h*的一致性,量化損失Lq被定義為
(4)
高質量的哈希碼應該保證模態內部的判別性和模態間的一致性。接下來采用3個損失函數對哈希碼進行約束。
2.4.1 對抗學習
為了消除不同模態增強后特征投影之間的異質性,FBAH方法選擇引入對抗學習。在對抗學習過程中,構建一個由3層前饋神經網絡構成的判別器D。將一個未知特征投影輸入判別器D,D會嘗試去區分輸入特征投影的模態種類,即盡可能去區分輸入的特征投影來自圖像模態還是文本模態。同時兩種來自不同模態的特征投影則盡可能去混淆判別器D,即使其無法判別輸入特征所歸屬的模態種類。將對抗性損失定義為Ladv,即
(5)

2.4.2 雙重標簽預測
通過雙重標簽預測來保證模態內不同樣本特征具有語義區分性。在圖像和文本模態主網絡的末端連接一個帶有Softmax函數分支的線性分類器,該分類器會在公共空間中為每一個樣本生成兩種不同維度的c維預測標簽向量。
其中,分類器生成的標簽投影矩陣與真實標簽的誤差可以被定義為
(6)
其中,‖ ‖是Frobenius范數,P是線性分類器的投影矩陣。

(7)
總的標簽預測損失為Ll=η1Ll1+η2Ll2。
2.4.3 余弦三元組損失

(8)
同樣地,文本模態的余弦三元組損失被定義為
(9)
其中,m為邊緣參數。
優化的總體目標函數為
γLadv,s.t.B*∈{-1,1}N×K,
(10)
其中,參數θ是主體網絡的參數,θX和θY是參數θ的一部分,分別表示圖像模態和文本模態網絡的參數;θD是對抗網絡的參數;P代表標簽預測分類器的參數;U表示稀疏投影矩陣的參數,UX和UY是參數U的一部分,分別表示圖像模態和文本模態網絡的參數。本文采用Adam優化算法[23]來優化總體目標函數,優化過程的細節在以下算法中總結。
算法FBAH模型的算法
輸入:圖片集合X,文本集合Y,標簽集合L;
輸出:網絡參數θ,判別器參數θD,線性分類器參數P,稀疏投影矩陣U和二進制碼B。
①初始化參數和二進制碼B;
② 重復
③ fortiteration do
④ 通過后向傳播算法更新參數θD:
⑤ 通過后向傳播算法更新參數P:
⑥ 通過后向傳播算法更新U:
⑦ 通過后向傳播算法更新θ:
⑧ end for
⑨ end
⑩ 通過(4)更新B
采用MIRFlickr25K[24]和NUSWIDE[25]兩個被廣泛應用于跨模態檢索任務中的數據集進行實驗,來驗證FBAH方法的有效性。實驗在PyTorch環境使用 GeForce RTX 2080 Ti GPU進行,batch_size設定為128,學習率為5e-5,η1=1.5e+3,η1=1.5e+4,β=γ=1。
MIRFlickr25K數據集[24]包含24個類別,共計25 000個圖像-文本對。其中每個實例最少具有1個標簽。在實驗中,筆者選擇的20 015個實例至少有20個文本標簽。文本模態中的每個實例被表示為1 386維的詞袋向量(BOW)。本文的測試集為2 000幅圖像-文本對,均為從MIRFlickr25K數據集中隨機選擇。另外,本文將其余的樣本作為檢索數據庫,然后將從中隨機抽取的10 000個實例作為訓練集。
NUSWIDE數據集[25]包含81個類別,共有269 648個圖像,每張圖片均帶有相關的文本描述。每個實例至少有1個標簽。與AGAH方法[11]一致,本文選擇了包含最多樣本的21個類別,共195 834個圖像-文本對。本文的測試集包含2 100個圖像-文本對,均為從數據集中隨機抽取。另外,本文將其余的樣本作為檢索數據庫,并從中隨機抽取10 000個實例作為訓練集。其中,每個實例的文本用1 000維詞袋向量表示。
評價標準:本文采用跨模態檢索中廣泛應用的兩個指標作為評價標準。
平均查準率均值(mean Average Precision,
mAP):對查詢樣本和所有返回的檢索樣本之間進行余弦相似度的計算,綜合考慮了排序信息和精度。
基線:與7種當前先進的哈希方法作比較,包括SePH[26]、DCMH[6]、PRDH[7]、CHN[27]、SSAH[16]、AGAH[11]、DADH[17]。
詳細實驗結果見表1和表2,FBAH方法在這兩個數據集上的mAP值明顯優于所比較的哈希方法,這證實了它的跨模態檢索的有效性。

表1 不同編碼長度下在MIRFlickr25K數據集上的mAP比較

表2 不同編碼長度下在NUSWIDE數據集上的mAP比較
在MIRFlickr25K數據集上,對于Image2Text任務,FBAH比其他方法中表現最好的方法在16 bit、32 bit、64 bit 3種不同的哈希碼位數上,分別提升了1.14%、2.31%和2.26%;對于Text2Image任務,FBAH方法則分別提升了1.08%、2.40%和2.63%。總體而言,隨著哈希碼位數的增加,FBAH方法的檢索效果也隨之增加,這可能是因為較長的哈希碼能夠容納更多的特征信息。
FBAH方法在NUSWIDE數據集上的mAP值有明顯的提升,對于Image2Text任務,在16 bit、32 bit、64 bit 3種不同的哈希碼位數上,FBAH方法分別提升了3.93%、2.59%和3.11%,對于Text2Image任務在則分別提升了5.67%、4.83%和4.83%。總體而言,FBAH方法在NUS-WIDE數據集上有著更顯著的提升。另外,在哈希碼為16 bit和64 bit上的提升大于32 bit。可能是其他方法的哈希碼在16 bit時,由于不能容納足夠的有效信息導致哈希碼質量不高。同樣地,在更長的64 bit位時,其他方法因為哈希碼包含的特征信息稀疏而導致哈希碼質量不高,而FBAH方法可以在不同位數時都生成較高質量的哈希碼。
為了驗證FBAH模型各個模塊的有效性,設計了4個消融實驗來進行驗證:(a)FBAH-1表示不進行特征篩選,但保留類殘差結構,將未經篩選的特征與主網絡輸出的特征進行融合。(b)FBAH-2表示不進行特征增強,即去掉類殘差結構。(c)FBAH-3表示去掉標簽分類器。(d)FBAH-4表示去掉特征學習部分子空間學習的損失。
表3展示了4個消融實驗的結果。對于FBAH-1來說,去掉特征篩選,導致許多無關信息被融合進新的特征之中,所以精度會有所下滑。FBAH-2的結果說明了設計的特征增強模塊的有效性。FBAH-3的結果表明,去掉標簽預測模塊,可能會導致部分特征與標簽無法對齊,使精度有所下滑。而FBAH-4的結果則說明了以哈希碼構筑的子空間學習的有效性。

表3 64位哈希碼下消融實驗中mAP結果對比
本文提出了一種新的跨模態哈希方法,被稱為特征增強對抗跨模態哈希(Feature Boosting Adversarial Hashing for Cross-Modal,FBAH)方法。FBAH方法不僅可以消除模態間的異質性差異,還能夠通過特征增強來彌補主網絡造成的特征損失。筆者將包含了文本和圖像兩個模態信息的哈希子空間作為一個學習對象進行子空間學習,在減少模態間差異的同時,還能夠使得生成的哈希碼與高維特征的相似度更高。此外,筆者設計了一個類殘差結構去彌補特征在深度網絡中損失的信息,使得提升后的特征包含更多高維信息。為了生成高質量的哈希碼,使用3種約束來保證生成哈希碼模態間的一致性、模態內的判別性以及項目間的相似性。在兩個基準數據集上進行驗證,結果表明,在跨模態檢索任務中,FBAH方法優于當前7種先進的方法(表2)。當然,本文還存在一些尚待改善的部分,比如特征融合和特征提取的方法尚待完善,后續將采取效果更好的特征提取和特征融合方式來提升精度、完善方法。