?

基于注意力機制的多層次編碼和解碼的圖像描述模型

2021-09-18 06:21李康康
計算機應用 2021年9期
關鍵詞:解碼器編碼器解碼

李康康,張 靜

(華東理工大學信息科學與工程學院,上海 200237)

(*通信作者電子郵箱jingzhang@ecust.edu.cn)

0 引言

圖像描述任務是圖像理解中的重要研究內容,它結合了計算機視覺和自然語言處理兩大任務。圖像描述需要利用計算機視覺相關的技術準確地識別出圖像中的內容,也需要利用自然語言處理中的文本生成的方法生成語法和語義上正確的句子。圖像描述任務的關鍵在于如何充分利用圖像特征以及如何有效地解碼。

近年來大多數圖像描述任務[1-2]都是基于編碼器-解碼器(Encoder-Decoder)的模型,編碼器部分利用VGG(Visual Geometry Group)[3]、ResNet[4]等卷積神經網絡(Convolutional Neural Network,CNN)得到圖像的特征,然后利用長短期記憶(Long Short-Term Memory,LSTM)網絡[5]對特征進行解碼從而得到生成的語句。Vinyals 等[1]首先將機器翻譯[6]中的編碼器-解碼器結構引入圖像描述任務,他們首先利用預訓練的卷積神經網絡得到圖像特征,并將其輸入到LSTM 的第一個時間步驟,然后依次輸入上一時間步驟生成的單詞,得到描述語句的每個單詞。但這種方式僅在第一個時間步驟輸入圖像特征,使得不是每個時間步驟都關注到圖像的重點,而且圖像特征信息會隨著時間步驟的增加而逐漸減少。注意力機制[7]的使用使得解碼器在LSTM 的每個時間步驟都能關注到重要的信息,顯著提升了模型的有效性。一些工作[8-10]對編碼器部分作出改進,使用 Faster R-CNN(Faster Region-based Convolutional Neural Network)[11]提取對象特征或卷積神經網絡的多層次特征;也有一些工作在解碼器部分使用了LSTM的變體[9,12],例如雙向LSTM(Bidirectional LSTM,Bi-LSTM)[13]、雙LSTM 等。然而現有工作缺乏將多層次結構的編碼器和解碼器有效結合,且現有方法提取特征的方式單一。例如,DSEN(Dense Semantic Embedding Network)[9]使用了兩個雙向的LSTM 進行特征解析,第一個LSTM 輸入為單詞,第二個LSTM 輸入為圖像特征和屬性,然而第二個LSTM要對圖像特征和屬性進行同時解析,這在一定程度上限制了模型的能力,此外該模型的圖像特征僅為卷積神經網絡最后一個卷積層輸出的特征,缺少對特征的再加工與提煉過程。與DSEN[9]類似,Bi-LSTM[13]的改動在于在編碼部分對不同卷積層的特征進行級聯作為第二個LSTM 的輸入,然而本質上該模型仍然沒有將不同層次的特征進行層次化解碼。DHEDN-3(Deep Hierarchical Encoder-Decoder Network)[14]使用了多個LSTM 進行特征解析,該模型中使用的特征來自卷積神經網絡最后兩個卷積層的輸出,很顯然該模型缺少對特征的再次提煉過程,且其第一個LSTM 僅輸入單詞,缺少使模型在初始時獲得圖像整體感知的過程。針對上述的問題,本文提出了一種基于注意力機制的多層次編碼和解碼的圖像描述模型MLED(Multi-Layer Encoding and Decoding model),如圖1 所示。該模型首先利用Faster R-CNN 提取對象特征,并使用Transformer[15]進行高層次特征提取,Transformer 內部的多頭注意力機制能夠建立起特征之間隱含的復雜聯系從而形成高層次特征,并同時能夠將特征映射到不同的子空間。借鑒卷積神經網絡中的特征金字塔網絡(Feature Pyramid Network,FPN)[16]模型,用高層次的特征依次和低層次特征融合得到新的特征,這將有助于改善低層特征的質量。由于單個LSTM 解析能力有限,本文使用多個LSTM 的結構,將不同層次的特征分別輸入到對應層次的LSTM 中層次化解碼,最終生成單詞。

圖1 本文模型框架Fig.1 Framework of proposed model

本文的工作主要如下:1)提出了新穎的層次化編碼方式,利用Transformer以及殘差的思想,得到不同層次的特征;2)將不同層次的特征以特征金字塔的方式進行融合,有效提升了特征的準確性;3)提出了層次化解碼的LSTM 結構以及組合方式,對不同層次特征進行有效解碼。

1 相關工作

近年來,基于編碼器-解碼器的框架被廣泛地應用于圖像描述任務中。本章將主要從注意力機制、編碼器結構、解碼器結構三方面介紹圖像描述相關工作。

Xu 等[7]改進了Vinyals 等[1]的工作,他們利用軟注意力機制,在每個時間步驟用LSTM 的隱藏層狀態對圖像特征加權,將加權后的特征和單詞共同輸入LSTM 得到結果。由于LSTM的隱藏層狀態包含上下文信息,因此這種加權在一定程度上能夠選擇到當前時間步驟的重要信息。Chen等[8]提出了一種空間和通道的注意力機制,它充分利用CNN 的空間和通道特征,以便在每個時間步驟進行解碼??紤]到生成的單詞并不總是取決于視覺信息,Lu 等[12]提出了帶有視覺哨兵的自適應注意力模型,該模型可以決定何時關注視覺信息和語言模型。

在編碼器方面,Zhang 等[17]提出了一種全卷積神經網絡(Fully Convolutional Network,FCN),該網絡能夠生成細粒度網格化的注意力特征圖,從而得到更為精細的圖像特征。Yao等[18]提出了五種不同的模型來結合圖像及其屬性以探索圖像特征和屬性特征的結合方式。Wu等[19]不使用視覺特征,僅使用經過預訓練的特定檢測器提取圖像中的屬性,并將其輸入LSTM 中以生成描述。Yu等[20]提出了一種給定主題的圖像描述模型,主題是從訓練的分類器中獲得。該模型從主題、描述和圖像中學習了一種跨模式的嵌入空間,在生成單詞時可從嵌入空間中檢索信息。

在解碼器方面,Anderson 等[21]提出了一種Bottom-up 模型,該模型包括Faster R-CNN和一個雙LSTM結構。他們首先利用Faster R-CNN 提取圖像的對象特征,然后將其均值化后的特征和對象特征分別輸入到第一個語言LSTM 和第二個注意力LSTM。相較于單LSTM,這種雙LSTM 結構有更好的解析能力。Xiao 等[14]建立了一個由三個不同的LSTM 組成的深層次的編解器-解碼器框架,最底層的LSTM 用于對單詞進行編碼,中間的LSTM 和最頂部的LSTM 用于接收來自CNN不同卷積層的特征。Wu等[22]使用GridLSTM 在生成單詞時能夠有選擇地包含視覺特征,其中GridLSTM 由Temporal LSTM 和Depth LSTM 組成,Depth LSTM 能夠將視覺信息作為潛在的記憶保留,該解碼器能夠使得每一步動態地接收視覺信息,且無需添加額外的參數。

受上述工作啟發,本文提出了一種基于注意力機制的多層次編碼和解碼的圖像描述模型,通過多層次編碼得到不同層次的對象特征,并利用多層次LSTM分別解析。

2 本文模型

本章將首先使用公式介紹圖像描述問題,并給出其目標損失函數,然后分別介紹本文所提出模型的編碼器和解碼器部分。

2.1 問題描述

給定一張圖像I和其對應描述單詞的序列Y={y1,y2,…,yn},生成序列的分布可由式(1)表示:

任務的目標是最小化式(2)的損失函數:

2.2 模型

本文提出了一種基于注意力機制的多層次編碼和解碼的圖像描述模型MLED,該模型框架如圖1 所示,包括編碼層的Faster R-CNN、Transformer、金字塔特征融合以及解碼層的層次LSTM。

2.2.1 編碼器

Faster R-CNN[8]主要用于目標識別,本文利用FasterR-CNN得到每張圖像N個感興趣區域(Region of Interest,ROI)特征,并將其轉化為N個2048維特征A={a1,a2,…,aN}。

如圖2 所示,為了得到復雜的高層次的特征,利用Transformer 隱含式地對特征進行聚合,以此來得到更高層次的特征。

圖2 提取高層次特征的模型Fig.2 Model of extracting high-level features

Transformer 中的多頭注意力機制能夠讓模型關注到特征的不同位置,并將來自較低層的特征映射到不同的子空間。同時多個Transformer串聯使用,可以獲得不同層次的特征,高層次特征的語義性更強,但包含的信息少,低層次的特征包含的信息內容多,語義較弱。該過程可由式(3)~(5)表示:

其中:Q、K、V是特征A的三個獨立線性映射;fatt是由n=8 個fdot?att函數組成的多頭注意力函數;d為常數。對于每對(Qi,Ki,Vi),模型都能將輸入映射到不同的子空間,多個Transformer 串聯又進一步增加了不同子空間的組合,從而進一步增強了模型的表達能力。深度學習網絡的問題之一是梯度消失,這會使網絡出現飽和現象,因此本文采用殘差和歸一化的方式,避免在Transformer 層出現梯度消失現象,特征A經過一層Transformer后的輸出記為A',其過程如式(6)所示:

其中:LayerNorm為歸一化層;Transformer函數為式(3)~(5)所示。本文設置3 個不同的Transformer 層,根據上述公式,可依次得到維度為512的特征A'、維度為256的特征A″、維度為128的特征A?。與傳統的Transformer 只利用最后一層輸出不同,本文利用了多層Transformer的輸出,并且使用了殘差的思想,將Transformer 處理后的特征與輸入特征相融合,最后使用LayerNorm對特征進行歸一化。使用式(6)的目的一方面在于使得梯度能夠直接回傳到原始輸入本身,使得網絡能夠更深,有更強的表現能力。另一方面歸一化的使用使得結果能夠落入非線性函數的線性區,緩解梯度消失問題,以此使得模型更加穩定,加速收斂過程。

在獲取到不同維度的高層次的特征后,本文使用金字塔型的多尺度特征融合方式對特征進行有效的融合。這種自上而下的融合方式能夠使得高層特征得到加強,低層特征得到補充,如圖1所示,該融合方式可由式(7)~(9)表示:

其中:W為參數;b為偏置項。經過融合后P'、P″、P?的維度均為512。低層特征P'在融合時僅使用A'和A″,而不加入A?的信息,一方面是防止與A'和A″的維度差異過大,導致升維效果不理想,使得模型表現能力受限;另一方面,A″中包含了A?部分信息,不添加A?在一定程度上能夠防止重復信息的疊加和信息冗余。

2.2.2 解碼器

為了對編碼器輸出的3 種不同層次的特征進行有效解碼,本文使用層次LSTM 的結構處理,該結構包括3 層LSTM。其中低層LSTM 處理低層次特征,高層LSTM 處理高層次特征,這種結構化的層次處理,其目的在于對不同層次的特征進行遞進式地解碼。此外,使用軟注意力機制,在每層特征輸入LSTM 之前,根據上下文信息對特征進行加權,關注當前步驟應該關注的重要信息。LSTM 的隱藏層狀態包含豐富的上下文信息,利用隱藏層狀態和特征得到特征的權重向量,并對特征做加權,以此來獲得經過加權的特征。

第一層LSTM 的輸入為前一時刻生成的單詞的詞嵌入向量xt -1和本層對應的編碼器特征P',其中使用注意力機制對編碼器的特征進行加權處理,該過程如式(10)~(13):

其中:W為參數;b為偏置項;t表示解碼器第t個時間步驟;i表示當前圖像N個特征中的第i個;是LSTM 的細胞狀態,在t時刻第一層LSTM 的輸出為。第一層LSTM 的輸入包括單詞和編碼器特征,其中編碼器特征經過軟注意力機制加權,重要信息得到加強。第一層LSTM 的輸出的隱藏層狀態包含了上下文特征,能為第二層LSTM提供語義信息。

第二層LSTM 的輸入為第一層LSTM 輸出的隱藏層狀態和本層對應的編碼器特征P″,同樣使用軟注意力機制對編碼器的特征進行處理,該過程如式(14)~(17):

第三層LSTM 的輸入為第二層LSTM 輸出的隱藏層狀態和本層對應的編碼器特征P?,該過程同前兩層LSTM 相同,最終第三層LSTM輸出為式(18)所示:

在第t時間步驟,生成單詞的概率分布函數由多層感知機fMLP和Softmax 函數組成,得到的最大值即為生成單詞在詞典中的索引,具體如式(19)所示:

3 實驗與結果分析

3.1 實驗數據及配置

本文主要使用2014 年發布的MSCOCO(Microsoft COCO:Common Objects in Context)[23]大型數據集進行模型驗證。MSCOCO 包括12 387 張圖像,每張圖像有5 句描述。本文使用BLEU(BiLingual Evaluation Understudy)[24]、METEOR(Metric for Evaluation of Translation with Explicit ORdering)[25]、ROUGE-L(Recall-Oriented Understudy for Gisting Evaluation with Longest common subsequence)[26]、CIDEr(Consensus-based Image Description Evaluation)[27]四種指標驗證模型的有效性。

實驗平臺為Ubuntu16.04,使用Pytorch 深度學習框架,GPU 為顯存為8 GB 的Geforce RTX 2080,CUDA 版本為10.0,CPU為英特爾E5-2630,內存為32 GB。

編碼器采用的Faster R-CNN使用ResNet101為基礎框架,輸出的對象特征維度為2 048,限制每幅圖像最大對象數量上限為50。對于每條描述,限制其最長單詞序列長度為20。選取在數據集中至少出現過5 次的單詞組成詞典并忽略大小寫,得到的單詞詞典大小為10 201,詞典使用“BOS”作為單詞序列的起始輸入標志,“END”作為生成單詞序列的結束標志,“PAD”作為補位標志,“UNKNOW”作為不在詞典中的單詞標志。

訓練階段,本文使用Adam[28]優化器,損失函數為交叉熵,首先使用小的學習率1× 10-6進行熱身學習10 000次,然后使用1× 4-4的學習率訓練模型20 輪。為了防止在反向傳播階段出現梯度消失或梯度爆炸,本文在編碼器部分使用了殘差及歸一化的方式,如式(6)所示,在解碼器部分設置了梯度截斷,其范圍為[-0.1,0.1]。在測試階段,使用beam search 策略每次選擇3個得分最高的候選。

3.2 實驗分析

將本文提出的基于注意力機制的多層次編碼和解碼的圖像描述模型MLED與當前主流模型進行對比,實驗結果如表1所示。實驗對比了NIC(Neural Image Caption)[1]、SA(Soft Attention)[7]、DSEN(Dense Semantic Embedding Network)[9]、Adaptive(Adaptive attention)[12]、Bi-LSTM[13]、DHEDN-3[14]、FCN[17]、Recal(lRecall what you see)[22]、基于注意力特征自適應矯正(Attention Feature Adaptive Recalibration,AFAR)模型[29]、HAF(Hierarchical Attention-based Fusion)模型[30]。

由表1 可知,本文提出的算法在指標BLEU-1(BLEU with 1-gram)、BLEU-2(BLEU with 2-grams)、BLEU-3(BLEU with 3-grams)、BLEU-4(BLEU with 4-grams)、METEOR、ROUGE-L和CIDEr上得分分別為75.9%、59.7%、46.1%、35.6%、27.3%、56.2%、112.5%,結果優于其他模型,相較于DSEN 和Adaptive 模型,指標平均提升約2 個百分點,相對Recall 模型和HAF 模型分別提升約3 個百分點和1 個百分點。以DSEN為例,該模型利用了多層次特征和雙LSTM,本文模型相較于DSEN,利用Transformer 提取了高層次特征,并對特征做了進一步融合,最后利用層次LSTM 對特征層次化解析,因此結果優于DSEN。相較于其他利用注意力機制的模型Attention、FCN 以及Adaptive,本文提出的模型在Transformer 中使用的多頭注意力機制以及對每個LSTM 的輸入使用軟注意力機制,都進一步對特征進行了重要信息提取,因此獲得了優異的結果。此外,這種金字塔型的特征以及融合方式在一定程度上體現了全局特征、局部特征以及對象特征,符合人類對圖像的整體認知的順序。

表1 不同圖像描述算法模型指標對比 單位:%Tab.1 Comparison of different image captioning algorithm models on indicators unit:%

表2為對比實驗結果,包括單Transformer 和單LSTM 的結構模型SLED(Single-Layer Encoder and Decoder)、無特征融合模型MLED-NF(No Fusion)實驗結果。

由表2 可知,相較于MLED,SLED 指標均低于MLED,單編碼單解碼的結構一定程度上限制了對特征的提取和解析能力,驗證了MLED 模型多層次編碼和解碼的有效性。MLEDNF 無特征融合過程,而MLED 的自上而下的融合過程有一定程度的特征加強作用,最頂層的特征最接近單詞輸出,反向傳播后的梯度能多次影響下層特征,使得模型能達到更優的解。

表2 消融實驗結果Tab.2 Ablation experimental results

圖3 為隨機挑選的樣例,包括圖片、標注的5 句描述以及模型生成的對應描述??梢钥闯?,本文所提出的MLED 模型能夠很好地捕捉圖像內容和細節,例如圖3中樣例1的“large”和“lush”、樣例2的“metal fence”以及樣例3的“covered slope”,這些生成的語句能夠涵蓋圖像的內容和細節,并且模型生成的描述基本符合語法和語義。

圖3 生成描述樣例Fig.3 Examples of generated description

4 結語

本文設計了一種基于注意力機制的多層次編碼和解碼的圖像描述模型,通過Faster R-CNN 得到對象特征,然后使用Transformer 進行高層次特征的提取并使用金字塔型的融合方式對特征進行融合,最后使用層次LSTM 對不同層次的特征分別解析。該模型在不同層次充分利用了對象特征,并且使用金字塔型的融合方式對特征進行了有效融合。模型對不同層次特征的層次化解碼促進了網絡的解碼能力。實驗結果和分析表明,本文提出的模型在各項指標均有優異的表現,所生成的描述也符合語法和語義,并且優于其他模型。未來將結合卷積神經網絡的不同層次特征、對象的不同層次特征、特征融合方式以及Transformer 方式的層次化解碼等方面進一步研究。

猜你喜歡
解碼器編碼器解碼
WV3650M/WH3650M 絕對值旋轉編碼器
科學解碼器(一)
設定多圈絕對值編碼器當前圈數的方法
轉爐系統常用編碼器選型及調試
科學解碼器(二)
科學解碼器(三)
舞臺機械技術與設備系列談(二)
——編碼器
文化解碼
解碼eUCP2.0
文化 解碼
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合