国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

深度神經(jīng)網(wǎng)絡(luò)圖像描述綜述

2021-05-14 06:27:48田英杰種法廣王子超
計算機工程與應(yīng)用 2021年9期
關(guān)鍵詞:解碼器編碼器語句

許 昊,張 凱,田英杰,種法廣,王子超

1.上海電力大學(xué) 計算機科學(xué)與技術(shù)學(xué)院,上海201300

2.國家電網(wǎng)公司 上海電器科學(xué)研究院,上海200437

近十年是深度學(xué)習(xí)進入高速發(fā)展的黃金時期,各領(lǐng)域基于深度學(xué)習(xí)算法的研究取得了豐富的成果,其工業(yè)化的應(yīng)用也惠及到人們生活中的方方面面。例如,可以使用指紋、人臉或者虹膜進行手機解鎖,在YouTube 觀看外語視頻時可以實現(xiàn)實時翻譯字幕的顯示。在年初爆發(fā)新型冠狀病毒的關(guān)鍵時期,大部分車站、高速收費站等都可以使用紅外線檢測儀來安全快捷地檢測人體的體溫,年初時由于疫情大家都戴起了口罩,這也帶來了一些小的生活煩惱:很多通過人臉識別解鎖的手機“認不得”自己了,但是隨著深度學(xué)習(xí)在大數(shù)據(jù)中的學(xué)習(xí),這一問題很快得到了解決。深度學(xué)習(xí)在圖像領(lǐng)域:圖像分類[1-3]、目標檢測[4-6]、場景識別[7-9]等得到了廣泛應(yīng)用,隨后出現(xiàn)了多模態(tài)的圖像語義技術(shù),也就是將圖像和文本跨模態(tài)建立聯(lián)系,進而使計算機能夠從人類思維的角度出發(fā)去處理圖像中的信息,并能夠識別各目標之間的聯(lián)系,最終以文字的形式表示出來。這項技術(shù)在人們的生活中也得到了有效的應(yīng)用,例如能夠?qū)γと诉M行導(dǎo)航?;谶@樣的需求,能夠通過實時采取和分析視頻圖像,將采取的圖像信息進行處理并輸出成一段文本,最后通過文本轉(zhuǎn)語音傳入盲人的耳中,使得盲人能夠?qū)崟r地感知周圍的環(huán)境。對于智能機器人的發(fā)展也同樣重要,圖像描述的技術(shù)能夠準確識別出提取圖像中的關(guān)鍵內(nèi)容,并進一步理解圖像中各物體間的關(guān)系,相當于讓它有了一雙能夠感知世界的“眼睛”,這對于機器人技術(shù)的發(fā)展也具有巨大的推動作用。圖像描述在圖像檢索系統(tǒng)也有著一定的應(yīng)用價值,傳統(tǒng)的圖像檢索技術(shù)主要是利用圖像的標簽進行對應(yīng)索引的建立,但如果標簽存在錯誤,圖像就不能被正確檢索,如果將圖像描述技術(shù)應(yīng)用其中,圖像檢索系統(tǒng)能正確地理解圖像內(nèi)在目標的語義,這樣系統(tǒng)也就能對龐大的無標簽圖像進行正確有效地檢索,這樣圖像檢索的效率就能得到提高,檢索的范圍也得到拓展。除此之外,該技術(shù)在其他領(lǐng)域也有著應(yīng)用前景,例如生成醫(yī)學(xué)CT圖像的報告,新聞標題的生成等。近年來,圖像描述的技術(shù)也趨于成熟,圖像描述的技術(shù)也發(fā)展到視頻描述,例如根據(jù)短視頻進行一篇新聞報告的生成等??梢钥闯觯瑘D像描述技術(shù)在現(xiàn)實中的有著巨大的實用價值。

圖像描述作為把計算機視覺和自然語言處理相結(jié)合的跨模態(tài)跨領(lǐng)域的任務(wù)。一般地,它將輸入的圖片通過卷積神經(jīng)網(wǎng)絡(luò)提取圖像特征并利用循環(huán)神經(jīng)網(wǎng)絡(luò)等方法生成一段文字的描述,這段描述要求和圖片的內(nèi)容高度相似。這對于人類來說是很簡單的,通俗來說就是看圖說話,幾歲的兒童就能很詳細地描述一張圖片的內(nèi)容。但對于計算機來說還是有很大的難度的,這要求計算機利用模型來提取圖片內(nèi)的特征以及一些高層語義信息,然后利用自然語言處理的方法表達圖片中的內(nèi)容。

最初,傳統(tǒng)的圖像描述算法是通過模板填充[10-11]的方法來生成圖像描述,它主要是通過局部二值模式、尺度不變特征轉(zhuǎn)換或者方向梯度直方圖等算法提取圖像的視覺特征,并根據(jù)這些特征檢測對應(yīng)目標、動作及屬性對應(yīng)的單詞詞匯,最后將這些單詞填入到模板中。不難看出這樣的方法雖然能夠保證句型語法的正確性,也有著很大的局限性,由于使用的模板是固定的,它也依賴于硬解碼的視覺概念影響,這樣生成的語句格式相對固定且形式單一,應(yīng)用的場景也很局限,正因為這樣天然的缺陷,后續(xù)的改進也變得更加繁瑣而無法應(yīng)用到實際的場景之中。還有一種是基于檢索[12-13]的方法,它主要是將大量的圖片描述存于一個集合中,然后通過比較有標簽圖片和訓(xùn)練生成圖片描述兩者間相似度來生成一個候選描述的集合,再從中選擇最符合該圖片的描述。這樣的方法能保證語句的正確性,但語義的正確性卻難以保證,因而對圖像描述的正確率較低。

得益于深度學(xué)習(xí)的發(fā)展,借助深度學(xué)習(xí)的方法推進跨模態(tài)學(xué)習(xí)成為當前的主流,這也是目前使用最多的基于生成的方法。這類方法的大致流程是先將圖像信息編碼后作為輸入放進模型,隨后利用此模型生成該圖像對應(yīng)的文本描述。如圖1所示,這樣的模型一般采用編碼器-解碼器架構(gòu),編碼器使用卷積神經(jīng)網(wǎng)絡(luò)(CNN[1])提取圖像特征,解碼器采用循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN[14])來生成文本描述。這是在圖像描述中普遍應(yīng)用且效果最好的模型,它在語句結(jié)構(gòu)的完整性、語義的正確性,以及泛化能力得到了一致的認可。

圖1 基于CNN-RNN的圖像描述

1 基本架構(gòu)及改進

1.1 編碼器-解碼器架構(gòu)

本章對基于深度神經(jīng)網(wǎng)絡(luò)[15]的圖像描述[16-17]基本架構(gòu)和改進進行介紹。首先,當前圖像描述基本都是在編碼器-解碼器架構(gòu)上進行改進,基于編碼器、解碼器上的改進主要如圖2所示。

圖2 基本架構(gòu)概述

在2015 年,Vinyals等人[18]提出一個NIC 的模型,這個模型的靈感來自于谷歌2014 年有關(guān)機器翻譯的工作,也就是著名的系列到序列(seq2seq)模型[19],它著重解決的是語言翻譯的問題,最終也取得了很好的成績,這也是編碼器-解碼器架構(gòu)的最初提出。在機器翻譯里,輸入的是源語言,輸出的是目標語言的翻譯文字,由于兩句話的長度可能不等,該模型采用RNN 網(wǎng)絡(luò)對句子進行了編碼,轉(zhuǎn)化為一個固定長度的向量,然后再將這個向量輸入到另一個RNN 網(wǎng)絡(luò)來進行解碼,進而輸出翻譯后的句子。這樣的結(jié)構(gòu)在機器翻譯的模型中實現(xiàn)了變長序列到變長序列的一個映射。對應(yīng)到NIC 模型中就是圖片到文字的一個映射。如圖3所示,這篇論文中的模型基于機器翻譯模型上進行了改進,編碼器使用基于CNN的InceptionNet提取圖像特征信息,解碼器依舊使用RNN處理輸入的圖像信息來生成描述。在同一時期,Karpathy 等人[20]提出的結(jié)構(gòu)和NIC 模型幾乎一致,區(qū)別在于它使用VGGNet[21]作為圖像特征提取器。

圖3 NIC模型

在NIC 模型的訓(xùn)練階段使用的是COCO 數(shù)據(jù)集中訓(xùn)練集和數(shù)據(jù)集中的圖片及其對應(yīng)的文本描述。在編碼階段,模型用CNN 將圖片編碼為向量I,I是一個224×224×3 的向量,這里的CNN 使用的是Google Inception Net 后接一層全連接層。對于圖片相應(yīng)的文本描述,為每句描述添加一個start 和end 標記,也就是圖3 中的<BOS>和<EOS>。假設(shè)提取的語料庫有m個詞,首先將句子中的每個單詞編碼成獨熱編碼(one-hot)的形式,如圖3中的每一個LSTM模塊的輸入都是一個m維的向量,然后通過一個矩陣變換將這個m維向量轉(zhuǎn)換為一個512 維的向量,即和圖像的編碼維度相同。而在解碼階段,模型使用的是單層的LSTM 網(wǎng)絡(luò),可以用下列公式描述這個過程:

其中,N-1 表示句子的長度,不包括<BOS><EOS>標記,LSTM可以表述成ht+1=f(ht,xt),ht表示為t時刻LSTM的輸出,這個公式可以理解為每一步的輸出是上一步的輸出和當前時刻的輸入的函數(shù)。對應(yīng)到公式(1)中,h-1=0,初始值為0,h0=f(h-1,x-1),x0=WeS0,如此循環(huán)。LSTM每一步的輸出后會接一個softmax分類器,維度等于語料庫中的詞匯量,模型的損失是每一步正確預(yù)測單詞的負對數(shù)似然之和,如公式(2)所示:

使用這個損失函數(shù)來最大化每一步輸出單詞的概率。在接下來的訓(xùn)練階段,NIC 模型選擇已經(jīng)在Imagenet上訓(xùn)練好的CNN模型,訓(xùn)練的第一階段固定CNN的參數(shù)不變,參與訓(xùn)練的有LSTM 和wordembedding 的參數(shù)。在第二階段再把CNN、LSTM 和wordembedding這三部分的參數(shù)一同進行訓(xùn)練。在預(yù)測階段,有兩種生成描述的方式:第一種是在LSTM 生成單詞的每一步選擇模型輸出概率最大的一個單詞,直到預(yù)測輸出到<EOS>標記停止。第二種是使用beamsearch,需預(yù)先設(shè)定一個值N,論文中選用的值是3,那么在第一步選擇輸出概率最大的三個單詞,第二步依舊選擇概率最大的三個單詞并與上一步生成三個單詞的組合,即九個短語的組合,然后再選取其中概率最大的三個短語,以此類推。最終模型訓(xùn)練出來的模型具有很好的泛化能力。

Showandtell[18]和Neural Talk[20]介紹了圖像描述的編碼器-解碼器架構(gòu),可以說是圖像描述在深度神經(jīng)網(wǎng)絡(luò)的啟蒙之作,對后續(xù)圖像描述的發(fā)展有著深遠的影響,使編碼器-解碼器架構(gòu)成為圖像描述的主流,對其他相關(guān)預(yù)測模型也有著一定的借鑒意義。

1.2 基于編碼器改進

Fang等人[22]對編碼器進行了改進,該方法可以分為三步:第一步檢測單詞,采用使用多實例學(xué)習(xí)來訓(xùn)練視覺檢測器來識別生成描述中常見的單詞,包括名詞、動詞和形容詞等不同部分。這樣的方法可以避免有些描述性詞匯如beautiful 不能在圖片中被框出。第二步生成句子,采用統(tǒng)計模型MELM 來預(yù)測下一個單詞的概率。第三步重新排序句子,選擇最符合的語句。通過提取關(guān)鍵詞作為輸入來生成描述的方法為后續(xù)結(jié)合圖像和語義的編碼方法提供了借鑒。

Li 等人[23]在特征提取方法上使用目標檢測算法Fast R-CNN 提取目標檢測框作為圖像特征,并使用該特征額外訓(xùn)練屬性分類器來獲取對象的屬性,比如物體的顏色、材質(zhì)等。隨后將圖像特征和屬性特征輸入到視覺語義LSTM 中進行解碼。在編碼階段使用目標檢測算法能夠提取帶有類似注意力效果的圖像特征,為解碼器生成高質(zhì)量文本提供了可能。Anderson 等人[24]的工作使用類似的編碼器并改進了解碼器,得到了當時的最優(yōu)結(jié)果。

1.3 基于解碼器改進

編碼階段主要是基于圖像領(lǐng)域知識的應(yīng)用,解碼階段則是自然語言處理領(lǐng)域知識的創(chuàng)新改進和應(yīng)用。

Wang等人[25]提出了一種新型的解碼結(jié)構(gòu)。人類在看圖描述的過程中,一般是先定位圖片的位置和他們之間的關(guān)系,然后再詳細說明物體的屬性。以此為基礎(chǔ),他們設(shè)計了一種coarse-to-fine 的方法。首先由Skel-LSTM使用CNN提取的圖像特征來生成骨架語句,然后使用Attr-LSTM 為骨架語句中的詞語生成對應(yīng)的屬性詞,最后將這兩部分結(jié)合生成完整的最終描述語句。

Mathews等人[26]為了生成高精度且具有語言風(fēng)格的圖像描述,提出了一個分離語義和風(fēng)格的結(jié)構(gòu),通過兩組GRU 單元來實現(xiàn)的。一組GRU 提取圖像特征中的語義對(詞語、屬性),另一組GRU是基于一本小說訓(xùn)練得到。基于上述輸入的語義對來生成最終富有語言風(fēng)格的描述。

此外,Aneja 等人[27]提出了一種不同于用LSTM 或者RNN 進行解碼的方法,該工作啟發(fā)式地利用卷積來進行圖像描述,達到不比傳統(tǒng)LSTM差的效果。它的輸入輸出和RNN 一樣,都進行了wordembedding,但將RNN 的部分換成了MaskedCNN,使用這樣的方法能夠避免RNN 的時序限制,如此可以在相同的參數(shù)量下有更快的訓(xùn)練速度。

受模板生成方法的啟發(fā),Lu 等人[28]提出了一種“插槽”的圖像描述方法,其生成句子中的插槽與圖像區(qū)域相關(guān)聯(lián),直接依據(jù)圖像特征去預(yù)測單詞。該結(jié)構(gòu)在編碼階段使用目標檢測算法Fast R-CNN提取圖像的區(qū)域特征。解碼階段將句子中的詞語分為視覺詞與文本詞,如果當前時刻所產(chǎn)生的詞是文本詞,那么這個單詞通過語言模型從文本詞匯庫中生成;如果是視覺詞,由目標檢測算法直接由圖像標定區(qū)域特征產(chǎn)生的視覺詞進行填充,最終形成描述。使用神經(jīng)網(wǎng)絡(luò)模型來提取句子模板,有效地解決了傳統(tǒng)模板填充語句呆板的問題。

Yu等人[29]提出使用Transformer作為解碼器,Transformer是一種僅使用Attention而不使用RNN或CNN的模型。該工作使用Faster R-CNN模型從圖像中提取視覺特征,經(jīng)過Transformer 進行再編碼后輸入另一個Transformer進行解碼,編碼部分也可不經(jīng)過Transformer的編碼直接輸入到解碼器中。由于Transformer能夠獲得圖像和文本各自注意力狀態(tài)以及圖像文本間的聯(lián)合注意力,因此能夠生成更高質(zhì)量的描述文本。

人類在描述一張圖片時,不僅從圖片本身獲得相關(guān)信息,還有著其他相關(guān)背景知識地支撐。知識圖譜的發(fā)展和應(yīng)用也為這一方向提供了可能。Lu 等人[30]在圖像描述中引入了知識圖譜相關(guān)的知識。該工作先使用CNN和LSTM的編碼器-解碼器架構(gòu)來生成圖像描述的文本模板,然后使用基于Knowledge Graph的集體推理算法,根據(jù)實體類型和頻率在模板中為每個槽填充通過知識圖譜檢索的特定命名實體。最終的描述結(jié)果在結(jié)構(gòu)語義上能夠得到不錯的提升。

1.4 小結(jié)

上述簡要介紹了圖像描述在編碼器-解碼器架構(gòu)上的一些代表性工作。(1)在編碼階段主要表現(xiàn)在引入了目標檢測和關(guān)鍵詞提取。對于圖像特征的提取影響著后續(xù)文本生成的工作,在編碼階段要求更好地提取圖片內(nèi)的信息以及圖片內(nèi)各目標之間的聯(lián)系、目標檢測以及注意力機制等方法的使用都是出于這樣的目的。(2)為了編碼器輸出的特征能夠更好的應(yīng)用,在解碼階段創(chuàng)造性地引入卷積神經(jīng)網(wǎng)絡(luò)(CNN)解碼、雙層解碼器和知識圖譜等外領(lǐng)域的知識。不難看出,在未來相當一段時間內(nèi),圖像描述的研究工作還會在編碼器-解碼器架構(gòu)上進行創(chuàng)新和發(fā)展。

2 方法實現(xiàn)及改進

在編碼器-解碼器架構(gòu)上對于圖像描述算法的后續(xù)改進主要有這樣四種方法:注意力機制、對抗生成網(wǎng)絡(luò)、強化學(xué)習(xí)、圖卷積神經(jīng)網(wǎng)絡(luò)。圖4 簡要概括了各類方法。

圖4 基于深度神經(jīng)網(wǎng)絡(luò)的圖像描述方法

2.1 注意力機制

2.1.1 概念

從最基本的意義上講,注意力定義為從所有可用信息中選擇一個子集進行進一步處理的過程。視覺注意對于建立圖像內(nèi)部表示的時空連貫性至關(guān)重要。注意力機制在圖像描述領(lǐng)域的引入得到了驚人的效果。

隨著生成描述語句的多樣復(fù)雜化,對應(yīng)的句子向量也變長,為了應(yīng)對這樣的長序列,注意力機制在圖像描述中應(yīng)用逐漸廣泛。目前圖像描述主流的注意力機制有這樣幾種:自注意力(Self-Attention)[31]、硬注意力(Hard Attention)[32]、軟注意力機制(Soft Attention)[32]。

自注意力機制是一種與單個序列自身不同位置相關(guān)聯(lián)的注意力機制,其目的是計算同一序列的表示形式。例如語句“A dog is running after a cat.”句中單詞的生成都依賴于與其余單詞的內(nèi)在聯(lián)系。每個單詞vi與序列中其他單詞vj的內(nèi)在聯(lián)系eij可以用公式(3)表示:

在經(jīng)過softmax層歸一化后可以得到對應(yīng)每個單詞的注意力權(quán)重,以此來進行選擇后續(xù)的單詞生成。

在圖像描述模型應(yīng)用中,自注意力機制一般結(jié)合Transformer 模塊使用,Yu 等人[29]應(yīng)用的Transformer 模塊中有這樣的自注意力機制,這個模塊能夠獲得圖像信息和文本信息各自注意力狀態(tài)以及圖像信息和文本信息之間的聯(lián)合注意力狀態(tài),因此使得模型性能得到不錯的提升。

硬注意力機制將集合向量中權(quán)重最大的一個向量賦值為1,其他向量權(quán)重值為0,這樣就達到了只關(guān)注權(quán)值為1 向量對應(yīng)圖像區(qū)域的目的。其上下文向量z^t可以用公式(4)表示:

其中,ai表示圖像區(qū)域i的向量,st,i表示當圖像區(qū)域ai被選中時取值為1,否則為0。

在圖像描述模型應(yīng)用中,應(yīng)用硬注意力機制能減少訓(xùn)練的時間成本,缺點是模型不可微,需要采用更復(fù)雜的技術(shù)進行處理,例如使用蒙特卡洛方法或者強化學(xué)習(xí)等。

軟注意力機制給以集合向量中每一個向量介于0與1 之間的注意力權(quán)重,權(quán)重之和為1。其上下文向量可以用公式(5)表示:

其中,αt,i表示圖像區(qū)域ai在t時刻被解碼器選中輸入下一時間步長的概率。

在圖像描述模型應(yīng)用中,應(yīng)用軟注意力機制可以使得模型更加平滑且可微分,缺點是當輸入數(shù)據(jù)量很大時,相應(yīng)的參數(shù)量將很大,對于硬件要求很高。相比而言,由于軟注意力機制良好的解釋性,其在主流的研究中得到了更廣泛的應(yīng)用。

2.1.2 相關(guān)工作

Xu等人[32]在2016年在NIC模型的基礎(chǔ)上把注意力機制應(yīng)用在圖像描述的圖像特征中。其基本思想是將編碼階段獲取的圖像特征進行注意力處理,解碼階段使用LSTM。在NIC模型中,生成預(yù)測句子中的每一個單詞時,沒有考慮圖片中對應(yīng)的位置,它接受的輸入是上一步預(yù)測得到的單詞和隱藏層的輸出,注意力機制就是在預(yù)測每一步單詞的同時加入對應(yīng)在圖片中的位置信息,即ht+1=f(ht,xt,z^t),z^t∈RD。如圖5所示,模型在預(yù)測下劃線單詞能關(guān)注圖中亮點部分信息,而不是使用整張圖片的編碼信息進行輸入。該文章提出了兩種注意力機制:硬注意力機制和軟注意力機制。訓(xùn)練時模型接受的輸入是一張圖片和對應(yīng)的描述,描述中的每一個詞會被編碼為一個one-hot向量。在LSTM中的解碼部分,與NIC 模型從CNN 的最后接一個全連接層來生成固定長度的向量不同,而是直接獲得卷積的結(jié)果,也就是一張張?zhí)卣鲌D。特征圖的尺寸為n×n,數(shù)量為D,實驗可知,每一張?zhí)卣鲌D中對應(yīng)位置也就是關(guān)注的圖片中的相同的位置,整張圖片關(guān)注區(qū)域的集合可以表示為a={a1,a2,…,aL},ai∈RD,L=n×n。這里集合中的每一個向量也就對應(yīng)圖片中某個區(qū)域的特征信息。

圖5 Attention機制可視化

Lu 等人[33]提出了注意力機制的改進工作。這項工作考慮生成描述時與視覺信息無關(guān)詞的問題,如“the”“of”這些詞和圖片內(nèi)容是無關(guān)的,而且有些需要視覺特征來生成的詞,也可以直接通過語言模型進行預(yù)測,例如“taking on a cell”后生成“phone”,因此在LSTM 上進行了擴展,加入了“崗哨向量”,存儲著解碼器中已有的知識信息。同時提出新的自適應(yīng)注意力機制,使得模型在生成每個詞時,可以決定模型是關(guān)注視覺信息還是只依靠語言模型,如果需要關(guān)注視覺信息,通過空間注意力來決定關(guān)注圖像的哪個區(qū)域,其機制如圖6 所示。自適應(yīng)上下文的向量定義為C^t,這個向量融合圖像的空間特征和視覺哨崗向量βt。具體計算公式如公式(6)所示:

這個創(chuàng)新的改進在當時達到了最好的水平,并且在現(xiàn)在的COCO排行榜上仍排名很高。

圖6 視覺崗哨的自適應(yīng)注意力模型

Anderson等人[24]引入了Top-down、Bottom-up機制。該模型編碼器使用目標檢測算法Faster R-CNN來進行提取圖像的區(qū)域特征。為了提升提取特征的能力,對Faster R-CNN 的輸出和損失函數(shù)進行了改進,設(shè)計了屬性分類的部分。Bottom-up機制用來提取圖像各區(qū)域的特征向量,Top-down的機制用來分配Bottom-up提取的特征對文本描述的貢獻度,兩者提取到的特征組合得到聯(lián)合注意力權(quán)重。在解碼階段使用一個雙層LSTM模型,分別是Attention LSTM和Language LSTM,由軟注意力加權(quán)后的圖像特征向量和Attention LSTM 的輸出作為Language LSTM 的輸入,產(chǎn)生最終的描述。這樣的Top-down、Bottom-up 機制能夠使模型關(guān)注圖像中重要的對象目標,使得描述的結(jié)構(gòu)主次分明。這項工作在編碼和解碼階段的改進在當前仍具有極高的利用價值。

Huang等人[34]在文獻[35]工作的基礎(chǔ)上加入了AoA(Attention on Attention)模塊,該模塊增加另一種注意來擴展了常規(guī)注意機制。該模塊通過兩個線性變換生成一個“信息向量”和一個“注意門”。信息向量通過線性變換從當前上下文和關(guān)注結(jié)果中導(dǎo)出,并存儲注意力信息與來自當前上下文的信息。注意門獲取查詢信息和注意力結(jié)果,并通過另一個線性變換加以sigmoid 激活得出。隨后,AoA通過使用逐元素乘法將注意門應(yīng)用于信息向量來增加另一個注意力,得到“關(guān)注信息”,即預(yù)期的有用知識。在該模型中,AoA模塊應(yīng)用在編碼器和解碼器中,在編碼器中,首先提取圖像中的特征向量,并采用自注意力模塊對它們之間的關(guān)系進行建模,然后應(yīng)用AoA 來衡量它們之間的關(guān)聯(lián)程度。在解碼器中,AoA 模塊能過濾詞嵌入向量ct中無關(guān)的信息,僅保留注意力部分,隨后使用LSTM進行解碼輸出。這樣組成的一個AoANet,結(jié)合強化學(xué)習(xí)能夠更好地解決不相關(guān)注意力問題,達到當時最優(yōu)的性能。

2.1.3 小結(jié)

注意力機制最初在計算機視覺領(lǐng)域提出,在自然語言處理領(lǐng)域也得到了廣泛的應(yīng)用。對于結(jié)合計算機視覺和自然語言處理的圖像描述研究來講,注意力機制已成為不可缺少的一個組件,也是當前研究的重點之一。在解碼器生成下一時間步長的單詞時,注意力機制能夠起到讓模型將“注意力”集中到圖像中最相關(guān)的那個區(qū)域,使得圖像和生成文本間聯(lián)系更加緊密,因此能達到很好的效果。

2.2 生成對抗網(wǎng)絡(luò)的方法

2.2.1 概念

先前的圖像描述方法主要通過極大似然估計(MLE)的思想來訓(xùn)練模型,即最大化訓(xùn)練樣本出現(xiàn)的可能性。傳統(tǒng)的編碼器-解碼器架構(gòu)在訓(xùn)練上多采用交叉熵作為損失函數(shù),這樣會使模型在生成的圖片描述會高度模仿Ground Truth,這是全監(jiān)督學(xué)習(xí)的優(yōu)勢,也是局限所在,它生成的描述會更加泛化,從而抑制了多樣化的表達?;谶@樣的考慮,有研究者把在圖像領(lǐng)域有著優(yōu)異表現(xiàn)的生成對抗網(wǎng)絡(luò)方法融入到圖像描述中。

生成對抗網(wǎng)絡(luò)(GAN)[36],由一個生成網(wǎng)絡(luò)和一個判別網(wǎng)絡(luò)組成,二者互相競爭訓(xùn)練,最后達到一種平衡。如圖7 所示,生成網(wǎng)絡(luò)通過機器生成數(shù)據(jù)(大部分情況下是圖像),目的是“騙過”判別網(wǎng)絡(luò),判別網(wǎng)絡(luò)判斷這張圖像是真實的還是機器生成的,目的是找出生成網(wǎng)絡(luò)做的“假數(shù)據(jù)”。GAN 的核心思想是基于判別網(wǎng)絡(luò)的“間接”訓(xùn)練,判別網(wǎng)絡(luò)本身也在動態(tài)更新。

圖7 GAN基本結(jié)構(gòu)

2.2.2 相關(guān)工作

Dai等人[37]首次將Conditional GAN 運用在圖像描述,該方法生成的圖片描述貼近人類的表達,改善了句子的自然性和多樣性。如圖8所示,該模型由一個生成網(wǎng)絡(luò)和一個判別網(wǎng)絡(luò)組成。生成網(wǎng)絡(luò)使用傳統(tǒng)的編碼器-解碼器架構(gòu),用CNN提取的圖像特征及噪聲作為輸入,用LSTM生成句子。隨后通過蒙特卡洛樹搜索算法從判別網(wǎng)絡(luò)得到損失,并通過策略梯度算法更新參數(shù),輸入圖像得到偽造的句子描述。判別網(wǎng)絡(luò)用LSTM 對句子編碼,然后與圖像特征一起處理,得到一個概率值。在訓(xùn)練判別網(wǎng)絡(luò)時,把對自然性的判別和對相關(guān)性的判別區(qū)分開,也就是說,判別網(wǎng)絡(luò)既要判別句子是否像是人類生成的,又要判別句子和圖片是否相關(guān)。這項工作以產(chǎn)生多樣性描述為切入點引入了Conditional GAN 的結(jié)構(gòu),實驗證明在多樣性會明顯好于傳統(tǒng)的模型,但是該模型算法和人類描述還是有著不小的差距。

圖8 Dai等人模型

同年,Shetty等人[38]也同樣使用了Conditional GAN的結(jié)構(gòu)在圖像描述上,其主體結(jié)構(gòu)與上一項工作差別不大。不同之處主要是在輸入項中除CNN 和噪聲特征外,還有目標檢測的特征,通過常用的目標檢測網(wǎng)絡(luò)Faster R-CNN 得到。為了讓生成網(wǎng)絡(luò)捕捉到更清晰的目標信息,在改用Gumbel-Softmax[39]的技巧把采樣過程近似成連續(xù)可微的操作取代策略梯度算法來更新參數(shù)。與文獻[37]區(qū)別在于提出了一個判別網(wǎng)絡(luò),它接受圖片與其對應(yīng)的描述,并懲罰生成網(wǎng)絡(luò)組內(nèi)相似度高的描述。這個判別網(wǎng)絡(luò)有兩個計算距離的核心,一個計算圖片與描述間的距離來判斷描述是否準確,另一個計算不同描述間的距離來判斷描述是否足夠多樣化。這種的機制能夠使得生成網(wǎng)絡(luò)生成更加多樣化的描述語句。

此外,Zhang等人[40]提出的模型由兩個不同的GAN組成。第一個GAN 基于文本描述生成初始的形狀,基礎(chǔ)的顏色,然后從隨機noise中繪出背景分布,產(chǎn)生低分辨率圖像,第二個GAN通過結(jié)合文本描述,進行圖像的細致化繪制,產(chǎn)生高質(zhì)量的圖像。Shekhar 等人[41]拓展了COCO數(shù)據(jù)集,并通過對抗樣本驗證了Lavi模型的魯棒性,Dai 等人[42]則使用對抗樣樣本訓(xùn)練解決圖像描述任務(wù)生成的描述缺少獨特性的問題??梢钥闯?,在使用生成對抗網(wǎng)絡(luò)來訓(xùn)練的模型能解決生成的描述缺少多樣化的問題。

以上的方法主要是基于公開數(shù)據(jù)集上的有監(jiān)督學(xué)習(xí),近年來有些研究者開始使用無監(jiān)督的方式訓(xùn)練圖像描述的模型。Feng 等人[43]首次提出了這樣的一個無監(jiān)督的模型,它使用對抗文本生成方法在語料庫中訓(xùn)練一個語言模型,生成網(wǎng)絡(luò)接收CNN提取的圖像特征,產(chǎn)生基于該特征的句子。判別網(wǎng)絡(luò)判斷該句子是模型產(chǎn)生的,還是來自語料庫的真實句子。生成網(wǎng)絡(luò)通過生成盡可能真實的句子來騙過判別網(wǎng)絡(luò),為了實現(xiàn)這個目標,模型在每個時間步驟給生成網(wǎng)絡(luò)一個獎勵,并將此獎勵命名為對抗性獎勵。通過預(yù)訓(xùn)練好一個視覺檢測器,對每幅圖像中檢測里面的視覺概念,如果生成的句子里包含了視覺概念,那么給獎勵。為了產(chǎn)生的描述比較準確,圖像和句子被投射到一個共同的潛在空間。給定投影圖像特征,可以解碼對應(yīng)的描述,進一步用于重建圖像特征。同樣,可以將句子從語料庫編碼到潛在的空間特征,然后重建句子。通過對生成的句子進行雙向重構(gòu),使得生成的句子能夠很好地表達圖像的語義,進而改進了圖像字幕模型。這樣基于無監(jiān)督學(xué)習(xí)的模型能夠更好地生成多樣性描述,為研究者的后續(xù)研究提供了一個新的方向。

2.2.3 小結(jié)

通過生成網(wǎng)絡(luò)和判別網(wǎng)絡(luò)間的博弈,生成對抗網(wǎng)絡(luò)的在圖像描述算法中的應(yīng)用能使解碼器生成比較逼真的句子,文字更加自然和多樣。但也存在著在評價標準中得分不高的缺點。

2.3 強化學(xué)習(xí)的方法

2.3.1 概念

強化學(xué)習(xí)[44]是機器學(xué)習(xí)一個領(lǐng)域,它主要包含智能體(Agent)、環(huán)境(Environment)、行動(Action)、獎勵(Reward)四個元素。智能體通過交互和反饋的方式進行訓(xùn)練,環(huán)境從中獲得懲罰或者獎勵,最終解決特定的任務(wù)。圖9 描述了強化學(xué)習(xí)的基本流程。強化學(xué)習(xí)在深度學(xué)習(xí)各領(lǐng)域也有著廣泛的應(yīng)用,傳統(tǒng)的圖像描述研究,都是將單詞生成看成一個分類的問題,主流模型也是利用交叉熵損失函數(shù)來訓(xùn)練模型。但是利用交叉熵損失函數(shù)訓(xùn)練存在以下問題:模型訓(xùn)練和測試階段存在曝光誤差,交叉熵損失函數(shù)無法直接對不可微分的評價標準進行微分運算。強化學(xué)習(xí)能夠同時解決這兩個問題,它能夠直接用來優(yōu)化不可微分的評價標準。

圖9 強化學(xué)習(xí)基本結(jié)構(gòu)

2.3.2 相關(guān)工作

Ranzato等人[45]將BLEU和ROUGE-2評價指標作為強化學(xué)習(xí)的獎勵來訓(xùn)練模型。在訓(xùn)練階段,句子的前幾個單詞使用交叉熵損失函數(shù)訓(xùn)練,剩下單詞采用強化學(xué)習(xí)訓(xùn)練。隨著逐步提高強化學(xué)習(xí)的比例,最終整個語句都用強化學(xué)習(xí)進行訓(xùn)練。針對在圖像描述中交叉熵損失函數(shù)無法直接對不可微分的評價標準進行微分運算的問題,Liu等人[46]提出在強化學(xué)習(xí)中將SPICE和CIDEr評價指標作為獎勵,并使用策略梯度來優(yōu)化上述指標的參數(shù)。該模型使用蒙特卡羅方法來抽取樣本并估計每次時序上的回報獎勵。在加入強化學(xué)習(xí)后,圖像描述算法的效果有了顯著的提高。

Ren 等人[47]同樣使用強化學(xué)習(xí)訓(xùn)練圖像描述模型,并采用了Actor-critic 結(jié)構(gòu)。該模型將智能體定義為圖像描述生成網(wǎng)絡(luò),環(huán)境狀態(tài)定義為當前狀態(tài)的視覺特征和生成的描述,行動定義為可用單詞,獎勵定義為在同一向量空間內(nèi)圖像和其真實描述對應(yīng)的視覺向量和文本向量之間的相似度。其策略、獎勵和價值函數(shù)利用深度神經(jīng)網(wǎng)絡(luò)進行近似,視覺特征使用VGG-16網(wǎng)絡(luò)進行編碼,語義特征使用RNN 網(wǎng)絡(luò)進行編碼。它通過上述結(jié)構(gòu)訓(xùn)練一個“策略網(wǎng)絡(luò)”和“價值網(wǎng)絡(luò)”相互協(xié)同來生成圖像描述。策略網(wǎng)絡(luò)由VGG16 和LSTM 組成,它用于在給定當前狀態(tài)預(yù)測下一步操作。價值網(wǎng)絡(luò)在策略網(wǎng)絡(luò)結(jié)構(gòu)基礎(chǔ)上添加用于回歸任務(wù)的多層感知器,用于評估給定圖像特征的下一個單詞和生成語句的前一個單詞。實驗證明在COCO 數(shù)據(jù)集上該結(jié)構(gòu)能夠達到當時最優(yōu)的結(jié)果。

Rennie等人[35]提出了一種新的序列訓(xùn)練方法,簡稱SCST(Self-Critical Sequence Training),并證明SCST算法可以極大地改善圖像描述算法的性能。該方法通過直接對CIDEr評分標準進行優(yōu)化,該模型基于策略梯度的強化學(xué)習(xí)算法建立一個基線,即通過貪婪搜索算法選出概率前n大的句子作為這個基線,模型會抑制得分在基線以下的語句,激勵得分在基線以上的語句。這可以使模型更有效地對CIDEr評分標準進行訓(xùn)練,并使用策略梯度來更新模型。這樣的SCST 方法在MSCOCO數(shù)據(jù)集上取得了當時的最優(yōu)結(jié)果。后來的很多研究者也在這樣的一個模型進行了改進。

2.3.3 小結(jié)

強化學(xué)習(xí)在圖像描述算法中的應(yīng)用主要表現(xiàn)在對評價標準的直接優(yōu)化,從源頭上能顯著提升生成描述的質(zhì)量,因此在已有模型上加入強化學(xué)習(xí)算法能夠有效地提升模型的性能。

2.4 圖卷積網(wǎng)絡(luò)的應(yīng)用

2.4.1 概念

圖卷積網(wǎng)絡(luò)(GCN)是對圖數(shù)據(jù)類型執(zhí)行卷積的網(wǎng)絡(luò),而不是CNN對像素組成的圖像執(zhí)行卷積。一般地,圖數(shù)據(jù)可以用G=(V,E)來表示,V代表圖的頂點,E代表圖的邊,圖10描繪出圖卷積網(wǎng)絡(luò)的基本框架。

圖10 圖卷積網(wǎng)絡(luò)結(jié)構(gòu)

CNN旨在從圖像中提取最重要的信息以對圖像進行分類,GCN 也會在圖形上通過過濾器來尋找有助于對圖形中的節(jié)點進行分類的基本頂點和邊緣。在CNN中,所有像素之間的節(jié)點連接是統(tǒng)一的,這足以解決圖像分類的問題。但在節(jié)點連接是動態(tài)的情況下,CNN將達到其極限,因為CNN 僅適用于具有規(guī)則結(jié)構(gòu)的數(shù)據(jù)(歐幾里德域數(shù)據(jù)),而GCN 能夠處理非歐幾里德域數(shù)據(jù)。因此GCN在處理圖像分類等任務(wù)上有著優(yōu)異的性能。

2.4.2 相關(guān)工作

Yao 等人[48]提出了一個層次解析(HIP)的結(jié)構(gòu)。該結(jié)構(gòu)會將圖片解析成樹狀結(jié)構(gòu):整張圖片作為該結(jié)構(gòu)的根節(jié)點,由Faster R-CNN 提取圖片得到的一系列Region-level區(qū)域作為中間節(jié)點,由另一個Faster R-CNN來提取圖片的Instance-level 區(qū)域作為葉子節(jié)點。在該層次結(jié)構(gòu)上,構(gòu)建具有區(qū)域級別的有向邊的語義圖,其中頂點表示每個區(qū)域,而邊緣表示各區(qū)域之間的關(guān)系。利用圖卷積網(wǎng)絡(luò)豐富該語義圖各區(qū)域間的視覺關(guān)系,這能顯著改善圖像描述的質(zhì)量。該模型使用了GCN結(jié)合圖像內(nèi)兩種不同的特征,使得能在解碼階段生成高質(zhì)量的描述,增強了模型的可解釋性。

Chen等人[49]提出了一個抽象場景圖(Abstract Scene Graph,ASG)的結(jié)構(gòu),見圖11。應(yīng)用圖結(jié)構(gòu)來提取圖像內(nèi)主觀想表達的物體、屬性以及關(guān)系特征,該結(jié)構(gòu)能夠更細粒度反映出用戶主觀想表達的描述意圖,同時生成的描述也更加多樣化。ASG模塊中設(shè)置三類節(jié)點:物體節(jié)點(obj)、屬性節(jié)點(attr)和關(guān)系節(jié)點(rel),這樣能夠充分抽取出圖像中的特征,在應(yīng)用圖注意力機制和更新機制下,通過Up-Down Attention 中的雙層LSTM 來生成多樣性的描述。上述模型能夠基于給定的ASG模型來主動地實現(xiàn)更好的交互性、可解釋性、多樣性描述。Wang等人[50]使用了類似的圖結(jié)構(gòu)對圖片中的節(jié)點進行增強,并使用時序卷積神經(jīng)網(wǎng)絡(luò)(TCN)沿時間維度建立多張圖片之間的交互,得到集合中圖像內(nèi)部關(guān)系和跨圖像關(guān)系的特征,最后輸入到層次化解碼器中來生成一段小故事。上述跨圖片生成可解釋性段落的思路也是未來圖像描述的一個研究方向。

圖11 ASG結(jié)構(gòu)

2.4.3 小結(jié)

人類看圖描述時,會將圖像抽象看作一個場景,然后觀看和推測圖像內(nèi)各目標之間的關(guān)系,將這樣的關(guān)系轉(zhuǎn)化為圖結(jié)構(gòu)能夠更好地保存特征的可解釋性與推理性。因此在圖像描述中應(yīng)用GCN能更好將圖像中物體間的特征保留,并和文本更好地匹配來生成高質(zhì)量的描述文本。

2.5 小結(jié)

在現(xiàn)在主流的圖像描述模型中,都會在編碼器-解碼器的基本架構(gòu)上加入注意力機制來提高模型的性能,注意力機制能夠在生成文本時突出圖像中的主體,并能夠準確表述出主體間以及與其他目標之間的關(guān)系,這也是目前注意力機制在圖像描述模型廣泛應(yīng)用的原因。生成對抗網(wǎng)絡(luò)(GAN)的應(yīng)用,其通過生成網(wǎng)絡(luò)和判別網(wǎng)絡(luò)間的博弈來生成更加生動的、貼近原圖片的自然化描述,雖然其評價得分不高,其特點對于機器人視覺或者盲人導(dǎo)航卻很適用。強化學(xué)習(xí)從評價標準出發(fā),利用強化學(xué)習(xí)的方法對其進行優(yōu)化,可以說是更加標準化的一種措施。這對于圖像檢索、醫(yī)學(xué)CT 報告生成這樣有格式化需求的場景是個不錯的選擇。GCN能有效地抽取圖像內(nèi)各個目標之間的聯(lián)系,并對節(jié)點特征信息和結(jié)構(gòu)信息進行端對端的學(xué)習(xí),其在圖像描述的公開數(shù)據(jù)集上能夠生成具有交互性、可解釋性、多樣性描述。只是隨著網(wǎng)絡(luò)層數(shù)的增加,模型的性能會大幅下降,并且其可擴展性差,模型參數(shù)過于冗余,收斂慢,訓(xùn)練時間長。各方法的性能對比如表1所示。

表1 不同圖像描述方法性能對比

3 實驗分析與對比

本章首先整理了目前應(yīng)用于圖像描述的公開圖像數(shù)據(jù)集,分別進行介紹和對比,接著介紹了針對圖像描述領(lǐng)域的主流評價標準,最后在此基礎(chǔ)上對現(xiàn)有不同圖像描述結(jié)構(gòu)的性能進行實驗對比和分析。

3.1 數(shù)據(jù)集

深度學(xué)習(xí)是在大量數(shù)據(jù)集的基礎(chǔ)上驅(qū)動實現(xiàn)的,公開數(shù)據(jù)集的提供有利于各領(lǐng)域的發(fā)展。在圖像描述領(lǐng)域,目前廣泛應(yīng)用的數(shù)據(jù)集主要有以下三種,主要對比如表2所示。

表2 數(shù)據(jù)集對比

(1)Microsoft COCO數(shù)據(jù)集[51]

MSCOCO 數(shù)據(jù)集被廣泛運用于目標檢測、目標追蹤以及圖像描述。該數(shù)據(jù)集旨在通過將對象識別問題置于更廣泛的場景理解問題的上下文中,從而提高對象識別的最新水平,并通過收集包含自然環(huán)境中常見對象的圖像來實現(xiàn)。該數(shù)據(jù)集使用專業(yè)機構(gòu)人為地對圖片進行描述,每張圖片收錄5 句或者15 句參考描述,可以想象這項工作消耗了大量的人力物力。MSCOCO數(shù)據(jù)集對應(yīng)的標注集,一般以json 格式保存。第一種是MSCOCO C5,每張圖像包含5 句參考描述。第二種是MSCOCO C40,這個標注集對應(yīng)只包含著5 000 張圖片,這些圖片是從MSCOCO數(shù)據(jù)集中隨機篩選出來的,與C5 不同的是,它的每張圖片包含著40 句參考描述。一般使用C5 標注集即可滿足訓(xùn)練的要求,通常使用MSCOCO數(shù)據(jù)集也一般默認使用MSCOCO C5。這個數(shù)據(jù)集也是目前圖像描述研究者實驗的首選。該數(shù)據(jù)集有超過33 萬張圖片,其中20 萬有標注描述,包含91類目標,328 000張圖像中總共有250萬個帶有標簽的實例,這也是目前最大的語義分割數(shù)據(jù)集。

(2)Flickr8K[52]和Flickr30k[53]數(shù)據(jù)集

從數(shù)據(jù)集的命名可以看出這兩個數(shù)據(jù)集分別包含了8 000和30 000(確切是31 783)張圖片。這些圖片從Flickr相冊網(wǎng)站選出。該數(shù)據(jù)集每張圖片具有5句人工標注的參考描述,這兩個數(shù)據(jù)集的驗證集和測試集使用的圖片數(shù)量都是1 000 張,剩余的圖片用于訓(xùn)練階段??梢钥闯?,相比MSCOCO數(shù)據(jù)集,這兩個數(shù)據(jù)集在數(shù)量方面存在著明顯的不足,但由于MSCOCO數(shù)據(jù)量太大,在訓(xùn)練過程中會花費大量的時間,F(xiàn)lickr 數(shù)據(jù)集在初探圖像描述時可以使用來進行實驗來驗證模型的效果。

(3)Visual Genome數(shù)據(jù)集[54]

Visual Genome(VG)數(shù)據(jù)集是斯坦福大學(xué)李飛飛組在2016 年發(fā)布的大規(guī)模圖像語義理解的數(shù)據(jù)集,初衷是該數(shù)據(jù)集能夠像ImageNet那樣推動圖像在高級語義理解方面的研究。該數(shù)據(jù)集包含超過10 萬張圖像,其中每個圖像平均具有21 個對象,18 個屬性以及對象之間的18 對關(guān)系,在標注數(shù)據(jù)方面包含了每張圖片的目標,屬性以及圖像內(nèi)目標間的關(guān)系。該數(shù)據(jù)集規(guī)范化區(qū)域描述中的對象、屬性、關(guān)系和名詞短語,以及Word-Net同義詞集的問題答案對。它代表了圖像描述、對象、屬性、關(guān)系和圖片問答的最密集最大的數(shù)據(jù)集。而針對VG 數(shù)據(jù)集中的區(qū)域標注過程,該數(shù)據(jù)集的人工標注并不是直接標注目標間的關(guān)系,不然標注員往往傾向于標出一些高頻而瑣碎的關(guān)系,如wearing(woman,shoes),而非聚焦圖片中最顯眼的部分。在生活中,人們在用自然語言描述圖片時,也更傾向于捕捉圖片的主體部分,所以,標注員最終被要求先給出描述,再根據(jù)描述來標注區(qū)域(region)、邊界框(bounding box)、目標(object)、關(guān)系(relationship)等其他內(nèi)容。在最原始的VG數(shù)據(jù)集中,數(shù)據(jù)太過龐大,其中目標的標注也過于雜亂,還有命名模糊和boundingbox重疊的問題。在2019年Liang等人[55]對這個數(shù)據(jù)集進行了改進,該數(shù)據(jù)集旨在提取圖片中真正與視覺相關(guān)的聯(lián)系,同時也改善了原VG數(shù)據(jù)集中謂語冗余的問題。在此使用此數(shù)據(jù)集進行特征表示的預(yù)訓(xùn)練后,在圖像描述模型的性能上有著普遍的提升。該數(shù)據(jù)集提出時間相對較短,不少的研究工作開始使用這個數(shù)據(jù)進行預(yù)訓(xùn)練,相信在不久的未來,VG數(shù)據(jù)集會得到更加廣泛的應(yīng)用。

3.2 評價指標

很顯然,評價標準有權(quán)威性的是人類自己,但是要對深度學(xué)習(xí)中海量的數(shù)據(jù)進行評價單靠人工是不現(xiàn)實的,因此人們也提出了各類自動評價標準,旨在最終實驗的結(jié)果盡可能和人工評價相關(guān)接近。最主流的評價標準有以下幾種:BLEU、ROUGE、METEOR和CIDEr。

(1)BLEU[56]

BLEU(Bilingual Evaluation Understudy)最初是用于評估從一種自然語言機器翻譯為另一種自然語言得到文本的質(zhì)量的一種算法。這和圖像描述算法評價生成文本的要求是一致的,即對生成的待評價語句和人工標注語句間的差異進行評分,得分輸出在0~1 之間。該標準現(xiàn)已成為圖像描述算法應(yīng)用最廣泛的計算標準之一。

對于圖像Ii,圖像描述算法對于這個圖像生成的描述語句ci,人工標注的五個描述語句集合Si={si1,si2,…,si5} ∈S,要對ci進行評價。BLEU 的計算公式如下所示:

其中,每一個語句用n 元組ωk來表示的,n 元組ωk在人工標注語句sij中出現(xiàn)的次數(shù)記作hk(sij),n 元組ωk在待評價語句ci∈C 中出現(xiàn)的次數(shù)記作hk(ci),lC是待評價語句ci的總長,lS是人工標注語句的總長度。b(C,S )是一個簡潔性懲罰機制,由于BLEU 的評價標準設(shè)計傾向于更短的句子,因為這樣的精度分數(shù)會很高,為了解決這個問題,該標準使用了乘以簡潔性懲罰參數(shù)來防止很短的句子獲得很高的得分,具體規(guī)則在公式(7)中可以看出,如果有多個候選的參考語句,該標準會選擇待評價語句和參考語句兩者長度最近的那個參考語句進行計算評價。BLEU得分越高,性能也就越好。

(2)ROUGE[57]

ROUGE最初是用于評估自然語言處理中的自動摘要和機器翻譯的評價標準,它是由自然語言處理領(lǐng)域內(nèi)多名專家對指定數(shù)據(jù)給出專業(yè)的描述,然后將自動生成的摘要或翻譯與其進行比較。通過比較兩者之間如n元語法,詞序列和詞對重疊的數(shù)目來評價自動摘要或者翻譯的質(zhì)量。通過與專業(yè)性摘要的對比評價,能有效提高模型的可靠性。ROUGE得分越高,性能也就越好。

(3)METEOR[58]

METEOR 最初也是用來評價機器翻譯輸出的標準。該算法基于整個語料庫的精度和召回的調(diào)和平均值。簡而言之,它對比待評價語句和參考語句之間一元組的重疊部分,并根據(jù)語義、詞干形式、精確度來匹配一元組。相比BLEU 標準,由于這個標準引入了外部知識,因此評價時更加接近人類的判斷。METEOR 得分越高,性能也就越好。

(4)CIDEr[59]

不同于上述標準,CIDEr是專門設(shè)計用于評價圖像描述算法的,它通過計算每個n 元組的TF-IDF 權(quán)重得到待評價語句和參考語句之間的相似度,以此評價圖像描述的效果。一個n 元組ωk在人工標注語句sij中出現(xiàn)的次數(shù)記作hk(sij),在待評價語句中出現(xiàn)的次數(shù)記作hk(ci),n 元組ωk的TF-IDF權(quán)重gk(sij)如下所示:

其中,Ω 是所有n 元組的語料庫,I 是數(shù)據(jù)集中所有圖像的集合??梢钥闯?,當有n 元組頻繁出現(xiàn)參考語句中,TF 給以該n 元組更高的權(quán)重,IDF 則會降低該n 元組在生成語句中的權(quán)重。簡而言之,該方法會降低對圖像視覺內(nèi)容沒有幫助的高頻單詞的權(quán)重。

對于長度為n 的n 元組的CIDErn評分計算公式如下:

其中,gn( ci),gn( sij)分別是gk( ci)和gk( sij)生成的向量,‖gn( ci)‖,‖gn( sij)‖則是對應(yīng)向量的模。同樣的,CIDEr的得分越高,表明待評價語句和參考語句之間的相似度越大,生成的語句的質(zhì)量也就越好。

3.3 實驗結(jié)果對比與分析

本節(jié)主要進行實驗的復(fù)現(xiàn)和對比,以BLEU、METEOR、CIDEr三種不同的標準進行評價分析。實驗環(huán)境基于Ubuntu18.04 系統(tǒng),CPU 為Inteli9-9900k,GPU為NVIDIA GeForce RTX 2080Ti,16 GB內(nèi)存,Python3.7+Cuda10.1的Pytorch或者Tensorflow深度學(xué)習(xí)環(huán)境。

實驗數(shù)據(jù)集使用MSCOCO2014的數(shù)據(jù)集和500 MB左右包含圖像描述注釋的json 文件,在處理注釋文件時,刪除了非字母字符,將剩余的字符轉(zhuǎn)化為小寫字母,并將所有出現(xiàn)小于5 次的單詞替換為特殊的單詞UNK。最終在MSCOCO數(shù)據(jù)集中得到9 517個單詞,也就是最終使用的語料庫。

將生成語句的最大長度設(shè)為16,采用Dropout 方法防止過擬合,參數(shù)一般設(shè)為0.5。在訓(xùn)練損失函數(shù)階段,訓(xùn)練輪數(shù)一般設(shè)為30,其他參數(shù)如解碼器輸出向量維度及解碼器隱藏層維度D,beam search(集束搜索)數(shù)量N,批處理大小B在表3 中列出,D列中有兩個維度(如500/1 000)表示解碼器中兩個不同的解碼器,其各自隱藏層的維度。

表3 模型參數(shù)

表4 和表5 中列舉主流的一些圖像描述模型。表4中列舉了上文所述在編碼器-解碼器架構(gòu)的代表模型。NIC[18]和模型[20]是傳統(tǒng)的編碼器-解碼器架構(gòu),一般地,以NIC 模型作為基準模型進行對比。模型[22-24]從編碼器端進行改進,相比NIC 模型,這些模型的評價指標得到了提升,這主要得益于更好地提取和利用圖像的特征。在模型[22]中是在編碼中將關(guān)鍵字語義和圖像的特征進行結(jié)合,模型[23-24]利用目標檢測的算法提取圖像特征,這樣可以提取圖像中的關(guān)鍵信息,能夠使得生成文本更加完整精確。模型[25-30]從解碼器端進行改進,相比NIC 模型,這些模型的指標也得到提升。利用LSTM、GRU、Transformer 以及知識圖譜等方法來解碼圖像特征,將圖像編碼更好地“翻譯”成文字描述。其中Transformer和知識圖譜的方法最終的指標提升最為顯著,主要是由于Transformer結(jié)合圖像和文本各自的注意力信息以及兩者之間的聯(lián)合注意力信息,知識圖譜得益于引入了外部知識體系,以此來能生成更接近人類的描述。可以得出這樣的結(jié)論:解碼器端更好地提取并利用圖像的特征是會得到性能的提升,在編碼器和解碼器端提高圖像信息和文本信息的關(guān)聯(lián)交互也能有效提高模型的效果。

表4 編碼器-解碼器架構(gòu)的模型

表5 不同方法融合模型

表5中列舉了添加注意力機制(Up-Down[24]、Xu et al.[32]、Lu et al.[33]、AoANet[34])、生成對抗網(wǎng)絡(luò)(G-GAN[37]、Dai et al.[42]、Feng et al.[43])、強化學(xué)習(xí)(SCST[35]、Liu et al.[46]、Ren et al.[47])、圖卷積神經(jīng)網(wǎng)絡(luò)方法(HIP[48]、Chen et al.[49])融合后模型的性能。顯而易見,加入注意力機制、強化學(xué)習(xí)后,實驗的效果都得到了顯著的提高,所有的評價指標都有著不錯的提升。但是將對抗生成網(wǎng)絡(luò)應(yīng)用到模型中后,文獻[37]的指標降低了,但生成的文本其實更加自然多樣化,這是由于評價指標的限制,多樣的描述文本反而得不到很高的評分,這也是未來研究需要改進的地方?;趫D卷積神經(jīng)網(wǎng)絡(luò)的模型[48-49]在CIDEr的評價中得到了所有模型中最高的得分,并有著顯著的優(yōu)勢,可以看出圖結(jié)構(gòu)在圖像特征提取時能夠更加細粒度提取圖像內(nèi)各對象之間的關(guān)系,生成更加高質(zhì)量的文本。

4 目前挑戰(zhàn)及未來發(fā)展方向

4.1 主要挑戰(zhàn)分析

近年來,在某些格式要求相對固定的領(lǐng)域,圖像描述算法能很好地代替人類生成滿足需求的文本,比如醫(yī)學(xué)圖像報告,通知文書等。目前,對于編碼器-解碼器架構(gòu)的改進還有著很多的挑戰(zhàn)。

(1)模型如何正確理解圖像的關(guān)鍵物體,并建立物體間的聯(lián)系,對最終模型的性能有著關(guān)鍵的影響。如何更好地提取和利用圖片中的特征,主流模型一般是使用卷積神經(jīng)網(wǎng)絡(luò)或者目標檢測算法進行特征提取,但圖片中的高層語義還是無法得到表述?;谧⒁饬C制的模型,能夠一定程度上從圖片部分區(qū)域出發(fā)去生成更符合人類角度的描述,但還是存在一定的缺陷,當前在公開數(shù)據(jù)集下訓(xùn)練的模型對未知的物體還是無法正確地生成描述。

(2)圖像描述的模型較為復(fù)雜,由于參數(shù)較多,模型訓(xùn)練的步驟比較復(fù)雜,訓(xùn)練時間也較長,一般都以指數(shù)量級繼續(xù)訓(xùn)練,使得在實際應(yīng)用時實時性不高。

(3)目前的模型依賴公開數(shù)據(jù)集訓(xùn)練,這樣模型輸入一般是固定的圖像特征,這樣對于同一個圖像的描述內(nèi)容基本沒有變化,生成的文本會相對單一。

4.2 未來發(fā)展方向

圖像描述是一個相對新的研究任務(wù),經(jīng)過研究人員近幾年的發(fā)展,取得了巨大的進步?;诂F(xiàn)有的研究成果,圖像描述任務(wù)仍有著很大的發(fā)展空間。

4.2.1 從有監(jiān)督到無監(jiān)督

圖像描述一般都是采用成對的圖像-文本集的有監(jiān)督學(xué)習(xí),在實際應(yīng)用時,獲取這樣成對的圖片文本是一個耗費大量人力和時間成本的工程,這對于工業(yè)應(yīng)用來說,獲取數(shù)據(jù)的成本太高了。無監(jiān)督學(xué)習(xí)可以擺脫這樣的圖像-文本集,大大節(jié)省了人力物力。使用公開數(shù)據(jù)集的圖片和從目標網(wǎng)站爬取的文本語料庫進行無監(jiān)督學(xué)習(xí),結(jié)合GAN的方法可以有效地解決問題,這樣生成的文本也更加得豐富多樣化。

4.2.2 從死板單一到豐富多樣化

傳統(tǒng)方法從同一張圖片生成的描述基本是沒有變化的,這并不符合圖像描述的初衷,因此采用無監(jiān)督學(xué)習(xí)以及Conditional GAN、SeqGAN 的應(yīng)用,可以生成更加自然靈活的語句。

4.2.3 從語句到段落化

僅僅從圖像中生成一句話往往很難完整地概括圖片中的完整內(nèi)容,因此從圖片生成段落是一個必然的趨勢,從幾張有關(guān)聯(lián)的圖片生成一段故事也成為可能。

4.2.4 從復(fù)雜到輕量化

當前的圖像描述模型較為復(fù)雜,在實際應(yīng)用時往往很難落實,設(shè)計出更加輕量級的網(wǎng)絡(luò)結(jié)構(gòu)能夠更方便地部署到工程落實中,乃至到手機等小型智能設(shè)備中,將這樣的技術(shù)落實到現(xiàn)實生活中能夠更好方便人類,自動駕駛、導(dǎo)航視覺障礙者都急需這樣的技術(shù)支持。

4.2.5 評價標準的更新

現(xiàn)如今的圖像描述不再滿足接近訓(xùn)練文本,這在近幾年的發(fā)展中已經(jīng)趨于成熟,自然多樣化的文本描述才是圖像描述的要求歸宿,因此現(xiàn)如今的評價標準已經(jīng)無法滿足這樣的需求了,新的評價標準需求迫在眉睫。

5 結(jié)束語

本文從圖像描述在深度神經(jīng)網(wǎng)絡(luò)中的發(fā)展應(yīng)用出發(fā),結(jié)合模型結(jié)構(gòu)和算法的演變發(fā)展綜述具有代表性質(zhì)的圖像描述方法,并對此進行不同方法的大致分類,在此基礎(chǔ)上進行梳理和對比,并在公開數(shù)據(jù)集上進行了實驗對比。實驗表明,圖像描述在基于編碼器-解碼器架構(gòu)上已逐漸趨于成熟,在編碼階段旨在提取更高層次的語義關(guān)系來為后續(xù)解碼階段生成更為相關(guān)的描述,生成對抗網(wǎng)絡(luò)和圖卷積神經(jīng)網(wǎng)絡(luò)的引入為生成更多樣化、人性化的描述提供了可能。為了應(yīng)對當前社會環(huán)境的應(yīng)用需求,圖像描述的發(fā)展還有著不少的挑戰(zhàn)。因此,基于深度神經(jīng)網(wǎng)絡(luò)的圖像描述進一步研究還有很大的發(fā)展空間。

猜你喜歡
解碼器編碼器語句
科學(xué)解碼器(一)
科學(xué)解碼器(二)
科學(xué)解碼器(三)
重點:語句銜接
線圣AudioQuest 發(fā)布第三代Dragonfly Cobalt藍蜻蜓解碼器
基于FPGA的同步機軸角編碼器
精彩語句
基于PRBS檢測的8B/IOB編碼器設(shè)計
JESD204B接口協(xié)議中的8B10B編碼器設(shè)計
電子器件(2015年5期)2015-12-29 08:42:24
多總線式光電編碼器的設(shè)計與應(yīng)用
扶余县| 花莲市| 尤溪县| 祁阳县| 祁门县| 新竹市| 大方县| 晴隆县| 河曲县| 耒阳市| 西盟| 腾冲县| 宁德市| 宁陕县| 三都| 东港市| 龙岩市| 新干县| 湘潭市| 太康县| 马山县| 珠海市| 高淳县| 沈阳市| 登封市| 淮南市| 松桃| 垫江县| 岱山县| 普兰店市| 双柏县| 普陀区| 黄陵县| 襄樊市| 达拉特旗| 达孜县| 吕梁市| 婺源县| 汉寿县| 新龙县| 定兴县|