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

?

基于改進的Transformer_decoder的增強圖像描述

2023-03-21 08:59林椹尠屈嘉欣
計算機與現(xiàn)代化 2023年1期
關鍵詞:解碼器注意力編碼

林椹尠,屈嘉欣,羅 亮

(西安郵電大學通信與信息工程學院,陜西 西安 710121)

0 引 言

圖像描述(Image Captioning)處于計算機視覺(Computer Vision,CV)和自然語言處理(Natural Language Processing,NLP)的交叉研究領域,根據(jù)圖像內容信息自動生成描述性的語句,其能幫助視力障礙的人理解圖像內容[1-5]。對于人類來說,這項任務很容易實現(xiàn),而對于機器來說具有極大的挑戰(zhàn)性,因為機器不僅需要識別圖像中的特定對象及其之間的關系,而且還需將所識別對象整合為正確的句子。受機器翻譯的啟發(fā),當前主流的圖像描述方法是基于神經(jīng)網(wǎng)絡的編碼器-解碼器模型實現(xiàn)的,編碼器主要為卷積神經(jīng)網(wǎng)絡(Convolutional Neural Network,CNN)的一些經(jīng)典模型,用于提取圖像內容特征,如VGGNet、ResNet、EfficientNet 模型[6-9]。解碼器主要為遞歸神經(jīng)網(wǎng)絡(Recurrent Neural Network,RNN)的經(jīng)典模型,如LSTM、GRU 和Transformer 模型,可以將圖像內容解碼為一句描述語義[10-13]。其中,2017 年提出的Transformer 作為近幾年圖像描述任務中最流行的解碼器模型,其基于自注意力機制(Self Attention)以實現(xiàn)輸入和輸出之間的全局依賴關系,具有高效的并行化處理能力,使得模型訓練可以達到突出效果[14]。

Self Attention 機制將標簽詞向量作為輸入,詞與詞之間的語義相關性容易受到先驗詞的影響,導致描述的語義與原圖像有偏差。例如與“魚”一詞相關的是“水”,而不是“地面”,因為在標簽訓練集中“魚”和“水”同時出現(xiàn)的頻率高,如果圖片顯示的內容是“一條魚掉到了地面上”,很容易被解碼器描述為“一條魚在水里”。標準的Transformer模型雖然在很多任務上有著出色的表現(xiàn),但其在圖像描述任務中,解碼器對于文本的生成只依賴于標簽數(shù)據(jù)集,而一些細粒度的視覺特征對于文本語義的生成是至關重要的。文獻[15]提出了Bottom-Up Attention 機制,是通過關注視覺的顯著區(qū)域來提取圖像特征。文獻[16]通過對圖像的不同區(qū)域及順序進行控制,從而生成更加多樣化的描述。文獻[17]提出ASG 抽象場景圖,通過控制圖像的不同細節(jié)進行語義描述,例如描述出的是什么物體、是否描述物體的屬性或物體之間的關系,使得生成的描述結果更貼切圖像信息。

Transformer中提出了絕對位置編碼方法,為序列添加唯一固定的位置向量,與詞向量一同作為解碼器的輸入,此種位置方法雖然使得輸入的詞向量具有時序性,但當特征向量進入Attention機制時位置信息會丟失。如果2個序列中都有“it”詞,雖然“it”所在的位置和上下文語境并不同,但表征的位置編碼相同,導致編碼出的文本語義不準確,從而影響圖像描述的整體性能。文獻[18-20]針對絕對位置編碼存在的位置信息丟失問題進行改進。文獻[18]提出一種Transformer-XL 神經(jīng)網(wǎng)絡結構,該網(wǎng)絡結構由片段級的循環(huán)機制和全新的位置編碼策略組成,可以解決超長距離的依賴性問題。文獻[19]提出了一種相對位置嵌入方法,以鼓勵自注意機制中的query、key 和相對位置編碼之間進行更多的交互,從而提升圖像描述的性能。文獻[20]提出在向量空間中捕獲單詞距離的位置編碼的3 個預期特性:平移不變性、單調性和對稱性,并且提出2種可學習的位置編碼方法APE 和RPE,其中可學習的APE 在分類任務中表現(xiàn)更好,而可學習的RPE在跨度預測中表現(xiàn)更好。

針對以上2 個問題,本文提出一種基于Transformer_decoder 改進的增強型圖像描述模型。此模型的整體框架如圖1 所示,采用“ResNet101”和Transformer 的編碼器部分作為圖像描述任務的編碼器模型,添加視覺引導Vision-Boosted Attention(VBA)和相對位置表示Relative-Position Attention(RPA)的Transformer_decoder模型作為解碼器。針對細粒度的視覺特征在表述時被忽視的問題,提出了將視覺增強注意力機制VBA 作為Transformer_decoder 的輔助層,將視覺特征送入解碼器中使得詞與詞之間的相關性受到不同區(qū)域視覺特征的影響,通過視覺信息改善Self Attention 機制。針對位置信息丟失的問題,提出相對位置注意力機制RPA,此機制可以完全代替絕對位置編碼的操作,將相對位置表示和Self Attention 機制進行合并處理,動態(tài)地編碼每個詞的位置信息,并能表示出詞與詞之間的相對位置關系。實驗結果表明,具有視覺引導VBA 和相對位置表示RPA 相結合的解碼器模型,描述的語義可以捕獲到更多細粒度的視覺特征,并且能靈活地表示詞與詞之間的位置關系,從而提高圖像描述質量。

1 標準的Transformer_decoder模型

Transformer 的標準解碼器模型由4 個相同的Transformer_decoder 模型堆疊形成,每個Transformer_decoder 模型由3 個子層組成,包括多頭自注意力層(Multi-Head Attention)、視覺文本注意力層(Seq-Image Attention)和前饋神經(jīng)網(wǎng)絡層(Feed-Forward),每2 層之間都會添加殘差連接(Residual Connection)和層歸一化處理(Layer Normalization)。另外,注意力層使用mask 方法以防止在訓練給定輸出詞時用到未來輸出詞的信息。

Self Attention 是Multi-Head Attention 的核心,對于一組文本序列x=(x1,...,xi,...,xn),通過Self Attention 的各種線性映射得到輸出權重值序列z=(z1,...,zi,...,zn),以表示序列內部詞與詞之間的關聯(lián)性。Self Attention 機制內部主要使用縮放點積的方法(Scaled Dot-Product Attention)實現(xiàn)序列中詞的關注,其輸出權重值zi可由式(1)表示。

其中,aij可表示為:

對于當前詞xi的輸出權重值表示為zi,其中xi∈Rdx,zi∈Rdz,WQ、WK、WV∈Rdx×dz是參數(shù)矩陣,查詢向量、鍵向量和值向量分別表示為Q=xiWQ、K=xjWK和V=xjWV。在公式(2)中,aij表示為當前詞xi與序列中任意詞xj的相似性度量值,softmax激活函數(shù)得到的結果會為V中每一個值分配權重,權重越大表示源序列中哪些詞越重要。除此之外,在多頭自注意力層中Q、K和V向量都來自于上一層Transformer_decoder 的輸出。在視覺文本注意力層中Q向量由上一層解碼器的輸出提供,而K向量和V向量來自于編碼器模型輸出的圖像特征。

與傳統(tǒng)的解碼器模型不同,Transformer不具有序列的時序性信息,因此,Transformer 中提出位置向量表示法,為序列的每個位置添加固定的位置向量,該向量的維度大小與詞向量相同,其決定了當前詞的位置,或表示一個句子中不同詞之間的距離。

位置向量PE(u)可由公式(3)計算得到,其中,PE為二維矩陣,大小和輸入詞向量的維度相同,行表示詞語,列表示詞向量;pos 表示詞語在句子中的位置;dmodel表示詞向量的維度;i表示詞向量的位置。因此,在每個標簽詞的偶數(shù)位置添加sin函數(shù),奇數(shù)位置添加cos函數(shù),以此得到位置向量矩陣,結合輸入的標簽詞向量矩陣共同作為解碼器的輸入,這樣便完成位置向量表征的引入。

2 增強型圖像描述模型

圖1 為基于Transformer_decoder 改進的增強型圖像描述模型,該模型的整體架構是基于Transformer的encoder-decoder 框 架。 其 中,Encoder 部 分 由ResNet101 和Transformer_encoder 組 成,首 先 利 用ResNet101 來檢測一組顯著的圖像特征,再通過Transformer_encoder 獲得增強型的視覺特征。Decoder 部分由標準的Transformer_decoder 作為基礎模型,通過添加增強型視覺特征和相對位置關注來生成與圖像信息更匹配的描述語義,主要由4 層組成,包括相對位置注意力層、視覺增強注意力層、視覺文本注意力層和前饋神經(jīng)網(wǎng)絡層。

圖1 基于Transformer_decoder改進的增強圖像描述模型

2.1 視覺增強注意力機制

標準情況下,多頭自注意力層的輸入是詞向量或上一層的輸出,很容易受到先驗詞的影響,并且只依賴于文本特征。本文提出視覺增強注意力模型,如圖2 所示,在Transformer_deocder 模型中添加VBA 層作為解碼過程的輔助框架,將VBA 模塊添加到Multi-Head Attention 之后,使得序列中的詞與詞之間根據(jù)輔助的視覺關系獲得更合理的注意力分布,考慮視覺信息對解碼過程的影響,從而生成更多與圖像相關的語義描述。

圖2 中,VBA 是一個雙重注意力機制,將具有圖像特征引導的Scaled Dot-Product Attention 權重值Ax2i進行分解,得到序列圖像注意力表示A*x2i和圖像序列注意力表示A*i2x。給定一組輸入序列Xi={xi1,xi2,…xii,…,xik},在訓練當前詞xi時,圖像特征表示z=(z1,...,zi,...,zn)作為self-attention 中K的輸入,通過Scaled Dot-Product Attention 運 算 得 到Ax2i∈Rk×n,如式(4)所示,其表示X與V間的相關性,使不同區(qū)域的視覺特征作為序列中詞與詞間關系度量的輔助條件。通過對Ax2i進行轉置得到圖像序列注意力機制Ai2x∈Rn×k,并將mask 覆蓋到Ai2x上得到A*i2x,使其只依賴于t時間之前生成的序列信息,最終圖像序列注意力表示可由式(5)得到。對序列圖像注意力表示Ax2i進行reshape 得到A*x2i,如式(6)所示。A*x2i和A*i2x的乘積作為具有視覺影響的相似性度量值eij,最終視覺增強注意力VBA的輸出可由式(7)表示。

圖2 視覺增強注意力機制

2.2 相對位置注意力機制

Transformer 中使用正余弦函數(shù)表示絕對位置編碼,即序列中每個位置都有一個固定的位置向量與詞向量一同作為解碼器的輸入,導致在計算縮放點積注意力運算(Scaled Dot-Product Attention)時丟失了詞與詞之間的相對位置信息。

本文對Scaled Dot-Product Attention 計算進行改進。如圖3 所示,在計算xi的zi和eij時分別添加可訓練的相對位置參數(shù)aVij,aKij∈Rdz,將xi與xj之間的相對位置信息編碼入隱藏狀態(tài)中,既為句子中的單詞添加順序性信息,又能直觀地表示一個句子中不同標簽之間的相對位置關系,從而提高圖像描述的語義豐富度。

圖3 相對位置注意力機制

對公式(2)進行修改,計算相似性度量值eij添加相對位置參數(shù)aKij,如式(8)所示。在計算xi的輸出權值zi時添加相對位置參數(shù)aVij,修改公式(1)如式(9)所示,其中參數(shù)aVij和aKij在同一層中所有attention head之間共享。當計算xi與xj相對位置關系時,參數(shù)aVij和aKij可由式(10)得出,k為xi的最大相關單詞的距離,需滿足|j-i|≤k,當xi與xj之間的距離超出k時相對位置關系的計算便無意義,僅需考慮2k+1個相關單詞。式(10)最終可理解為分別學習鍵向量和值向量的相對位置表征wK=(wK-k,…,wKk)和wV=(wV-k,…,wVk),wKk,wVk∈Rdz。

3 實驗結果與分析

3.1 實驗設置

本文所有實驗均在相同設備條件下進行,具體環(huán)境配置如表1 所示。本文采用圖像描述領域最常用的“編碼器-解碼器”架構。ResNet101 和Transformer_encoder 部分作為圖像描述任務的編碼器模型,Transformer_decoder 模型作為解碼器模型。使用COCO 數(shù)據(jù)集作為評估標準來衡量基于不同詞向量的圖像描述的性能。該數(shù)據(jù)集包含用于訓練的82783 幅圖像和用于驗證的40504 幅圖像,每幅圖像大約包含5 個文本描述[21]。此外,采用Karpathy 分割設置,其中包括113287張訓練圖像、5000張驗證圖像和5000 張測試圖像[22]。在訓練標簽中發(fā)生不到5 次的單詞被過濾,并替換為一個特殊的標記“UNK”,最后,建立了一個包含9490個單詞的標簽詞匯表。

表1 實驗環(huán)境配置

將attention 層的大小和隱藏層大小設置為512,NN.Embedding 作為本次實驗的基礎詞向量模型,維度為512。Transformer 的層數(shù)為4,自注意力頭的個數(shù)為8。當使用相對位置編碼時k=8,并且每層的相對位置表示唯一。分批處理圖像中單次輸入圖像batch size 數(shù)量為32,訓練期間使用初始學習率為0.0004 的Ranger 優(yōu)化器[23],每迭代8 個epoch 學習率衰減為原來的0.8,訓練過程中最大迭代次數(shù)設為30。在解碼過程中使用Beam Search,集束大小設為3,然后從訓練的描述結果中選取BLEU-4 得分最高的句子作為最終描述語句[24]。

3.2 評估指標

為了客觀評估實驗模型的性能,本文使用的評估指標為BLEU-4和準確率[25]。BLEU用于評估模型生成的句子(candinate)和實際句子(reference)的差異,其取值范圍為[0.0, 1.0]。最早的BLEU算法是直接統(tǒng)計candinate中的單詞有多少個出現(xiàn)在reference中,當candinate 中共有p個單詞,其中有q個單詞出現(xiàn)在reference 中,計算方法如式(11)所示,也相當于BLEU-1。BLEU-1 衡量的是單詞級別的準確性,為了衡量句子的流暢性,引入n-gram 對BLEU 進行改進,其中n-gram指一個語句里面連續(xù)的n個單詞組成的片段,提出了多種BLEU 變種指標,包括BLEU-1、BLEU-2、BLEU-3和BLEU-4。計算方法如式(12)所示。

準確率是指在正確分類的情況下,正樣本(TP)和負樣本(TN)占全部樣本(Total)的比例,也就是判斷一個模型分類器的有效性,如果準確率越高,說明模型的分類效果越好,其計算方法如式(13)所示。

3.3 視覺增強注意力機制VBA的影響

為了驗證視覺增強注意力機制對圖像描述任務的影響,使用4 個相同的Transformer_decoder 塊堆疊作為圖像描述的基礎解碼器模型,在COCO 數(shù)據(jù)集上對其進行評估。主要采用2 種評價指標(BLEU-4 與準確率)表明解碼器部分添加視覺特征對圖像描述的影響,2 種指標的得分越高說明圖像描述的結果與數(shù)據(jù)集中人工標注的描述越相近,解碼器部分添加視覺信息可以有效描述語義的效果。

選擇具有絕對位置編碼的Transformer_decoder作為本節(jié)的基礎解碼器模型Abs_Pr,VBA_I是在第一個Transformer_decoder塊中添加視覺信息作為語義表述的輔助模塊,由此類推VBA_II、VBA_III和VBA_IV分別表示在第二塊、第三塊和第四塊添加視覺信息VBA模塊。從表2 可得,VBA_I 與基礎模型相比準確率和BLEU_4 都有所提高,分別提高了1.16%和3.54%,可見為Self-attention 機制添加視覺信息的指導可以提高描述質量;VBA_All 表示每塊Transformer_decoder都添加視覺增強注意力,從表中數(shù)據(jù)可知,并不意味使用視覺信息越多解碼器生成的語義效果越好,VBA_All沒有單層添加VBA模塊的指標分數(shù)高,而且所需的訓練時間最長,因為越多的VBA模塊越會使模型訓練過擬合,導致評估指標的分數(shù)下降。VBA_IV的準確率和BLUE_4 的分數(shù)最高,分別達到了80.273和0.267,比基礎模型分別提高了2.16%和5.12%。

表2 VBA用于Transformer_decoder不同層比較

如圖4 所示,從每訓練1 個epoch 所需訓練時間對幾種模型進行比較,添加VBA 模塊比基礎模型Abs_Pr 所需的訓練時間明顯增多。VBA_All 的指標并不如單層Transformer_decoder 添加VBA 模塊的得分高,而且所需的訓練時間最大。VBA_I所需的訓練時間相對較少,但準確率和BLEU_4 在單塊添加視覺信息模型中最低;VBA_IV 所需的訓練時間僅比VBA_I 多了0.01 h,在2 種評價指標的得分最高。可見,添加視覺信息的解碼器模型描述的語義效果更好,而且選擇任意一塊Transformer_decoder 添加視覺增強注意力都比基礎模型得到了一定程度的改進,其中VBA_IV 的指標得分最高,而且所需的訓練時間相對較短,因此選擇在第四塊Transformer_decoder 添加視覺信息來增強語義的描述效果最佳。

圖4 不同層添加VBA所需訓練時間比較

3.4 相對位置注意力機制的影響

為了驗證相對位置注意力機制對圖像描述的影響,在COCO 數(shù)據(jù)集上對其進行評估,以準確率和BLEU_4 作為性能評估指標,參數(shù)量和訓練時間作為輔助評估的參考值。選擇無位置表征的Transformer_decode 作為本節(jié)的基礎解碼器模型No_Pr,Abs_Pr 是具有絕對位置編碼的解碼器模型,Rel_Pr_Att 是添加相對位置注意力機制的解碼器模型,Rel_Pr_Att+VBA_IV 作為相對位置注意力與視覺增加注意力相結合的解碼器模型,其中視覺增強注意力添加在第四個Transformer_decoder 塊上。表3顯示了添加相對位置注意力機制(RPA)和視覺增強注意力機制(VBA)的解碼器模型與基礎模型進行比較的結果。圖5 顯示了在編碼器相同的情況下,使用不同解碼器模型所需訓練的參數(shù)量比較。

表3 增強型模型與基礎模型對比結果

圖5 各種模型訓練參數(shù)比較

本文選用交叉熵損失函數(shù)對模型的參數(shù)進行性能評估,用于衡量預測值和真實值的差距程度,具有交叉熵值越小模型預測效果越好,交叉熵值越大權重更新速度越快的特性。此函數(shù)常與Softmax 結合使用,通過Softmax 將輸出結果進行處理,使其多個分類的預測值和為1,再使用交叉熵來計算損失。交叉熵損失函數(shù)的計算方法如式(14),其中y表示真實值,a表示神經(jīng)網(wǎng)絡的預測值。圖6為4種模型訓練時的損失收斂曲線圖。由于0~14 輪epoch 訓練的loss 一直在下降,因此只顯示15~29輪訓練,loss值隨著輪數(shù)增多先下降再趨于穩(wěn)定狀態(tài)。除了Rel_Pr_Att 模型,其他3 個模型都在epoch=24 時達到了loss 的最低值,因此,接下來的模型比較均選擇epoch=24的實驗數(shù)據(jù)。

圖6 4種模型訓練時的損失收斂曲線圖

Transformer 本身不具有順序性信息,文獻[8]為其添加了絕對位置編碼后,可以表述出序列的時序性信息,如表3所示,Abs_Pr模型的準確率和BLEU_4評分相對于No_Pr 模型分別提高了1.76%和4.96%,參數(shù)量并沒有因為添加了位置編碼而增加;Rel_Pr_Att相對Abs_Pr,2 個評估指標中準確率提升了1.33%,BLEU_4 提升了3.15%,參數(shù)量減少了3.15 百萬個,每訓練1 個epoch 所需的時間也減少了,獲得了比絕對位置表示模型更好的描述效果。最后,將本文提出的視覺增強注意力機制與相對位置注意力機制相結合嵌套到解碼器模型中(Rel_Pr_Att+VBA_IV),雖然所需的訓練時間相對于只添加Rel_Pr_Att 增長了,但相對于只添加VBA_IV 所需訓練時間減少了0.12 h,參數(shù)量比Abs_Pr模型降低1.53%,而且準確率和BLEU_4的評估分數(shù)最高,準確率比Abs_Pr高3.97%,BLEU_4比Abs_Pr高了6.7%。圖7為4種模型訓練時的準確率收斂曲線圖??梢姡曈X增強注意力機制和相對位置注意力機制相結合的解碼器模型,可以最大幅度地提高整體模型的表現(xiàn)能力。

圖7 4種模型訓練時的準確率收斂曲線圖

4 結束語

本文提出了2 種新的注意力模型:視覺增強注意力機制和相對位置注意力機制,前者將視覺信息作為多頭注意力層的輔助模塊,可以關注到不同區(qū)域的視覺特征對解碼器的影響,從而增強與視覺相關的文本表示能力;后者通過在自注意力機制中添加相對位置表示來代替絕對位置編碼,不僅可以編碼標簽詞的順序性信息,而且能捕獲到序列中詞與詞之間的相對位置關系。實驗結果表明,本文所提的2 種注意力機制對基礎模型都有所改善,而且2 種新注意力機制相結合的解碼器模型有更好的表現(xiàn)能力,可提高圖像描述任務的整體模型性能。

猜你喜歡
解碼器注意力編碼
讓注意力“飛”回來
科學解碼器(一)
基于SAR-SIFT和快速稀疏編碼的合成孔徑雷達圖像配準
科學解碼器(二)
科學解碼器(三)
《全元詩》未編碼疑難字考辨十五則
子帶編碼在圖像壓縮編碼中的應用
線圣AudioQuest 發(fā)布第三代Dragonfly Cobalt藍蜻蜓解碼器
Genome and healthcare
“揚眼”APP:讓注意力“變現(xiàn)”
灌南县| 襄城县| 堆龙德庆县| 漳浦县| 如皋市| 崇文区| 武隆县| 吉林省| 定安县| 于都县| 乌兰察布市| 保亭| 商水县| 喜德县| 大城县| 介休市| 三河市| 伊金霍洛旗| 罗源县| 同江市| 大同市| 阜新| 龙井市| 廊坊市| 汉源县| 兰考县| 苏尼特左旗| 永仁县| 三明市| 阿瓦提县| 邵阳县| 永年县| 宁阳县| 曲麻莱县| 蓬莱市| 花莲市| 长海县| 怀远县| 静乐县| 陈巴尔虎旗| 永安市|