王耀葛,文瑞森,龐貴杰
(廣東工業(yè)大學 信息工程學院,廣東 廣州510006)
大數(shù)據(jù)時代,圖像描述所用到的技術(shù)包括計算機視覺與自然語言處理,這是人工智能的兩個主要研究領(lǐng)域。圖像描述任務(wù)就是給計算機一張圖像,讓計算機自動生成一句符合圖像內(nèi)容的描述語句。圖像描述任務(wù)在盲人視障、兒童早教、人機交互、游客導航等多方面有著不可估量的應(yīng)用前景。
圖像描述任務(wù)的生成算法主要有三類:基于模板的圖像描述生成方法、基于檢索的圖像描述生成方法和基于深度學習的圖像描述生成方法。目前用得最多的方法是基于深度學習的圖像描述生成方法,該方法采用卷積神經(jīng)網(wǎng)絡(luò)(Convolution Neural Network, CNN)獲取圖像特征信息,采用循環(huán)神經(jīng)網(wǎng)絡(luò)(Recurrent Neural Networks, RNN)生成描述語句。2015年,Vinyals等提出了神經(jīng)圖像字幕(Neural Image Captioning, NIC)模型,Decoder使用帶有記憶功能的長短期記憶網(wǎng)絡(luò)(Long Short-Term Memory, LSTM)來生成描述語句。Xu等對NIC模型進行了改進,第一次在圖像描述任務(wù)中引入機器翻譯中常用的注意力機制。2018年,Anderson等提出了一個自底向上與自頂向下相結(jié)合的注意力模型,使用Faster R-CNN獲取圖像的特征信息。2020年,Wu等提出了用于圖像描述的層次注意融合模型,將多級視覺特征與層次注意力整合在一起生成描述。Wei等通過結(jié)合語句級注意和單詞級注意生成圖像描述。
以上模型的解碼器大多數(shù)是通過單層或雙層LSTM網(wǎng)絡(luò)實現(xiàn)的,對于復雜的圖像描述任務(wù)來說解碼能力有限。同時模型使用交叉熵損失進行訓練,這會存在曝光偏差和損失評估失配等問題。為了解決上述問題,本文提出一種基于注意力機制和強化學習的三層LSTM網(wǎng)絡(luò)圖像描述模型。本文進行了以下研究工作:
(1)提出一種改進的結(jié)合注意力機制的三層LSTM網(wǎng)絡(luò)解碼器,其中每兩層LSTM網(wǎng)絡(luò)間使用空間注意力模型進行連接,以增強注意力機制的效果。
(2)采用強化學習的訓練策略來解決曝光偏差和損失評估失配等問題,提升模型在評價指標中的得分,進一步提高模型的性能。
在編碼器-解碼器框架中,編碼器將圖像作為輸入。該圖像的真實描述語句為= {,, . . . ,} ,S為One-hot向量,表示每個單詞。模型訓練的目標是使生成下一個預(yù)測單詞的概率值最大,即:
其中,為模型參數(shù)。因為描述語句由不同單詞組成,故上式可以分解為:
上式中(|,, . . . ,;) 的計算是一個序列問題,故可以使用LSTM網(wǎng)絡(luò)作為解碼器,可以表示為:
其中,(·)為S概率的非線性輸出,h為LSTM的隱藏層狀態(tài),c為上下文向量。使用LSTM網(wǎng)絡(luò)求得+1時刻生成單詞的概率分布,即:
其中,x,h分別為LSTM網(wǎng)絡(luò)當前時刻的輸入和前一時刻的隱藏層狀態(tài),m為前一時刻的記憶細胞狀態(tài),W為要訓練的參數(shù),b為偏置參數(shù)。
本文提出的解碼器模型為三層LSTM網(wǎng)絡(luò)結(jié)構(gòu),其模型結(jié)構(gòu)圖如圖1所示。圖1中用上標表示每一層,用表示圖像特征。
圖1 改進的三層LSTM網(wǎng)絡(luò)模型結(jié)構(gòu)圖
第二個LSTM層為中間層注意力模型。在這一層中,當前時刻中間層注意力LSTM的輸入向量由下式給出:
第三個LSTM層為語言模型。在這一層中,第步的語言注意力LSTM的輸入向量由下式給出:
本文使用的訓練數(shù)據(jù)集為MS-COCO數(shù)據(jù)集,MSCOCO圖像集含有113 287張訓練圖片,5 000張驗證圖片,5 000張測試圖片,圖像集中每張圖像對應(yīng)于5個人工生成的描述信息。對于人工標注描述,計算每個單詞出現(xiàn)的次數(shù),保留出現(xiàn)次數(shù)大于5次的單詞,<START>標記生成語句的開頭,<END>標記生成語句的結(jié)尾,最終得到的單詞表包含9 489個單詞。
實驗平臺為Ubuntu16.04.7,使用Pytorch深度學習框架,GPU為顯存為11 G的GeForce RTX 2080 Ti,CUDA版本為11.0,CPU為英特爾E5-2609,內(nèi)存為32 GB。
模型訓練階段使用ResNet-101網(wǎng)絡(luò)作為編碼器,使用改進的三層LSTM網(wǎng)絡(luò)作為解碼器。選用Adam優(yōu)化器,學習率設(shè)置為5,每隔3epoch就會漸進式地減小學習率為原來的0.8倍。實驗Resnet101(XE)采用交叉熵損失函數(shù),設(shè)置batch_size為192,并進行多達100 epoch的訓練。實驗Resnet101 (RL)在訓練集上總共訓練了100個epoch,前50個epoch使用交叉熵損失函數(shù)進行訓練,設(shè)置batch_size為192;后50個epoch使用強化學習損失函數(shù)進行訓練,設(shè)置batch_size為64。為了避免出現(xiàn)過擬合,采用Dropout方法來優(yōu)化訓練,beam_size設(shè)置為3。
本文采用BLEU-1、BLEU-4、METEOR、ROUGE和CIDEr共5種評價指標,評價得分越高表示生成描述語句的質(zhì)量越好。與其他學者提出的模型相比,將本文模型Ours(XE)、強化學習優(yōu)化后的本文模型Ours(RL)分別與Up-Down、HAF和DAIC模型在MS-COCO數(shù)據(jù)集上進行對比,結(jié)果如表1所示。表中加粗的為最高評分,“—”表示未在文獻中找到其數(shù)據(jù)。
表1 本文圖像描述模型與其他模型在MS-COCO數(shù)據(jù)集上的得分對比
從上表中的實驗數(shù)據(jù)可以看出,本文提出的基于三層LSTM網(wǎng)絡(luò)的圖像描述生成模型的評價指標得分大都優(yōu)于目前流行的圖像描述生成模型。通過對比Ours(XE)和近期提出的HAF圖像描述生成模型獲得的評價指標得分,除了BLEU-1,本文提出模型的其他評價指標均持平或有所提升。通過強化學習策略優(yōu)化模型Ours(RL)后的各項評價指標的得分均優(yōu)于目前流行的模型,能生成更有效的圖像描述語句。
圖2為本文模型與Up-Down模型生成描述語句的對比示例。本文Ours(RL)模型生成的描述語句比Up-Down模型和未進行強化學習的Ours(XE)模型更準確。例如圖2的第一幅圖像,Up-Down模型給出的描述為A man riding on the back of a horse,而本文提出的Ours(XE)模型給出的描述為A man riding on the back of a brown horse,把馬匹的顏色都描述出來了。再看一下本文提出的用強化學習策略優(yōu)化的Ours(RL)模型,其給出的描述為A man riding a horse with a group of dogs,不僅準確描述了主體事件——男人騎馬,還把后面跟著的一群小狗也表達出來了,所描述的語句更加具體生動,更加符合圖像所展示的內(nèi)容,展現(xiàn)了本文模型的良好性能。
圖2 Updown模型、Ours(XE)模型和Ours(RL)生成圖像描述對比
本文提出了一種基于視覺注意力機制和強化學習的三層LSTM網(wǎng)絡(luò)圖像描述模型,在編碼器階段采用ResNet-101網(wǎng)絡(luò)提取圖像的特征信息,在解碼器階段使用三層LSTM網(wǎng)絡(luò)模型對提取到的圖像特征進行解碼,生成圖像描述。MSCOCO數(shù)據(jù)集上的評價指標對比結(jié)果表明,本文模型可以生成更具體、更全面的描述語句,同時利用強化學習優(yōu)化后的模型生成的描述語句更加準確。