孫 亮
(中國科學技術大學 信息科學技術學院,安徽 合肥 230026)
人工智能大體可分為兩個研究方向:感知智能和認知智能。感知智能研究進展訊速,比如圖片分類、自然語言翻譯,但認知智能發展速度有限,比如看圖說話、視覺描述等。將自然語言和計算機視覺結合起來的視頻描述算法研究,有利于搭起人類和機器之間溝通的橋梁,促進認知智能的發展。
視頻描述不同于視頻分類、物體檢測等標簽式的粗粒度視覺理解任務,而是需要用通順準確的一句話來描述視頻內容。這不僅需要識別出視頻中的物體,還需要理解視頻中物體之間的相互關系,同時由于視頻內容描述風格多樣,比如對場景的抽象描述,對各物體之間關系的描述,對視頻中物體行為和運動的描述等,這都給視頻內容描述研究帶來很大的挑戰性。傳統的視頻內容描述算法主要采用基于語言模板的方法或基于檢索的方法。基于語言模板的方法,由于受到固定語言模板的限制,只能生成形式單一缺乏靈活性的句子。而基于檢索的方法過于依賴檢索視頻庫的大小,當數據庫中缺少與待描述視頻相似的視頻時,生成的描述語句將和視頻內容存在較大的偏差。同時這兩種方法都需要在前期對視頻進行復雜的預處理過程,而對后端的語言序列部分優化不足,從而導致生成的語句質量較差。
針對前期需要對視頻進行復雜的預處理過程,本文提出了一個新的基于多模態信息的網絡框架對視頻描述算法進行相關研究,通過網絡直接實現端到端的訓練,自動從大量的訓練數據中學習到視頻到語言的映射關系。針對后端語言序列部分優化不足,引入強化學習算法直接采用優化客觀評價指標對模型進一步訓練。最后通過實驗來證明所提模型在視頻描述問題上的有效性。
視頻描述是一個融合計算機視覺和自然語言處理的綜合問題,類似于翻譯一段視頻為一句話。該任務不僅需要利用模型理解視頻內容,還需要用自然語言表達它們之間的關系。視頻內容描述算法主要分為基于語言模板的方法[1-2]、基于檢索的方法[3-4]和基于編碼解碼器的方法[5-6]。
基于檢索的方法,首先需要建立一個數據庫,數據庫中每個視頻都有對應的語句描述標簽。輸入待描述的視頻,然后找到數據庫中與之最相似的一些視頻,經過歸納和重置,把該相似視頻對應的描述語句遷移到待描述的視頻。基于檢索的方法生成的描述語句更加貼近人類自然語言的表達形式,句子結構更加靈活。但是此方法嚴重依賴數據庫的大小,當數據庫中缺少與待描述視頻類似的視頻時,生成的描述語句將和視頻內容存在較大的誤差。上述兩種方法都嚴重依賴視覺前期復雜的處理過程,且存在對后期生成句子的語言模型優化不足的問題。對于視頻描述問題,這兩類方法都難以生成描述準確、表達形式多樣的高質量語句。
基于編碼解碼器的方法,是目前視頻描述領域的主流方法。這主要受益于基于深度神經網絡的編碼解碼模型在機器翻譯[7-8]領域取得的突破進展。機器翻譯的基本思路是:將輸入的源語句和目標語句表示在同一向量空間內,首先使用編碼器將源語句編碼為一個中間向量,然后再通過解碼器將中間向量解碼為目標語句。視頻描述問題也可以看做是一個“翻譯”問題,即把視頻翻譯成自然語言。此方法前期不需要對視頻采取復雜的處理過程,能夠直接從大量的訓練數據中學習視頻到描述語言的映射關系,實現端到端的訓練,并且能夠產生內容更加精確、語法靈活和形式多樣的視頻描述。
在編碼器階段,從多模態信息出發,采用視頻幀、光流幀和視頻片段相結合的方法得到視頻特征向量,同時檢測和生成視頻的高級語義屬性。為了獲得更有效的視覺特征和語義屬性,將語義屬性標簽生成階段的輔助分類損失和解碼器網絡損失進行同時優化。編碼器的流程如下:

(2)提取語義屬性表,對訓練集和測試集中句子的單詞按照其出現頻率排序,移除虛詞,然后選擇出現概率最高的K個單詞作為高層語義屬性值。
(3)訓練語義屬性檢測網絡,本質上為一個多標簽分類任務,輸入不同的特征{vf,vo,vc},得到語義屬性向量{sf,so,sc}。假設數據集有N條語句,yi=[yi1,yi2,…,yil,…,yiK] 是第i個視頻的標簽向量。其中如果視頻i對應的描述語句中包含屬性單詞l,則yil=1;否則yil=0。令vi∈{vf,vo,vc}表示視頻i從編碼器學習到的特征向量,此時的訓練數據為{vi,yi}。采用多層感知機網絡來學習函數f(·):Rm→RK,其中m為輸入特征向量的維度,K為輸出向量的維度,這個維度和上述提取的語義屬性值的個數相等,多層感知機輸出向量si=[si1,…,siK]為視頻i的預測標簽向量,網絡的多標簽分類損失(loss1)定義如下:
端錨聚合酶抑制劑XAV939抑制人骨肉瘤SOSP-9607細胞增殖及作用機制研究 ………………………… 董永紅等(14):1917
(1)
其中,si=α(f(vi))為學習到的K維向量,α(·)表示sigmoid函數,f(·)由多層感知機實現。
在解碼階段,本文提出一個結合視覺特征和語義特征的注意力LSTM模型[9]來生成描述語句。對于視頻內容描述,輸入一個視頻,輸出一條包含Ns個單詞的文本句子Y,其中Y={w1,w2,…,wNs}。視頻描述語句的生成問題可以公式化地定義為最小化損失函數(loss2):

圖1 基于多模態信息的編碼解碼網絡
loss2=-logP(Y|v,sf,sc,so)=-∑logP(wt|w0~t-1)
(2)
這是給定視頻特征向量v和檢測到的多模態語義屬性sf,so,sc來生成正確文本句子的負對數概率的表達式,其中P(wt|w0~t-1)由wt~softmax(st)中的模型參數所指定。在訓練階段,鑒于視頻特征及其學習到的多模態語義屬性,通過對總的損失函數(loss1+loss2)同時進行優化,可以保證句子中的上下文關系。
當輸出是一個句子時,非常自然地想到使用循環神經網絡(Recurrent Neural Networks,RNN)作為解碼器。由于長短期記憶(LSTM[9])單元的RNN能夠捕獲句子長期依賴性,在本文的網絡結構中使用LSTM單元的變體作為解碼器。如圖1中Concatenation模塊,將vf,vo,vc級聯作為解碼器初始時刻輸入向量。假設輸入單詞為wt,LSTM上一時刻隱藏狀態為ht-1,上一時刻細胞的記憶狀態為ct,則LSTM在t時刻的更新規則如下:
it=σ(Wiwt+Uhiht-1+z)
(3)
ft=σ(Wfwt+Uhfht-1+z)
(4)
ot=σ(Wowt+Uhoht-1+z)
(5)
(6)
(7)
ht=ot⊙tanh(ct)
(8)
z=1(t=1)·Cv
(9)

為了更好地利用來自多個模態語義屬性的輔助信息,本文提出結合語義屬性的注意力機制來計算權重矩陣W*和Uh*,將傳統LSTM的每個權重矩陣擴展為與K個屬性相關權重矩陣的集合。即用W*(St)/Uh*(St)替換初始權重矩陣W*/Uh*,其中St∈RK是一個多模態的語義屬性向量,隨時間動態變化。特別地,定義兩個權重矩陣Wτ∈Rnh×nx×K和Uτ∈Rnh×nh×K,其中nh是隱藏單元數目,nx是詞嵌入向量的維數,則W*(St)/Uh*(St)的表達式如下:
(10)
(11)
其中,Wτ[k]和Uτ[k]分別表示權重矩陣Wτ和Uτ的第k個2D切片,其與概率值St[k]相關聯,St[k]是多模態的語義屬性向量St的第k個元素。
計算St,公式如下:
(12)
(13)
eti=wTtanh(Waht-1+Uasi)
(14)
其中,l=3表示學習到的三個語義屬性向量{sf,so,sc},注意力權重ati反映了生成當前時刻視頻中第i個語義屬性的重要性程度。可以看出,對于不同的時間步長t,語義屬性St是不同的,這使得模型在每次產生單詞時有選擇性地關注視頻中的不同語義屬性部分。訓練這樣一個模型等同于聯合訓練K個LSTM,網絡的參數量和K值成正比,當K值很大時,網絡幾乎不能完成訓練,采取以下的分解方法:
W*(St)=Wa·diag(WbSt)·Wc
(15)
Uh*(St)=Ua·diag(UbSt)·Uc
(16)
其中,矩陣維數Wa∈Rnh×nf,Wb∈Rnf×K,Wc∈Rnf×nx,Ua∈Rnh×nf,Ub∈Rnf×K,Uc∈Rnf×nh。把上述更新規則分解為:
(17)
(18)
(19)
其中⊙表示逐元素乘法運算符,對于St中的每個元素值,參數矩陣Wa和Ua是共享的,這可以有效地捕獲視頻中共有的語言模式,而對角線矩陣diag(WbSt)和diag(UbSt)考慮了不同視頻中的特定語義屬性部分。同理可證,ft,ot,ct的表達式和上面公式相似。網絡充分訓練之后,既可以有效地捕獲視頻中共有的語言模式部分,又可以關注于視頻中特定語義屬性部分,同時由于采用因式分解,網絡的參數量大大減少,規避了原始網絡的參數量和K值成正比的難題。
下面對網絡參數量進行分析。采用因式分解網絡的參數量大大減少。未分解之前總的參數量為K·nh·(nx+nh),可以認為參數量和K成正比。在分解St之后,式(15)W*(St)表達式參數量為nf·(nh+K+nx),式(16)Uh*(St)表達式參數量為nf·(2nh+K),二者的參數量之和為nf·(3nh+2K+nx)。當指定nf=nh時,對于較大的K值,nf·(3nh+2K+nx)要遠遠小于K·nh·(nx+nh)。
上述提出了一個新的編碼-解碼器模型MIVC (Multimodal Information Algorithms for Video Captioning) 來生成視頻內容描述,其本質上將每個單詞生成過程看做是一個分類問題。該模型對p(S|V)進行建模,S是描述句子,V是視頻,訓練目標是最大化對數似然概率,利用交叉熵損失函數來優化模型。然而使用最大似然訓練存在兩個明顯的問題:(1)訓練損失和評價準則不統一。模型訓練階段采用最大化后驗概率,模型評估階段采用客觀評價指標BLEU[10]、METEOR[11]、CIDER[12]等,而最大化對數似然可以認為對生成的每個單詞給予一樣的權重,實際上句子中的某些單詞可能更重要一些,這種不一致導致模型無法對視頻內容描述生成的評價指標充分優化。(2)曝光偏差的問題。模型訓練的時候,解碼器每個時刻的輸入來自訓練集中真實詞,而模型測試的時候,每個時刻輸入來自上一時刻生成的輸出詞。輸出詞一般采用貪婪搜索或者束搜索的方式獲得,如果其中某一個單詞預測不夠準確,錯誤可能會接著傳遞,誤差積累導致后面生成單詞越來越差。
為了解決上述兩個問題,很明顯的想法就是使模型訓練和評估時的情形盡可能一致,也就是在網絡訓練的時候不直接優化對數似然,而是直接最大化評價指標CIDER (或者BLEU、METEOR)。并且使模型訓練和測試階段的輸入一致,均使用前一時刻的輸出作為下一時刻的輸入。本節將用強化學習的技術來解決上述提到的這些問題,主要采用RENNIE S J等提出的SCST[13]算法對本文所提出的MIVC模型進行改進,將模型通過貪婪搜索或者束搜索得到的句子得分作為公式的基線函數,于是可以得到以下改進的公式:
(20)



圖2 基于強化學習的解碼器訓練算法
本節通過具體實驗來評估本文提出的MIVC模型在視頻內容描述數據集MSVD[14]的性能。在訓練階段,MIVC中的所有權重矩陣采用[-0.05,0.05]均勻分布初始化,偏置項置為0。將LSTM隱藏單元的數量和因子nf的大小設置為512,使用公開的word2vec向量來初始化詞嵌入。兩個數據集的最大epochs數設為35,如果參數向量的范數超過5則剪切梯度,采用學習率為1×10-4的Adam算法用于優化網絡模型。在測試階段,采用參數為5的束搜索策略生成視頻描述,使用BLEU@N、METEOR和CIDER三個常用指標對提出模型進行定量評估。
首先,為了評估視頻不同語義特征和它們不同組合之間的有效性,在模型MIVC中采用6種不同的語義屬性組合,同時串接vf,vc,vo作為視頻最終的特征向量v輸入到解碼器中。其中“MIVCf”表示僅僅使用語義屬性sf,“MIVCf+o”表示使用兩個語義屬性sf和so,其他四種模型遵守相同的標記,f,o,c分別表示sf,so和sc。表1展示了本文提出各種模型與目前流行方法在MSVD數據上的性能比較。可以看出:(1)本文所提出的模型“MIVCf+o+c”在6個評價指標上均取得了最好的實驗結果。特別地,該模型在METEOR和CIDER指標上分別為35.3% 和 79.6%,是對比方法中效果最好的模型。(2)對于MIVC模型的六種變體,比如“MIVCf”、“MIVCf+o”和“MIVCf+o+c”,六個評價準則的分數值逐漸增大。這表明隨著多模態語義屬性的加入,模型的視覺表達能力變強,更加有利于視頻描述語句的生成。也就是說MIVCf+o+c的性能優于MIVCf和MIVCf+o,這證明了學習到的多模式語義屬性能夠增強視頻描述的性能。(3)即使只使用一種語義屬性sf,“MIVCf”模型在METEOR和CIDER指標上也接近甚至優于LSTM-TSA[17],證明所提出MIVC基本框架的有效性。

表1 MIVC模型和其他流行的方法在MSVD數據集上的指標對比 (%)
為了比較不同語義屬性融合策略,通過實驗分析本文所提出的基礎模型MIVC和其他三種模型的性能比較,這三種模型都采用了高層語義屬性,但是語義屬性融合的策略不一樣,實驗結果如表2所示。為了公平地比較各種框架融合策略的差異,表中四種模型均使用單一的語義屬性sf和同樣的視頻特征向量v。其中“LSTM-v/LSTM-vf”模型,v表示視頻特征向量,f表示從視頻RGB幀學習到的高層語義屬性向量sf,vf表示將v和sf串聯送到網絡中,這些向量值都只在初始時刻輸入到標準的LSTM解碼器。實際上,LSTM-v是一個標準的編碼-解碼器模型,網絡中沒有使用高層語義屬性,可以作為一個基準框架。LSTM-vf模型使用v和sf的串接作為LSTM解碼器初始時刻的輸入。在模型LSTM-vf中,視頻特征向量v作為LSTM解碼器初始時刻的輸入,同時語義屬性sf在解碼器的每一時刻均輸入到網絡中,而MIVCf是本文提出的網絡模型。從表2可以看出,與其他三種方法相比,MIVCf取得了最好的實驗效果,證明了本文所提出的語義融合策略的有效性。尤其是MIVCf的效果遠遠好于基準模型LSTM-v,這表明了高層語義屬性對于研究視頻描述問題的重要性。

表2 使用單一語義屬性的MIVCf和其他三種模型在數據集MSVD上的實驗結果
表3展示了用三種不同的訓練方式對本文提出的MIVCf模型進行改進的測試結果。其中MIVCf(Greedy)和MIVCf(Beam)表示使用交叉熵損失函數對提出的基準模型進行訓練,Greedy表示使用貪婪搜索解碼,Beam表示束搜索解碼;MIVCf(CIDER)表示將MIVCf(Greedy)作為預訓練模型,然后利用基于強化學習訓練算法來直接優化評價指標CIDER,對模型進一步優化訓練得到的結果。從表中實驗數據可以看出,MIVCf(CIDER)模型的評價指標得分均高于MIVCf(Greedy)和MIVCf(Beam),證明采用基于自判別序列訓練的強化學習算法訓練得到句子的質量效果好于貪婪搜索句子的質量。從表中可以看出,雖然模型直接優化的是CIDER指標,但是METEOR和BLEU@4都得到了相應提高。說明直接優化評價指標CIDER的策略梯度算法能夠進一步對模型優化,提高視頻描述生成句子的質量。

表3 基于交叉熵損失和基于強化學習訓練模型在MSVD數據集上的性能對比
本文主要研究了視頻的多模態信息,從視頻多模態信息出發,采用視頻幀、光流幀和視頻片段相結合的方法對視頻特征進行編碼,同時在生成描述語句的每一時刻關注于不同的高層語義屬性。通過實驗與其他主流方法進行對比,表明所提出的基于多模態信息的視頻內容描述算法能夠提高視頻描述生成精度。同時本文對解碼器端語言生成部分優化不足的問題進行了分析與研究,引入強化學習算法對提出的新模型進行改進,采用直接優化客觀評價指標對模型進行進一步訓練,能夠使生成的描述句子的質量進一步提升,表明強化學習算法能夠有效避免采用最大似然對語言進行建模帶來的曝光偏差和訓練指標與評價準則不統一的問題。