李 光 宇
(天津美術學院信息化工作辦公室 天津 300141)
隨著計算機技術在各行各業蓬勃發展,越來越多的高等院校和企事業單位聚集了大量的數據信息。以上數據包含了不同類型的數據形式,如圖像、中文文檔、英文文檔、音頻數據和視頻數據等[1-2],雖然數據管理人員能夠對這些數據進行歸納和分類,但是其效率較低。信息查詢和檢索是使用最為頻繁的一項數據庫功能,而多模態數據檢索因其特征提取難度大,成為目前信息檢索領域的一個難題[3]。
多模態數據的泛化是跨模態信息檢索技術的重中之重,直接決定了跨模態檢索的準確率和效率。已有許多科研人員對多模態數據泛化問題進行了卓有成效的研究。黃名選等[4]針對信息檢索中查詢主題漂移和詞不匹配問題,提出一種融合加權關聯模態挖掘與規則混合擴展模型的跨語言信息檢索算法。該算法通過項集權值比較從跨語言初檢相關文檔集挖掘含有原查詢詞項的頻繁項集,對多語言文檔檢索有極好的效果。此類針對特定模態不同子模態的檢索算法大多實現了較好的準確率,但其泛化學習能力也僅適用于特定的模態[5]。近期,深度學習檢索框架在數據表征、數據索引及檢索算法等方向上取得了一系列的成果[6],深度學習技術因其強大的學習能力和泛化能力成為了多模態信息檢索領域的研究熱點。文獻[7]設計了基于對稱深度神經網絡的雙向聯合表示學習算法,該算法對多模態信息表現出較好的泛化能力,并且通過雙向聯合表示機制在不同模態之間建立了良好的相關性。文獻[8]提出一種基于圖正則的深度神經網絡模型,在多模態圖像數據上進行的實驗驗證了該模型具有較強的圖像表示學習能力。
在利用深度學習對多模態數據表示學習的技術中,不同模態表示之間的相關性是決定性能的一個關鍵因素。卷積自編碼器在多模態學習中具有忽略圖像結構和權重貢獻的特點,因此卷積自編碼器保持了空間域局部化的特點,該特點有助于強化不同模態之間的相關性。本文采用深度自編碼器實現多模態學習,在不同模態自編碼器的隱藏層強化了特征相關性的計算。為了降低公共特征向量的維度,設計了稀疏編碼技術對公共特征向量進行維度壓縮,同時過濾冗余元素和噪聲元素。最終將本文模型應用于多模態的圖像檢索問題中,獲得了較好的檢索性能,優于其他基于深度學習的同類技術。

卷積自編碼器(Convolution Auto Encoder,CVAE)[9]是一種無監督特征學習模型,利用神經網絡對數據進行無監督的預訓練處理,然后使用反向傳播微調網絡的權重。假設輸入數據為Z=(Z1,Z2,…,Zn),每個深度D的濾波map設為F=(F1,F2,…,Fm)。卷積運算產生m個激活map,m為網絡深度,激活map定義為:
(1)
式中:α為非線性變量;p∈{1,2,…,m}。
圖1為所設計的CVAE結構圖。編碼流程如下:激活map產生輸入數據Z的低維編碼表示,然后通過最大池化層對輸入進行下采樣。通過兩個隱藏層分析激活map,再將特征投影到d維公共特征子空間。解碼流程如下:采用去卷積對特征進行解碼,將特征投影回輸入空間。重建數據的表達式為:
(2)
最終,CVAE通過最小化輸入數據和重建數據之間的損失完成對輸入數據的重建工作。重建損失的計算式為:
(3)
式中:L(Z,Z′)為度量損失的均方誤差。

(a)編碼流程
圖1中三個模態的輸入數據傳遞到三個通道,經過卷積層和最大池化層獲得低維的數據表示。在隱藏層最大化表示之間的相關性,隱藏層中采用Dropout機制防止過擬合。圖中雙向箭頭表示相關性計算和跨模態重建。隱藏層的輸出為一個公共表示,之后通過去卷積運算和上采樣處理將公共表示投影回輸入空間。
傳統自編碼器在數據重建之前無法難以預測其他模態的相關性,因此本文設計了多通道自編碼器在隱藏層強化相關性,本文設計的自編碼器簡記為(Correlation enhanced Auto-Encoder,CAE)。訓練多通道自編碼器的目標函數包括三個目標:(1)最小化自重建的誤差;(2)最小化跨模態的重建誤差;(3)最大化不同模態隱藏層表示間的相關性。
以兩個模態的輸入數據為例,輸入數據設為zi={xi;yi},zi為模態xi和模態yi間的相關性。自重建損失的計算方法為:
(4)
輸入xi和yi損失的計算方法分別為:
(5)
(6)
兩個模態隱藏層表示間的相關性計算為:
(7)
(8)
式中:g和h為非線性激活函數,如sigmoid或ReLU;L為均方誤差運算。
最大化兩個模態間相關性損失的計算式為:
L6=λ·corr(h(X),h(Y))
(9)
(10)
式中:h(X)和h(Y)為公共表示的投影,其中X和Y分別為輸入數據經過卷積層和池化層后的表示;λk為第k個編碼的正則參數。模態h(X)和模態h(Y)間的相關性計算為:
corr(h(X),h(Y))=
(11)

采用如下的目標函數對CAE進行優化:
(12)
式中:θ為CAE的參數。
通過以上方法,最小化自重建損失和交叉重建損失,同時最大化兩個模態間的相關性。
神經網絡的參數數量和輸入數據的維度成正比例關系,而多模態自編碼器需要重建輸入數據,對高維數據的訓練難度極大。因此設計了逐步重建和微調的預訓練模型。使用預訓練模型ResNet-50[10]提取數據集的2 048維表示特征。固定預訓練的ResNet-50結構,根據式(7)和式(12)獨立完成逐步的數據重建,在訓練過程中不更新網絡的參數。因此CAE不采用原始數據,而是通過ResNet-50獲得原始數據的2 048維表示特征。式(3)的損失函數修改為:
(13)

CAE使用Dropout技術來防止過擬合。訓練模型時在卷積層和去卷積層隨機選擇k個神經元做失活處理。
公共表示的維度d是CAE的一個超參數。d值決定了模態相關性和重建準確性:d值越大,模態間的相關性越大,模型參數也增多,因此需要對d值進行優化處理。本文通過稀疏編碼壓縮公共表示的維度,并且最大化重建的準確性。
在稀疏編碼的數學模型中,假設字典D為m×n的矩陣,通過稀疏模型將信號y∈Rm×1表示為一個字典元素的稀疏線性組合D=[d1,d2,…,dn]∈Rm×n。設L表示稀疏約束,稀疏編碼的目標為如下的優化問題:
(14)

(15)
(16)
式中:n為x的維度;ω為正則系數。
稀疏編碼的時間復雜度和字典大小成比例關系[11],因此通過減小字典大小來減少時間成本。本文設計了字典壓縮方法,在保留關鍵特征的前提下,縮小字典大小,該過程可自動地過濾孤立點和噪聲特征。
算法1SCC算法
輸入:每個類的字典D1,D2,…,Dc;k值支持度大小L;測試樣本y。
輸出:y的類標簽。
1.初始化w1=d1和字典W=[w1];
2.m=1,w1→count=1;
3.fori=2tonido
4.k=argmaxj{sim(di,wj)};
if(sim(di,wk) m++; wm=di; wm→count=1; else wk=((wk×wk→count)+di)/(wk→count+1); wk→count++; endif endfor fori=1toc endfor 在以下兩個公開的模態識別數據集上驗證本文跨模態信息檢索和挖掘的效果。(1)MNIST手寫數字數據集[12],它是一個常用的模態識別數據集。許多跨模態的研究人員均基于該數據集給出了跨模態的實驗結果,因此采用該數據集驗證本文算法的基本性能。(2)BioID數據集[13],它是一個跨模態人臉檢索的數據集,該數據集共有1 521幅大小為384×286像素的灰度人臉圖像,包含23個被拍攝人員。將其中1 064幅圖像作為訓練集,剩下的457幅圖像作為測試集。該數據集的每幅圖像包含一幅原圖像和一幅失真圖像,將原圖像和失真圖像輸入本文的神經網絡進行跨模態學習,采用學習的模型對測試圖像進行檢索。圖2是BioID數據集的兩個實例。 圖2 BioID數據集的實例 MNIST數據集深度神經網絡的編碼部分包含1個卷積層、1個最大池化層和2個隱藏層,卷積層節點數量為40;其解碼部分包含1個隱藏層和1個Dropout為50%的去卷積層。 BioID數據集的深度神經網絡編碼部分包含1個卷積層、1個最大池化層和5個隱藏層,BioID數據集的卷積層節點數量為120;其解碼部分包含2個隱藏層和1個Dropout為50%的去卷積層。 本文算法將多個自編碼器組合實現了跨模態的特征學習能力,并且利用稀疏編碼減少公共表示的維度,因此選擇了基于自編碼器的算法做比較,包括基于對稱自編碼器的多模態深度學習技術BJRL[7]、基于圖正則自編碼器的多模態深度圖像表示技術CVPR[8]、基于卷積自編碼器的多模態深度學習技術MLSA[14];另外還選擇了基于其他技術的先進算法做比較,包括基于多重詞嵌入學習技術MCSSC[15]、基于跨權重的多模態深度學習技術MDL-CW[16]、基于注意機制神經網絡的深度學習技術VAGNM[17]。 跨模態學習的首要目標是學習不同模態數據之間高度相關的共同表示。通常采用總相關性Corr評估跨模態學習的質量,Corr的計算方法: Corr(h(X),h(Y))= (17) 首先驗證了本文算法中稀疏編碼的有效性,分別評估了不同維度的公共表示向量間的總相似性,結果如圖3所示。其中CAESE和CAE分別表示包含稀疏編碼和包含稀疏編碼的兩個模型。可看出CAE的總相似性隨著向量維度的升高而持續提高,CAESE則在35維時達到了50%的總體相似性,隨著向量維度的進一步增加,其總體相似性保持穩定。CAESE算法能夠在較低的維度達到較高的總體相似性,在計算復雜度和相關性之間實現了較好的平衡。 圖3 表示向量間的總相似性 圖4比較了不同多模態表示學習模型時間的最大總相關性,圖中CAE為向量維度為50的模型,CAESE為向量維度為30的模型。可以看出基于自編碼器的多模態學習技術能夠獲得較好的相關性結果,但自編碼器之間的連接權重相對獨立,因此相關性結果低于本文的CAESE和CAE兩個模型。VAGNM為深度神經網絡加入了注意機制,允許解碼器在序列中的多個向量中關注所需要的信息,該過程使用了編碼器的多步輸出,而非單一定長的向量,因此保留了更多的信息。VAGNM也因此實現了較為理想的多模態表示學習能力。 圖4 多模態表示學習的最大總相關性 將本文的CAE模型運用于BioID數據集的多模態圖像檢索實驗,通過人臉的一個模態檢索同一個人臉的其他模態。檢索結果獲得一個排列的候選集,采用平均精度均值(MAP)和平均排序倒數(MRR)評價檢索結果的優劣,MAP的計算式為: (18) 式中:N為測試集的圖像總數量;Ir為檢索的圖像;AP為平均精度。 MRR的計算式為: (19) 式中:N為測試集的圖像總數量;Ir為檢索的圖像,r為列表中第一個相關圖像的排名。排序倒數RR的計算式為: (20) 圖5為不同多模態表示學習算法的圖像識別結果,圖5(a)和圖5(b)中CAESE的MRR值和MAP值均高于CAE算法,佐證了稀疏編碼的有效性。VAGNM的MRR結果高于CAE算法,但MAP結果低于CAE算法,說明本文CAE算法所檢索的候選圖像集具有較高的命中率,但是排名順序有所偏差。圖6為檢索實驗的圖像實例,本文算法成功檢索出和輸入圖像同一個人的三個失真右側人臉圖像。 (a)MRR結果 (a)查詢圖像 本文采用深度自編碼器實現多模態學習,在不同模態自編碼器的隱藏層強化了特征相關性的計算。為了降低公共特征向量的維度,設計了稀疏編碼技術對公共特征向量進行維度壓縮,同時過濾冗余元素和噪聲元素。基于公開模態識別數據集的實驗結果表明,本文算法能夠有效地學習和泛化多模態數據,最終將本模型應用于多模態的圖像檢索問題中,獲得了較好的檢索性能,且優于其他基于深度學習的同類技術。 本文實驗的硬件環境為Intel i5 9600KF處理器,主頻為3.7 GHz,對BioID數據集的訓練時間約為2.3小時,可見本文模型的訓練時間較長。未來將研究應用分布式計算實現本文的多模態學習模型,從而提高神經網絡的訓練速度。
3 實 驗
3.1 實驗方法和實驗數據集

3.2 參數設置和對比方法
3.3 跨模態學習的性能實驗



3.4 跨模態圖像檢索實驗


4 結 語