黨張敏,喻崇仁,殷雙飛,張宏娟,陜 振+,馬連志
(1.中國航天科工集團(tuán)第二研究院 七〇六所,北京 100854;2.中國航天科工集團(tuán)第二研究院 軍代室,北京 100854)
跨模態(tài)數(shù)據(jù)所具有的高維、異構(gòu)等特點(diǎn)使得檢索過程耗費(fèi)大量的時間和存儲空間。如何提升跨模態(tài)檢索[1]的檢索效率并降低其存儲消耗成為了目前學(xué)術(shù)界和工業(yè)界研究的重點(diǎn)。其中基于哈希碼的跨模態(tài)檢索方法由于其較低的存儲消耗和快速的檢索速度,成為了解決大規(guī)??缒B(tài)數(shù)據(jù)檢索的有效手段。
跨模態(tài)哈希檢索[2]方法通過學(xué)習(xí)哈希函數(shù)將原始特征空間映射到低維的漢明空間,同時保持原始特征空間數(shù)據(jù)之間的相似性不變。跨模態(tài)哈希檢索方法主要分為有監(jiān)督的跨模態(tài)哈希檢索與無監(jiān)督跨模態(tài)哈希檢索方法?,F(xiàn)有的無監(jiān)督跨模態(tài)哈希[3]方法更多關(guān)注哈希碼的生成階段,忽略特征提取階段,導(dǎo)致檢索性能受到影響。為解決上述問題,提出基于多模態(tài)預(yù)訓(xùn)練模型CLIP[4]與注意力融合機(jī)制[5]的無監(jiān)督跨模態(tài)哈希檢索算法CAFM_Net(CLIP-based attention fusion mechanism network)。
CAFM_Net主要貢獻(xiàn)如下:
(1)使用CLIP提取原始樣本特征,引入注意力機(jī)制加強(qiáng)顯著區(qū)域的權(quán)重,弱化非顯著區(qū)域的影響。
(2)設(shè)置模態(tài)分類器與特征提取器進(jìn)行對抗學(xué)習(xí),提取更豐富的語義特征,使不同模態(tài)特征與所生成哈希碼語義趨于一致。
現(xiàn)有的跨模態(tài)哈希方法主要有兩大類:利用多模態(tài)數(shù)據(jù)已有標(biāo)簽的有監(jiān)督方法和針對成對多模態(tài)數(shù)據(jù)的無監(jiān)督方法。無監(jiān)督方法因其標(biāo)簽的獨(dú)立性而更具研究價值和應(yīng)用前景。與以往的淺層哈希方法相比,基于深度學(xué)習(xí)的哈希方法[6]不僅提升了跨模態(tài)檢索的效率和準(zhǔn)確率,同時也提升了所生成哈希碼的質(zhì)量。因此深度無監(jiān)督跨模態(tài)哈希檢索吸引了廣大學(xué)者的關(guān)注和研究。最具代表性的工作是深度聯(lián)合語義重構(gòu)哈希方法[7](DJSRH),此方法通過設(shè)計一種聯(lián)合語義親和矩陣來統(tǒng)一不同模態(tài)之間的相似性關(guān)系來重構(gòu)多模態(tài)哈希矩陣。高階非本地散列方法[8](HNH)則通過本地和非本地兩個角度來考慮多模態(tài)數(shù)據(jù)之間的相似性關(guān)系,構(gòu)建一個更全面的相似性矩陣。Hoang等提出了通過Transformer的無監(jiān)督跨模態(tài)哈希檢索方法[9]。使用Transformer提取模態(tài)特征挖掘模態(tài)內(nèi)部的語義信息。盡管以上的方法都取得了不錯的檢索表現(xiàn),但大多數(shù)方法不能有效的捕捉到不同模態(tài)之間的異質(zhì)關(guān)聯(lián),忽視了模態(tài)內(nèi)部的高階語義相似性。
近年來,隨著注意力機(jī)制在機(jī)器翻譯和圖像處理等方面取得的良好表現(xiàn),注意力機(jī)制在工業(yè)界和學(xué)術(shù)界都得到了廣泛的關(guān)注。注意力機(jī)制[10]通過關(guān)注大量輸入中對于當(dāng)前目標(biāo)更關(guān)鍵的信息,減少對于其它信息的關(guān)注,過濾掉不相關(guān)的信息來解決信息冗余的問題,從而提高處理任務(wù)的效率和準(zhǔn)確性。基于注意力機(jī)制的深度對抗性哈希網(wǎng)絡(luò)[11]提出了一個帶有注意力機(jī)制的對抗性哈希網(wǎng)絡(luò)。該網(wǎng)絡(luò)通過有選擇地關(guān)注多模態(tài)數(shù)據(jù)中相關(guān)部分來提高內(nèi)容相似性監(jiān)測性能。自我約束的基于注意力的散列網(wǎng)絡(luò)[12]提出了一種用于比特級跨模式哈希的方法。注意力引導(dǎo)的語義哈希采用了一種注意機(jī)制,該方法只關(guān)注相關(guān)的特征特性。它可以通過注意力模塊保留不同模式特征中的語義信息,從而構(gòu)建一個注意力感知的語義親和矩陣。然而,無監(jiān)督跨模態(tài)哈希檢索[13]方面基于注意力機(jī)制的研究,仍然未廣泛開展。
CLIP(contrastive language-image pre-training)是一個采用圖像-文本對進(jìn)行訓(xùn)練的神經(jīng)網(wǎng)絡(luò)。CLIP采用對比學(xué)習(xí)的方式將圖像和對應(yīng)描述文本進(jìn)行對比訓(xùn)練,最大化圖像文本正樣本的語義相似度以達(dá)到模態(tài)匹配的目的。CLIP模型普遍用于跨模態(tài)領(lǐng)域的數(shù)據(jù)預(yù)訓(xùn)練與特征提取。在CLIP模型出現(xiàn)后,一系列基于CLIP的下游任務(wù)都在相關(guān)領(lǐng)域取得了很好的實(shí)驗(yàn)效果。有學(xué)者提出了利用文字表述來對圖像進(jìn)行編輯的styleCLIP模型[14]。該模型借助CLIP模型“文本-圖像”相關(guān)性能力和StyleGAN的圖像生成能力,通過文本驅(qū)動生成圖像。谷歌的研究人員提出了通過視覺和語言知識蒸餾方法建立ViLD模型[15],該模型將CLIP的圖像分類模型應(yīng)用到目標(biāo)檢測上。騰訊研究人員提出了CLIP2Video[16]模型,將CLIP模型從文本-圖像拓展到文本-視頻對,解決了視頻文本檢索問題。
在本部分將詳細(xì)介紹CAFM_Net設(shè)計的相關(guān)細(xì)節(jié),包括以下幾個方面:問題定義和符號、模型框架概述、目標(biāo)函數(shù)與模型的優(yōu)化。
(1)
本文所提出的方法框架如圖1所示,整體的模型由3個主要部分組成,分別是:深度特征提取模塊、模態(tài)相似性增強(qiáng)模塊以及哈希編碼模塊。
圖1 CAFM_Net框架結(jié)構(gòu)
2.2.1 深度特征提取模塊
特征提取模塊主要包括兩個主要的網(wǎng)絡(luò):圖像特征提取網(wǎng)絡(luò)與文本特征提取網(wǎng)絡(luò)。在本文中,對于圖像采用CLIP編碼器進(jìn)行特征提取,其輸出結(jié)果為Fv。對于文本模態(tài),用Transformer編碼器進(jìn)行特征提取,其輸出結(jié)果為Ft。同時設(shè)計模態(tài)分類器、特征提取器作為生成器,與特征模態(tài)分類器作為判別器進(jìn)行對抗學(xué)習(xí),使得公共特征空間中提取的不同模態(tài)特征趨于一致。v,t分別表示圖像和文本的訓(xùn)練樣本,θv和θt表示圖像和文本特征編碼的參數(shù),用Ev和Et分別表示圖像編碼器和文本編碼器,則Fv=Ev(V,θv),F(xiàn)t=Et(T,θt)。
接著把提取到的圖像與文本特征輸入到注意力融合模塊。計算模態(tài)間相關(guān)特征向量F=Fv·Ft。將相關(guān)特征向量F輸入到以ReLU為激活函數(shù)的全連接層中得到注意力概率向量P=relu(F),分別計算得到注意力關(guān)聯(lián)特征向量Z*=P·F*,其中*∈{v,t}。最后即可計算出注意力融合圖像特征與文本特征
(2)
式中:μ為超參數(shù)。
2.2.2 模態(tài)相似性增強(qiáng)模塊
2.2.3 哈希編碼模塊
(3)
使用哈希相似度矩陣與模態(tài)相似性增強(qiáng)模塊構(gòu)造的矩陣SM構(gòu)建損失函數(shù)
Lintra表示模態(tài)內(nèi)的損失函數(shù),Lcross表示模態(tài)間的損失函數(shù),?表示矩陣之間的點(diǎn)積計算,ξ是調(diào)節(jié)增強(qiáng)矩陣量化范圍的超參數(shù),m為每次訓(xùn)練的mini-batch中樣本數(shù)。
在訓(xùn)練過程中,使用反向傳播來迭代更新整個網(wǎng)絡(luò)的參數(shù),當(dāng)整個網(wǎng)絡(luò)趨于收斂,哈希重構(gòu)階段也將結(jié)束。整個過程中總的損失函數(shù)為
(4)
其中,超參數(shù)α和β分別起到調(diào)節(jié)模態(tài)內(nèi)部和模態(tài)之間語義一致性的作用。在迭代過程中最小化損失函數(shù)即可以使得具有語義相似性的數(shù)據(jù)生成更加一致的哈希碼。本文提出的方法通過注意力融合機(jī)制與對抗學(xué)習(xí)結(jié)合的方法有效捕捉原始數(shù)據(jù)中的共有信息,從而生成更高質(zhì)量的哈希碼。
由于二進(jìn)制的哈希碼不能直接通過深度神經(jīng)網(wǎng)絡(luò)進(jìn)行優(yōu)化。為了解決常見的梯度消失的問題,本文在生成哈希碼的過程中使用了tanh函數(shù),可以在反向傳播的過程中能夠很好地避免梯度為零的情況。在訓(xùn)練的過程中整個網(wǎng)絡(luò)模型使用SGD算法和Adam算法進(jìn)行優(yōu)化。
算法1:CAFM_Net算法
輸入:訓(xùn)練集Q,迭代次數(shù)σ,mini-batch數(shù)目m,哈希碼長度K,超參數(shù)α,β,μ,ξ,γ,ε
輸出:CAFM_Net的各項(xiàng)參數(shù):θv,θt,θHv,θHt
(1)初始化迭代次數(shù)n=0
(2)重復(fù)
(4)隨機(jī)選取數(shù)目m的圖像-文本對作為訓(xùn)練數(shù)據(jù)。在圖像上進(jìn)行數(shù)據(jù)增強(qiáng)與歸一化
(5)通過圖像和文本特征提取網(wǎng)絡(luò)提取Fv,F(xiàn)t,計算相似度矩陣Sv,St
(6)通過模態(tài)相似性增強(qiáng)模塊計算語義親和矩陣SA與相似度增強(qiáng)矩陣SM
(8)使用Adam算法進(jìn)行隨機(jī)梯度下降
(9)直到網(wǎng)絡(luò)收斂
(10)返回網(wǎng)絡(luò)參數(shù):θv,θt,θHv,θHt
為了驗(yàn)證CAFM_Net的有效性,本章選擇3個典型的基于圖像與文本的跨模態(tài)檢索數(shù)據(jù)集,即MIRFlickr25k、NUS-WIDE和MSCOCO,來進(jìn)行實(shí)驗(yàn)對比。本章節(jié)的所有實(shí)驗(yàn)均在一臺主機(jī)(Ubuntu 14.04,Python 3.8,Pytorch 1.13)上完成。
3個數(shù)據(jù)集的對比見表1。MIRFlickr25k包含從Flickr網(wǎng)站收集的25 000個圖像-文本對。該數(shù)據(jù)集每個圖像-文本對使用38個類別標(biāo)簽進(jìn)行標(biāo)注,每幅圖像具有多個類別標(biāo)簽。在本文中選取20 000對作為實(shí)驗(yàn)數(shù)據(jù),選取其中2000對作為查詢數(shù)據(jù)集,其余的用作檢索數(shù)據(jù)集,訓(xùn)練數(shù)據(jù)需要再從檢索數(shù)據(jù)集中選取10 000對。
表1 跨模態(tài)數(shù)據(jù)集對比
NUS-WIDE包含了從真實(shí)場景中收集的269 648個圖像-文本對,該數(shù)據(jù)集總共包含了81個類別。選擇了10個使用最廣泛的標(biāo)簽和對應(yīng)的180 000對數(shù)據(jù)。隨機(jī)選取2000個樣本作為測試集和5000個樣本作為訓(xùn)練集。
MSCOCO包含訓(xùn)練集中約80 000個圖像-文本對和驗(yàn)證集中40 000個圖像-文本對。這些數(shù)據(jù)分屬于80個類別。在本實(shí)驗(yàn)?zāi)P椭羞x取120 000個作為實(shí)驗(yàn)數(shù)據(jù)集。并從中隨機(jī)選擇5000對作為查詢數(shù)據(jù)集,其余的用作檢索數(shù)據(jù)集。
在本文中,通過兩種常用的評價準(zhǔn)則來評估本文模型的優(yōu)劣:Top-N準(zhǔn)確率曲線(topN-Precision,Top-N)以及平均準(zhǔn)確率均值(MAP)。前一種方法基于漢明距離排序,后一種基于哈希表查找的方式。對于Top-N準(zhǔn)確率曲線越高,檢索方法性能越好。平均準(zhǔn)確率均值是用來衡量每個查詢樣本在進(jìn)行檢索后的準(zhǔn)確率平均值。
CAFM_Net的對照方法有傳統(tǒng)淺層哈希方法和深度學(xué)習(xí)的哈希方法。并在多個哈希編碼長度上與以往的算法進(jìn)行比較。
在實(shí)驗(yàn)中,使用CLIP與Transformer對圖像和文本特征進(jìn)行提取,構(gòu)建不同模態(tài)的相似度矩陣。實(shí)驗(yàn)中將batch-size設(shè)置為32,使用動量為0.8,權(quán)重為0.0005的Adam優(yōu)化器進(jìn)行算法優(yōu)化。對于3個數(shù)據(jù)集MIRFlickr25k、NUS-WIDE、MSCOCO,分別將μ設(shè)置為0.4,0.5,0.3,γ設(shè)置為0.3,ε設(shè)置為0.5,0.6,0.9。通過交叉實(shí)驗(yàn)驗(yàn)證將α設(shè)置為0.15,β分別設(shè)置為0.3,0.5,0.6。
表2展示了CAFM_Net與其它方法在MIRFlickr25k數(shù)據(jù)集上MAP值的對比。
表2 不同模型在MIRFlickr25k數(shù)據(jù)集上MAP值
由表2可知,隨著哈希碼長度的不斷增加,在圖像檢索文本和文本檢索圖像的兩個任務(wù)上,本文所提出的CAFM_Net相較于傳統(tǒng)的非深度哈希方法IMH準(zhǔn)確率分別至少提升16%與9%。與以往的深度哈希方法相比較性能提升較少。這是由于在訓(xùn)練過程中本文所選取的查詢樣本個數(shù)較少導(dǎo)致的。
表3展示了CAFM_Net與其它方法在NUS-WIDE數(shù)據(jù)集上MAP值的對比。
表3 不同模型在NUS-WIDE數(shù)據(jù)集上MAP值
由表3可知,在NUS-WIDE數(shù)據(jù)集上,CAFM_Net相比其它非深度哈希方法與深度哈希方法在MAP值上均有提升。在圖像檢索文本任務(wù)上CAFM_Net比性能最好的DJSRH方法MAP值在16,32,64比特上分別高出12.43%,10.75%,12.3%。在文本檢索圖像任務(wù)上,MAP值在16,32,64比特上分別高出11.12%,10.04%,12.50%。
表4展示了CAFM_Net與其它方法在MSCOCO數(shù)據(jù)集上MAP值的對比。
表4 不同模型在MSCOCO數(shù)據(jù)集上MAP值
由表4可知,在MSCOCO數(shù)據(jù)集上CAFM_Net相比于所有方法均取得了最佳的MAP值。
上述實(shí)驗(yàn)結(jié)果表明,在跨模態(tài)檢索任務(wù)中深度方法的檢索效果往往優(yōu)于非深度方法。同時,隨著哈希碼長度的增長,檢索的精確率也會更高。本文所提出的CAFM_Net算法在3個數(shù)據(jù)集上精確率均有所提升,說明了使用CLIP與Transformer分別對圖像和文本進(jìn)行特征提取并通過注意力融合機(jī)制后生成的哈希碼能夠更好挖掘原始樣本的語義信息。其檢索效率優(yōu)于傳統(tǒng)使用CNN和文本編碼器進(jìn)行特征提取的方法。
在數(shù)據(jù)集上對CAFM_Net與CVH、DJSRH的Top-N曲線進(jìn)行對比,采用的哈希編碼長度為32位。Top-N曲線檢索樣本數(shù)目從1~5000,反映了隨著檢索數(shù)量的增加,模型檢索精度波動的情況。在兩個查詢?nèi)蝿?wù)上的結(jié)果如圖2所示。
圖2 CAFM_Net與其它方法Top-N曲線對比
從圖中可以看出CAFM_Net方法在MIRFlickr25k數(shù)據(jù)集上的Top-N曲線明顯高于其它的對比方法。
為解決無監(jiān)督跨模態(tài)數(shù)據(jù)檢索準(zhǔn)確率低等問題,提出一個有效的基于CLIP模型與注意力融合機(jī)制的跨模態(tài)哈希檢索算法CAFM_Net。使用CLIP和Transformer對圖像和文本進(jìn)行特征提取。使用注意力融合機(jī)制對模態(tài)間的樣本特征進(jìn)行融合找出模態(tài)間的共有語義特征,引入對抗學(xué)習(xí)的思想設(shè)計模態(tài)分類器,使公共特征中不同模態(tài)語義更趨于一致。相關(guān)實(shí)驗(yàn)結(jié)果表明,與現(xiàn)有的代表性哈希方法相比,CAFM_Net在3個數(shù)據(jù)集上檢索效果均取得明顯的提升。有效驗(yàn)證了該算法的準(zhǔn)確性和魯棒性。