吳家皋,楊 璐,翁瑋薇,劉林峰
(1.南京郵電大學計算機學院,南京 210023;2.江蘇省大數據安全與智能處理重點實驗室,南京 210023)
互聯網應用的普及使得文本、圖像和視頻等多模態數據在網絡上快速增加。如何有效地利用各種模態數據進行信息檢索已成為相關領域的研究熱點,而跨模態檢索則是其中的關鍵技術之一[1?3]。跨模態檢索是指在不同模態的數據中進行檢索,即通過一種模態的數據檢索出語義相似的其他模態數據。由于傳統的跨模式檢索方法在處理海量、高維多模態數據時存在計算量大、效率低等問題,因此,研究人員關注到信息檢索領域中常用的哈希算法,提出了跨模態哈希方法。跨模態哈希方法使用哈希碼將圖像和文本映射到同一向量空間,從而有效地降低了算法復雜度、提高了檢索效率,目前已廣泛應用于大規模跨模態檢索中。
跨模態哈希方法通常分為兩類:監督哈希方法和無監督哈希方法。有監督哈希方法包括語義相關最大化方法(Semantic correlation maximiza?tion,SCM)[4]、語義保留哈希方法(Semantics?pre?serving hashing,SePH)[5]等。無監督哈希方法有潛在語義稀疏哈希方法(Latent semantic sparse hash,LSSH)[6]、媒體間哈希方法(Inter?media hashing,IMH)[7]、語義主題多模態哈希方法(Se?mantic topic multimodal hashing,STMH)[8]以及交叉視圖哈希方法CVH(Cross?view hashing,CVH)[9]等。但是,大多數早期的哈希方法都是基于淺層結構和人工特征提取的,無法描述不同模態之間復雜的非線性關系。
近年來,深度跨模態哈希方法利用深度神經網絡的優勢來捕獲不同模態之間的相關性,因此比基于淺層結構的哈希方法更有效。深度哈希經典算法——深度跨模態哈希(Deep cross?modal hash,DCMH)[10]使用深度神經網絡模型實現端到端的特征學習和哈希碼學習,通過保留標記信息語義關聯構造的不同模態之間的關系以學習哈希碼。但是,DCMH 僅使用單獨的量化來生成次優的哈希二進制代碼,并且難以保持特征值和哈希代碼之間的最佳兼容性,這可能導致檢索結果不準確。但是,當前的深度跨模態哈希算法仍然存在一些不足。首先,由于實際數據集中存在大量語義相似的數據對,因此這些方法僅使用單獨的網絡來提取每個模態的特征,而無法在不同模態之間建立準確的關聯。其次,哈希碼生成與公共表示學習是分離的,這大大降低了哈希碼的學習準確性。
為了解決上述問題,本文提出了一種基于K?means 的深度跨模態哈希量化優化方法(K?means?based quantitative?optimization for deep cross?mod?al hashing,KQDH)。該方法通過一種全新的量化方式來控制量化誤差,減少計算量的同時,使得哈希碼更好地表示出多模態特征。K?means 聚類算法是一種經典的基于迭代思想的聚類算法。相比與其他聚類算法,K?means 算法更加簡單、高效,使用也最為廣泛。
跨模態檢索的目的是檢索擁有相似語義信息的不同模態的數據結果。典型的跨模態檢索任務包括:以文檢圖、以圖檢文等。因為哈希方法具有提高檢索效率、降低存儲空間占用的優點,所以將哈希算法用于跨模態檢索已經成為這幾年的研究熱點。
機器學習一般可分為無監督方法[11?13]和有監督方法[14?16]。無監督哈希方法是指學習沒有語義標簽的哈希函數。LSSH[6]是一種典型的無監督方法,該方法利用字典表示和矩陣分解來學習各種模態數據的隱空間,并利用隱空間中相應的低維表示系數進行量化得到哈希碼。但LSSH 算法復雜度高且訓練時間長。IMH[7]研究視圖和視圖之間的一致性,是一種基于圖的無監督方法,它采用最小化二進制編碼距離來保持多模態數據之間的相似性,通過線性回歸模型將不同視圖的特征映射到常見的漢明空間哈希函數。STMH[8]方法在充分考慮數據隱式語義信息的情況下訓練編碼過程。該方法通過隱語義空間投影找到語義主題與數據的關聯,能直接解析出二進制哈希碼。CVH[9]是單模態哈希方法在多模態中的擴展,其目標是盡量減小相似數據間的距離,并增大非相似數據間的距離。該方法可以通過公式得到目標優化問題,并通過放松二值約束,求解獲得哈希函數。有監督哈希方法可以利用現有的監視信息(例如語義標簽或語義關聯)來增強數據相關性并縮小不同模型中的語義差距。語義相關最大化(Semantic correlation maximization,SCM)[4]使用標簽信息描述語義關聯,獲得相似性矩陣,然后通過二進制代碼對其進行重構。語義保留哈希(Semantics?preserving hashing,SePH)[5]使用給定的語義相似度矩陣作為監督信息,并將其轉換為概率分布。通過最小化Kullback?Leibler 距離,并且將邏輯回歸用于學習,對哈希函數的每種模態進行非線性預測,此方法可以提高檢索準確性,但會降低檢索速度。
但是,大多數早期的哈希方法都是基于淺層結構和人工特征提取的,無法描述不同模態之間復雜的非線性關系,不能有效發現其內在相關性。近年來,面向跨模態的深度模型研究表明,它們可以有效利用模態之間的異構關系。使用深層結構實現跨模態檢索的代表性工作包括如下:深度跨模態哈希算法(Deep cross?modal hashing,DCMH)[10]通過保留標記信息語義關聯構造的不同模態之間的關系以學習哈希碼,從而能在深度神經網絡模型上同時實現端到端的特征學習和哈希碼學習;自我監督的對抗式哈希網絡(Self?supervised adversarial hashing networks,SSAH)[17]將對抗生成網絡應用于跨模態哈希檢索中。該算法通過生成器和判別器的對抗訓練來獲得具有一致性的語義哈希碼;成對關系引導的深度哈希(Pairwise relationship guid?ed deep hashing,PRDH)[14]方法通過端到端深度學習架構生成緊湊的哈希碼,可以有效地捕獲各種模態之間的內在聯系。該算法的體系結構集成了不同類型的成對約束,以分別從模內視圖和模間視圖鼓勵哈希碼的相似性。而且,附加的去相關約束被引入該架構,從而增強了每個散列比特的判別能力。但是,這些方法并未探索量化技術來最大程度地減少量化誤差并提高深度表示的可量化性。
在跨模態檢索中,輸入的數據和被檢索到的數據分別來自不同的模態,本文主要研究圖像和文本這兩種模態數據。設圖像數據集的大小為Nx,其中的每個圖像數據點表示為{xi},xi∈RGx,表示圖像模態的Gx維特征向量;文本數據集的大小為N,其中的每個文本數據點表示為{},y1yj∈RGy,表示文本模態的Gy維特征向量,且Nx=Ny=N。進一步,將文本和圖片通過相似矩陣S連接,當Sij=1 表示xi和yj是相似的,反之,當Sij=0 時表示xi和yj是不相似的。在監督哈希中,可以根據數據點的語義標簽構造S={Sij}。KQDH 的目標是共同學習特定于模態的哈希碼,將每一個數據點xi和yj編碼成長度為D的二進制編碼,并且使得在給定的每個數據點的相似矩陣{Si}j中傳遞的相似性信息能被最大程度地保留。
用于提取多模態特征和量化的混合深度網絡結構如圖1 所示,該網絡由圖像網絡、文本網絡和量化過程組成。圖像網絡采用擴展的AlexNet,這是一個深度卷積神經網絡(Convolutional neural networks,CNN),它由5 個卷積層conv1~conv5 和3 個全連接層fc6~fc8 組成。將fc8 層替換為D個節點的全連接層,這會將fc7 的特征表示轉換為D維特征表示。文本網絡采用Word2Vec 模型將文本信息轉換為詞向量,同樣使用3 個全連接層fc1~fc3,其中最后1 層fc3 替換為D個節點的全連接層,將詞向量轉換為D維特征表示hyi。為了使得到的D維特征表示hxi和hyi能更好地被量化為二進制編碼,使用tanh 激活函數a(h)=tanh(h)來生成非線性降維特征表示。損失函數用于控制跨模態學習和量化誤差,以將其最小化,用于進行高效的跨模態檢索。

圖1 KQDH 網絡結構Fig.1 Network architecture of KQDH

K?means 聚類算法是一種迭代聚類算法,其主要過程是:隨機選擇K個對象作為初始聚類中心,并計算每個對象與每個聚類中心之間的距離。再把每個對象都歸類到最近的聚類中心。聚類中心及其所屬對象就組成一個聚類代。根據現有聚類對象重新計算新的聚類中心,重復聚類過程,直到滿足某終止條件。

算法1 是本文提出的KQDH 算法的偽代碼描述。

聚類算法的誤差函數采用歐氏距離,有

式中:Cτ為第τ個簇,是輸入向量集合的不相交的子集;ωτ為聚類的中心。


將該量化過程表示為

算法1 的復雜度和K?mean 聚類算法的復雜度一致,其時間復雜度與樣本數據量、樣本維度、聚類數和聚類迭代次數成正比。這里,樣本數據量為H?中所有子向量的數量2NM,樣本維度為子向量的長度D/M,聚類數為K=2D/M,設聚類迭代次數為T,則算法1 的時間復雜度可表示為O(2NM?D/M?2D/M?T),若將D、M和T都視為常量,則為O(N)。同理,算法1 的空間復雜度也為O(N)。因此,算法1 具有較低的(線性)復雜度。
3.2.1 哈希碼學習

式中γ和μ為超參數。

持多模態相似性的負對數似然函數,該函數定義為


3.2.2 優化方法
使用和DCMH 相同的交替學習策略[10]來學習φx,φy和B。每當一個參數被優化時,其他參數則被固定,主要步驟如下。
步驟1 在固定φy和B的情況下優化φx。
同時使用隨機梯度下降(Stochastic gradient descent,SGD)和反向轉播(Back propagation,BP)算法,以優化圖像模態的CNN 參數φx。對于每個采樣點xi,計算梯度有

步驟2 在固定φx和B的情況下優化φy。
這里仍然采用與步驟1 同樣算法來優化文本模態的Word2Vec 參數φy。對于每個采樣點yj,計算梯度有

步驟3 在固定φx和φy的情況下優化B。
當φx和φy固定時,可以將式(5)中的問題重新表述為

式中:V=γ(Hx+Hy);tr(?)表示矩陣的跡線。
因此,在模型訓練過程中,通過對步驟1~3 的反復迭代,系統將不斷更新圖像、文本網絡參數并優化哈希碼,直到模型收斂或完成訓練輪數。
3.2.3 樣本外擴展
對于不在訓練集中的任何數據點q,若其圖像模態為xq,文本模態為yq,則可以利用式(10)和式(11),通過正向傳播生成哈希碼b(x)q和b(y)q,即有

從而使得本模型可用于跨模態檢索。
為了驗證KQDH 的有效性,在2 個常用的數據集上進行了充分的實驗,設計了2 種類型的跨模態檢索任務來評估其性能:(1)圖像?文本:使用圖像查詢相關文本;(2)文本?圖像:使用文本查詢相關圖像。
MIRFLICKR?25K[18]數據集包含從社交攝影網站Flickr 收集的25 000 個實例。每個圖像都標記有38 個語義概念和一些關聯的文本標簽,并使用24個類別標簽中的一個或多個手動進行注釋。在實驗中共選擇了20 015 個數據點,其中不少于20 個文本標簽。在這個數據集中圖片的特征向量維度是150 維,而文本特征向量維度則是50 維。
NUS?WIDE[19]是一個超大的數據集,由實際網頁圖片組成,包括269 648 個實例以及帶有相關文本標記的圖像,其中有81 種基本事實概念可供人工注釋以進行檢索評估。在將該數據集作為算法輸入之前,首先對該數據集做預處理,從中選取了10 種較為常見的標簽作為圖片的標注,將其余的數據從該數據集里去除,最后得到用于實驗的186 577 個圖像/文本對。
在實驗中,將所提出的算法與5 種最具代表性的跨模態哈希方法進行比較,包括SCM[4]、ST?MH[8]、LSSH[6]、CVH[9]和DCMH[10]。 這些方法所涵蓋的技術層面較廣,其中CM、STMH、LSSH和CVH 是基于淺層結構,而DCMH 和本文的方法則基于深層結構;同時,無監督算法有STMH、LSSH 和CVH,而SCM、DCMH 和本文的方法都是有監督算法。在實驗中,這些方法中的所有參數都是根據原始文獻進行設置。
對于MIRFLICKR?25K 數據集,隨機抽取10 000 個實例作為訓練集。為了進行測試,使用該數據集的2 000 個實例作為測試集,其余則為檢索集。對于NUS?WIDE 數據集,隨機采樣了10 500個實例作為訓練集。同樣地,該數據集的測試集大小為2 100 個實例。AlexNet 網絡已在ImageNet 數據集上進行預訓練,并在訓練本文的模型時進行微調。在實驗中,令超參數γ=0.3 和μ=0.1,這樣能獲得較好的性能,具體在后面給出實驗評價。此外,訓練隨機采樣批次mini?batch 設為128,每次實驗的訓練次數設為500。所有實驗都重復5 次,然后取平均作為實驗結果。
實驗中所有比較方法的性能都使用平均精度(Mean average precision,MAP)和準確度(Pre?cision)?召回率(Recall)曲線直接進行了評估[20]。MIRFLICKR?25K 和NUS?WIDE 中哈希碼長度D為16、32 和64 位,M分別取值4、8、16,L=4,K=16,所有方法在2 個數據集的MAP 值如表1,2 所示。此外,圖2 和圖3 顯示了兩個數據集上所有方法的確切召回曲線。圖中哈希碼碼長度均為64。通過比較分析,本文方法比其他方法更有效。

表1 各方法MAP 在MIRFLICKR?25K 數據集上的比較Table 1 Comparison of MAP with different methods on MIRFLICKR?25K dataset

表2 各方法MAP 在NUS?WIDE 數據集上的比較Table 2 Comparison of MAP with different methods on NUS?WIDE dataset

圖2 MIRFLICKR-25K 數據集的精確度-召回率曲線Fig.2 Precision?recall curves on MIRFLICKR?25K datasets

圖3 NUS-WIDE 數據集的精確度-召回率曲線Fig.3 Precision?recall curves on NUS?WIDE datasets
進一步研究超參數γ和μ對模型性能的影響。圖4 為在MIRFLICKR?25K 數據集上設置不同γ和μ值時的MAP 曲線。從圖4(a)可以看到,當0<γ<1 時,文本檢索圖像的MAP 值在γ=0.3時取到最大值,圖像檢索文本的MAP 值隨著γ值的增大而減少,故本文取超參數γ=0.3;同樣,由圖4(b)可知,當0<μ<1 時,文本檢索圖像的MAP 值在μ=0.1 時取到最大值,圖像檢索文本的MAP 值隨著μ值的變化而小幅度振蕩,故本文取超參數μ=0.1。

圖4 超參數的影響Fig.4 Influence of the hyper?parameters
本文提出了一種用于跨模態檢索的深度哈希量化優化方法KQDH,將圖像和文本的特征向量映射到相同的向量空間中,并設計了基于K?means的量化結構來控制哈希碼的質量,以更準確地描述特征與哈希碼之間的相關性。實驗結果表明本文方法在跨模態檢索中具有較好的性能。在將來的工作中,將繼續改進所提出的模型及算法,并將其推廣到具有音頻、視頻等更多模態數據的跨模態檢索中。