康培培,林澤航,楊振國,張子同,劉文印
1.廣東工業大學 計算機學院,廣州 510006
2.香港理工大學 計算機學院,香港 999077
3.華南農業大學 數學與信息學院,廣州 510642
跨模態檢索旨在根據一個模態的查詢樣本(如文本),檢索與其相關的其他模態的樣本(如圖像),具有研究和應用價值[1]。例如,給定一段文本描述的語句,用于搜索其描述的語義場景圖像或視頻。由于各模態具有不同的數據表示,不同模態的樣本間并不能直接進行相似性比較。現有的跨模態檢索方法通常將各模態數據變換到潛在的共同空間,從而進行相似度比較。由于哈希表示能夠節省存儲空間,加快檢索速度,基于哈希表示的跨模態檢索引起廣泛關注[2]。
依據訓練過程中是否用到語義標簽,跨模態哈希方法分為無監督方法和有監督方法。無監督跨模態哈希方法在訓練過程中不依賴于語義標簽[3]。例如,Ding等人[4]提出聯合矩陣分解哈希(collective matrix factorization hashing,CMFH),對不同模態的數據進行聯合矩陣分解,學習統一的哈希編碼。Irie等人[5]提出交互共量化方法(alternating co-quantization,CCA-ACQ),從最小化各模態二值化誤差的角度提高跨模態檢索準確率。Zhou 等人[6]提出潛在語義稀疏哈希(latent semantic sparse hashing,LSSH),利用稀疏表示和矩陣分解探索多模態數據之間的相關性。
有監督的跨模態哈希方法將語義信息融合到哈希編碼中,所以能取得更好的檢索效果[7-8]。Lin等人[9]提出語義保持哈希(semantics-preserving hashing,SEPH),將語義相似矩陣作為監督信息,通過最小化KL 分布學習統一的哈希編碼,進而利用核邏輯回歸學習非線性哈希函數。Zhang等人[10]研究大規模數據背景下的有監督學習,提出語義相關性最大化方法(semantic correlation maximization,SCM)。Xu 等人[11]提出有鑒別力的跨模態哈希(discrete cross-modal hashing,DCH),通過線性投影矩陣將各模態數據投影到漢明空間,再將共同哈希編碼變換到語義空間,使學習的哈希編碼具有鑒別性。隨著神經網絡的發展,很多基于深度學習的跨模態方法成為研究的主流[12-13]。本文關注于研究語義結構保持哈希方法的有效性,未來會將其擴展到深度學習框架,進一步提高檢索準確率。
多數有監督的跨模態哈希方法以一種邏輯回歸的方式學習有鑒別力的哈希編碼[14],或者構造語義結構圖將語義信息融入哈希編碼[15]。然而,這些方法忽略了哈希函數的語義鑒別性。在檢索過程中,哈希函數將查詢樣本變換到漢明空間,通過與數據庫樣本的哈希編碼進行比對,返回檢索序列。在這一過程中,如果只是哈希編碼具有鑒別力,而哈希函數卻不能將新樣本變換為有鑒別力的哈希編碼,那么檢索效果也會受到很大影響。為了同時學習具有語義保持的哈希編碼和哈希函數,本文提出一種語義保持哈希方法(semantic preserving hash,SPH)用于跨模態檢索。通過引入兩個不同模態的哈希函數,本文將不同模態空間的樣本映射到共同的漢明空間。為使哈希編碼和哈希函數均具有較好的語義鑒別性,引入了語義結構圖,并結合局部結構保持的思想,將哈希編碼和哈希函數的學習融合到同一個框架,使兩者同時優化。在三個公開的多模態數據集上的實驗證明了該方法在跨模態檢索任務的有效性和優越性。本文的主要貢獻總結如下:
(1)本文提出SPH,將哈希編碼和哈希函數的學習融合到同一個框架,共同保持語義結構信息。
(2)本文為SPH 提出一種交替優化算法,通過迭代的方式學習離散哈希編碼。
(3)本文在三個數據集上進行大量實驗對比,驗證了SPH及優化算法的有效性。
此外,DCH 通過兩個線性映射函數U∈Rdx×K和V∈Rdy×K將兩個模態的數據映射到共同哈希編碼,并最小化各模態的投影誤差,用來學習各自模態的哈希函數。其目標函數為:
其中,μV和μT為懲罰參數,λ為正則化參數,||·||22為向量的L2范數,|||·||2F為矩陣的Frobenius范數。
假定W∈Rd×c為投影矩陣,將原始數據T投影到潛在的低維表示H,LPP整體的目標函數定義為:
本文的跨模態檢索關注于兩個模態,為了方便闡述,以文本和圖像兩種模態為例,框架圖如圖1 所示。本章后續部分先進行符號化的問題描述,而后介紹SPH的模型框架以及優化算法。
為了消除不同模態間的語義鴻溝,本文為圖像和文本兩種模態的數據學習共同的哈希編碼B。理想情況下,B應具有區分不同類別的特性,使得在檢索時更易檢索出同類的樣本,從而提高檢索準確率。為此,引入一個線性映射矩陣W∈RK×c,將哈希編碼映射到其對應的類別標簽,使其具有語義鑒別性,公式表示為:||·||F為矩陣的F范數。此外,為使圖像和文本數據得到共同的哈希編碼,本文為兩種模態的數據各學習一個哈希函數,即Hx(x)=sgn(UTx)和Hy(y)=sgn(VTy),用于將樣本在不同模態的表示變換到共同的哈希表示。考慮到符號函數sgn(·)難以優化的問題,這里對不同模態的數據直接線性變換并逼近于哈希表示,即:
這樣,第i個樣本所對應不同模態的數據表示即可變換到共同的哈希表示bi,從而進行跨模態檢索。然而,該過程忽略了樣本間的局部結構信息。直觀理解上,同一語義的樣本所擁有的哈希表示也應近似,而不同語義的樣本所擁有的哈希表示也應是遠離的。為此,本文引入一個表示樣本間語義關系的矩陣S={0,1}n×n,如果li=lj,則Sij=1,否則,Sij=0。借用局部保持投影的思想,本文令哈希編碼保持樣本間的語義關系:
當樣本oi與oj相似時,Sij=1,為使目標函數最小,會學習到相似的bi與bj,從而使哈希表示保持樣本間原有的語義結構關系。進一步地,為使新樣本也保持語義結構關系,希望哈希函數也具有語義鑒別性,即在學習過程中哈希函數與哈希編碼共同保持語義結構關系。所以,公式(6)變為:
當樣本oi與oj相似時,Sij=1,為使目標函數最小,會學習到相似的bi與UTxj、VTyj,從而將哈希函數融入語義結構保持的目標中,將新樣本變換到語義結構保持的潛在空間。此外,為降低模型復雜度,對各變換矩陣施加Frobenius 范數約束,總的目標函數表示為:
本文采用交替方向乘子法(alternating direction method of multipliers,ADMM)對目標函數進行優化,即交替地對每個變量分別求解,迭代優化至收斂到局部最優解。具體分為以下幾步:
步驟1 更新W
其中,I2∈Rdx×dx為單位矩陣,D為S對應的拉普拉斯矩陣。
步驟3 更新V
類似地,固定目標函數中其他變量,得到關于V的表達式:
其中,I3∈Rdy×dy為單位矩陣。
步驟4 更新B
類似地,固定目標函數中其他變量,得到關于B的表達式:
本文在三個公開數據集上進行實驗,分別為Wikipedia[17]、MIRFlickr[18]、和NUS-WIDE[18]。
Wikipedia為最常用的數據集之一,包含2 866 個樣本,分別屬于10個類中的某一類,每個樣本對應圖片和文本兩種模態的數據。實驗中,隨機選取2 173 個樣本作為訓練集和檢索數據庫,其余的693個樣本作為測試(查詢)集。每張圖像提取SIFT 特征表示為128 維的向量,文本經LDA處理后表示為10維向量。
MIRFlickr 包含25 000 個圖片,每個圖片有相應的詞語標簽作為其對應的文本數據,并且人工標注了24個類。剔除掉出現次數少于20 次的標簽,最終得到16 783 個樣本。隨機選取836 個樣本作為測試集,其余的樣本用于訓練和檢索。對于每個樣本,提取圖像的直方圖特征,表示為150維的向量,文本用索引向量表示,然后用PCA降維到500維。
NUS-WIDE 包含269 648 個圖片和對應的425 059個詞語標簽,共劃分為81 個語義類別。因為有些類別的樣本較少,選取前10個大類的樣本用于本實驗,所以共包含186 577個樣本。其中,隨機選取1 866個樣本作為測試集,其余的作為訓練集和檢索集。提取500維的SIFT 特征向量作為圖像表示,1 000 維的標簽索引向量作為文本表示。由于NUS-WIDE 數據量較大,本文采用分批的訓練方式進行學習。
本文采用網格搜索法確定各參數值,并在三個數據集上進行兩種模態間的相互檢索任務,即圖像檢索文本(Img2Txt)和文本檢索圖像(Txt2Img)。采用信息檢索普遍采用的評價指標—均值平均準確率(mean average precision,MAP)對方法進行評測。每個查詢樣本都會得到一個平均準確率(average precision,AP),而所有查詢樣本AP的均值則為MAP。AP的計算公式為:
其中,q為查詢樣本,R為數據庫中與該樣本語義相關的樣本數,Rp為返回的前p個樣本中與q實際相關的個數。如果第p個樣本與q語義相關,則rel(p)=1,否則rel(p)=0。此外,也采用Precision@scope 的評價指標對方法進行測評。Precision@scope 曲線展示了檢索準確率隨檢索返回樣本數量變化的規律,其值越大,表明方法取得的效果越好。
表1報告了各數據集上SPH與各方法關于MAP的對比情況,包含了哈希編碼長度從16 位到128 位,在兩個檢索任務(Img2Txt及Txt2Img)的MAP 比較。從表1中,有以下發現:

表1 各數據集上MAP的對比情況Table 1 MAP comparison on all datasets
(1)在所有數據集上,MAP隨哈希編碼的長度增加而有所提高。這是因為,較長的哈希編碼可以記錄更多的識別信息。
(2)相較于其他對比方法,SPH 在Wikipedia 和MIRFlickr 數據集上取得最好的檢索結果,原因在于SPH將哈希編碼和哈希函數的學習融合到一個框架,使其共同保持語義結構。
(3)相比于其他方法,DCH和SPH取得較好的檢索結果,其優勢在于它們將哈希編碼映射到語義標簽,使哈希編碼具有語義鑒別性。另外,SPH 比DCH 的檢索效果更好,原因在于SPH使哈希編碼和哈希函數進一步保持了語義結構關系。
(4)SPH在NUS-WIDE數據集上并不總是取得最好的結果,其原因可能為NUS-WIDE數據集過于龐大,學習過程中采用分批的訓練方式導致哈希編碼不能保持整體的語義結構信息,這也成為未來工作中需要解決的問題。
為了進行更深入的對比研究,圖2 展示了在Wikipedia 和MIRFlickr 兩個數據集上各方法關于Img2Txt和Txt2Img 任務的Precision@scope 曲線的對比情況,其中哈希編碼固定為32 位,scope 表示檢索返回的樣本數。由圖可見,本文方法SPH 在Img2Txt 和Txt2Img任務上總能取得最高的檢索準確率,特別是在MIRFlickr 數據集上,取得了更顯著的效果。這一結果的根本原因在于,SPH 借用局部結構保持的思想,將哈希編碼和哈希函數的學習融合到同一個框架,使兩者同時優化,共同保持語義結構,從而提高哈希編碼的語義鑒別能力。
圖3 展示了Wikipedia 和MIRFlickr 數據集上SPH的目標函數值隨訓練迭代次數而變化的曲線。由圖3可見,兩個數據集上,SPH 的目標函數值隨著迭代次數的增加而迅速下降,并在數次迭代后趨于平衡,收斂于局部最小值。這一結果體現了本文優化方法的快速收斂性,證明了其有效性。
本文將局部結構保持的思想用于跨模態的語義結構保持,并提出語義結構保持哈希的方法(SPH),將其應用于跨模態檢索。SPH通過構造語義結構圖,把哈希編碼和哈希函數的學習融合到同一個框架,并對兩者同時優化,使其具有語義鑒別性。本文在三個多模態數據集上對SPH進行評估,其效果廣泛優于現有的線性跨模態檢索方法,且具有良好的收斂性。后續工作將會探索將SPH的思想擴展到基于深度學習的框架,探討其在深度框架下的優化方法,進一步提高檢索準確率。另外,在大規模數據集下保持數據的語義結構也在未來工作范疇內。