劉 爽, 喬 晗, 徐清振
(華南師范大學(xué)計(jì)算機(jī)學(xué)院, 廣州 510631)
跨模態(tài)檢索的目標(biāo)是實(shí)現(xiàn)不同模態(tài)數(shù)據(jù)的檢索[1],即采用一種模態(tài)的數(shù)據(jù)來檢索另一種模態(tài)的數(shù)據(jù). 近年來,隨著各種模態(tài)數(shù)據(jù)的海量增長(zhǎng),跨模態(tài)檢索引起了學(xué)術(shù)界和工業(yè)界的興趣. 由于不同模態(tài)的數(shù)據(jù)存在異構(gòu)鴻溝,如何直接度量不同模態(tài)數(shù)據(jù)的相似性成為跨模態(tài)檢索的挑戰(zhàn).
常用的彌補(bǔ)異構(gòu)鴻溝的方法是表征學(xué)習(xí),其目標(biāo)是尋找一個(gè)公共表征空間,不同模態(tài)的數(shù)據(jù)在此空間中能夠直接度量. 學(xué)習(xí)這樣的公共表征空間存在大量的方法[2-7],例如,具有代表性的典型相關(guān)性分析(CCA)[2]、多標(biāo)簽的典型性相關(guān)分析(MCCA)[3]和多視圖辨別分析(MvDA)[4]等. 然而,這些方法難以表示數(shù)據(jù)的復(fù)雜關(guān)系. 受到深度神經(jīng)網(wǎng)絡(luò)應(yīng)用于單模態(tài)檢索的啟發(fā),大量的基于深度學(xué)習(xí)的跨模態(tài)檢索方法[1,8-12]利用網(wǎng)絡(luò)的非線性能力來學(xué)習(xí)公共表征空間.
現(xiàn)有的表征學(xué)習(xí)可分為基于二進(jìn)制的表征學(xué)習(xí)和基于實(shí)值的表征學(xué)習(xí). 基于二進(jìn)制的表征學(xué)習(xí)通常將不同模態(tài)的數(shù)據(jù)映射到公共的二進(jìn)制漢明空間,其檢索速度快,但精度低[13]. 基于實(shí)值的表征學(xué)習(xí)包含無監(jiān)督的方法、成對(duì)的方法和監(jiān)督的方法. 其中:無監(jiān)督的方法利用不同模態(tài)數(shù)據(jù)的相關(guān)性來學(xué)習(xí)公共表征空間,典型的方法有深度典型相關(guān)分析(DCCA)[8]和深度典型相關(guān)自編碼(DCCAE)[9]. 成對(duì)的方法通過構(gòu)造樣本對(duì)來挖掘跨模態(tài)樣本的信息,典型的方法包含跨媒體多重深度神經(jīng)網(wǎng)絡(luò)(CMDN)[10]和跨模態(tài)相關(guān)學(xué)習(xí)(CCL)[11]. 監(jiān)督的方法利用類別標(biāo)簽來學(xué)習(xí)更有辨別性的公共表征空間,如:KAN等[4]提出了多視圖辨別分析(MvDA)方法,通過聯(lián)合求解多個(gè)線性變換實(shí)現(xiàn)有辨別性的公共表征空間;WANG等[1]基于監(jiān)督的方法提出了對(duì)抗學(xué)習(xí)的方法(ACMR);PENG和QI[14]提出跨模態(tài)生成對(duì)抗網(wǎng)絡(luò)(CM-GANs)來建模跨模態(tài)的聯(lián)合分布. 然而,現(xiàn)有的成對(duì)或三元組的方法構(gòu)造了高度冗余且信息量少的樣本對(duì),不利于公共表征空間的學(xué)習(xí).
針對(duì)以上問題,本文提出了基于批損失的跨模態(tài)檢索方法(BLCMR),從模態(tài)內(nèi)和模態(tài)間2個(gè)維度進(jìn)行優(yōu)化. 具體而言,為了保持模態(tài)內(nèi)不同類別樣本的可分性,引入線性投影器來預(yù)測(cè)樣本的類別,利用交叉熵函數(shù)來計(jì)算模態(tài)內(nèi)的分類損失;為了減小相同類別跨模態(tài)的樣本的差異性,基于樣本相似性的迭代方法修正預(yù)測(cè)的類別標(biāo)簽,并采用批損失函數(shù)計(jì)算相同類別樣本的相似性. 最后,在3個(gè)公開的數(shù)據(jù)集上進(jìn)行對(duì)比實(shí)驗(yàn)、消融實(shí)驗(yàn)和可視化實(shí)驗(yàn),分析BLCMR方法的檢索性能.
由于不同模態(tài)的數(shù)據(jù)具有不同的統(tǒng)計(jì)特性而無法直接比較,因此,本文將不同模態(tài)的數(shù)據(jù)投影到公共表征空間. 在此公共表征空間,不同模態(tài)的數(shù)據(jù)可以直接度量. BLCMR方法的目標(biāo)是學(xué)習(xí)這樣的公共表征空間,即學(xué)習(xí)最優(yōu)的映射函數(shù)f(ui;ωui)和f(ti;ωti). 在公共表征空間中,圖像和文本分別被映射為pi=f(ui;ωui)d和qi=f(ti;ωti)d,所有實(shí)例的圖像表征矩陣、文本表征矩陣、標(biāo)簽表征矩陣分別表示為P=(p1,p2,…,pn)Tn×d、Q=(q1,q2,…,qn)Tn×d、S=(sic)n×mn×m. 圖像表征矩陣和文本表征矩陣拼接得到矩陣E=(p1,p2,…,pn,q1,q2,…,qn)T2n×d,記為E=(e1,e2,…,ei,…,e2n)T2n×d.
下面給出BLCMR方法的總體框架和目標(biāo)函數(shù).
BLCMR方法的框架包括圖像和文本2個(gè)網(wǎng)絡(luò)模塊(圖1). 圖像網(wǎng)絡(luò)模塊以圖像為輸入,經(jīng)過特征提取模塊來提取4 096維的圖像特征,以此作為圖像的原始高層語義表示,進(jìn)行公共表征空間的學(xué)習(xí),其中,特征提取模塊采用ImageNet上預(yù)訓(xùn)練的VGG19Net的fc-7層來提取圖像特征. 文本網(wǎng)絡(luò)模塊以文本為輸入,經(jīng)過特征提取模塊獲取300維的文本特征,以此作為文本的原始高層語義表示,進(jìn)行公共表征空間的學(xué)習(xí),其中,特征提取模塊利用經(jīng)過谷歌300W新聞?wù)Z料庫(kù)預(yù)訓(xùn)練的詞向量模型[15]將每個(gè)輸入的文本表征為k維的特征向量,接著,通過Sentence CNN[16]來提取文本特征. 提取的圖像特征和文本特征分別接入3個(gè)全連接層進(jìn)行公共表征空間的學(xué)習(xí),為了確保能夠?qū)W習(xí)統(tǒng)一的公共表征空間,本文共享最后一個(gè)全連接層的權(quán)重,并設(shè)置神經(jīng)元的數(shù)量為1 024個(gè).
圖1 BLCMR方法的總體框架
BLCMR方法的目標(biāo)是學(xué)習(xí)一個(gè)公共表征空間,在此空間中,相同語義類別的數(shù)據(jù)盡可能靠近,不同語義類別的數(shù)據(jù)盡可能遠(yuǎn)離. 因此,最小化標(biāo)簽空間的分類損失函數(shù)L1、批損失函數(shù)L2和圖像文本對(duì)的距離損失函數(shù)L3,從而構(gòu)造BLCMR方法的總損失函數(shù):
L=αL1+L2+βL3,
其中,超參α、β分別決定了L1、L3對(duì)總損失函數(shù)的貢獻(xiàn).
1.2.1 標(biāo)簽空間的分類損失 為了保留公共表征空間中不同類別樣本的區(qū)分性,本文引入線性分類器[17]來預(yù)測(cè)樣本的類別. 該分類器以公共表征空間中的圖像和文本為輸入,輸出樣本數(shù)據(jù)的m維的類別標(biāo)簽. 本文利用下式來計(jì)算相同模態(tài)(圖像和文本)的分類損失[17]:
(1)
1.2.2 批損失 深度度量學(xué)習(xí)的損失的計(jì)算經(jīng)常利用基于嵌入距離的損失函數(shù)[18],較少采用分類損失函數(shù). 對(duì)于分類網(wǎng)絡(luò)而言,正確的分類很重要. 在分類網(wǎng)絡(luò)中,盡管每個(gè)樣本獨(dú)立地分類,仍可能存在相同類別的樣本分類正確、在公共表征空間卻距離較遠(yuǎn)的情況. 因此,當(dāng)以一批樣本而不是單個(gè)樣本為單位進(jìn)行分類時(shí),屬于同一類別的圖像和文本具有相似的嵌入,分類損失仍可用于深度度量學(xué)習(xí)[19]. 由此,本文利用批損失來保持相同類別跨模態(tài)樣本的相似性,即基于批處理樣本的相似性和網(wǎng)絡(luò)的分類信息進(jìn)行多次迭代來修正分類結(jié)果. 具體而言:首先,初始化分類結(jié)果;然后,基于跨模態(tài)樣本的相似性矩陣來迭代地修正分類結(jié)果;最后,計(jì)算批損失.
(1)初始化分類矩陣和相似性矩陣.
①初始化softmax層輸出的標(biāo)簽矩陣. 首先,獲取softmax層輸出的標(biāo)簽矩陣H(0)=(hic)2n×m2n×m,H(0)由圖像標(biāo)簽矩陣HImg=n×m和文本標(biāo)簽矩陣HTxt=n×m縱向拼接而成. 然后,隨機(jī)選取一些點(diǎn)作為錨點(diǎn),利用錨點(diǎn)的獨(dú)熱(one-hot)標(biāo)簽來代替H(0)中的標(biāo)簽向量,通過利用樣本真實(shí)的類別標(biāo)簽來代替預(yù)測(cè)標(biāo)簽,引導(dǎo)其他的樣本正確分類. 錨點(diǎn)的one-hot標(biāo)簽在迭代過程中保持不變,不會(huì)直接影響損失函數(shù).
②計(jì)算公共表征空間中跨模態(tài)批處理樣本的相似性矩陣. 相似性矩陣R=(rij)2n×2n2n×2n由批量樣本的相似性構(gòu)成,樣本的相似性是指圖像與圖像、圖像與文本、文本與圖像以及文本與文本的相似性. 本文利用皮爾遜相關(guān)系數(shù)rij度量樣本的相似性,定義如下:
(2)
其中,ei、ej為公共表征空間中的圖像、文本表征,Cov為協(xié)方差,Var為方差;當(dāng)i=j時(shí),rij=0.
(2)考慮到相似樣本的類別應(yīng)相同,本文利用相似性矩陣對(duì)標(biāo)簽矩陣H(0)進(jìn)行迭代修正.
首先,定義支持矩陣為:
(3)
其中,第i個(gè)元素gic反映了當(dāng)前批量樣本對(duì)第i個(gè)樣本屬于類別c的支持,gic越大,表明第i個(gè)樣本屬于類別c的可能性越大.
然后,對(duì)于初始的標(biāo)簽矩陣H(0),利用下式進(jìn)行迭代修正:
(4)
其中,分母為歸一化因子,保證修正后的矩陣每行之和為1. 這可以看作進(jìn)化博弈論中的多種群復(fù)制動(dòng)態(tài)模型[20],相當(dāng)于非線性松弛過程[21-22].gic越大,則hic越大,樣本屬于類別c的可能性越大.
最后,為了用矩陣簡(jiǎn)化表示,式(4)可以改寫為:
(5)
其中,1為m維的全一的向量,⊙為哈達(dá)瑪矩陣乘積.
(3)當(dāng)?shù)^程達(dá)到最大次數(shù)時(shí),本文利用本質(zhì)為交叉熵?fù)p失函數(shù)的批損失函數(shù)來計(jì)算樣本的分類錯(cuò)誤:
(6)
其中,si為樣本的真實(shí)標(biāo)簽,ha、hb分別為圖像、文本的預(yù)測(cè)標(biāo)簽. 損失越小,同一類別的跨模態(tài)樣本嵌入到一起的可能性越大,減少了跨模態(tài)樣本的差異.
1.2.3 圖像文本對(duì)的距離損失 為了減小跨模態(tài)差異,本文最小化公共表征空間中的圖像文本對(duì)之間的距離,損失函數(shù)如下:
(7)
為了驗(yàn)證BLCMR方法的有效性,首先,在Wikipedia[23]、Pascal Sentence[24]和NUS-WIDE-10k[25]3個(gè)公開的數(shù)據(jù)集上,將BLCMR方法與13種經(jīng)典的方法進(jìn)行對(duì)比實(shí)驗(yàn);然后,在3個(gè)數(shù)據(jù)集上,對(duì)BLCMR方法進(jìn)行消融實(shí)驗(yàn);最后,在Wikipedia數(shù)據(jù)集上進(jìn)行BLCMR方法的可視化實(shí)驗(yàn).
2.1.1 數(shù)據(jù)集的劃分 首先,遵循FENG等[26]的規(guī)則,將Wikipedia、Pascal Sentence和NUS-WIDE-10k數(shù)據(jù)集劃分為訓(xùn)練集和測(cè)試集(表1).
表1 數(shù)據(jù)集的劃分Table 1 The partitioning of datasets
2.1.2 參數(shù)設(shè)置 對(duì)于批量樣本,本文設(shè)置批處理數(shù)據(jù)B中實(shí)例數(shù)n=100,Wikipedia、Pascal Sentence、NUS-WIDE-10k數(shù)據(jù)集的類別數(shù)分別為mwiki=10、mpascal=20、mnus=10,每類的實(shí)例數(shù)分別為hwiki=10、hpascal=5、hnus=10. 實(shí)驗(yàn)過程中,本文提取4 096維的圖像特征和300維的文本特征,選定超參α=1和β=0.1,同時(shí),采用Adam優(yōu)化器[27]進(jìn)行梯度優(yōu)化.
2.1.3 評(píng)估指標(biāo) mAP指標(biāo)[28]表示檢索結(jié)果的平均精度均值,是跨模態(tài)檢索的典型的評(píng)價(jià)指標(biāo),因此,本文采用該指標(biāo)來評(píng)估檢索的性能. 考慮到跨模態(tài)檢索包含圖像和文本的相互檢索:圖像檢索文本和文本檢索圖像,本文采用圖像檢索文本的mAP(Img2Txt)、文本檢索圖像的mAP(Txt2Img)和平均檢索的mAP(Avg)來評(píng)估跨模態(tài)檢索的性能,其中,Avg為圖像和文本相互檢索的mAP的均值.
在 3個(gè)數(shù)據(jù)集上,將BLCMR方法與13種算法進(jìn)行對(duì)比,其中包括 5種傳統(tǒng)的方法(CCA[2]、MCCA[3]、MvDA[4]、MvDA-VC[5]和JRL方法[6])和8種基于深度學(xué)習(xí)的方法(DCCA[8]、DCCAE[9]、CMDN[10]、CCL[11]、BDTR[28]、ACMR[1]、GSS-SL[12]和CM-GANs方法[14]).
由對(duì)比結(jié)果(表2)可知:(1)在Wikipedia、Pascal Sentence、NUS-WIDE-10k數(shù)據(jù)集上,BLCMR方法的Img2Txt與Txt2Img的差值分別為0.028、0.004、0.024,表明Avg能更好地反映檢索結(jié)果. (2)BLCMR方法的整體檢索效果在14種算法中是較好的. 其中,在Wikipedia數(shù)據(jù)集上,BLCMR方法的Avg雖然僅在14種算法中排第二(0.493),但比CM-GANs方法的僅低0.001,且BLCMR方法在Pascal Sentence數(shù)據(jù)集上的Avg比CM-GANs方法的高0.085;在Pascal Sentence數(shù)據(jù)集上,BLCMR方法的Avg最高(0.689),比并列第二的MCCA、DCCA方法的高0.012;在NUS-WIDE-10k數(shù)據(jù)集上,BLCMR方法的Avg最高(0.594),比并列第二的JRL、ACMR方法的高0.002. (3)在Wikipedia、Pascal Sentence、NUS-WIDE-10k數(shù)據(jù)集上,BLCMR方法的Avg比ACMR方法的分別高0.038、0.028、0.002,結(jié)果表明BLCMR方法優(yōu)于ACMR方法.
表2 跨模態(tài)檢索的性能Table 2 The performance of cross-modal retrieval
2.3.1 消融實(shí)驗(yàn) BLCMR方法的總損失函數(shù)包含標(biāo)簽空間的分類損失函數(shù)L1、批損失函數(shù)L2和圖像文本對(duì)的距離損失函數(shù)L3. 為了探究各個(gè)部分對(duì)BLCMR方法的貢獻(xiàn),本文評(píng)估了L1、L2和L3單獨(dú)作用的效果以及BLCMR方法作用的結(jié)果.
由消融實(shí)驗(yàn)結(jié)果(表3)可知:L1、L2和L3對(duì)BLCMR方法的檢索性能都有貢獻(xiàn),且三者的聯(lián)合作用高于單獨(dú)作用;L1的貢獻(xiàn)最高,說明L1考慮了數(shù)據(jù)類別的區(qū)分性,有效地提高了檢索性能.
表3 BLCMR方法及其L1、L2和L3的檢索性能Table 3 The retrieval performance of the BLCMR method and its L1, L2 and L3
2.3.2 收斂性實(shí)驗(yàn) 在Wikipedia數(shù)據(jù)集上進(jìn)行總損失收斂性實(shí)驗(yàn),由結(jié)果(圖2)可知,總損失值隨著學(xué)習(xí)步長(zhǎng)的增大而持續(xù)減小,直到學(xué)習(xí)步長(zhǎng)大約為2 000時(shí),總損失值趨于穩(wěn)定,表明本文采用的Adam隨機(jī)梯度下降優(yōu)化算法是有效的.
圖2 Wikipedia數(shù)據(jù)集上總損失值的變化曲線
2.3.3 公共表征空間的可視化實(shí)驗(yàn) 為了直觀地觀察算法的效果,本文利用t-SNE[29]降維技術(shù),在Wikipedia數(shù)據(jù)集上將圖文初始化空間和學(xué)習(xí)的公共表征空間展示在二維坐標(biāo)系上. 由初始的圖像樣本、文本樣本以及圖像和文本樣本(圖3A、B、C)可知,初始的圖像、文本樣本分布較稀疏,不利于圖像和文本的檢索. 由公共表征空間的圖像表征、文本表征、圖像和文本表征(圖3D、E、F)可知,公共表征空間中的圖像、文本樣本間的距離近,說明BLCMR方法能夠有效地減小跨模態(tài)樣本之間的差異.
圖3 Wikipedia數(shù)據(jù)集上的圖像、文本樣本的可視化
針對(duì)現(xiàn)有的基于成對(duì)或三元組約束的方法構(gòu)造了高度冗余且信息量少的樣本對(duì)的問題,本文提出基于批損失的跨模態(tài)檢索方法(BLCMR):引入批損失,考慮了批量樣本的相似性,有效地保持了跨模態(tài)樣本的不變性;為了區(qū)分模態(tài)內(nèi)樣本的語義類別信息,修正了分類結(jié)果,從而減少了分類錯(cuò)誤. BLCMR方法與13種經(jīng)典的方法在3個(gè)數(shù)據(jù)集上的實(shí)驗(yàn)結(jié)果表明:BLCMR方法能夠提升最終的檢索精度,減小跨模態(tài)樣本之間的嵌入距離,其中,標(biāo)簽空間的分類損失函數(shù)、批損失函數(shù)和圖像文本對(duì)的距離損失函數(shù)對(duì)BLCMR方法的檢索性能有不同程度的貢獻(xiàn);Wikipedia數(shù)據(jù)集上的圖像、文本樣本的可視化結(jié)果直觀地表明BLCMR方法能夠減小跨模態(tài)樣本之間的差異.
在下一步的工作中,將探索模態(tài)間的優(yōu)化方案,改進(jìn)跨模態(tài)樣本的度量方法,以提高檢索精度.