梁林清,馮士華
(貴州師范大學數學科學學院,貴陽 550025)
隨著社交媒體的發展和普及,互聯網上產生了大量的多媒體數據,如圖像、文本、視頻等。大量多模態數據的產生導致單一模態的數據處理方法已不能滿足人們的需求,而是需要跨不同模態分析這些數據。例如從一種模態的數據出發,查詢與其語義相關的另一種模態數據,即跨模態檢索。由于不同模態數據存在異構鴻溝與語義鴻溝,跨模態檢索面臨的關鍵挑戰是如何彌合語義差距,以便獲取來自不同模態的異構數據之間的語義相關性。
為解決這些問題,直觀的思路是利用異構數據學習一個共同的空間,并在此空間中直接度量來自不同模態數據之間的相似性。這種思路代表性的方法有CCA[1],由于不同模態數據有不同的特征空間,CCA 方法只考慮共同語義表征的相關性顯然不夠。除此之外,現有的子空間方法需要計算大規模高維數據,計算量非常大。近年來,跨模態哈希檢索方法[2]由于存儲成本低和查詢速度快得到了大量的研究。跨模態哈希的主要思想是學習公共漢明空間,從而保留異構數據之間的語義[3]相似性。現有的跨模態哈希方法主要包括無監督方法和有監督方法。無監督方法通過探索模態數據之間的相似性來學習公共漢明空間,如無監督深度跨模態譜哈希(DCSH)[4]等。然而,在無監督信息的情況下學習能保持異構數據的語義相似性的哈希碼并不簡單,所以在樣本標簽的指導下,監督方法可以學習到更有判別性的哈希碼。例如,Liu 等[5]提出通過集體矩陣分解的圖正則化來保持多模態原始特征之間的相似性。
雖然上述方法通過探索各種語義監督信息取得了改進,但不同模態數據的異構鴻溝并未有效彌合,我們應該考慮公共語義表示是否能準確描述模態特定的表征。已有的很多工作都使用集體矩陣分解方法來建模公共語義表示,但只有共同的潛在語義表示,并不能充分表達各模態數據的特征,同時這些基于矩陣分解的方法都忽略了多標簽樣本對,不能發掘多標簽樣本對的語義信息。為了解決該問題,本文提出了一種標簽語義約束矩陣分解哈希方法,在學習模態特定的語義表示的同時,充分考慮到多標簽樣本對于模態間的語義相似性建模的重要性,即利用不同模態樣本的標簽信息來構建語義相似度矩陣,以表征模態特定的語義表示的相關性。圖1為本文所提方法的框架圖,包括訓練集哈希函數學習階段和訓練集以外的樣本的哈希碼檢索階段。框架圖的基本流程如圖1所示:首先學習不同模態的潛在語義表征V1和V2,然后利用標簽語義相似度矩陣對特定模態的語義表征V1和V2的相關性進行建模。最后,將所有特定模態的語義表示都投影到二進制碼中,得到哈希碼的封閉解。我們在一個多標簽數據集上做了廣泛的實驗,其結果表明,所提出的方法優于大多數現有的方法。

圖1 本文所提方法的框架圖
Yao 等[6]提出了一種有效的離散監督哈希(EDSH),該方法首先通過集體矩陣分解學習公共空間,然后學習正交旋轉矩陣,將共享空間與漢明空間之間的語義相關性連接起來,最后學習離散哈希碼。集體矩陣分解是將原始表示分解為共同的潛在語義表示,但由于不同模態的數據有不同的統計屬性,學到的共同語義表示并不能充分表達各模態的信息。
為了分別表達不同模態的獨特,Wang 等[7]提出使用聯合和私有矩陣分解哈希(JIMFH),該方法使用聯合矩陣分解和私有矩陣分解方法,并同時學習特定模態表示和共同語義表示,然后通過量化公共語義表示獲得哈希碼。Xiong等[8]提出了一種特定模態的矩陣分解哈希(MsMFH),該方法首先使用矩陣分解來學習特定模態的語義表示,然后使用正交旋轉矩陣進行對齊。Mandai 等[9]提出了一種基于哈希的標簽一致矩陣分解來學習特定模態的哈希函數。為了充分利用語義信息的判別性,Liu 等[10]提出了一種有效的快速鑒別離散哈希(FDDH)方法,該方法利用正交基將目標哈希碼化歸到相應的語義標簽上,并利用ε拖拽技術保證了較大的語義邊緣。
以上方法都沒有考慮到具有多個類別標簽的樣本對信息。事實上,在許多標準的跨模態基準數據集中,如MIRFLICKR-25K[11],NUSWIDE[12],每對實例對都具有多個標簽,若能充分利用多標簽樣本對這一信息,則模態間和模態內的語義相似性都能被準確挖掘。在大多數情況下,多標簽包含豐富的語義信息,可以為語義相似度的計算提供更詳細的語義信息。為此我們提出了特定模態的標簽語義約束矩陣分解哈希算法。
受特定模態矩陣分解方法[8,13]的啟發,為充分利用各模態數據的語義,分別學習各個模態的表征,然后在語義空間中對各表征進行對齊,建模如下:
其中,Ut∈Rdt×k和Vt∈Rk×N分別是基矩陣和表示矩陣,αt(t=1,2)和μ為平衡參數。
在跨模態檢索的研究中,有樣本對中存在多個標簽的情況,因此為了更好地保留模態間的信息,定義一個語義相似矩陣S=,其中sij的定義如下:
其中,li為第i個樣本對的標簽向量,lj為第j個樣本對的標簽向量,‖· ‖是零范數。由sij的定義可看出,其值越大,則表明第i個樣本對與第j個樣本對在語義上更為相似。因此使用語義相似矩陣對模態間的語義關系進行約束建模:
其中β為平衡參數。
同時,為了保留模態間的信息,本文從潛在語義表示中分別引入正交旋轉矩陣Rt,t=1,2用以生成哈希碼,并且有:
其中Rt∈Rk×k,t=1,2。通過該公式,可以在訓練階段直接獲得哈希碼,能在最大程度上減少量化誤差。
為了處理訓練集外的樣本,我們將對圖像和文本分別學習哈希映射函數,以將原始的圖像和文本特征分別映射到潛在的空間中:
其中Wt∈Rk×d,t=1,2分別是圖像和文本的哈希映射矩陣,γ為平衡參數。
聯合公式(1)、(3)—(5),得到總的目標函數如下:
公式(6)對所有變量而言都是非凸函數,但固定其他變量時,公式(6)關于非固定變量是凸函數,因此采用最優化算法來對各變量進行更新。
若將除U1以外的所有變量都固定,則公式(6)可變為
將公式(7)對變量U1求導,并令該導數為0,得到關于Ut的封閉解如下:
同理,可求出其他變量的封閉解如下:
由于Rt∈Rk×k,t=1,2 是正交矩陣,故可使用奇異值分解算法(SVD)來求解。
重復以上迭代步驟,直至收斂。事實上,以上每個變量都能獲得封閉解。整體算法如算法1:
算法1:基于矩陣分解的標簽語義約束跨模態檢索
輸入:訓練數據{X,Y},相應的樣本標簽,哈希碼長度k以及平衡參數α1、α2、β、γ、μ
1:隨機初始化B、V1、V2、R1、R2,以及哈希投影矩陣W1、W2
2:for 從第一步開始do
3: 利用公式(8)更新U1
4: 利用公式(9)更新U2
5: 利用公式(10)更新V1
6: 利用公式(11)更新V2
7: 利用公式(12)更新W1
8: 利用公式(13)更新W2
9: 利用公式(14)更新B
10: 使用SVD更新Rt∈Rk×k,t=1,2
11:返回
輸出:輸出投影矩陣Rt,以及哈希投影矩陣Wt,t=1,2
本文所提方法在公開數據集NUS-WIDE 上進行了驗證。NUS-WIDE[12]是一個真實世界的圖像數據集。包括186776 對圖像-文本對,每個圖像-文本對從10 個語義類別中進行標記。其中,隨機選擇5000 對圖像-文本對作為訓練集,并選擇1867對圖像-文本對作為測試集。
本文通過實驗確定了參數:αt=1,β=1,γ=1,μ=5,t=1,2。驗證了本文所提出方法的兩個檢索任務:圖像檢索文本(I2T)和文本檢索圖像(T2I)。此外,使用平均精度(mAP)來評估本文方法的最終性能。
本文方法與CCA[1]、STMH[13]、CMFH[5]、SMFH[2]、EDSH[6]、JIMFH[7]、MsMFH[8]、SCMFH[14]方法進行比較。
表1 為本文方法和其他方法在NUS-WIDE數據集上的mAP分數,其中,哈希碼長度從8位到64 位。從表1 可以看出,本文方法在多數情況下都是優于其他方法的,這是因為我們采用了對各個模態數據的矩陣分解以學習到特定于各模態的語義表示,同時也利用標簽做語義相關性,這樣能極大地提高檢索精度。與此同時可以看到,在大多數方法上,T2I 檢索任務的性能優于I2T 檢索任務,這是因為文本數據比圖像數據編碼更多的鑒別信息。

表1 各方法在NUS-WIDE數據集上哈希碼長度從8到64之間的mAP
本文提出了一種用于跨模態檢索的標簽語義約束矩陣分解哈希算法,首先分別學習每個模態數據的語義表征,并且利用樣本類別來構造的標簽語義相似度矩陣來建模不同模態之間的語義相關性,然后利用學到的模態表征學習哈希碼和哈希函數。在NUS-WIDE 數據集上做了大量實驗,實驗結果也證明了本文方法的有效性。