石 娟,謝 德,蔣 慶
(1.廣西大學(xué) 計算機與電子信息學(xué)院,廣西壯族自治區(qū) 南寧 530004;2.西安電子科技大學(xué) 電子工程學(xué)院,陜西 西安 710071;3.百色干部學(xué)院 信息化建設(shè)與管理部,廣西壯族自治區(qū) 百色 533013)
隨著信息技術(shù)的發(fā)展,社交網(wǎng)絡(luò)和存儲設(shè)備中存在大量的多模態(tài)數(shù)據(jù)。為了有效地處理和分析這些數(shù)據(jù),跨模態(tài)檢索作為一個基礎(chǔ)的計算機視覺應(yīng)用,近年來受到了越來越多的關(guān)注。所謂跨模態(tài)檢索,就是設(shè)計一種算法,使得不同模態(tài)之間的數(shù)據(jù)可以相互查詢。其原理是:雖然不同模態(tài)的數(shù)據(jù)之間結(jié)構(gòu)大相徑庭,但是它們之間具有很強的語義相關(guān)性。因此,研究跨模態(tài)檢索的首要任務(wù)是研究如何打破語義鴻溝、探索多模態(tài)數(shù)據(jù)之間的共同表征。如何有效地捕獲不同數(shù)據(jù)結(jié)構(gòu)的多模態(tài)數(shù)據(jù)之間的語義相關(guān)性,仍然是一個具有挑戰(zhàn)性的問題。
有的傳統(tǒng)跨模態(tài)檢索方法基于傳統(tǒng)的統(tǒng)計相關(guān)性、圖正則以及字典學(xué)習(xí),這些方法的主要思想是子空間學(xué)習(xí),將不同模態(tài)的數(shù)據(jù)映射到一個共同空間并在這個空間中度量它們的相似性。然而,這些方法通常計算成本過高而檢索效率卻很低。為了克服這些缺點,基于哈希的跨模態(tài)檢索逐漸取代傳統(tǒng)的跨模態(tài)檢索。哈希方法[1-3]可以將高維數(shù)據(jù)映射到低維漢明空間并保持?jǐn)?shù)據(jù)之間的相似性,從而將高維數(shù)據(jù)轉(zhuǎn)化為緊湊的二值碼,將數(shù)據(jù)的相似關(guān)系轉(zhuǎn)化為漢明距離并通過快速的異或運算來度量,提高了檢索效率。
傳統(tǒng)的跨模態(tài)哈希方法依賴淺層模型,在方法上可以分為兩種:無監(jiān)督跨模態(tài)哈希方法和有監(jiān)督跨模態(tài)哈希方法。相比于無監(jiān)督方法,有監(jiān)督哈希方法可以通過語義標(biāo)簽來建立不同模態(tài)數(shù)據(jù)之間的聯(lián)系,從而獲得更加優(yōu)異的性能。然而這種方法依賴于淺層特征,缺乏足夠的判別性,不能有效地表征多模態(tài)數(shù)據(jù),因而導(dǎo)致檢索性能陷入瓶頸,很難進一步提升。近年來,由于深度學(xué)習(xí)及其相關(guān)應(yīng)用的興起與成功[4-7],深度跨模態(tài)哈希方法因其能夠?qū)W習(xí)更有效的數(shù)據(jù)表征及數(shù)據(jù)相似關(guān)系而逐漸取代傳統(tǒng)跨模態(tài)哈希算法,成為熱門的研究對象[8-11]。然而大多數(shù)深度模型不能準(zhǔn)確地學(xué)習(xí)多模態(tài)數(shù)據(jù)之間的語義相似關(guān)系,因為它們沒有明確的學(xué)習(xí)和區(qū)分模態(tài)共享表示和模態(tài)私有表示。文獻[12-14]提出一種域自適應(yīng)自編碼機結(jié)構(gòu)來提取跨域共同子空間圖像表示以及每個域獨特的私有空間圖像表示。受這種思想的啟發(fā),文獻[15-18]利用生成注意力模塊組成不同的深度網(wǎng)絡(luò)模型來同時提取模態(tài)間的相似信息以及不同模態(tài)的特有信息。雖然上述方法可以提取到模態(tài)共享表示和模態(tài)私有表示,但是這些方法的模型設(shè)計過于復(fù)雜,很難有效地訓(xùn)練。
針對上述方法的不足,筆者提出了一種簡單而有效的深度網(wǎng)絡(luò)結(jié)構(gòu),即深度共性保持哈希(Deep Consistency-Preserving Hashing,DCPH)。該方法可以在一個統(tǒng)一的框架內(nèi)學(xué)到不同模態(tài)的模態(tài)共享表示和對應(yīng)的緊湊哈希碼。首先將每種模態(tài)的表示分為模態(tài)私有表示和模態(tài)共享表示,通過一層網(wǎng)絡(luò)來顯式地學(xué)習(xí)模態(tài)私有表示;其次,采取一種交替學(xué)習(xí)機制,在訓(xùn)練的過程中利用相減操作在每個模態(tài)的表示中逐漸消去模態(tài)私有表示,從而獲得準(zhǔn)確的模態(tài)共享表示,有效地保留不同模態(tài)數(shù)據(jù)之間的共同信息;最后,利用模態(tài)共享信息便可生成具有判別性的緊湊哈希碼。所提方法的創(chuàng)新點在于:① 設(shè)計了一個端到端的跨模態(tài)哈希方法,通過構(gòu)建特殊的網(wǎng)絡(luò)結(jié)構(gòu),以消去模態(tài)私有表示的方式來簡單而有效地提取不同模態(tài)間的一致性信息;② 通過交替學(xué)習(xí)逐步對模態(tài)共享表示進行精細化提取,該方法可以在加速模型訓(xùn)練的同時根據(jù)精細的模態(tài)共享表示生成具有判別性的緊湊哈希碼。大量實驗結(jié)果表明,所提方法相比于其他先進的傳統(tǒng)或深度跨模態(tài)哈希檢索方法,在性能上有顯著的提高。
筆者所提算法模型的整體框架如圖1所示。該模型包括兩組網(wǎng)絡(luò):圖像網(wǎng)絡(luò)和文本網(wǎng)絡(luò)。這兩個網(wǎng)絡(luò)分別對應(yīng)圖像模態(tài)和文本模態(tài),分別學(xué)習(xí)兩個不同的哈希函數(shù)。
圖1 深度共性保持哈希模型框架
(1)
因此,內(nèi)積可以被用來衡量兩個哈希碼的相似性。給定一個相似性矩陣S,則S在B*(*=v,t)下的條件概率為
(2)
如圖1所示,所提方法的主框架使用在跨模態(tài)哈希檢索中廣泛使用的CNN-F[9]網(wǎng)絡(luò)構(gòu)建圖像網(wǎng)絡(luò)。原始的CNN-F網(wǎng)絡(luò)包含5個卷積層(C1~C5)和三個全連接層(F6~F8)。該方法設(shè)計Ftotal替換掉F8,并且添加了兩個全連接層Fp和Fc。Ftotal、Fp和Fc擁有相同數(shù)量的神經(jīng)元節(jié)點D,目的是獲得圖像特征Itotal,圖像模態(tài)私有表示Ip和圖像模態(tài)共享表示Ic。在這里通過相減操作,將Itotal-Ip輸入Fc,得到圖像模態(tài)共享表示Ic。在Fc之后,利用Fh作為哈希層,用來將學(xué)習(xí)到的圖像模態(tài)共享表示嵌入到低維漢明空間。針對文本網(wǎng)絡(luò),使用了多層感知機來提取文本特征。類似于圖像網(wǎng)絡(luò),Mtotal、Mp和Mc被設(shè)計用來獲取文本特征Ttotal、文本模態(tài)私有表示Tp以及文本模態(tài)共享表示Tc。類似于Fh、Mh為哈希層,將文本模態(tài)共享表示嵌入到低維漢明空間以生成文本的哈希碼。記f(vi;Θv)和g(ti;Θt)為圖像樣本vi和文本樣本ti經(jīng)由深度神經(jīng)網(wǎng)絡(luò)分別學(xué)到的特征,其中Θv表示圖像網(wǎng)絡(luò)的參數(shù),Θt表示文本網(wǎng)絡(luò)的參數(shù)。
為了得到具有判別力的模態(tài)共享表示Ic和Tc,采用交替優(yōu)化策略并使用Kullback-Leibler散度對Ic和Tc進行約束。因此衡量約束兩個模態(tài)的模態(tài)共享表示的損失函數(shù)Lcom可以定義為
(3)
其中,DKL(PC‖QC)是Ic和Tc數(shù)據(jù)分布之間的Kullback-Leibler散度。Ic和Tc概率分布可以定義為
(4)
因為Kullback-Leibler散度是對概率分布的非對稱度量,需要定義DKL(PC‖QC)來衡量Tc和Ic數(shù)據(jù)分布之間的距離。由于一對相似的圖像和文本數(shù)據(jù)共享同樣的語義標(biāo)簽,即它們的模態(tài)共享表示也應(yīng)該共享同樣的語義標(biāo)簽并受其監(jiān)督,因此多類標(biāo)損失函數(shù)Lcls可以被定義為
(5)
其中,Lc是交叉熵損失函數(shù),l是數(shù)據(jù)對應(yīng)的語義類標(biāo)向量。將式(4)和式(5)合并之后,便可得到模態(tài)共享表示的總損失L1:
(6)
其中,α是權(quán)重系數(shù)。
在哈希碼學(xué)習(xí)過程中,F(xiàn)h和Mh將Ic和Tc映射到低維漢明空間來獲得圖像和文本的哈希碼,則圖像和文本的成對損失Lp可以被定義為
(7)
(8)
其中,Bv=sign(Hv),Bt=sign(Ht)。在理想情況下,圖像的哈希碼應(yīng)該和文本的哈希碼是相同的,即Bv=Bt=B。Hv和Ht實際上是Bv和Bt的連續(xù)松弛變量,因此S中的相似性將保存在Bv和Bt內(nèi)。結(jié)合式(7)和式(8),便可得到哈希學(xué)習(xí)過程總損失函數(shù)L2為
(9)
其中,β是權(quán)重系數(shù)。綜合以上分析,所提方法的總損失函數(shù)為
(10)
為了獲得準(zhǔn)確的哈希碼,使用交替優(yōu)化的方式最小化公式(10)。
在優(yōu)化過程中采用交替優(yōu)化方式來訓(xùn)練模型。每次更新模型一部分參數(shù)的時候會保持另外一部分參數(shù)固定不變。首先通過L1訓(xùn)練圖像網(wǎng)絡(luò),使用自適應(yīng)動量估計優(yōu)化器(Adam)優(yōu)化網(wǎng)絡(luò),初始學(xué)習(xí)率設(shè)為10-4;其次通過BP算法更新網(wǎng)絡(luò)參數(shù)。在訓(xùn)練完圖像網(wǎng)絡(luò)后,設(shè)置文本網(wǎng)絡(luò)的初始學(xué)習(xí)率為10-3,其他部分采用相同的優(yōu)化設(shè)置。在學(xué)習(xí)模態(tài)共享表示之后,通過L2訓(xùn)練哈希碼的學(xué)習(xí)。在該步驟中,圖像和文本網(wǎng)絡(luò)均采用隨機梯度下降法優(yōu)化圖像網(wǎng)絡(luò),初始學(xué)習(xí)率設(shè)為0.02,并且每隔40次迭代學(xué)習(xí)率衰減為原來的1/10,使用BP算法更新網(wǎng)絡(luò)參數(shù)。
本實驗采用了跨模態(tài)檢索算法最常用的3個數(shù)據(jù)集:MIRFLICKR-25K、IAPRTC-12以及NUS-WIDE。數(shù)據(jù)集的劃分方式與文獻[9]的保持一致。本實驗在一臺雙NVIDIA TITAN X顯卡的機器上展開,并使用深度框架Tensorflow來完成網(wǎng)絡(luò)框架的搭建和測試。
2.2.1 評價準(zhǔn)則
在這一部分針對兩種跨模態(tài)檢索方式進行評估(圖像文本檢索以及文本圖像檢索),即通過給出查詢圖像,檢索到與之相關(guān)的文本數(shù)據(jù)以及給出查詢文本,檢索到與之相關(guān)的圖像數(shù)據(jù)。為了合理地評估所提的算法模型,采取兩種廣泛使用的評價準(zhǔn)則:漢明距離排序和哈希查詢。這兩種查詢一般采用平均精度均值(Mean Average Precision,MAP)與精度-召回(Precision-Recall,PR)曲線進行度量。
為了計算平均精度均值,首先需要計算平均精度。給定一組查詢數(shù)據(jù)在檢索數(shù)據(jù)中進行查詢,可以得到檢索結(jié)果的排序列表R,則平均精度Pɑ可以定義為
(11)
其中,N是檢索數(shù)據(jù)中與查詢數(shù)據(jù)相關(guān)的數(shù)據(jù)數(shù)量;p(r)表示在查詢排序結(jié)果中前組數(shù)據(jù)中是否存在與查詢數(shù)據(jù)相關(guān)的檢索數(shù)據(jù),即它們至少擁有一組相同的語義信息。當(dāng)p(r)=1時,表示查詢排序結(jié)果中前組數(shù)據(jù)中存在與查詢數(shù)據(jù)相關(guān)的檢索數(shù)據(jù);反之,p(r)=0,則表示不存在。在計算完所有查詢數(shù)據(jù)平均精度之后取平均,即可得到MAP值。通常來說,MAP代表跨模態(tài)檢索的性能,一種算法的MAP值越高,代表這種算法性能越好。在實驗中,針對所有數(shù)據(jù)集,取R=50。
PR曲線反映了不同召回率下的檢索精度,可以通過在一定范圍內(nèi)改變被檢索數(shù)據(jù)的漢明半徑來計算,可以有效地評估算法的正確率和召回率。
2.2.2 對比方法
實驗中使用了7種當(dāng)前最先進的跨模態(tài)檢索方法來對比所提出的深度共性保持哈希算法(包括5種淺層算法和2種深度算法)。為了對比的公平性,所有淺層算法均使用基于ImageNet預(yù)訓(xùn)練的CNN-F網(wǎng)絡(luò)提取的圖像特征作為輸入。
2.3.1 漢明距離排序
表1列出了在MIRFLICKR-25K、IAPRTC-12以及NUS-WIDE這3個數(shù)據(jù)集上基于CNN-F特征的MAP值。
表1 3個數(shù)據(jù)集上基于CNN-F特征的MAP值
表1中,“I→T”代表查詢數(shù)據(jù)是圖像數(shù)據(jù),檢索數(shù)據(jù)是文本數(shù)據(jù);“T→I”代表查詢數(shù)據(jù)是文本數(shù)據(jù),檢索數(shù)據(jù)是文本數(shù)據(jù)。針對這3個數(shù)據(jù)集評估3種長度的哈希碼:16 bit,32 bit和64 bit。對于傳統(tǒng)淺層算法來說,基于深度學(xué)習(xí)的算法一般來說性能會更優(yōu)越,這是因為深度端到端網(wǎng)絡(luò)會根據(jù)目標(biāo)來調(diào)整網(wǎng)絡(luò)中的參數(shù),這樣會根據(jù)任務(wù)自適應(yīng)提取更具有判別性的特征。因此所提方法性能優(yōu)于表1中的所有淺層算法。同樣是基于深度的跨模態(tài)哈希算法,該方法同樣比DCMH[7]方法的性能要好。但是DCMH沒有明確探究兩種模態(tài)能夠表示同一語義的本質(zhì)原因,沒有對如何跨越語義鴻溝做出解釋。而文中方法將兩種模態(tài)數(shù)據(jù)分為共享和私有子空間表示,因為相同語義的部分一定存在于兩種模態(tài)的共享表示之中,所以這樣處理可以讓語義信息在特征信息提取的時候更加集中。
2.3.2 哈希查詢
在查詢階段,通過給定任意漢明半徑返回的檢索數(shù)據(jù)計算PR曲線。實驗中將漢明半徑的范圍設(shè)置在[0,64]之間,每次增加的步長為1。如圖2所示,在3個數(shù)據(jù)集上計算并繪制了PR曲線,碼長為64 bit。根據(jù)圖2中所示,圖2(a)和圖2(d)是在MIRFLICKR-25K圖像檢索文本以及文本檢索圖像的PR曲線,圖2(b)、(e)和圖2(c)、(f)分別是IAPRTC-12和NUS-WIDE兩個模態(tài)互相檢索的PR曲線。由圖2可知,在召回率和準(zhǔn)確率的雙重指標(biāo)考核下,所提方法仍然優(yōu)于其他對比方法。
(a) 圖像檢索文本(MIRFLICKR-25K)
(b) 圖像檢索文本(IAPRTC-12)
(c) 圖像檢索文本(NUS-WIDE)
(d) 文本檢索圖像(MIRFLICKR-25K)
(e) 文本檢索圖像(IAPRTC-12)
(f) 文本檢索圖像(NUS-WIDE)
表2 在IAPRCT-12數(shù)據(jù)集上Top-500的MAP值
在與CMDVH[8]和SSAH[11]的對比過程中,為了公平比較,實驗中采用和CMDVH文中相同的數(shù)據(jù)集設(shè)置。表2列出了文中方法與這兩個方法在IAPRTC-12上Top-500的MAP值。由表2可知,文中方法的性能依然優(yōu)于當(dāng)前最先進的方法。
實驗進一步研究了參數(shù)α以及β對所提方法的影響。圖3中(a)、(b)表示了α和β在IAPRTC-12數(shù)據(jù)集碼長為16 bit、Top-50MAP下對模型性能的影響。當(dāng)改變α或β的值時,保持另外一個參數(shù)不變。由圖3可知,當(dāng)α在1附近時,模型的性能最好;當(dāng)β在0.01附近時,圖像檢索文本精度最高;當(dāng)β在1附近時,文本檢索圖像的精度最高。綜合圖像檢索文本以及文本檢索圖像兩個任務(wù),當(dāng)β在1附近時,模型的綜合性能最好。綜上所述:實驗過程中設(shè)置α=1,β=1為模型的超參數(shù)。
(a) α參數(shù)分析
(c) 圖像檢索文本
(d)文本檢索圖像
圖3(c)、(d)表示,由所提方法和DCMH的訓(xùn)練效率的對比可知,在相同的訓(xùn)練時長下,所提方法可以獲得更高的精度,因此證明該方法可以大幅度節(jié)約訓(xùn)練時間。當(dāng)用固定方式來引導(dǎo)網(wǎng)絡(luò)學(xué)習(xí)模態(tài)共享表示時,網(wǎng)絡(luò)的學(xué)習(xí)目標(biāo)變得很明確,這意味著網(wǎng)絡(luò)學(xué)習(xí)過程會加速,訓(xùn)練效率會得到提升。
筆者提出了一個新型的跨模態(tài)哈希檢索算法,即深度共性保持哈希。該方法可以通過端到端的網(wǎng)絡(luò)對文本和圖像進行編碼。為了將原始數(shù)據(jù)之間的相似性在哈希學(xué)習(xí)過程中保留下來,該方法使用數(shù)據(jù)分布約束以及多類標(biāo)語義信息約束來充分挖掘模態(tài)共享表示。另外,在哈希學(xué)習(xí)階段,則使用了成對損失和量化損失來約束緊湊哈希碼的生成。在3個通用的數(shù)據(jù)集上進行大量實驗,結(jié)果表明,所提方法獲得了顯著的性能提升。