姚義 王詩(shī)珂 陳希豪 林宇翩
摘要:圖像標(biāo)注任務(wù)是人工智能領(lǐng)域中將機(jī)器視覺(ComputerVision)與自然語(yǔ)言處理(NaturalLanguageProcessing)兩大方向相結(jié)合的任務(wù),受到學(xué)界極大的關(guān)注。本文針對(duì)目前主流的圖像描述算法進(jìn)行綜合的研究,基于目前圖像標(biāo)注任務(wù)中取得優(yōu)秀效果的CNN-LSTM描述生成算法,引入目前機(jī)器視覺方向上取得長(zhǎng)足發(fā)展的目標(biāo)檢測(cè)框架Faster R.CNN作編碼器替換CNN,使用圖像區(qū)域特征輸入解碼器;在解碼器部分的循環(huán)神經(jīng)網(wǎng)絡(luò)中使用注意力機(jī)制,進(jìn)一步強(qiáng)化區(qū)域圖像特征對(duì)解碼器生成自然語(yǔ)言描述的貢獻(xiàn),從而構(gòu)成從區(qū)域特征到全局描述的結(jié)構(gòu)化圖像標(biāo)注框架。這一圖像標(biāo)注算法在MSCO-CO數(shù)據(jù)集上進(jìn)行訓(xùn)練與測(cè)試(分別在訓(xùn)練集與測(cè)試集上進(jìn)行),我們提出的模型獲得了超過(guò)了基線模型的效果。
關(guān)鍵詞:Encoder-Decoder;FasterR-CNN;注意力機(jī)制
中圖分類號(hào):TP311 文獻(xiàn)標(biāo)識(shí)碼:A
文章編號(hào):1009-3044(2019)33-0187-03
1引入
圖像標(biāo)注任務(wù)是機(jī)器視覺與自然語(yǔ)言處理兩大人工智能方向的集成。圖像標(biāo)注任務(wù)需要從圖像中提取視覺信息,并將其轉(zhuǎn)化為自然語(yǔ)言輸出。圖像標(biāo)注算法在深度學(xué)習(xí)日趨成熟的今天已基本完成了從傳統(tǒng)算法到基于深度網(wǎng)絡(luò)的算法的轉(zhuǎn)變。標(biāo)注模型主要由兩部分網(wǎng)絡(luò)拼接構(gòu)成,稱為編碼器一解碼器結(jié)構(gòu)(Encoder-Decoder)。編碼器通常為卷積神經(jīng)網(wǎng)絡(luò),用于從圖像中提取語(yǔ)義信息,解碼器則一般為循環(huán)神經(jīng)網(wǎng)絡(luò),用于對(duì)自然語(yǔ)言進(jìn)行建模,并使用編碼器提取的高層語(yǔ)義信息進(jìn)行自然語(yǔ)言標(biāo)注的生成。
盡管在采用編碼器一解碼器的結(jié)構(gòu)后,圖像標(biāo)注任務(wù)的精度相比傳統(tǒng)方法有了很大的提升,我們認(rèn)為在編碼器的部分依舊有較大的改進(jìn)空間。編碼器部分使用原始的卷積網(wǎng)絡(luò)僅能對(duì)圖像的全局進(jìn)行特征提取,并得到全局圖像特征圖(GlobalFeature Map),而圖像中有大量背景像素或非關(guān)鍵像素信息對(duì)圖像標(biāo)注的生成沒有幫助,而卷積網(wǎng)絡(luò)并不能將這些非關(guān)鍵信息篩去。因此我們采用了目前在目標(biāo)檢測(cè)領(lǐng)域取得優(yōu)秀效果的區(qū)域方法來(lái)替換原始的卷積神經(jīng)網(wǎng)絡(luò)。在編碼器部分采用區(qū)域方法能夠讓編碼器提取到圖像中的顯著區(qū)域(Region of In-terest,RoI)信息,而忽略非顯著區(qū)域的視覺信息。同時(shí),在解碼器部分,我們采用了注意力(Attention)機(jī)制。注意力機(jī)制能夠在生成每一個(gè)標(biāo)注詞時(shí),都能夠參照對(duì)應(yīng)的視覺信息,由此可提高標(biāo)注詞的精度。我們使用了長(zhǎng)短期記憶網(wǎng)絡(luò)(Long-ShortTerm Memory,LSTM)作為解碼器,LSTM相比原始的循環(huán)神經(jīng)網(wǎng)絡(luò)能夠有效避免梯度爆炸與梯度消失的問(wèn)題,因此已經(jīng)被廣泛用于替代原始的循環(huán)網(wǎng)絡(luò)。
我們使用了MSCOCO數(shù)據(jù)集中的訓(xùn)練集對(duì)所提出的網(wǎng)絡(luò)進(jìn)行了訓(xùn)練,并在測(cè)試集上測(cè)試了網(wǎng)絡(luò)的效果,得到了超過(guò)基線模型的結(jié)果。
2方法
對(duì)于輸入的圖片,我們的模型在編碼器部分會(huì)使用后端的卷積網(wǎng)絡(luò)(具體來(lái)說(shuō)使用的是特征金字塔網(wǎng)絡(luò)(PeaturePyramid Network,F(xiàn)PN))將圖像轉(zhuǎn)化為特征圖,隨后使用特征提議網(wǎng)絡(luò)(Region Proposal Net-work,RPN)在特征圖中提取指定數(shù)量的顯著區(qū)域特征圖(向量)。這些特征圖(向量)堆疊為一個(gè)稠密向量后輸入到帶有注意力模塊的長(zhǎng)短期記憶網(wǎng)絡(luò)(解碼器)中,逐詞生成對(duì)圖片的標(biāo)注。模型整體結(jié)構(gòu)如圖1所示。在2.1與2.2部分將詳細(xì)介紹編碼器與解碼器的結(jié)構(gòu)。
2.1基于區(qū)域特征的編碼器——Faster R-CNN
本模型采用的編碼器為Faster R-CNN,該框架包含兩個(gè)部分,首先是用于將圖像轉(zhuǎn)化為特征圖的后端特征提取器,在本模型中選擇的是特征金字塔網(wǎng)絡(luò)FPN,結(jié)構(gòu)如圖2所示。FPN的結(jié)構(gòu)脫胎于深度殘差網(wǎng)絡(luò)ResNet,在殘差網(wǎng)絡(luò)的基礎(chǔ)上引入了金字塔式的結(jié)構(gòu).這一結(jié)構(gòu)設(shè)計(jì)保證了圖像在不同分辨率下的特征提取能夠全部得到覆蓋,因此圖像中不同大小的顯著區(qū)域不會(huì)如在沒有使用這一金字塔結(jié)構(gòu)的網(wǎng)絡(luò)中一樣被忽略。我們將網(wǎng)絡(luò)頭部的預(yù)測(cè)部分去除,將網(wǎng)絡(luò)與區(qū)域提議網(wǎng)絡(luò)RPN相連接。
FPN輸出層輸出一組區(qū)域特征向量,輸入到區(qū)域提議網(wǎng)絡(luò)RPN中。區(qū)域提議網(wǎng)絡(luò)從輸入的圖片中提取出一組矩形的建議對(duì)象,以及對(duì)應(yīng)的對(duì)象分?jǐn)?shù)。在實(shí)際應(yīng)用時(shí),將圖像替換為由后端特征提取器獲得的特征圖以此在后端網(wǎng)絡(luò)與RPN共享特征以此提升模型運(yùn)行速度。在區(qū)域提議網(wǎng)絡(luò)中使用一個(gè)小型網(wǎng)絡(luò)在特征圖上滑動(dòng),每一滑動(dòng)窗口會(huì)被映射到低層特征,隨后被輸入到邊界框回歸網(wǎng)絡(luò)(box-regression subnet)與邊框分類網(wǎng)絡(luò)(box-classifieation subnet)中,用于生成最終的提議區(qū)域以及對(duì)應(yīng)區(qū)域的分?jǐn)?shù)。RPN在特征圖上滑動(dòng)時(shí),會(huì)根據(jù)特征圖大小設(shè)定錨定點(diǎn)(anchor),對(duì)于每一錨定點(diǎn),生成三個(gè)寬高比與大小不同的矩形邊界框,這些矩形邊界框?qū)⒆鳛樵嫉奶嶙h區(qū)域輸入到分類與回歸網(wǎng)絡(luò)中做進(jìn)一步篩選。這一方法的一大優(yōu)點(diǎn)是這些錨定點(diǎn)不隨圖像變化而改變,具有不變的特性。特征圖與錨定點(diǎn)及錨定框如圖3所示。對(duì)于給定錨定框中心點(diǎn)(Xa,ya),RPN計(jì)算后得到的框?qū)挕⒖蚋呒爸行狞c(diǎn)的偏移量如下式:
在該步驟中將得到k個(gè)建議區(qū)域,為簡(jiǎn)化解碼器對(duì)區(qū)域信息的使用以及去除重疊部分較高的區(qū)域,我們使用非極大值抑止NMS根據(jù)置信度的大小篩選出最終的提議區(qū)域。將RPN與后端FPN相連接即得到網(wǎng)絡(luò)的編碼器部分,整體結(jié)構(gòu)如圖4所示。
2.2基于注意力機(jī)制的LSTM解碼器
本模型使用了帶有注意力模塊的長(zhǎng)短期記憶網(wǎng)絡(luò)作為模型的解碼器部分。我們將解碼器分為L(zhǎng)STM與注意力模塊兩部分在2.2.1與2.2.2中進(jìn)行詳細(xì)介紹。
2.2.1長(zhǎng)短期記憶網(wǎng)絡(luò)
長(zhǎng)短期記憶網(wǎng)絡(luò)與傳統(tǒng)的循環(huán)神經(jīng)網(wǎng)絡(luò)(Recurrent NeuralNetwork,RNN)有相似的循環(huán)結(jié)構(gòu)。在每一時(shí)序,網(wǎng)絡(luò)在其核中維護(hù)一個(gè)隱藏狀態(tài)(hidden state,ht),該狀態(tài)在每一時(shí)序接收外界對(duì)網(wǎng)絡(luò)輸入的信息以及上一時(shí)序傳遞的信息,從而使網(wǎng)絡(luò)具有了一定程度上的“記憶”功能,這一特性使循環(huán)網(wǎng)絡(luò)能夠較好地處理需要記憶之前信息的序列任務(wù)。但原始循環(huán)神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu)上有一定缺陷,在梯度信息從最后一時(shí)序回傳至前時(shí)序時(shí)梯度信息會(huì)互相相乘,導(dǎo)致梯度信息過(guò)大,也即梯度爆炸,或梯度信息過(guò)小,也即梯度消失。為解決這一問(wèn)題,長(zhǎng)短期記憶被提出。其在網(wǎng)絡(luò)核心層中引入了門限變量,使梯度信息間的傳遞由乘積變?yōu)榧雍?,有效減輕了梯度信息的損失,其迭代公式如下:
門限變量分別有輸入門限i,遺忘門限f,輸出門限o(如上式)。由門限變量與輸入、前一時(shí)序的狀態(tài)相結(jié)合,可得到當(dāng)前的隱藏狀態(tài),將隱藏狀態(tài)經(jīng)由輸出門限控制后經(jīng)過(guò)全連接層輸出當(dāng)前時(shí)序的預(yù)測(cè)(詞)。
2.2.2注意力機(jī)制
注意力機(jī)制主要在圖像標(biāo)注任務(wù)的模型解碼器部分使用,這一模塊對(duì)從編碼器處傳遞到解碼器的視覺信息進(jìn)行加權(quán)處理,做到參考圖像指定位置的視覺信息來(lái)生成對(duì)應(yīng)標(biāo)注詞的效果。具體來(lái)說(shuō)在每一時(shí)刻t,在上一時(shí)刻LSTM和所維護(hù)的入ht-1與圖像特征圖輸入注意力模塊,由注意力模塊計(jì)算得到一向量zt。隨后語(yǔ)境向量將與t時(shí)刻LSTM核的輸入xt一起輸入到LSTM核中參與計(jì)算。注意力機(jī)制可分為軟性注意力機(jī)制與硬性注意力機(jī)制,其中硬注意力機(jī)制(Hard Attention)將需要被關(guān)注的圖像區(qū)域視作中間隱變量,而向量zt則成為隨機(jī)變量,將對(duì)z.的計(jì)算過(guò)程建模為多元伯努利分布的采樣過(guò)程;而我們使用了軟注意力機(jī)制(Son Attention),然注意力機(jī)制直接計(jì)算z,的期望,由一個(gè)小型的分類器(全連接網(wǎng)絡(luò))組成,如下式:注意力模塊的結(jié)構(gòu)如圖5所示。
3實(shí)驗(yàn)與結(jié)果評(píng)估
3.1數(shù)據(jù)集
本模型的訓(xùn)練在MSCOCO數(shù)據(jù)集上進(jìn)行。MSCOCO是一個(gè)綜合性的機(jī)器視覺任務(wù)數(shù)據(jù)集。
Microsoft COCO數(shù)據(jù)集(MSCOCO)于2014年建立,MSCOCO數(shù)據(jù)集針對(duì)場(chǎng)景理解的三個(gè)子任務(wù):對(duì)象檢測(cè)、圖像(語(yǔ)義)分割以及圖像標(biāo)注任務(wù)設(shè)計(jì)了數(shù)據(jù)集。數(shù)據(jù)集本身包含超過(guò)330,000張圖片,圖像數(shù)據(jù)涵蓋了91中對(duì)象類別,共包含超過(guò)250萬(wàn)的標(biāo)簽實(shí)例。同時(shí)針對(duì)圖像的描述戶際注任務(wù),MSCOCO標(biāo)注數(shù)據(jù)集每一張圖片對(duì)應(yīng)五句不同的描述語(yǔ)句。
3.2性能評(píng)估
本模型的訓(xùn)練使用了Adam優(yōu)化器,超參數(shù)設(shè)置為:盧,:0.9,β2=0.999,lr=5*10-4。模型采用了遷移學(xué)習(xí)的策略碼,因此模型編碼器的特征金字塔網(wǎng)絡(luò)不參與訓(xùn)練,其參數(shù)為預(yù)訓(xùn)練參數(shù),被固定直接使用。
我們采用了CNN-LSTM圖像標(biāo)注框架作為我們提出模型的對(duì)照模型(baseline),與我們所提出的模型進(jìn)行對(duì)比。采用的評(píng)估標(biāo)準(zhǔn)為BLEU-4標(biāo)準(zhǔn)。
BLEU標(biāo)準(zhǔn)是一種評(píng)價(jià)自然語(yǔ)言相似度的標(biāo)準(zhǔn)。其引入n-gram的概念,n-gram是指將語(yǔ)句轉(zhuǎn)化為長(zhǎng)度為n的短語(yǔ)的集合。BLEU標(biāo)準(zhǔn)通過(guò)將語(yǔ)句轉(zhuǎn)化為n-gram形式再對(duì)兩者進(jìn)行相似性上的評(píng)估,能夠?qū)⒃~語(yǔ)、詞組與短語(yǔ)等較單詞更長(zhǎng)的語(yǔ)義模塊納入了考量的范圍內(nèi)以此增加相似度計(jì)算的可靠程度。
在轉(zhuǎn)化完成后,對(duì)相似性的評(píng)估即等價(jià)為候選句中的n-gram在參考句中出現(xiàn)的頻率,頻率越高,則在該gram粒度下兩者相似度越高,如下式:
如表1所示,我們的模型在BLEU-4分?jǐn)?shù)上超過(guò)了CNN-LSTM圖像標(biāo)注模型的分?jǐn)?shù),證明了區(qū)域特征的引入能夠改進(jìn)圖像標(biāo)注模型的性能。
為規(guī)避模型間由于訓(xùn)練設(shè)定不同而造成的模型性能差異,在實(shí)驗(yàn)中,我們對(duì)模型間的相同層均使用了一致的初始化方式,同時(shí)訓(xùn)練中使用了相同的優(yōu)化器,盡可能地規(guī)避模型間由于訓(xùn)練導(dǎo)致的效果差異。
盡管我們所提出的模型性能已超過(guò)了文中基線模型,但對(duì)比當(dāng)前模型在性能上仍有不小的差距。除模型結(jié)構(gòu)上的不同,性能上的差距主要還可能是由于模型訓(xùn)練上的不足,在后續(xù)工作中可進(jìn)一步對(duì)模型進(jìn)行訓(xùn)練以提升其性能。
4總結(jié)展望
在本文中我們提出了一種基于深度網(wǎng)絡(luò)的圖像標(biāo)注算法。在這一算法的設(shè)計(jì)中,我們主要將目前最新的基于區(qū)域的方法應(yīng)用到了我們模型的編碼器部分。使其相較傳統(tǒng)的卷積神經(jīng)網(wǎng)絡(luò)僅能針對(duì)圖像的全局進(jìn)行特征提取做到能夠?qū)D像的顯著區(qū)域進(jìn)行更為有效的特征提取,并且這些區(qū)域信息能夠在模型的解碼器部分與注意力機(jī)制很好地結(jié)合起來(lái),充分發(fā)揮注意力機(jī)制對(duì)視覺信息的選擇作用,進(jìn)一步提升標(biāo)注模型的性能。我們的模型在BLEU-4標(biāo)準(zhǔn)下超過(guò)了我們選擇的基線模型CNN-RNN框架取得的分?jǐn)?shù)。
我們認(rèn)為區(qū)域方法能夠較好地提取圖像中的關(guān)鍵信息,這一方法能夠被廣泛地應(yīng)用于機(jī)器視覺方向下的子任務(wù),包括圖像標(biāo)注任務(wù)。這一特點(diǎn)能夠激發(fā)后續(xù)在這一方法的基礎(chǔ)上更多的研究。同時(shí)我們?cè)诮獯a器中沒有使用更為復(fù)雜的結(jié)構(gòu)如雙向長(zhǎng)短期記憶網(wǎng)絡(luò)等結(jié)構(gòu),我們認(rèn)為若進(jìn)一步使用更為先進(jìn)的解碼器結(jié)構(gòu),模型的效果可能能夠得到進(jìn)一步的提升。