楊 有,陳立志,方小龍,潘龍越
(1.重慶國家應用數學中心,重慶 401331;2.重慶師范大學 計算機與信息科學學院,重慶 401331)
圖像描述生成是一個融合了計算機視覺和自然語言處理的跨模態任務,它是圖像處理的高級層次。從傳統基于檢索、模板的方法到后來基于編碼器-解碼器的深度學習方法[1-2],圖像描述生成任務從只能生成單一形式的語句發展到現在可以生成精度更高、描述更加準確的語句。在常規的編解碼框架中,使用卷積神經網絡(Convolutional Neural Network,CNN)[3]作為編碼器將圖像編碼為相應特征,使用長短期記憶(Long Short-Term Memory,LSTM)網絡作為解碼器將圖像特征解碼為對應描述句子。2017 年,Vaswani 等[4]提出了一種完全依賴于注意力機制的Transformer 結構,可以對圖像特征進行關系建模,解決了循環神經網絡(Recurrent Neural Network,RNN)存在的時間依賴問題。隨后,基于Transformer 結構的各種變體[5-6]在圖像描述模型中應運而生。2018 年,Anderson 等[7]首次采 用Faster R-CNN(Faster Region-based CNN)[8]作為編碼器,提取圖像的顯著區域特征并應用在圖像描述生成模型中,一經問世便取得了極其優秀的表現。2019 年,Herdade 等[9]在Transformer 結構之上,通過幾何注意合并對象事物之間的空間關系信息,證明了模型空間意識的重要性。以上的圖像描述生成模型雖然能產生描述圖像語義內容的句子,但無法確切描述圖像事物的因果關系,存在潛在的視覺注意不合理問題。2020 年,Wang 等[10]提出了一種新的無監督特征表示學習方法,設計了基于視覺常識區域的卷積神經網絡(Visual Commonsense Region-based CNN,VC R-CNN),該網絡通過因果關系訓練得到視覺常識特征,可以捕捉圖像中上下文之間的潛在關系,在圖像描述生成模型上取得了很好的表現。
現有的圖像描述生成模型在使用多個特征進行融合處理時,會出現特征信息利用不充分且融合方式單一的問題,存在一定的局限性。文獻[10]中從圖像中提取視覺常識特征,但只是單一拼接到顯著區域特征上訓練,并未充分利用視覺常識性信息。文獻[11]中使用了VGG(Visual Geometry Group)19 和ResNet(Residual Network)作為特征提取網絡,整體融合方式也只是單一拼接,沒有重點融合其中的關鍵信息,導致生成語句存在重要內容缺失。
本文提出了基于Transformer 結構的圖像描述生成模型,引入了一種全新的自適應常識門(Adaptive Commonsense Gate,ACG)機制。為了提高對圖像深層關系的感知和表征性,提取視覺常識特征分層輸入到Transformer 編碼器中,使模型更好地從特征信息中感知圖像的因果關系。為了增強常識信息在Transformer 結構上的利用效果并提高網絡收斂速度,本文改進了兩種特征之間單一拼接的方式,在每一分層上設計了自適應常識門(ACG)。這樣不僅可以降低模型收斂速度,而且能夠充分融合視覺常識信息和圖像編碼信息,生成更加符合語境的描述語句。
為了更好地實現并行處理,提高圖像描述的準確度,模型使用了目前流行的完全基于注意力機制的Transformer 結構,并在此基礎上重新設計了網絡。模型整體網絡結構如圖1 所示。模型大體分為3 個部分:特征提取網絡、融合ACG的編碼器和解碼器。其中I表示圖像,編碼端由多個自注意力(Self Attention,SA)塊和ACG 堆疊組成:自注意力塊負責對圖像特征進行聚合操作,以此得到更高層次的圖像特征;ACG 負責融合視覺常識特征和圖像編碼特征,自適應地決定兩者特征之間的權重。解碼端由多個掩碼自注意力塊和交叉注意力(Cross Attention,CA)塊組成,負責對編碼圖像進行解碼操作,通過迭代解碼預測圖像標題。
圖1 模型整體結構Fig.1 Overall structure of model
通過目標檢測任務中的Faster R-CNN 提取圖像的顯著區域特征以及VC R-CNN 提取圖像的視覺常識特征。Faster R-CNN 將區域建議網絡(Region Proposal Network,RPN)引入深度神經網絡中,將最終層提取的圖像特征組合為顯著區域特征V={v1,v2,…,vN}。VC R-CNN 作為一種改進的視覺區域編碼器,使用因果關系干預該區域的上下文對象,可以學習感知構建知識,整體結構如圖2 所示。
圖2 VC R-CNN結構Fig.2 Structure of VC R-CNN
VC R-CNN 通過干擾因子字典(Confounder Dictionary,CD)存儲常識,它的實現與Faster R-CNN 相比,去除了RPN,不再訓練網絡建議邊界框,而是直接將訓練集中真實詞的邊界框坐標輸入到其中,直接提取區域特征。在訓練完成后的特征提取階段,只要給定圖片和邊界框坐標,便可以獲得對應的視覺常識特征C={c1,c2,…,cN}。文獻[11]中將視覺常識特征拼接到先前的顯著區域特征上作為新的融合特征用于模型輸入,如式(1)所示:
其中:vi∈Rd,ci∈Rd,vci∈R2d,[·,·]表示拼接操作;vci表示第i個顯著區域特征和第i個視覺常識特征拼接。
設計自適應常識門(ACG)的動機來源于文獻[12]中的門控機制,在許多計算機視覺任務中得到了廣泛的應用。采用門控機制的目的是建立信道特征依賴關系,可以更加有效地指導多通道信息之間的交互。ACG 將后續層和自注意力塊相結合,以此在編碼器中以同質方式對圖像模態間和模態內的常識性關系進行建模。如圖3 所示,Vacg由顯著區域特征V和視覺常識特征C組合而成,其中:加法門類似殘差連接,可以保留重要的視覺常識信息,建立特征之間的依賴關系;乘法門擅長處理梯度爆炸和消失問題,使編碼信息能夠長時間深層不受阻礙地傳播。ACG 的融合過程可由式(2)~(5)表示:
圖3 ACG機制Fig.3 ACG mechanism
其中:Wv、Wc、Wf是需要被學習的權重;bv、bc、bf為偏置項;gv為顯著區域特征的線性表示;gc為視覺常識特征的線性表示;fvc向量表示對gv和gc線性表示施加影響,在一定程度上能夠防止常識信息的疊加和信息冗余;“⊙”是點乘操作。
在Transformer 編碼器中利用自注意力塊進行模態內和跨模態交互,其中:利用了多頭注意力可以允許模型在不同的表示子空間里學習到相關的信息;同時與僅利用一層的多模態交互的注意力模塊相比,使用多個自注意力塊串聯可獲得不同層次的特征,提高多模態交互的能力。該過程可由式(6)~(8)表示:
其中:Q、K、V是3 個獨立線性映射;fmh-att是由n=8 個fdot-att函數組成的多頭注意力函數。對于每對(Qi,Ki,Vi),模型都能將輸入映射到不同的子空間,通過多個自注意力塊串聯可以增加不同子空間的組合,進一步增強模型的視覺表達能力。
在編碼器中將多個自注意力塊和ACG 堆疊串聯,可以更好地融合不同層次的視覺常識特征。獲取到ACG 的輸出特征后,下一步傳入到自注意力塊中,使用自注意力操作來獲得Vacg的置換不變編碼。在這種情況下,查詢、鍵和值是通過線性投影輸入特征獲得的,該操作如式(9)所示:
為了防止模型出現梯度消失問題,采用殘差和歸一化的方式,特征Vacg經過一個自注意力塊后的輸出記為,如式(10)所示:
其中:LayerNorm為歸一化層;S(·)函數執行操作如式(6)~(8)。模型借鑒了殘差連接的思想,將處理后的特征與輸入特征相加,最后使用LayerNorm 對特征進行歸一化。整個編碼模塊采用了與Transformer 編碼器[9]中不同的結構,丟棄了前饋層,丟棄前饋層不會改變編碼器的性能,但會簡化操作。
Transformer 解碼器由掩碼自注意力(SA)塊和交叉注意力塊組成,如圖4 所示。掩碼自注意力塊的輸入是一個標簽信息,可以嵌入到特征矩陣Y={y1,y2,…,yn},,n為輸入標題長度。掩碼自注意力塊作為解碼器的第一個子層,表示對標題詞的自我注意,如(11)所示:
圖4 Transformer注意力塊Fig.4 Attention blocks of Transformer
其中:FFN(·)表示位置前饋網絡。線性詞嵌入層以F為輸入,將其轉換為dv維空間,其中dv為詞匯量;然后對每個單詞執行Softmax 函數,預測字典中單詞的概率。解碼器包含N層,因此解碼器重復相同的過程N次。
本文使用MSCOCO 2014 數據集[13]來驗證模型性能。MSCOCO 數據集是當前圖像描述任務的最大離線數據集,包括82 783 幅訓練圖像、40 504 幅驗證圖像和40 775 幅測試圖像,每個圖像標有5 個標題。離線“Karpathy”數據分割[14]用于離線性能比較,這種分割在圖像描述工作中得到了廣泛的應用,使用113 287 幅帶有5 個標題的圖像進行訓練,并用5 000 幅圖像用于驗證,5 000 幅圖像用于測試。
實驗環境在Windows 操作系統下進行,基于PyTorch1.9.0 深度學習框架,該框架支持GPU 運算;用于測試的環境為Python 3.7;用于訓練和測試的硬件配置為:Intel i7-9700 CPU 3.00 GHz 處理器,NVIDIA GeForce GTX 2080顯卡。
為了對所提模型進行定量的性能評價,實驗采用了標準的客觀量化評分方法,其中包括BLEU(BiLingual Evaluation Understudy)、ROUGE_L(Longest common subsequence based Recall-Oriented Understudy for Gisting Evaluation)、METEOR(Metric for Evaluation of Translation with Explicit ORdering)、CIDEr(Consensus-based Image Description Evaluation)[15]以 及SPICE(Semantic Propositional Image Caption Evaluation)[16]等評價指標。其中BLEU 是式(15)所示的基于n-grams 精確度的加權集合平均:
N取1、2、3、4,又可以分為BLEU-1、BLEU-2、BLEU-3、BLEU-4 這4 個指標。在圖像描述生成中常采用BLEU-1、BLEU-4 對模型進行分數評估。
參數設置方面,本文在編碼器和解碼器中使用N=3 個相同的層,單詞嵌入層的輸出維數為512,輸入的視覺特征也通過線性投影映射到512,前饋網絡的內層維數為2 048。多頭注意采用h=8 個平行注意層。本文使用自適應矩估計(ADAptive Moment estimation,ADAM)[17]優化器訓練,將beta1 和beta2 分別設置為0.9 和0.999,epsilon 設置為1×10-6。在語言文本生成模型中設定單詞時間步為20。為了生成更加合理的圖像文字描述,本文采用集束搜索Beam Search 的方式,將beam size 大小設置為3。
為了增強模型的魯棒性以及提高模型的訓練速度,分別使用預先訓練的Fatser R-CNN 模型提取圖像的顯著區域特征,使用VC R-CNN 模型提取圖像對應視覺常識特征。訓練中,本文設置模型學習速率初始化為3×10-4,輸入批處理大小為10,每次訓練5 輪增加0.05 的計劃抽樣概率,進行15 輪交叉熵損失訓練;隨后使用自我批判的序列訓練(Self-Critical Sequence Training,SCST)[18]強化學習方法訓練,學習率大小設置為1×10-5,訓練至30 輪結束。
本章驗證本文提出的融合自適應常識門的圖像描述模型的表現和性能。
本文選取測試集中不同場景的圖像(如圖5 所示)進行測試,各圖生成的描述實例如表1 所示,其中每個實例包含Transformer 基線模型、本文模型以及人為標注的參考描述(HUMAN)。
表1 生成描述樣例Tab.1 Examples of generated captions
從表1 中可以發現,Transformer 基線模型生成的標題符合語言邏輯,但描述內容不夠準確,甚至有些描述與圖像內容不太匹配;而本文模型生成的標題相對正確且更具有描述性。在圖5(a)、圖5(c)兩個場景中,基線模型產生了錯誤的描述語句,而本文模型對圖5(a)描述出了“兩個人騎著摩托車”,對圖5(c)描述出了“給小貓喂香蕉”,生成了相對正確的標題。從圖5(d)~(f)示例中可以看到,本文模型生成的語句不僅比基線模型效果更好,甚至比人工描述更加生動形象,描述出了人工標注也忽略了的一些重要點。例如對圖5(d)描述出了“一個大窗戶”、對圖5(e)描述出了“在水邊的草地上”、對圖5(f)描述出了“穿著綠色制服的足球運動員”;然而,相較于表達程度更深的人工標注,機器產生的描述存在一定的局限性,如圖5(b)所示,本文模型和Transformer 基線模型僅僅只是描述出圖像中的內容“一組飛機停在機場”,而人工標注進一步描述出了“在窗戶后面”。
圖5 不同情境下所選擇的測試圖片Fig.5 Test images selected in different scenarios
為了進一步驗證模型的性能,使用了MSCOCO 2014 測試集來驗證模型,并與當前主流模型進行對比,實驗結果如表2 所示。實驗對比了循環融合網絡(Recurrent Fusion Network,RFNet)[1]、Up-Down[7]、對象關 系變壓 器(Object Relation Transformer,ORT)[9]、SCST[18]、分層注 意網絡(Hierarchical Attention Network,HAN)[19]、場景圖自動編碼器(Scene Graph Auto-Encoder,SGAE)[20]、詞性堆疊交叉注意網絡(Part-Of-Speech Stacked Cross Attention Network,POSSCAN)[21]、SRT(Show Recall and Tell)[22]。
由表2 可知,本文模型提升了圖像描述的性能,并且在大多評價指標上都優于對比模型,包括最新的圖像描述生成模型POS-SCAN、SRT。本文模型在反映句子連貫性和準確率的 BLEU-4 指標上比POS-SCAN 模型提升了3.2%,比SRT模型提升了1.8%;在反映語義豐富程度的CIDEr 指標上,對比POS-SCAN 模型提升了2.9%;在更反映圖像描述質量的SPICE 指標上,比POS-SCAN 模型提升了2.3%,對比SRT 模型提升了1.3%。
表2 不同圖像描述生成模型的評價指標對比Tab.2 Comparison of different image caption generation models on evaluation indicators
表3 比較了不同方案的消融實驗結果,包括:使用顯著區域特征作為模型輸入的基線模型,稱為TED(Transformer Encoder and Decoder);使用文獻[10]中的方法單一拼接圖像顯著區域特征和視覺常識特征作為模型輸入的模型,稱為TED-VC(TED-Visual Commonsense);將視覺常識特征分層輸入到Transformer 編碼器的模型,稱為TED-FVC(TED-Fusion of VC);在Transformer 編碼器中加入自適應常識門的模型,稱為TED-ACG(TED-Adaptive Commonsense Gate)。由表3 可知,TED-VC 相較于TED 有較小的提高,一定程度上反映了單一拼接的方法未能充分發揮視覺常識特征的優勢。TEDFVC 相較于TED-VC 有了一些提高,說明分層作用在一定程度增強了常識特征利用效果。在全部對比結果中,TED-ACG表現出了最好的性能,驗證了ACG 可以更好地提取視覺常識信息,生成更符合圖像語義信息的內容。
表3 消融實驗的設置和結果Tab.3 Setting and results of ablation experiments
本文提出了一種基于Transformer 結構,融合自適應常識門的圖像描述生成模型。使用Faster R-CNN 模型提取圖像顯著區域特征,使用VC R-CNN 模型提取視覺常識特征。通過將視覺常識特征分層輸入到Transformer 編碼器中,并在每一分層中設計使用了自適應常識門,從而增強了模型對視覺常識信息的提取能力,同時進一步融合了圖像的顯著區域信息和視覺常識信息。本文所提出的模型在圖像描述評價指標上都取得較高分數,其中BLEU-4、CIDEr 得分可以達到39.2 和129.6。實驗結果表明,本文提出的模型泛化能力相較于傳統模型更好,在圖像描述生成任務上能取得出色的表現。下一步,將結合現有圖像描述的方法,在Transformer 架構上研究更有效的特征融合方式。