段海龍,吳春雷,王雷全
(中國石油大學(xué)(華東) 計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院,青島 266580)
圖像描述是計(jì)算機(jī)視覺的主要任務(wù)之一,其主要目的是為計(jì)算機(jī)提供圖像,計(jì)算機(jī)可以將圖片與圖片中各對象之間的關(guān)系結(jié)合起來自動(dòng)生成相應(yīng)的自然語言描述.這是一項(xiàng)非常具有挑戰(zhàn)性的任務(wù)[1–4].隨著深度學(xué)習(xí)的發(fā)展,注意力機(jī)制已經(jīng)廣泛應(yīng)用于圖像描述,在該領(lǐng)域常用的編碼器-解碼器框架中起著舉足輕重的作用.然而,當(dāng)前的解碼框架并未較清楚地分析圖像特征與長短期記憶神經(jīng)網(wǎng)絡(luò)(Long Short-Term Memory,LSTM)隱藏狀態(tài)之間的相關(guān)性,這也可能導(dǎo)致累積誤差.眾所周知,單詞是由LSTM的隱藏狀態(tài)直接指導(dǎo)生成,如果隱藏狀態(tài)與特征向量之間的相關(guān)性不夠清晰,則很難指導(dǎo)生成正確的單詞.目前的注意力機(jī)制,往往忽略了前一時(shí)刻和后一時(shí)刻注意力結(jié)果對當(dāng)前時(shí)刻的影響,導(dǎo)致生成的句子不是很理想,因?yàn)閷τ谝粋€(gè)句子,單詞與單詞之間具有一定的相關(guān)性,當(dāng)前時(shí)刻生成的單詞會(huì)受到前后時(shí)刻生成單詞的影響.
為了在一定程度上解決該問題,本文提出了類時(shí)序注意力網(wǎng)絡(luò)(Similar Temporal Attention Network,STAN),該網(wǎng)絡(luò)擴(kuò)展了傳統(tǒng)的注意力機(jī)制,目的是加強(qiáng)注意力結(jié)果與隱藏狀態(tài)在不同時(shí)刻的相關(guān)性.首先,STAN 對圖像進(jìn)行編碼并提取其自下而上的特征,然后將編碼后的圖像特征傳遞給LSTM 進(jìn)行解碼,同時(shí)對LSTM的隱藏狀態(tài)和圖像特征施加注意力,最后通過注意力融合槽(AFS)將兩個(gè)相鄰LSTM片段的注意力結(jié)果引入到下一時(shí)刻的網(wǎng)絡(luò)循環(huán)中,以增強(qiáng)注意力結(jié)果與隱藏狀態(tài)之間的相關(guān)性.
本文中,創(chuàng)新點(diǎn)可以總結(jié)歸納為如下3 點(diǎn):
1)本文設(shè)計(jì)一種新的類時(shí)序注意力網(wǎng)絡(luò)來進(jìn)行圖像描述,該網(wǎng)絡(luò)擴(kuò)展了傳統(tǒng)的注意力機(jī)制,以增強(qiáng)注意力在不同時(shí)刻與隱藏狀態(tài)之間的相關(guān)性.
2)本文提出注意力融合槽(Attention Fusion Slot,AFS)的概念,它可以用于實(shí)現(xiàn)不同時(shí)刻注意力結(jié)果之間的跳躍連接.我們設(shè)計(jì)了隱藏狀態(tài)開關(guān)(Hidden State Switch,HSS)來指導(dǎo)生成單詞,將其與AFS 相結(jié)合,在一定程度上可以解決累積誤差的問題.
3)通過大量的實(shí)驗(yàn)對提出的模型進(jìn)行了分析與驗(yàn)證.MSCOCO 數(shù)據(jù)集上的實(shí)驗(yàn)結(jié)果表明了所提出的基于類時(shí)序注意力機(jī)制的圖像描述方法的有效性.
近年來,隨著深度學(xué)習(xí)技術(shù)的發(fā)展,有關(guān)圖像描述的文獻(xiàn)越來越多.早期的圖像描述方法基于規(guī)則-模板[5,6],是一種經(jīng)典方法.該方法通過目標(biāo)檢測技術(shù)[7–9]將視覺概念,對象和屬性轉(zhuǎn)換為單詞和短語,然后將它們組合成具有固定語言模型的句子.另一種比較主流的方法是基于神經(jīng)網(wǎng)絡(luò)的編碼器-解碼器框架,受機(jī)器翻譯的啟發(fā)發(fā)展而來[10].如何通過改進(jìn)網(wǎng)絡(luò)架構(gòu)來提高模型性能已逐漸成為圖像描述領(lǐng)域的主流研究方向.
當(dāng)前,最流行的圖像特征提取工具是自下而上的注意力模型[11],該模型已在許多文章中被使用,本文也是如此.相信隨著技術(shù)的進(jìn)一步發(fā)展,更加有效的圖像特征提取方法會(huì)被提出.另外,近年來出現(xiàn)了許多有關(guān)場景圖的文章.Yang 等人[12]通過圖卷積將每個(gè)對象及其自身屬性與其他對象之間的關(guān)系集成在一起,搭建出場景圖并規(guī)范化網(wǎng)絡(luò)模型的輸入.同時(shí),提出了詞典D的概念,經(jīng)過文本語料庫訓(xùn)練之后,再用來初始化描述模型,目的是在語料庫中引入一些先驗(yàn)知識(shí).場景圖和先驗(yàn)知識(shí)的引入有效地促進(jìn)了圖像描述的發(fā)展.當(dāng)然,圖像描述領(lǐng)域最常見的文章是關(guān)于注意力機(jī)制的改進(jìn)和網(wǎng)絡(luò)結(jié)構(gòu)的創(chuàng)新.盡管場景圖是一個(gè)非常熱門的話題,但由于發(fā)展剛起步不久,相對而言,此類論文較少.此外,強(qiáng)化學(xué)習(xí)已逐漸發(fā)展成為一種有效的模型性能改進(jìn)方法.Rennie 等人[13]使用強(qiáng)化學(xué)習(xí)來優(yōu)化圖像描述模型,并提出了自關(guān)鍵序列訓(xùn)練(SCST)方法,該方法使用測試階段模型的輸出對獎(jiǎng)勵(lì)進(jìn)行歸一化處理,而不是評估基準(zhǔn)模型的歸一化獎(jiǎng)勵(lì).
注意力模型(Attention Mechanism,AM)[14,15]最初用于機(jī)器翻譯,現(xiàn)已成為神經(jīng)網(wǎng)絡(luò)領(lǐng)域的重要概念.如今,注意力機(jī)制已成為深度學(xué)習(xí)神經(jīng)網(wǎng)絡(luò)的重要組成部分,并且在自然語言處理,統(tǒng)計(jì)學(xué)習(xí),語音翻譯和計(jì)算機(jī)視覺領(lǐng)域具有大量的應(yīng)用.注意力機(jī)制源自人類的視覺直覺,人類視覺快速掃描圖像全局以獲得需要關(guān)注的目標(biāo)區(qū)域,即所謂的關(guān)注焦點(diǎn),也即是目標(biāo)區(qū)域具有更多的關(guān)注資源,在抑制其他無用信息的同時(shí),更多地關(guān)注目標(biāo)的詳細(xì)信息.注意力機(jī)制首先計(jì)算每個(gè)候選向量的重要性得分,然后通過Softmax 函數(shù)將其標(biāo)準(zhǔn)化為權(quán)重,最后將這些權(quán)重應(yīng)用于候選向量以生成注意力結(jié)果,即加權(quán)平均向量[16].注意力機(jī)制有許多擴(kuò)展的變體.Yang 等人[17]提出了堆疊式注意力網(wǎng)絡(luò),該網(wǎng)絡(luò)通過多次迭代來實(shí)現(xiàn)對圖像的區(qū)域關(guān)注.Lu 等人[18]提出了一種帶有視覺標(biāo)記的自適應(yīng)注意力模型,在每個(gè)時(shí)間步長,模型都會(huì)決定是更依賴圖像還是更依賴視覺標(biāo)記.此外,視覺哨兵會(huì)存儲(chǔ)解碼器已經(jīng)知道的信息.Chen 等人[19]基于編碼器-解碼器模型層設(shè)計(jì)了空間和通道注意力卷積神經(jīng)網(wǎng)絡(luò)(CNN),該網(wǎng)絡(luò)使得原始的CNN 多層特征圖能夠自適應(yīng)句子上下文.Vaswani等人[20]放棄了基于卷積神經(jīng)網(wǎng)絡(luò)(CNN)或循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN)的傳統(tǒng)編碼器-解碼器模型,通過單獨(dú)使用注意力,在不影響最終實(shí)驗(yàn)結(jié)果的前提下達(dá)到減少計(jì)算量、提高并行效率的目的.Huang 等人[21]提出了一個(gè)“雙重注意力”(AoA)模塊,該模塊擴(kuò)展了常規(guī)的注意力機(jī)制來進(jìn)一步確定注意力結(jié)果和查詢之間的相關(guān)性.但是,網(wǎng)絡(luò)框架的創(chuàng)新和注意力機(jī)制的改進(jìn)都相對比較簡單,同時(shí),注意力機(jī)制和循環(huán)神經(jīng)網(wǎng)絡(luò)結(jié)合不夠緊密.注意力本身沒有時(shí)序性,但是將其嵌入神經(jīng)網(wǎng)絡(luò)后,我們可以認(rèn)為該注意力具有時(shí)序性,那么如何使注意力機(jī)制更有效地集成到神經(jīng)網(wǎng)絡(luò)中,是一個(gè)值得思考的問題.
本文使用自下而上的注意力模型[11](由目標(biāo)檢測區(qū)域特征提取框架Faster RCNN和ResNet-101 [22] CNN組合而成)來提取圖像特征V,然后將所有視覺特征饋入LSTM 進(jìn)行字幕生成.其中,解碼框架采用兩個(gè)連續(xù)的LSTM 作為循環(huán)單元,并且對每一時(shí)刻的隱藏狀態(tài)和圖像特征施加注意力,以增強(qiáng)它們之間的相關(guān)性.由于單詞是由隱藏狀態(tài)來指導(dǎo)生成,因此單詞與圖像特征之間的相關(guān)性也需要增強(qiáng).整個(gè)網(wǎng)絡(luò)架構(gòu)如圖1所示.
圖1 網(wǎng)絡(luò)架構(gòu)
給定一組圖像特征V,本文提出的描述模型仍使用傳統(tǒng)的軟注意力方法,在生成自然語言的過程中給每個(gè)圖像特征施加權(quán)重.該模型主要由兩個(gè)LSTM 層組成.本文將在3.2 節(jié)詳細(xì)介紹注意力融合槽如何與兩個(gè)LSTM 層組合生成單詞.首先,本文通過以下公式表示當(dāng)前LSTM的隱藏狀態(tài):
其中,xt是LSTM 在時(shí)刻t的輸入向量,ht?1是LSTM 在時(shí)刻t的輸出向量,v?t?1表示上一時(shí)刻的注意力結(jié)果,初始化為0.為了方便表示,本文對于LSTM 存儲(chǔ)單元的單元狀態(tài)忽略不計(jì),統(tǒng)一使用式(1)表示在時(shí)刻t處每一層LSTM的輸入和輸出向量.
對于描述模型,本文將第1個(gè)LSTM 層稱為類時(shí)序注意力層,將第2個(gè)LSTM 層稱為語言注意力層,使用V表示圖像特征.類時(shí)序注意力模型的輸入如3.1 節(jié)所示,是通過前一時(shí)刻語言注意力模型的輸出向量與均值特征級聯(lián)運(yùn)算得到,表示為輸入如下式所示:
當(dāng)在時(shí)刻t獲得類時(shí)序注意力層的輸出h1t時(shí),對相應(yīng)的k個(gè)圖像特征vi施加注意力權(quán)重.同時(shí),為了加強(qiáng)隱藏狀態(tài)與圖像特征之間的相關(guān)性,我們通過注意力融合槽(AFS)將前一時(shí)刻類時(shí)序注意力層和語言注意力層的輸出引入到當(dāng)前時(shí)刻.如圖2所示,其具體公式如下:
圖2 類時(shí)序注意力模型
其中,Wv∈?H×V,Wh∈?H×M和Wa∈?H分別是學(xué)習(xí)參數(shù).對圖像特征和隱藏狀態(tài)施加注意力之后,用表示類時(shí)序注意力層的輸出結(jié)果,用表示語言注意力層的輸出結(jié)果.λ1和λ2是超參數(shù),設(shè)置為0.5.另外,v?t是由下述公式計(jì)算得到:
語言注意力層的輸入由施加注意力之后的圖像特征和類時(shí)序注意力層的輸出級聯(lián)而成,用下式表示:
本文認(rèn)為前一時(shí)刻LSTM 隱藏狀態(tài)中包含的信息對當(dāng)前時(shí)刻單詞的生成具有促進(jìn)作用.為了充分利用LSTM 隱藏狀態(tài)之間的關(guān)系,本文設(shè)計(jì)了隱藏狀態(tài)開關(guān)(HSS),如圖3所示.計(jì)算公式如下.
圖3 語言注意力模型
其中,λh是學(xué)習(xí)參數(shù),Sh表示HSS的狀態(tài),Sh=0 表示HSS的狀態(tài)為“OFF”,Sh=1 表示HSS的狀態(tài)為“ON”.對于單詞序列(y1,…,yT),本文使用符號y1:T統(tǒng)一進(jìn)行表示.通過以下公式來表示在時(shí)間步長t處單詞分布的概率:
在訓(xùn)練過程中,對于給定的標(biāo)簽序列和帶有參數(shù)η的字幕模型,本文仍然使用最小化交叉熵?fù)p失:
交叉熵訓(xùn)練結(jié)束后,本文將采用目前比較流行的強(qiáng)化學(xué)習(xí)方法來訓(xùn)練和優(yōu)化最終模型.為了盡量減少負(fù)面期望得分,對交叉熵訓(xùn)練得到的最終模型進(jìn)行重新訓(xùn)練和初始化.計(jì)算公式如下:
其中,Sr是得分函數(shù)(例如CIDEr).這種損耗的梯度可以近似為:
本文在圖像描述領(lǐng)域官方數(shù)據(jù)集MSCOCO 上評估和驗(yàn)證基于類時(shí)序注意力機(jī)制的圖像描述模型[23].MSCOCO 數(shù)據(jù)集包含123287 張圖片,其中82783 張圖片作為訓(xùn)練集,40504 張圖片作為驗(yàn)證集,每張圖片對應(yīng)5個(gè)標(biāo)簽.此外,為了方便研究人員評估模型,MSCOCO 官方提供了40775 張圖片作為在線測試集.“Karpathy”數(shù)據(jù)集[24]用于模型線下評估和測試,其中5000 張圖片作為驗(yàn)證集,5000 張圖片作為測試集,其余圖片作為訓(xùn)練集.本文首先將所有標(biāo)簽語句轉(zhuǎn)換為小寫,然后過濾掉出現(xiàn)次數(shù)少于5 次的單詞,最后得到一個(gè)含有9487個(gè)單詞的字典.在實(shí)驗(yàn)過程中,使用領(lǐng)域常用評估策略,包括BLEU[25],METEOR[26],ROUGE-L[22],CIDEr[27]和SPICE[28],來評估所提出的方法,并與其他方法進(jìn)行比較.
其中,BLEU為機(jī)器翻譯中常用的雙語精度評估方法,是用于評估模型生成的句子和實(shí)際句子的差異的指標(biāo),取值范圍在0.0 到1.0 之間,如果兩個(gè)句子完美匹配,那么BLEU是1.0,反之,BLEU為0.0.METEOR是精度召回率評估方法,基于單精度的加權(quán)調(diào)和平均數(shù)和單字召回率,解決一些BLEU 標(biāo)準(zhǔn)中固有的缺陷,也是機(jī)器翻譯常用的評估方法之一.ROUGE-L是召回率評估方法,采用召回率作為指標(biāo),將模型生成的句子與實(shí)際句子的n元組貢獻(xiàn)統(tǒng)計(jì)量作為評判依據(jù).CIDEr是基于共識(shí)的圖像描述評估方法,將句子看作“文檔”,并將其表示成向量,然后計(jì)算實(shí)際句子與模型生成的句子的余弦相似度,作為打分.SPICE是基于語義的圖像描述評估方法,以名詞為中心,通過度量實(shí)際句子與模型生成句子的場景圖相似度來對兩個(gè)句子做語義匹配.
如圖4所示,是本文提出的方法訓(xùn)練的模型與基線模型在MSCOCO 數(shù)據(jù)集上的結(jié)果比較,可以看出,對于同一張圖片,該模型生成的描述與圖片內(nèi)容契合度更高,語言的準(zhǔn)確性和流利性更好.
圖4 實(shí)驗(yàn)結(jié)果對比
如表1所示,對于所提出的方法,本文在MSCOCO數(shù)據(jù)集上進(jìn)行了離線測試.實(shí)驗(yàn)結(jié)果表明,與基線模型(Top-Down 模型)[11]和其他方法相比,本文訓(xùn)練的模型具有更優(yōu)越的性能.從表1的離線測試結(jié)果中可以看到,與基線模型相比,本文的方法訓(xùn)練的模型的評估指標(biāo)都有所提高,尤其是CIDEr 提高了2.7個(gè)百分點(diǎn).本文訓(xùn)練的模型通過AFS 使注意力機(jī)制具有了時(shí)序性,可以與循環(huán)神經(jīng)網(wǎng)絡(luò)更加緊密地連接,產(chǎn)生包含更豐富有效信息的隱藏狀態(tài)向量,從而生成更高質(zhì)量的自然語言描述.
表1 MSCOCO 數(shù)據(jù)集上的實(shí)驗(yàn)結(jié)果對比
本文在Top-Down 模型的基礎(chǔ)上,進(jìn)一步完善了注意力機(jī)制,在MSCOCO 官方數(shù)據(jù)集上取得了較好的結(jié)果.在實(shí)驗(yàn)過程中,我們發(fā)現(xiàn)語言注意力層的隱藏狀態(tài)和類時(shí)間注意力層的隱藏狀態(tài)可以按一定比例融合以獲得新的狀態(tài)向量.此向量生成單詞的質(zhì)量比單獨(dú)使用語言注意力層的隱藏狀態(tài)略好.因此,我們設(shè)計(jì)了HSS來微調(diào)隱藏狀態(tài).表2是HSS 狀態(tài)對模型性能的影響.
表2 HSS 對模型的影響
在實(shí)驗(yàn)過程中,如表3所示,本文選擇了4個(gè)模型進(jìn)行集成實(shí)驗(yàn),分別為Model1,Model2,Model3,Model4,相應(yīng)的集成權(quán)重參數(shù)分別為m1,m2,m3,m4.調(diào)參過程如表4所示.為方便起見,本文設(shè)置HSS的狀態(tài)為“ON”.
表3 選取4個(gè)模型進(jìn)行集成實(shí)驗(yàn)
其中,Modela表示用Model1,Model2和Model3做集成實(shí)驗(yàn),Modelb表示用Model1,Model2和Model4做集成實(shí)驗(yàn),ma,mb表示模型對應(yīng)的權(quán)重參數(shù).
從表4中不難看出,對于參與集成的模型,性能最佳的模型將被賦予最高的權(quán)重,性能稍低的模型將被賦予較低的權(quán)重,這樣可以獲得比較理想的集成效果.
表4 調(diào)參過程及實(shí)驗(yàn)結(jié)果
本文提出了一種新型類時(shí)序注意力網(wǎng)絡(luò)用于圖像描述,該網(wǎng)絡(luò)擴(kuò)展了傳統(tǒng)的注意力機(jī)制,以增強(qiáng)注意力結(jié)果與隱藏狀態(tài)在不同時(shí)刻之間的相關(guān)性.此外,提出“注意力融合槽”(AFS)的概念,用于實(shí)現(xiàn)不同時(shí)刻注意力結(jié)果之間的跳躍連接.設(shè)計(jì)隱藏狀態(tài)開關(guān),用于指導(dǎo)單詞的產(chǎn)生,結(jié)合AFS 在一定程度上解決了累積誤差的問題.同時(shí),進(jìn)行了廣泛的實(shí)驗(yàn)驗(yàn)證分析該方法.在未來的工作中,本團(tuán)隊(duì)會(huì)繼續(xù)研究注意力機(jī)制和模型框架的改進(jìn)方式,并考慮引入場景圖來進(jìn)一步提升模型性能.