張 成,萬 源,強(qiáng)浩鵬
(武漢理工大學(xué)理學(xué)院,武漢 430070)
(*通信作者電子郵箱wanyuan@whut.edu.cn)
隨著圖像、文本、視頻等多媒體數(shù)據(jù)快速增長,不同模態(tài)間的跨模態(tài)檢索近年來引起了人們的廣泛關(guān)注??缒B(tài)檢索的目標(biāo)在于給定一個模態(tài)查詢對象,找到另一模態(tài)中語義相似的集合,如圖像檢索文本、文本檢索圖像等。為了滿足現(xiàn)實(shí)世界中檢索速度快、存儲空間小的檢索需求,哈希算法通過二進(jìn)制哈希碼表示原始數(shù)據(jù),在近似近鄰搜索[1]應(yīng)用中時間復(fù)雜度可以達(dá)到常量或次線性[2],因此被廣泛用于跨模態(tài)檢索。
當(dāng)前的跨模態(tài)哈希方法大致可以分為傳統(tǒng)跨模態(tài)哈希方法[3]和深度跨模態(tài)哈希方法[4]。傳統(tǒng)跨模態(tài)哈希方法利用手工提取的淺層特征學(xué)習(xí)哈希碼,將訓(xùn)練過程分為兩步:1)提取數(shù)據(jù)手工特征(如尺度不變特征變換(Scale-Invariant Feature Transform,SIFT)[5]特征);2)將手工特征投影到漢明空間。典型的傳統(tǒng)跨模態(tài)哈希方法如跨視圖哈希(Cross View Hashing,CVH)[6]基于單視圖譜哈希提出將不同視圖的相似樣本映射為相似哈希碼;語義關(guān)聯(lián)最大化(Semantic Correlation Maximization,SCM)[7]通過語義相似度矩陣分解來減少樣本間相似度計(jì)算時間;跨模態(tài)相似性敏感哈希(Cross-Modality Similarity Sensitive Hashing,CMSSH)[8]利用提升方法聯(lián)合不同模態(tài)數(shù)據(jù)的表征與相似度,將數(shù)據(jù)到公共漢明空間的映射表示為二進(jìn)制分類問題;語義保留哈希(Semantics-Preserving Hashing,SePH)[9]通過最小化模態(tài)間KL散度(Kullback-Leibler Divergence,KLD)來讓不同模態(tài)數(shù)據(jù)分布相同。這些方法特征提取的過程獨(dú)立于哈希碼學(xué)習(xí),因而學(xué)習(xí)到的手工特征并非哈希碼的最優(yōu)解。近年來,深度學(xué)習(xí)因其在特征學(xué)習(xí)方面的優(yōu)異性能而廣泛應(yīng)用于人臉識別[10]、圖像檢索[11]、目標(biāo)檢測[12]等領(lǐng)域。相較于淺層方法利用手工提取的特征學(xué)習(xí)哈希碼,深度跨模態(tài)哈希方法直接學(xué)習(xí)從原始數(shù)據(jù)到漢明空間的映射函數(shù),能更有效地找到原始數(shù)據(jù)與哈希碼間的潛在關(guān)聯(lián)。
根據(jù)訓(xùn)練過程是否引入標(biāo)簽信息,深度跨模態(tài)哈希方法又分為有監(jiān)督哈希學(xué)習(xí)和無監(jiān)督哈希學(xué)習(xí)。深度有監(jiān)督哈希方法如深度跨模態(tài)哈希(Deep Cross-Modal Hashing,DCMH)[13]采用端到端的神經(jīng)網(wǎng)絡(luò)框架,將特征與哈希碼學(xué)習(xí)聯(lián)合到一個統(tǒng)一的框架中,但對標(biāo)簽的語義信息缺乏有效利用;自監(jiān)督對抗哈希(Self-Supervised Adversarial Hashing,SSAH)[14]構(gòu)建自監(jiān)督標(biāo)簽網(wǎng)絡(luò),并利用對抗性來縮小不同模態(tài)間的語義鴻溝;成對關(guān)系指導(dǎo)的深度哈希(Pairwise Relationship guided Deep Hashing,PRDH)[15]提出不相關(guān)約束來解決不同位的哈希碼之間存在的冗余問題;基于三元組的深度哈希(Triplet-based Deep Hashing,TDH)[16]通過概率模型定義跨模態(tài)三元組損失,并利用圖拉普拉斯來探究樣本對是否相似;基于排序深度跨模態(tài)哈希(Ranking-based Deep Cross-Modal Hashing,RDCMH)[17]利用特征和標(biāo)簽的余弦相似度矩陣來得到一個半監(jiān)督語義排序列表,并聯(lián)合語義排序信息到哈希碼的學(xué)習(xí)過程中。
然而在實(shí)際應(yīng)用中,有監(jiān)督方法[18]需要大量人工標(biāo)簽標(biāo)注的實(shí)例,但這些標(biāo)簽信息的收集過程往往成本昂貴且容易出錯,因而這些算法不能有效地?cái)U(kuò)展到大規(guī)模數(shù)據(jù)當(dāng)中。無監(jiān)督深度跨模態(tài)哈希方法通過尋找未標(biāo)注實(shí)例間的關(guān)聯(lián)信息來實(shí)現(xiàn)高效檢索,在大規(guī)模數(shù)據(jù)應(yīng)用中更加靈活。Wu等[19]利用圖拉普拉斯約束項(xiàng)保護(hù)原始數(shù)據(jù)的鄰域結(jié)構(gòu),提出了一種無監(jiān)督深度跨模態(tài)哈希(Unsupervised Deep Cross-Modal Hashing,UDCMH)方法;Zhang 等[20]利用不同模態(tài)間的對抗性來擬合數(shù)據(jù)的流形分布,提出了無監(jiān)督生成對抗跨模態(tài)哈希(Unsupervised Generative Adversarial Cross-Modal Hashing,UGACH)方法;Wang 等[21]通過引入虛擬標(biāo)簽來增強(qiáng)哈希碼的辨別能力,提出了基于虛擬標(biāo)簽回歸的無監(jiān)督深度跨模態(tài)哈希(Unsupervised Deep Cross-modal Hashing with Virtual Label Regression,UDCH-VLR)方法;Su 等[22]提出了深度聯(lián)合語義重構(gòu)哈希(Deep Joint-Semantics Reconstructing Hashing,DJSRH)方法,構(gòu)建聯(lián)合語義關(guān)聯(lián)矩陣來發(fā)掘模態(tài)間潛在的語義一致性,但在哈希碼學(xué)習(xí)過程中放松了離散約束條件,存在較大量化誤差。雖然以上方法獲得了不錯的檢索性能,然而這些方法通過數(shù)據(jù)本身分布或預(yù)訓(xùn)練神經(jīng)網(wǎng)絡(luò)得到的樣本相似度信息并不能完全滿足其訓(xùn)練需求。
為解決以上問題,本文提出基于知識蒸餾的深度無監(jiān)督離散跨模態(tài)哈希(Deep Unsupervised Discrete Cross-modal Hashing,DUDCH)方法,主要工作包括:
1)結(jié)合知識蒸餾中知識遷移的思想,利用預(yù)訓(xùn)練的無監(jiān)督老師模型中實(shí)例關(guān)聯(lián)信息重構(gòu)對稱相似度矩陣,保證了成對實(shí)例間的相似性;
2)在哈希碼的學(xué)習(xí)過程中采用離散循環(huán)坐標(biāo)下降法迭代更新離散哈希碼的每一位,有效降低離散哈希碼間的冗余性;
3)采用端到端無監(jiān)督模型作為老師模型,構(gòu)建了非對稱有監(jiān)督模型作為學(xué)生模型,能有效提高模型的運(yùn)行效率。
無監(jiān)督跨模態(tài)哈希方法可以分為淺層方法與深度方法兩類。淺層無監(jiān)督方法中媒體間哈希(Inter-Media Hashing,IMH)[23]利用譜哈希建立保留模態(tài)內(nèi)與模態(tài)間一致性的公共漢明空間;協(xié)同矩陣分解哈希(Collective Matrix Factorization Hashing,CMFH)[24]通過協(xié)同矩陣分解將不同模態(tài)投影到聯(lián)合的語義空間來學(xué)習(xí)統(tǒng)一哈希碼;復(fù)合相關(guān)量化(Composite Correlation Quantization,CCQ)[25]聯(lián)合尋找將不同模態(tài)轉(zhuǎn)化為同構(gòu)潛在空間的相關(guān)極大映射,并學(xué)習(xí)將同構(gòu)潛在特征轉(zhuǎn)化為緊湊二進(jìn)制碼的復(fù)合量化器;潛在語義稀疏哈希(Latent Semantic Sparse Hashing,LSSH)[26]利用稀疏編碼來捕捉圖像的顯著結(jié)構(gòu)并通過矩陣分解來得到文本的潛在概念,挖掘潛藏在數(shù)據(jù)當(dāng)中的語義信息。這些方法不能有效捕捉不同模態(tài)數(shù)據(jù)到漢明空間的復(fù)雜非線性映射,因而許多無監(jiān)督跨模態(tài)方法在哈希碼的學(xué)習(xí)中引入深度神經(jīng)網(wǎng)絡(luò)來構(gòu)建從數(shù)據(jù)到哈希碼的非線性映射。
深度無監(jiān)督跨模態(tài)哈希方法在相似度矩陣獲取方式上有所不同。UDCMH[19]利用圖拉普拉斯約束項(xiàng)中喜好矩陣來評價不同哈希碼間相似程度,但喜好矩陣的構(gòu)建依賴于采集樣本分布的好壞,故DJSRH[22]利用圖像深度特征與文本詞袋特征的聯(lián)合語義矩陣來探究不同樣本間關(guān)聯(lián)程度;相較于直接采用預(yù)訓(xùn)練神經(jīng)網(wǎng)絡(luò)來判別樣本間相關(guān)程度,無監(jiān)督知識蒸餾(Unsupervised Knowledge Distillation,UKD)[27]提出深度無監(jiān)督跨模態(tài)哈希模型能提供更加精確的相似性度量,但在構(gòu)建過程中忽視了相似度矩陣的對稱性;除了直觀求取樣本間相似度矩陣,UGACH 和無監(jiān)督耦合循環(huán)生成對抗性哈希(Unsupervised coupled Cycle generative adversarial Hashing,UCH)[28]利用不同模態(tài)間的對抗性來擬合不同模態(tài)的流形分布,但都存在著訓(xùn)練困難、時間復(fù)雜度高問題。
知識蒸餾首次由Hinton 等[29]提出,其主要思想是通過提取大型老師模型學(xué)習(xí)到的先驗(yàn)知識來幫助小型學(xué)生模型訓(xùn)練,有效節(jié)省了模型的計(jì)算量和計(jì)算資源,常常被用于模型壓縮與部署,其具體實(shí)現(xiàn)則是通過最小化老師與學(xué)生模型輸出的KL 散度,使得二者的分布相同。在此基礎(chǔ)上,F(xiàn)urlanello等[30]發(fā)現(xiàn)兩個同等復(fù)雜的模型有利于學(xué)生網(wǎng)絡(luò)更好學(xué)習(xí)到老師模型傳授到的知識,并通過反復(fù)迭代的方法使學(xué)生模型的性能逼近老師模型。Yang 等[31]通過適當(dāng)降低老師模型的置信度和增加老師模型“容忍度”,有效提升學(xué)生模型的表現(xiàn)。Chen 等[32]通過匹配兩個樣本排名得到的概率分布來蒸餾用于深度度量學(xué)習(xí)的知識,探究不同樣本之間的相似性。然而,以上方法在意同類型模型間知識的傳遞,UKD 關(guān)注于無監(jiān)督與有監(jiān)督模型間關(guān)聯(lián)信息的傳遞,利用無監(jiān)督老師模型得到可供有監(jiān)督學(xué)生模型學(xué)習(xí)的樣本相似度矩陣。
本文受UKD 啟發(fā),利用預(yù)訓(xùn)練好的無監(jiān)督老師模型的實(shí)值哈希碼構(gòu)建實(shí)例相似度矩陣,代替標(biāo)簽實(shí)現(xiàn)學(xué)生模型的有監(jiān)督學(xué)習(xí),提出深度無監(jiān)督離散跨模態(tài)哈希DUDCH 方法,但在構(gòu)造上有以下幾點(diǎn)不同:1)老師模型中將對抗無監(jiān)督模型UGACH替換為端到端無監(jiān)督模型DJSRH,學(xué)生模型中將對稱有監(jiān)督模型DCMH 替換為非對稱有監(jiān)督模型;2)構(gòu)造對稱相似度矩陣時引入判斷相似程度的閾值,保證成對樣本的相似性;3)哈希碼學(xué)習(xí)過程中依次按位更新離散的哈希碼,減小了哈希碼的量化誤差。具體的網(wǎng)絡(luò)框架如圖1所示。
圖1 知識蒸餾網(wǎng)絡(luò)框架Fig.1 Network framework of knowledge distillation
O=表示圖像文本對集合,X=[x1,x2,…,xn]∈Rn×w×h×3表示圖像矩陣,Y=[y1,y2,…,yn]∈Rn×c表示文本矩陣,n表示數(shù)據(jù)大小,w表示圖像寬度,h表示圖像高度,c表示文本詞袋向量的維度。S∈{-1,+1}n×n表示成對相似度矩陣,Sij表示相似度矩陣S第i行第j列的元素。當(dāng)Sij=+1時,第i個實(shí)例oi與第j個實(shí)例oj為相關(guān)對;否則,Sij=-1。深度跨模態(tài)哈希的目的是找尋兩個從原始數(shù)據(jù)到漢明空間的非線性映射函數(shù):Hv,t=hv,t(X,Y;θv,t)∈[-1,+1]n×k,其中:X和Y表示圖像文本數(shù)據(jù);k表示哈希碼的長度;hv,t為圖像與文本學(xué)習(xí)到的哈希函數(shù);Hv,t為圖像與文本網(wǎng)絡(luò)學(xué)習(xí)到的連續(xù)哈希碼矩陣;θv,t分別為圖像與文本網(wǎng)絡(luò)的網(wǎng)絡(luò)權(quán)重。Bv,t=sign(Hv,t)表示圖像和文本網(wǎng)絡(luò)學(xué)習(xí)到的二進(jìn)制哈希碼矩陣,其中:sign(?)表示符號函數(shù),當(dāng);否則,=-1。
為能更容易了解圖1 模型的深度網(wǎng)絡(luò)結(jié)構(gòu),本節(jié)給出訓(xùn)練模型的具體解釋。對于圖像網(wǎng)絡(luò),老師模型采用DJSRH 模型中的預(yù)訓(xùn)練深度神經(jīng)網(wǎng)絡(luò)AlexNet[33],并沿用其相同的參數(shù)設(shè)置;學(xué)生模型采用預(yù)訓(xùn)練的卷積神經(jīng)網(wǎng)絡(luò)CNN-F[34]。二者均包含5個卷積層和3個全連接層,在圖像網(wǎng)絡(luò)最后的輸出層(fc8)中輸出的節(jié)點(diǎn)被改為哈希碼的長度k來獲得連續(xù)哈希碼,并用Tanh作為激活函數(shù)。
對于文本網(wǎng)絡(luò),DUDCH 采用三層全連接層:前兩層隱藏層有4 096 個輸出節(jié)點(diǎn),用線性整流函數(shù)(Rectified Linear Unit,ReLU)作為激活函數(shù),最后一層輸出層有k個輸出節(jié)點(diǎn),用Tanh作為激活函數(shù)。
2.3.1 無監(jiān)督老師模型
不同于UKD 采用對抗性老師模型UGACH,本文采用端到端無監(jiān)督模型DJSRH 作為老師模型進(jìn)行快速蒸餾。DJSRH 本身能夠?qū)W習(xí)到一個聯(lián)合圖像-文本信息的余弦相似度矩陣,將作為本文蒸餾法的對照組,具體的對比將放到實(shí)驗(yàn)中3.4.4節(jié)進(jìn)行說明。
跨模態(tài)哈希的關(guān)鍵在于尋找圖像文本對之間潛在的語義關(guān)聯(lián)信息。在一個訓(xùn)練良好的無監(jiān)督模型中,這些數(shù)據(jù)間的關(guān)聯(lián)信息被保存在學(xué)習(xí)到的深度特征表示中。計(jì)算樣本對之間相關(guān)度的常用策略有兩種:1)特征間的歐氏距離;2)特征間的余弦相似度。本文通過度量不同樣本對實(shí)值哈希碼的歐氏距離來判斷樣本對是否相似。為了方便理解,l2范數(shù)歸一化的實(shí)值哈希碼歐氏距離和相似度的聯(lián)系為:
其中:fi表示第i個實(shí)例學(xué)習(xí)到的實(shí)值哈希碼向量;Sij表示第i和j個實(shí)例之間的相似度。不同實(shí)例間哈希碼的歐氏距離越小,二者越相似。UKD 設(shè)置哈希碼歐氏距離矩陣D:Dij=中每行前l(fā)個元素下標(biāo)對應(yīng)的實(shí)例為相似樣本對,破壞了相似性矩陣的對稱性。
本文為了保證重構(gòu)實(shí)例相似度矩陣的對稱性,設(shè)置與相似對數(shù)量l正比的閾值λ來判斷不同樣本對之間是否相似。設(shè)=dr(fi-fj)為距離矩陣D中升序排序的第r個元素,設(shè)置閾值λ=,其中r=(n-1)l,n為訓(xùn)練集數(shù)量。當(dāng)?shù)趇個與第j個實(shí)例哈希碼的歐氏距離Dij=Dji≤λ時,二者為相似樣本對,Sij=Sji=1;當(dāng)Dij=Dji>λ時,Sij=Sji=-1,故重構(gòu)實(shí)例間相似性矩陣滿足對稱性。
此外,對比組DJSRH 批次大小聯(lián)合圖像與文本信息的語義相似度矩陣的構(gòu)建如下:
其中:SI和ST分別為批次大小圖像與文本深度特征的余弦相似度矩陣;η為超參數(shù)為SI和ST的線性組合。
然而,DJSRH 在訓(xùn)練過程中產(chǎn)生的聯(lián)合語義矩陣S只有批量大小,且處在變化中,無法用作整個訓(xùn)練集的相似度矩陣,故本文采用測試過程中固定網(wǎng)絡(luò)產(chǎn)生的聯(lián)合語義相似度矩陣來進(jìn)行對比實(shí)驗(yàn)。
2.3.2 有監(jiān)督學(xué)生模型
在UKD 中,對稱學(xué)生模型DCMH 時間復(fù)雜度高且無法學(xué)習(xí)多層次語義相似度矩陣。受非對稱策略[35]啟發(fā),本文將訓(xùn)練集分為兩個部分:1)整個數(shù)據(jù)庫集直接通過矩陣運(yùn)算學(xué)習(xí)哈希碼;2)少量查詢集通過神經(jīng)網(wǎng)絡(luò)訓(xùn)練得到哈希碼。其中,整個訓(xùn)練集O作為數(shù)據(jù)庫集,隨機(jī)采樣O中m個數(shù)據(jù)點(diǎn)作為查詢集OΩ,m?n。此時,數(shù)據(jù)庫點(diǎn)的下標(biāo)為Γ={1,2,…,n},查詢集點(diǎn)下標(biāo)為Ω={i1,i2,…,im},Ω?Γ。
為了學(xué)習(xí)相似度矩陣的多層次語義關(guān)聯(lián),本文方法DUDCH 通過二進(jìn)制哈希碼內(nèi)積和相似度間的關(guān)系S=B?BT/k定義損失函數(shù),其模態(tài)內(nèi)與模態(tài)間損失定義如下:
1)模態(tài)內(nèi)損失。
圖像、文本模態(tài)內(nèi)損失包含兩個部分:1)非對稱損失。查詢集和數(shù)據(jù)庫集中哈希碼內(nèi)積與重構(gòu)相似度矩陣間的l2損失。2)量化損失。查詢集中實(shí)值哈希碼與離散哈希碼間的l2損失。具體定義如下:
其中:BΓ∈{-1,+1}n×k與BΩ∈{-1,+1}m×k分別表示數(shù)據(jù)庫集與查詢集直接學(xué)習(xí)到的離散哈希碼矩陣;=SΩ×?!蕒-1,1}m×n表示查詢集與數(shù)據(jù)庫集間重構(gòu)相似度矩陣。
2)模態(tài)間損失。
為解決不同模態(tài)間的語義鴻溝,讓不同模態(tài)的哈希碼在公共漢明空間擁有與單一模態(tài)相同的語義關(guān)聯(lián)信息,圖像文本模態(tài)間對稱損失定義如下:
此時,式(6)的矩陣形式如下:
其中:=SΩ×Ω∈[-1,+1]Ω×Ω為圖像與文本查詢集間的重構(gòu)相似度矩陣。
無監(jiān)督老師模型代替標(biāo)簽提供先驗(yàn)的實(shí)例相似度矩陣,有監(jiān)督學(xué)生模型則學(xué)習(xí)從原始數(shù)據(jù)到漢明空間的復(fù)雜非線性映射,故在式(5)與式(7)的基礎(chǔ)上,學(xué)生模型最終優(yōu)化函數(shù)如下:
同時求解式(8)中θv、θt、B是非凸問題,但交替優(yōu)化各個變量是凸的,從而得到全局最優(yōu)解,具體的迭代更新過程如下:
1)固定θt、B,更新θv,式(8)重寫如下:
通過不斷地迭代更新參數(shù)θv、θt、B,直到滿足收斂或達(dá)到最大迭代次數(shù)來優(yōu)化式(8)中各個參數(shù),具體優(yōu)化過程如下。
算法1 非對稱離散學(xué)生模型優(yōu)化算法。
輸入 圖像矩陣X和文本矩陣Y,重構(gòu)相似度矩陣S,哈希碼長度k。
輸出 圖像和文本神經(jīng)網(wǎng)絡(luò)參數(shù)θv和θt,離散哈希碼B。
初始化:θv、θt和B,超參數(shù)α和β,批次大小m,最大迭代次數(shù)Tmax,圖像與文本迭代次數(shù)T=10。
1)Repeat
2)在數(shù)據(jù)庫集中隨機(jī)采樣生成查詢集及其下標(biāo)Γ,并以此來切分重構(gòu)相似度矩陣S
3)Repeat
4)根據(jù)式(10)更新圖像神經(jīng)網(wǎng)絡(luò)參數(shù)θv
5)Until迭代次數(shù)達(dá)到圖像迭代次數(shù)T
6)Repeat
7)根據(jù)式(11)更新文本神經(jīng)網(wǎng)絡(luò)參數(shù)θt
8)Until迭代次數(shù)達(dá)到文本迭代次數(shù)T
9)根據(jù)式(16)按位更新離散的哈希碼B
10)Until迭代次數(shù)達(dá)到最大迭代次數(shù)Tmax或收斂
本文在兩個常用的基準(zhǔn)數(shù)據(jù)集MIRFLICKR-25K[38]和NUS-WIDE[39]上進(jìn)行實(shí)驗(yàn),并與六個先進(jìn)的跨模態(tài)哈希方法CMSSH[8]、SCM[7]、CVH[6]、CMFH[24]、CCQ[25]、DJSRH[22]作比較。其中,前兩個是經(jīng)典的有監(jiān)督跨模態(tài)哈希方法,后四個是經(jīng)典的無監(jiān)督跨模態(tài)哈希方法。
MIRFLICKR-25K:該數(shù)據(jù)集包含來自Flickr 的25 000 個文本-圖像實(shí)例對,每個實(shí)例對被標(biāo)注24 個語義標(biāo)簽。遵循UGACH 的實(shí)驗(yàn)設(shè)置,本文設(shè)置圖像為4 096 維VGG 深度特征,設(shè)置文本為1 386 維詞袋向量。對于有監(jiān)督方法,隨機(jī)挑選5 000個圖像文本對作為訓(xùn)練集。
NUS-WIDE:該數(shù)據(jù)集包含269 498 個文本-圖像實(shí)例對和81 個語義標(biāo)簽。本文挑選實(shí)例對中標(biāo)注10 個最頻繁的語義標(biāo)簽,總共186 577 個實(shí)例對用于實(shí)驗(yàn)。類似地,本文設(shè)置圖像為4 096 維VGG 深度特征,設(shè)置文本為1 000 維詞袋向量。有監(jiān)督方法中隨機(jī)挑選5 000個圖像文本對作為訓(xùn)練集。
本文采用平均精度均值(mean Average Precision,mAP)和精度召回率(Precision Recall,PR)曲線作為評價策略。mAP 為所有查詢集精度均值的平均值,對于第i個測試實(shí)例,精度均值A(chǔ)P(i)定義如下:
其中:N表示在檢索集中相關(guān)實(shí)例的數(shù)量;p(r)表示返回的第r個實(shí)例的精度。如果第r個返回的實(shí)例與第i個檢索實(shí)例相關(guān),rel(r)=1;否則,rel(r)=0。
PR 曲線反映模型不同召回率下的精度,它的橫縱坐標(biāo)分別由以下公式得到:
其中:TP(True Positives)表示真正例:FP(False Positives)表示假正例:FN(False Negatives)表示假負(fù)例。
本文在老師模型中保持DJSRH 的基本設(shè)置,但為得到更準(zhǔn)確的實(shí)例間相似度信息,將訓(xùn)練集數(shù)量提高為15 000,其他參數(shù)不變。在有監(jiān)督學(xué)生模型訓(xùn)練過程中,對于MIRFLICKR-25K 和NUS-WIDE 數(shù)據(jù)集,本文隨機(jī)采樣15 000個實(shí)例作為數(shù)據(jù)庫集,2 000個實(shí)例作為測試集。在數(shù)據(jù)庫集中隨機(jī)抽取3 000 個實(shí)例作為查詢集。相似度矩陣中相似對數(shù)量設(shè)置為5 000,式(8)中超參數(shù)設(shè)置為α=200,β=100。這些超參數(shù)的靈敏度分析將在3.4.3 節(jié)中進(jìn)行具體比較。在圖像與文本網(wǎng)絡(luò)中,最大迭代次數(shù)為50,學(xué)習(xí)率設(shè)置為10-5,批次大小設(shè)置為128。為了網(wǎng)絡(luò)的穩(wěn)定性,圖像與文本網(wǎng)絡(luò)在重復(fù)更新迭代10次后按位更新哈希碼。
3.4.1 檢索表現(xiàn)
表1 給出不同方法在MIRFLICKR-25K 與NUS-WIDE 數(shù)據(jù)集上不同碼長的mAP 值。可以看出,組合模型DUDCH 的mAP 值比老師無監(jiān)督模型DJSRH 更高,這說明本文運(yùn)用知識蒸餾聯(lián)合兩種模型得到了超過單一模型的表現(xiàn),說明了該方法的有效性。
在MIRFLICKR-25K 和NUS-WIDE 數(shù)據(jù)集上,DUDCH 比排名第二的無監(jiān)督跨模態(tài)哈希方法DJSRH 在圖像檢索文本任務(wù)上mAP 大約平均增長了2.83 個百分點(diǎn)和6.53 個百分點(diǎn),在文本檢索圖像任務(wù)上平均增長了0.70個百分點(diǎn)和3.95個百分點(diǎn)。這說明了本文離散非對稱學(xué)生網(wǎng)絡(luò)有效學(xué)習(xí)到老師模型提供的先驗(yàn)樣本關(guān)聯(lián)信息,驗(yàn)證了哈希碼離散求解的有效性。此外,從表1 中可以看出,DUDCH 中mAP 值不隨著碼位的增長而增長,這說明DUDCH 對于哈希碼長度并不敏感,在較小碼位上也能有著出色的表現(xiàn)。
另外,從表1中可以看出,深度無監(jiān)督算法DJSRH 與淺層有監(jiān)督算法CMSSH 與SCM 相比mAP 值有著明顯的提升,這說明神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)到的深度特征更有利于哈希碼的學(xué)習(xí)。
表1 在MIRFLICKR-25K與NUS-WIDE數(shù)據(jù)集上不同哈希碼長度時不同方法的mAP比較Tab.1 mAP comparison of different methods on MIRFLICKR-25K and NUS-WIDE datasets with different Hash code length
圖2 與圖3 分別給出了DUDCH 在MIRFLICKR-25K 和NUS-WIDE 數(shù)據(jù)集上哈希碼長度為128比特時不同方法的PR曲線。從圖2~3 中可以看出:1)DUDCH 在NUS-WIDE 數(shù)據(jù)集上的表現(xiàn)要遠(yuǎn)遠(yuǎn)好于MIRFLICKR-25K,說明DUDCH 在更大規(guī)模數(shù)據(jù)集上的優(yōu)勢更明顯;2)盡管DUDCH 在低召回率的表現(xiàn)不好,但隨著召回率增加,精度相較于其他方法下降不明顯,使得PR 曲線下面積要明顯大于其他方法,這也說明DUDCH 相較于其他方法在檢索性能上有著顯著提升;3)DUDCH 在圖像檢索文本任務(wù)上檢索性能要明顯好于文本檢索圖像。
圖2 在MIRFLICKR-25K數(shù)據(jù)集上哈希碼長度為128比特時不同方法的PR曲線Fig.2 PR curves of different methods on MIRFLICKR-25K dataset with Hash code length of 128 bit
圖3 在NUS-WIDE數(shù)據(jù)集上哈希碼長度為128比特時不同方法的PR曲線Fig.3 PR curves of different methods on NUS-WIDE dataset with Hash code length of 128 bit
3.4.2 對比UKD方法
本文給出了在MIRFLICKR-25K 訓(xùn)練集上碼長為16 比特的情況下對比UKD 學(xué)生模型DCMH 的訓(xùn)練時間-mAP 圖,具體情況如圖4 所示??梢钥闯?,DUDCH 每次迭代的訓(xùn)練時間大約為0.08 h,DCMH 每次迭代訓(xùn)練時間大約為0.15 h,二者在約2.7 h 時接近收斂,此時,DUDCH 和UKD 在圖像檢索文本/文本檢索圖像任務(wù)上mAP 值分別為0.716/0.687和0.677/0.657,DUDCH 對比UKD 在圖像檢索文本(I2T)/文本檢索圖像(T2I)任務(wù)上mAP 分別提升了3.90 個百分點(diǎn)/3.00 個百分點(diǎn),說明了本文方法對比UKD 學(xué)生模型具有更強(qiáng)的學(xué)習(xí)能力。由于DUDCH 設(shè)置迭代次數(shù)為50,UKD 設(shè)置DCMH 迭代次數(shù)為30,故在同等的時間上DUDCH 迭代次數(shù)更多,迭代速度更快。造成本文模型訓(xùn)練效率高于UKD 的主要原因?yàn)橐韵氯c(diǎn):
圖4 MIRFLICKR-25K數(shù)據(jù)集上哈希碼長度為16比特時不同蒸餾法的訓(xùn)練時間Fig.4 Training time of different knowledge distillation methods on MIRFLICKR-25K dataset with Hash code length of 16 bit
1)UKD 學(xué)生模型采取傳統(tǒng)的對稱哈希方法訓(xùn)練整個訓(xùn)練集大小的神經(jīng)網(wǎng)絡(luò),時間復(fù)雜度至少為O(n2),而本文采用非對稱方式訓(xùn)練的時間復(fù)雜度為O(n);
2)不同于UKD 學(xué)生模型直接將整個訓(xùn)練集樣本放入深度神經(jīng)網(wǎng)絡(luò)中學(xué)習(xí),本文則將訓(xùn)練數(shù)據(jù)集分為直接按位學(xué)習(xí)得到的整個數(shù)據(jù)庫樣本與通過神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)的少量查詢集樣本,而神經(jīng)網(wǎng)絡(luò)訓(xùn)練時間遠(yuǎn)遠(yuǎn)大于矩陣運(yùn)算時間,由于m?n,使得總體訓(xùn)練時間要遠(yuǎn)遠(yuǎn)小于DCMH。
3)由于UKD 中老師模型UGACH 采用對抗性神經(jīng)網(wǎng)絡(luò),花費(fèi)了大量時間在樣本相似對選取與模型的預(yù)訓(xùn)練上,模型訓(xùn)練時間遠(yuǎn)遠(yuǎn)超過DJSRH,故在圖4 并未給出不同老師模型的時間復(fù)雜度對比圖。
3.4.3 參數(shù)靈敏度
為確定相似樣本對的最佳數(shù)量以及式(8)中超參數(shù)α、β的最佳大小,在圖5 與圖6 中給出了這些超參數(shù)的靈敏度分析。實(shí)驗(yàn)中訓(xùn)練數(shù)據(jù)集同為MIRFLICKR-25K 數(shù)據(jù)集,哈希碼長度分別為16 與128 比特,迭代次數(shù)為30,橫坐標(biāo)為超參數(shù)值,縱坐標(biāo)為mAP 值。相似樣本對大小設(shè)置范圍為1 000 到8 000,而式(8)中超參數(shù)α、β大小設(shè)置范圍為{1,10,100,500}。
圖5 MIRFLICKR-25K數(shù)據(jù)集上哈希碼長度為16比特時不同相似對的mAP值Fig.5 mAPs values of different similarity pairs on MIRFLICKR-25K dataset wit h Hash code length of 16 bit
圖6 兩種超參數(shù)的靈敏度分析Fig.6 Sensitivity analysis of two hyper-parameters
從圖5 中可以得出以下結(jié)論:少量的相似對信息會誤導(dǎo)模型度量不同實(shí)例相似性過多趨向于不相關(guān),導(dǎo)致模型獲得了較差的檢索性能。隨著模型得到了越來越多的關(guān)聯(lián)信息后,其性能不斷上升并趨于穩(wěn)定,在相似對數(shù)量為5 000時,模型的平均mAP 達(dá)到頂點(diǎn)。另外,從圖6 中可以發(fā)現(xiàn):超參數(shù)α和β對于圖像檢索文本幾乎沒有影響,對于文本檢索圖像有著細(xì)微的影響,當(dāng)參數(shù)α和β分別在[100,500]與[10,100]時,模型精確度微微上升,其他地方或緩慢下降或平緩。通過以上分析,可以發(fā)現(xiàn)在一個較大的范圍中本文方法并不敏感,說明了該方法的魯棒性與有效性。
3.4.4 蒸餾法對比
老師模型DJSRH 自身能夠?qū)W習(xí)到一種聯(lián)合圖像與文本語義關(guān)聯(lián)信息的余弦相似度矩陣,這可能成為另一種有效的蒸餾法。本文在圖7 中給出了它在數(shù)據(jù)集為MIRFLICKR-25K、碼長為128比特情況下不同迭代次數(shù)下的mAP圖。
圖7 在MIRFLICKR-25K上哈希碼長度為128比特時不同蒸餾法的mAP值Fig.7 mAPs values of different knowledge distillation methods on MIRFLICKR-25K dataset with Hash code length of 128 bit
從圖7通過對比可以發(fā)現(xiàn),DUDCH 和DJSRH 在圖像檢索文本(I2T)上mAP 值分別為0.716 和0.631,DJSRH 方法相較于本文方法DUDCH 在圖像檢索文本上中mAP 值下降了8.50個百分點(diǎn),且在文本檢索圖像上模型一直處于動蕩狀態(tài),說明蒸餾出的實(shí)例相似度矩陣不能夠有效表達(dá)出實(shí)例間的關(guān)聯(lián)關(guān)系,因此,不能夠作為新的蒸餾知識來幫助有監(jiān)督學(xué)生模型訓(xùn)練。
本文提出了一種基于知識蒸餾的深度無監(jiān)督離散跨模態(tài)哈希方法DUDCH。該方法利用預(yù)訓(xùn)練無監(jiān)督老師模型中的實(shí)例間關(guān)聯(lián)信息代替標(biāo)簽幫助學(xué)生模型有監(jiān)督訓(xùn)練,在計(jì)算實(shí)例間相似度矩陣中保證其對稱性。另外,該算法采用端到端無監(jiān)督模型作為老師模型,非對稱有監(jiān)督模型作為學(xué)生模型,有效縮短了模型的運(yùn)行時間。最后,該算法在哈希碼的求解過程中不放松哈希碼的離散約束條件,按位學(xué)習(xí)離散哈希碼。
在兩種準(zhǔn)基跨模態(tài)數(shù)據(jù)集中與六種先進(jìn)的跨模態(tài)哈希方法對比mAP 值與PR 曲線圖,表現(xiàn)了該算法的有效性。另外,從收斂性和參數(shù)設(shè)置來看,DUDCH 有效降低了組合模型的運(yùn)行時間,且對參數(shù)變化并不靈敏,顯示出了較好的魯棒性。在將來,我們將考慮如何將組合模型聯(lián)合到統(tǒng)一框架當(dāng)中。