王保成,劉利軍,黃青松,2
(1.昆明理工大學(xué)信息工程與自動化學(xué)院,云南 昆明 650500; 2.云南省計(jì)算機(jī)技術(shù)應(yīng)用重點(diǎn)實(shí)驗(yàn)室,云南 昆明 650500)
隨著科技的快速發(fā)展,人們已經(jīng)不再滿足于文字形式的情感分享,更多地選擇使用圖像來表達(dá)自己的情感,這使得網(wǎng)絡(luò)中圖像的數(shù)量與日俱增,同時(shí)也出現(xiàn)了一個(gè)問題:虛擬現(xiàn)實(shí)中出現(xiàn)了大量缺少標(biāo)簽的數(shù)據(jù),特別是大量的以圖像形式存在的數(shù)據(jù)沒有標(biāo)簽,使得這些圖像不能被很好地使用。如何更好地利用這些無標(biāo)簽但含有大量信息的圖像成為當(dāng)今一個(gè)重要的問題,同時(shí)又因?yàn)槲覀兩硖幱谝粋€(gè)信息大爆炸的時(shí)代,所以每幅圖像中都含有大量且豐富的信息。因此,每幅圖像中往往需要標(biāo)注多個(gè)標(biāo)簽,相對而言,雖然標(biāo)注多個(gè)標(biāo)簽的方法更復(fù)雜,但圖像中的信息能被更好地挖掘和使用。
目前生成模型、判別模型和最近鄰居模型常被用來完成圖像的多個(gè)標(biāo)簽的標(biāo)注。生成模型通過同時(shí)學(xué)習(xí)圖像和文本的分布來進(jìn)行標(biāo)注。其中,主題模型[1]經(jīng)常被使用,例如,采用最大期望EM (Expectation Maximization)算法的概率潛在語義分析PLSA (Probabilisticlatent Semantic Analysis)模型[2]、使用貝葉斯框架的隱含狄利克雷分布LDA (Latent Dirichlet Allocation)模型[3]、融合PLSA和高斯混合模型GMM(Gaussian Mixture Model)的標(biāo)注方法[4]和改進(jìn)的融入類別信息的一致性LDA corr-LDA(correspondence LDA)方法[5]等。判別模型[6]首先為每個(gè)待標(biāo)注標(biāo)簽單獨(dú)訓(xùn)練一個(gè)分類器,再用其進(jìn)行標(biāo)注。最近鄰居模型借助檢索最近鄰居的標(biāo)簽來標(biāo)注圖像,如根據(jù)特征計(jì)算距離的共同平等貢獻(xiàn)JEC(Joint Equal Contribution)模型[7]和權(quán)重與鄰居標(biāo)簽的存在狀態(tài)有關(guān)的 標(biāo)簽傳遞TagProp (Tag Propagation)模型[8]。
因?yàn)樯疃染W(wǎng)絡(luò)的不斷發(fā)展,學(xué)者們著手研究是否能把深度網(wǎng)絡(luò)應(yīng)用在圖像上。例如,使用線性回歸的卷積神經(jīng)網(wǎng)絡(luò)回歸器CNN-R (CNN Regressor)模型[9]、對損失函數(shù)進(jìn)行優(yōu)化的均方誤差卷積神經(jīng)網(wǎng)絡(luò)CNN-MSE(CNN Mean Square Error)模型[10]、利用網(wǎng)絡(luò)中間層特征的標(biāo)注方法[11]、引入關(guān)聯(lián)規(guī)則的CNN-LDA模型[12]和引入鄰域排序損失函數(shù)的LNR+2PKNN(List-wise Neural Ranking+Two Pass KNN)方法[13]。然而,這些方法仍然存在樣本不足和標(biāo)注詞分布不均勻等問題。
因此,本文使用LDA來對文字?jǐn)?shù)據(jù)降維,并且減少人工標(biāo)注的成本,同時(shí)把注意力機(jī)制加入到卷積神經(jīng)網(wǎng)絡(luò)中,以更好地獲得2種模態(tài)間的聯(lián)系,并修改其損失函數(shù)解決標(biāo)注詞分布不均勻的問題,最后采用半監(jiān)督學(xué)習(xí)的方法來處理樣本可能不足的問題,從而得到了較好的結(jié)果。
LDA模型生成主題和標(biāo)注詞的流程如圖1所示。
Figure 1 LDA model圖1 主題模型
圖1中,θ表示主題參數(shù),z表示主題,w表示標(biāo)注詞,α和β表示模型參數(shù),M表示訓(xùn)練集大小,N表示輸入詞的數(shù)量。
模型生成主題和標(biāo)注詞的LDA步驟如下所示:
(1)先對文檔切詞;
(2)隨機(jī)抽取主題;
(3)為所有在文檔中的詞選擇任意主題;
(4)確定第i個(gè)文檔的第j個(gè)詞所屬主題,重復(fù)操作(從所有詞中最終篩選得到的詞才稱為標(biāo)注詞);
(5)得到文章-主題分布和標(biāo)注詞-主題分布。
從圖1可知LDA的聯(lián)合概率為:
P(θ,z,w|α,β)=P(θ|α)C
(1)
(2)
其中,zn為抽取的主題,wn為生成的標(biāo)注詞。
用LDA來標(biāo)注圖像時(shí),首先計(jì)算得到屬于測試集圖像的所有主題分布,再根據(jù)該分布確定圖像所屬的主題,最后由選中的主題得到圖像對應(yīng)的標(biāo)注詞的概率。
卷積神經(jīng)網(wǎng)絡(luò)逐層獲得圖像的高級視覺特征[14],越接近網(wǎng)絡(luò)的輸出層,圖像特征表示形式就越抽象,就越能獲得更豐富的高級視覺特征,對圖像的識別能力越強(qiáng)。
本文使用的是AlexNet網(wǎng)絡(luò),它有以下優(yōu)點(diǎn):
(1)激活函數(shù)是修正線性單元ReLU(Rectified Linear Unit),解決了在較深網(wǎng)絡(luò)中Sigmoid可能會帶來的問題,表明ReLU在較深網(wǎng)絡(luò)中優(yōu)于Sigmoid。
(2)在訓(xùn)練時(shí)用Dropout隨機(jī)忽略一些神經(jīng)元來解決過擬合問題,但是在預(yù)測時(shí)不使用Dropout。
(3)網(wǎng)絡(luò)結(jié)構(gòu)中的競爭機(jī)制使泛化能力得到了增強(qiáng)。
(4)借助GPU的計(jì)算能力加快了網(wǎng)絡(luò)的訓(xùn)練。
目前該機(jī)制被廣泛應(yīng)用于文本生成[15]和圖像分類[16,17]等之中。例如,由Huang等[18]搭建的選擇性多模態(tài)長短期記憶網(wǎng)絡(luò),借助可以對圖像的任意部分特別注意的功能,來調(diào)節(jié)標(biāo)簽與特征之間的對應(yīng)關(guān)系。由Zhang等[19]搭建的對抗哈希網(wǎng)絡(luò),具有能捕獲部分多個(gè)模態(tài)信息的功能,能提高對內(nèi)容相似性的度量性能。因注意力機(jī)制能模擬人類的視覺進(jìn)行物體選擇,在輸出某個(gè)實(shí)體時(shí)會關(guān)注圖像的相應(yīng)區(qū)域,本文同樣把注意力機(jī)制引入網(wǎng)絡(luò)中以獲得2個(gè)模態(tài)間的聯(lián)系。計(jì)算注意力的公式如下所示:
B=XW
(3)
(4)
E(Z)=aX
(5)
Figure 2 Modified convolutional neural network圖2 改進(jìn)后的卷積神經(jīng)網(wǎng)絡(luò)
其中,X=(x1,…,xn1)為n1維的輸入特征向量,W由隨機(jī)正態(tài)分布初始化得到且隨著網(wǎng)絡(luò)的訓(xùn)練而改變,a=(a1,…,an1),Z為輸出。式(4)可以看成是對特征進(jìn)行選擇,ai為第i個(gè)特征在所有特征中的權(quán)重,表示該特征的重要程度;式(5)對特征進(jìn)行加權(quán)以選擇特征,調(diào)整注意力關(guān)注區(qū)域,因?yàn)樵撨^程可導(dǎo),即可訓(xùn)練W。B表示不同特征的得分,借助式(4)進(jìn)行正則化后與輸入結(jié)合,以得到每個(gè)特征的注意力大小。
標(biāo)簽往往不是單獨(dú)出現(xiàn)的,而是存在著某種看不見的聯(lián)系,如“房間”和“床”,分析并利用這種聯(lián)系能更精確地進(jìn)行標(biāo)注。并且,借助標(biāo)簽相似性可以解決以往進(jìn)行標(biāo)簽標(biāo)注時(shí)出現(xiàn)的一個(gè)標(biāo)簽訓(xùn)練一個(gè)分類器,所有分類器無法相互配合,導(dǎo)致實(shí)驗(yàn)結(jié)果不是很理想的問題。
本文使用的AlexNet模型[20]的結(jié)構(gòu)共 11 層,因?yàn)槠鋵哟屋^多,需要大量圖像數(shù)據(jù)進(jìn)行訓(xùn)練才能得到較好的模型,因此對ImageNet[21]的訓(xùn)練參數(shù)進(jìn)行遷移學(xué)習(xí)[22]。首先把ImageNet中的全部圖像進(jìn)行訓(xùn)練后得到參數(shù);然后訓(xùn)練訓(xùn)練集中的圖像來改變模型最末層的參數(shù),同時(shí)對損失函數(shù)和網(wǎng)絡(luò)結(jié)構(gòu)進(jìn)行改進(jìn):把一個(gè)注意力層添加到該模型的最后的全連接層前,以標(biāo)注多個(gè)標(biāo)簽和獲得2個(gè)模態(tài)間的聯(lián)系,以及對類似圖像間的不同進(jìn)行關(guān)注;最后使用改進(jìn)的網(wǎng)絡(luò)進(jìn)行訓(xùn)練來對圖像進(jìn)行標(biāo)注。該網(wǎng)絡(luò)的初始化參數(shù)為:動量 0.5,衰減量 0.000 2,學(xué)習(xí)率0.001。改進(jìn)的卷積神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu)如圖2所示。
研究人員通常把Softmax函數(shù)作為單標(biāo)簽的損失函數(shù)來完成單標(biāo)簽的標(biāo)注,其定義如式(6)和式(7)所示:
(6)
(7)
為了計(jì)算樣本的全部損失以標(biāo)注多個(gè)標(biāo)簽,本文定義新的損失函數(shù)如式(8)所示:
(8)
其中,N1 表示圖像文本標(biāo)簽的種類;ali表示圖像訓(xùn)練樣本x對應(yīng)的高層特征向量第i維的特征值;pi代表卷積神經(jīng)網(wǎng)絡(luò)預(yù)測訓(xùn)練樣本x屬于第i類標(biāo)簽的概率;L表示交叉損失函數(shù);yi表示訓(xùn)練樣本x對應(yīng)一個(gè)標(biāo)簽時(shí)的標(biāo)簽值(0或1);K表示訓(xùn)練樣本x對應(yīng)多個(gè)標(biāo)簽類時(shí)標(biāo)簽類個(gè)數(shù);yji表示第i個(gè)訓(xùn)練樣本對應(yīng)多個(gè)標(biāo)簽類時(shí)第j個(gè)標(biāo)簽類的標(biāo)簽值。
由于訓(xùn)練集的標(biāo)簽分布不均勻會導(dǎo)致模型對高頻標(biāo)簽類預(yù)測的準(zhǔn)確率大大超過低頻標(biāo)簽類的準(zhǔn)確率,所以需要平滑處理[23]高頻標(biāo)簽類,即在高頻標(biāo)簽類中加入噪聲,以提高低頻標(biāo)簽類的預(yù)測準(zhǔn)確率。先計(jì)算各個(gè)類的頻率系數(shù)并添加到損失函數(shù)中,如式(9)所示:
(9)
(10)
首先把所有的已知標(biāo)簽L1,L2,…,LD和所有訓(xùn)練圖像M1,M2,…,MM組成一個(gè)矩陣K,Kij表示標(biāo)簽Li是否在圖像Mj中出現(xiàn),0和1分別表示未出現(xiàn)和出現(xiàn)的情況。K如表1所示,則2個(gè)標(biāo)簽Li和Lj的相關(guān)性計(jì)算方法為:cij=ri·rj,其中cij表示2個(gè)標(biāo)簽Li和Lj的相關(guān)性,ri和rj分別表示矩陣K的第i行和第j行,·表示向量點(diǎn)積。
Table 1 Correlation matrix K
首先利用LDA主題模型對圖像訓(xùn)練集的文本進(jìn)行建模,生成圖像訓(xùn)練集標(biāo)注詞分布,該過程充分利用主題模型的優(yōu)勢,在降低圖像文本數(shù)據(jù)維度的同時(shí)避免了人工標(biāo)注,不僅降低了圖像標(biāo)注的人工成本,也節(jié)省了時(shí)間。但是,LDA模型生成的標(biāo)注詞存在不夠精確且數(shù)量較多的問題,本文使用標(biāo)注詞篩選和降維來解決這個(gè)問題。標(biāo)注詞篩選和降維步驟如下所示:
(1)篩選:通過限制主題中詞的概率來進(jìn)行標(biāo)注詞篩選,規(guī)定只有主題中詞的概率大于某個(gè)閾值y時(shí),該詞才能作為標(biāo)注詞。
(2)降維:類似于特征降維,標(biāo)注詞降維主要是解決標(biāo)簽空間存在冗余信息的問題,即標(biāo)注詞之間普遍存在的相關(guān)性,本文即利用標(biāo)注詞的相關(guān)性進(jìn)行降維,步驟如下所示:
①分別計(jì)算每2個(gè)標(biāo)注詞在同一幅圖像中同時(shí)出現(xiàn)的次數(shù),即可以得到相似性矩陣A。
②構(gòu)建無向圖,每個(gè)節(jié)點(diǎn)對應(yīng)一個(gè)標(biāo)注詞,2個(gè)節(jié)點(diǎn)之間連線的權(quán)重為節(jié)點(diǎn)對應(yīng)的標(biāo)注詞在同一幅圖像中同時(shí)出現(xiàn)的次數(shù),即相似性,如果沒有同時(shí)出現(xiàn)過,則無連線。
③從A中找到一個(gè)非零的最小值,同時(shí)在無向圖中把這個(gè)值對應(yīng)的2個(gè)標(biāo)注詞之間的連線斷開并且把該值歸零。
④從無向圖中尋找極大連通子圖,一個(gè)極大連通子圖包含的標(biāo)注詞歸為一類,如果極大連通子圖的總數(shù)量少于需要的數(shù)量,重復(fù)③和④,直到極大連通子圖的總數(shù)量大于或等于需要的數(shù)量,停止操作,完成降維。
考慮到深度學(xué)習(xí)在圖像標(biāo)注方面的優(yōu)勢,本文采用卷積神經(jīng)網(wǎng)絡(luò)提取圖像的高層視覺特征,又因?yàn)樯疃染矸e網(wǎng)絡(luò)提取的有用特征易受背景等因素影響,而與無用特征混合在一起對圖像識別造成干擾,并且為了解決圖像間的微小差異會隨著層數(shù)的加深漸漸消失的問題,本文在卷積神經(jīng)網(wǎng)絡(luò)的最后2個(gè)全連接層之間增加一個(gè)新的注意力層。同時(shí)改進(jìn)損失函數(shù),以完成多標(biāo)簽標(biāo)注,最后利用半監(jiān)督學(xué)習(xí)將網(wǎng)絡(luò)的標(biāo)注結(jié)果和標(biāo)注詞的相似性結(jié)合起來完成圖像標(biāo)注。本文的標(biāo)注方法如圖3所示。
Figure 3 Semi supervised image annotation framework based on LDA and deep network圖3 基于LDA和深度網(wǎng)絡(luò)的半監(jiān)督圖像標(biāo)注框架
由圖3可知,本文的標(biāo)注方法過程如下所示:
(1)借助LDA完成訓(xùn)練集的文本降維,降維后仍然會存在標(biāo)注詞精確性不高、數(shù)量較多問題,本文通過進(jìn)一步篩選和降維來獲得待標(biāo)注的標(biāo)注詞。
(2)利用改進(jìn)后的卷積神經(jīng)網(wǎng)絡(luò)提取圖像的高層視覺特征,由于該卷積神經(jīng)網(wǎng)絡(luò)使用了遷移學(xué)習(xí)和注意力機(jī)制,提取到的高層視覺特征比傳統(tǒng)手工特征更加全面,利用圖像的高層語義特征及其對應(yīng)的標(biāo)注詞來訓(xùn)練模型。
(3)把數(shù)據(jù)集分成訓(xùn)練集和測試集,考慮到樣本可能不足的問題,使用半監(jiān)督學(xué)習(xí)的方法首先對訓(xùn)練集的圖像的高層視覺特征和對應(yīng)的標(biāo)注詞進(jìn)行訓(xùn)練,記錄下模型的評價(jià)指標(biāo)。然后利用該模型對測試集進(jìn)行預(yù)測,選擇準(zhǔn)確率較高的一部分測試集樣本放入訓(xùn)練集中再次進(jìn)行訓(xùn)練,如果此次評價(jià)指標(biāo)優(yōu)于當(dāng)前的最好指標(biāo),則保存該模型并且繼續(xù)用該模型對測試集進(jìn)行預(yù)測,選擇準(zhǔn)確率較高的一部分測試集樣本放入訓(xùn)練集中再次進(jìn)行訓(xùn)練;否則減少從測試集放入訓(xùn)練集的樣本數(shù)量的同時(shí)用已保存的評價(jià)指標(biāo)最好的模型開始重新訓(xùn)練,當(dāng)訓(xùn)練集的大小等于數(shù)據(jù)集的大小時(shí)停止訓(xùn)練。
(4)計(jì)算所有圖像標(biāo)注詞個(gè)數(shù)的平均值h,選擇評價(jià)指標(biāo)最大的模型為最終模型并對測試集進(jìn)行預(yù)測,選擇概率最大的前h個(gè)標(biāo)注詞構(gòu)成預(yù)測的標(biāo)簽集合。
(5)把集合中的每個(gè)預(yù)測標(biāo)簽和其他標(biāo)簽的相關(guān)性與所有兩兩標(biāo)簽之間的相關(guān)性的平均值比較,當(dāng)相關(guān)性大于平均值時(shí)把未預(yù)測的標(biāo)簽加入預(yù)測標(biāo)簽的集合中,當(dāng)相關(guān)性小于平均值但標(biāo)簽存在于集合時(shí),把對應(yīng)標(biāo)簽去除。把預(yù)測結(jié)果與標(biāo)注詞的相關(guān)性結(jié)合后可以得到一個(gè)標(biāo)簽集合,該集合即為最終的標(biāo)注結(jié)果。
首先對閾值y和標(biāo)注詞種類Q進(jìn)行討論。本文對Q以步長為10進(jìn)行取值,對y以步長為0.01進(jìn)行取值,同時(shí)以F1的值作為實(shí)驗(yàn)的對比指標(biāo)。由圖4可知,當(dāng)Q為80時(shí),F(xiàn)1值達(dá)到最大;由圖5可知,當(dāng)Q為80時(shí),F(xiàn)1值達(dá)到最大。所以,本文將Q設(shè)為80,將y設(shè)為0.02。
Figure 4 F1 values corresponding to different topic numbers圖4 不同主題數(shù)對應(yīng)的F1值
Figure 5 F1 values corresponding to different thresholds y圖5 不同閾值y對應(yīng)的F1值
首先將本文方法的模型與采用較傳統(tǒng)方法的JEC模型[7]相比較;然后與TagProp-ML[24]和2PKNN模型[25]相比較;同時(shí)與ANNOR-G(Automatic image aNNOtation Retriever-Global features)模型[26]、特征融合與語義相似度FFSS (Feature Fusion and Semantic Similarity)模型[27]比較;最后與使用了深度卷積神經(jīng)網(wǎng)絡(luò)的CNN-R模型[9]和CNN-MSE[10]模型、CNN-LDA[12]模型、CNN-MLSU(CNN using Multi-Label Smoothing Unit)模型[28]和LNR+2PKNN[13]模型進(jìn)行實(shí)驗(yàn)對比。實(shí)驗(yàn)結(jié)果如表2所示。
Table 2 Comparison between our models and other annotation models
通過表2可以看出,在同一圖像集上,本文模型的結(jié)果相對于傳統(tǒng)的標(biāo)注模型有較大提高。在同一圖像數(shù)據(jù)集上,平均召回率相對于JEC 提高了10%,相對于 TagPro-ML 提高了14%,相對于2PKNN 提高了7%。平均準(zhǔn)確率相對于JEC的提高了17%,但低于TagProp-ML 和2PKNN 的。對比較為先進(jìn)的ANNOR-G 模型和 FFSS 模型,本文模型的各項(xiàng)指標(biāo)都有提高。
通過與使用了卷積神經(jīng)網(wǎng)絡(luò)的模型進(jìn)行比較,可知本文模型的平均召回率只低于最高的CNN-LDA模型1%,但其平均準(zhǔn)確率遠(yuǎn)高出它。平均準(zhǔn)確率小于CNN-R的,但其F1高出5%。本文模型的F1不低于所比較的任何模型,通過本文模型和其他模型在同一數(shù)據(jù)集上的比較結(jié)果可知,本文模型在平均召回率上表現(xiàn)良好,但在平均準(zhǔn)確率上不是很好,總的來看本文模型相對于大部分模型都有所提高。提高的原因有以下幾點(diǎn):首先,因注意力機(jī)制對特征進(jìn)行選擇,使網(wǎng)絡(luò)其模擬視覺且不再只關(guān)注全局,更易獲得2種模態(tài)間的聯(lián)系;其次,利用改進(jìn)的損失函數(shù)能夠提高低頻詞的準(zhǔn)確率;最后,使用半監(jiān)督方法進(jìn)行訓(xùn)練能夠充分利用樣本。
此外,為檢驗(yàn)加入噪聲對低頻標(biāo)簽類的標(biāo)注影響,把加入噪聲前后低頻標(biāo)簽類的平均準(zhǔn)確率AP、平均召回率AR進(jìn)行對比,該數(shù)據(jù)集有55個(gè)低頻標(biāo)簽類,實(shí)驗(yàn)結(jié)果如表3所示。
由表3可知,加入噪聲能防止模型過擬合,在幾乎不影響高頻標(biāo)簽類的標(biāo)注下,極大提高了低頻標(biāo)簽類的標(biāo)注準(zhǔn)確率。
本文利用主題模型在文本處理方面的優(yōu)點(diǎn)來完成對文字?jǐn)?shù)據(jù)的降維,同時(shí)更改AlexNet模型的網(wǎng)絡(luò)結(jié)構(gòu)和損失函數(shù)來更好地進(jìn)行多個(gè)標(biāo)簽的訓(xùn)練和預(yù)測,并把模型的預(yù)測和標(biāo)簽間的相似性進(jìn)行結(jié)合來提高準(zhǔn)確率。由對比實(shí)驗(yàn)可知,本文方法的標(biāo)注更精確。