李志欣, 蘇 強
(廣西多源信息挖掘與安全重點實驗室(廣西師范大學), 廣西 桂林 541004)
隨著深度學習技術(shù)取得重大進展,以及一系列大規(guī)模數(shù)據(jù)集的開放,圖像描述任務(wù)在人工智能領(lǐng)域引起人們越來越多的關(guān)注[1-3]。圖像描述任務(wù)旨在為給定圖像生成一個描述圖像中顯著目標以及目標之間聯(lián)系的自然而有意義的語句。圖像描述主要有圖像和文本2種模態(tài),而圖像描述任務(wù)就是在這2種模態(tài)之間探索一種讓兩者能恰到好處地進行數(shù)據(jù)匹配、對齊的方式,而這恰到好處的意思就是既能準確描述圖像中的內(nèi)容,又能使描述的內(nèi)容符合當代人的認知和表達。然而,現(xiàn)實中圖像以及文本2種模態(tài)之間一直存在著語義鴻溝,要想使用自然語言來完成圖像描述任務(wù)就需要優(yōu)先解決語義鴻溝的重大難題。此外,由于生成描述語句的多樣性,使得對描述語句質(zhì)量的評估變得極其困難。因此,圖像描述長期以來被視為一項具有挑戰(zhàn)性的任務(wù)。此外,這個問題的研究具有重要應(yīng)用前景,可以幫助有視覺障礙的人群理解不同場景中的內(nèi)容,也可以作為早期兒童教育的一種輔助手段等[4-5]。
近年來,實現(xiàn)圖像描述的主流方法通常采用編碼器—解碼器的生成架構(gòu)[6-10],使用卷積神經(jīng)網(wǎng)絡(luò)(convolutional neural network,CNN)作為編碼器,將圖像編碼為一個固定維度的中間層對象,在下一層使用長短期記憶網(wǎng)絡(luò)(long short-term memory,LSTM)或循環(huán)神經(jīng)網(wǎng)絡(luò)(recurrent neural network,RNN),將這個中間層對象解碼為一個描述語句。在這個基本流程中,注意力機制的加入表現(xiàn)出顯著的有效性[11-19]。注意力機制允許模型在每一步都關(guān)注與生成各個單詞相關(guān)的圖像區(qū)域,而不僅僅是使用整個圖像來指導(dǎo)描述語句的生成。當前集成注意力的圖像描述方法雖然取得了很好的性能,但這些方法仍然存在2個局限:其一,圖像描述方法中的視覺注意力可以視作圖像區(qū)域和語句片段的映射,但這種映射過程大部分情況下都是在一個封閉“黑盒”里不可預(yù)測地、強制地執(zhí)行,并且忽略了一個事實,即有些單詞與圖像中的任何實體都不相關(guān),例如圖1所示的檢索中,識別到的“stop sign”,在這個場景中這位女士應(yīng)該是在“bus station”等待“bus”。因此,它可能會導(dǎo)致圖像區(qū)域和語句片段之間的不協(xié)調(diào),從而降低生成語句的質(zhì)量。其二,大部分圖像模型依賴于大量鍵值對類型的圖像—文本相關(guān)數(shù)據(jù)上,而訓(xùn)練中的數(shù)據(jù),每張圖像僅有少量的真實標注語句,想要表達圖像中隱晦信息的意圖仍然缺少足夠的線索。如圖1所示,依靠知識圖譜中的關(guān)系數(shù)據(jù)可以獲得一個信息:該女士可能在等候“bus”,但是如果采用常用的集成注意力的圖像描述方法,要在語句中生成“bus”這個單詞的概率則非常低。此外,為了從訓(xùn)練數(shù)據(jù)中使模型具備描述關(guān)聯(lián)實體的推理能力,也非常有必要從外部數(shù)據(jù)源中吸收相關(guān)聯(lián)的新知識。
本文致力于緩解上述2個局限,以生成更加準確和有意義的描述語句。在描述語句中,并非所有單詞對描述圖像內(nèi)容都具有同等重要性,如圖1標注語句中“woman”和“l(fā)uggage”很明顯是圖像的主體,因為它們與圖像中2個醒目的目標實體相互對應(yīng)。相反“the”和“with”等副詞連詞則不太重要,它們與圖像所要描述的事情沒有直接聯(lián)系。基于這種感知,為了優(yōu)化語句中單詞和圖像區(qū)域之間的匹配、關(guān)聯(lián),本文提出一個特別的單詞注意力方式。簡單來說,初始時依照描述圖像實體的權(quán)重等級為每個輸入單詞設(shè)置一個權(quán)重值,之后在預(yù)測單詞的每個時間步計算輸入詞的上下文關(guān)聯(lián)信息,通過充分利用來自標注語句中自底向上的語義信息來指導(dǎo)視覺注意生成過程。這使得提出的模型更符合人類對視覺場景的處理方式,即像人類一樣更專注于描述視覺圖像中的一些主要突出區(qū)域而不是非突出區(qū)域。同時,本文進一步利用從外部知識圖譜中抽取出的常識性知識來實現(xiàn)模型更好的泛化性能。采取的方法是將語義相關(guān)的知識輸入到LSTM語言生成器的單詞生成階段,增加詞匯表中某些可能被用來描述給定圖像內(nèi)容的單詞的概率。這些單詞通常是重要的、與圖像內(nèi)容相關(guān)的,但是在依靠訓(xùn)練集中的圖像—文本數(shù)據(jù)來訓(xùn)練模型時常常因為線索不足而被忽略。通過引入外部知識,本文的圖像描述方法能獲得更多線索,指導(dǎo)描述生成。
圖1 借助外部知識發(fā)現(xiàn)圖像隱含意義以及描述語句中不同單詞的重要性Fig.1 With the help of external knowledge, the implied meaning of the image and the importance of different words in the description sentence can be found
綜上所述,本文的主要貢獻包括:
1)提出一種集成內(nèi)部知識與外部知識的圖像描述生成學習框架,試圖為給定圖像生成包含新概念、新知識,能結(jié)合場景信息,符合人類感知推理的描述語句,而不是生硬的串聯(lián)識別的語句。
2)提出一種新的文本相關(guān)的注意力機制(即單詞注意力)以輔助計算視覺注意力,能夠更好地識別圖像中地實體,從而利用內(nèi)部知識生成更準確的描述語句。
3)將知識圖譜引入到編碼器—解碼器架構(gòu)中,能夠利用訓(xùn)練集中沒有包含的外部知識來促進生成新穎和有意義的描述語句。
此外,在MSCOCO和Flickr30k基準數(shù)據(jù)集上的實驗結(jié)果表明,本方法具有良好的性能,優(yōu)于許多現(xiàn)有的先進方法,并能在某些情況下生成圖像沒有直接體現(xiàn)的新實體或新關(guān)系。
當前主流的圖像描述方法是基于神經(jīng)網(wǎng)絡(luò)的序列學習方法,通常使用CNN將圖像編碼成固定長度的圖像表示,然后使用RNN將圖像表示解碼成有意義的描述語句,因此描述生成過程是一個端到端的過程。
盡管早期許多圖像描述方法取得了優(yōu)越的性能[6-10],但由于這些方法僅僅使用圖像級表示初始化RNN或LSTM的隱含狀態(tài),故通常面臨目標缺失和誤預(yù)測的問題。將注意力機制引入到圖像描述方法中,可以緩解這2個問題。受到在機器翻譯任務(wù)中成功使用注意力機制的啟發(fā),Xu等[11]將視覺注意力集成到圖像描述的編碼器—解碼器架構(gòu)中,使圖像描述的性能獲得顯著提升。視覺注意力的作用相當于在逐詞生成描述語句時,學習語句中單詞與圖像區(qū)域之間的潛在對齊關(guān)系。這個嘗試成功之后,多種基于注意力的圖像描述方法陸續(xù)被提出。You等[12]提出一種語義注意力模型,該模型有選擇地注意從給定圖像中檢測到的語義屬性,從而更好地利用自頂向下的視覺信息和自底向上的語義信息。與上述方法不同,Liu等[13]和Lu等[14]研究圖像區(qū)域和對應(yīng)單詞的一致性。前者定義了一個定量指標來評估由注意力模型生成的注意圖的“正確性”,并采用監(jiān)督來提高注意的準確率;而后者提出一種自適應(yīng)注意,并通過“視覺哨兵”來決定什么時候關(guān)注視覺信號,什么時候依靠語言特性來預(yù)測下一個單詞。韋人予等[15]在編解碼器結(jié)構(gòu)以及注意力機制的基礎(chǔ)上,根據(jù)激活層通道之間的依賴關(guān)系,實現(xiàn)一種注意力特征自適應(yīng)矯正的方法。張家碩等[16]提出一種雙向注意力機制的圖像描述方法,新增一種圖像特征到語義信息方向的注意力機制,設(shè)計一種門控網(wǎng)絡(luò),將新的注意力方法與原注意力方法進行信息融合,提高了描述語句的準確性。李文惠等[17]利用VGG19和ResNet101進行特征提取,在注意力機制中引入分組卷積操作取代慣用的全連接操作,提出一種改進的注意力機制提高圖像描述模型的準確度。Li等[18]則利用一個Global-Local注意將圖像全局特征和局部特征結(jié)合起來指導(dǎo)描述語句的生成,其中局部特征通過目標檢測算法獲取。類似地,Anderson等[19]使用Faster R-CNN[20]實現(xiàn)了其Bottom-Up注意,然后構(gòu)造一個Top-Down注意來聚焦圖像的顯著區(qū)域。以上這些工作都證明注意力機制在圖像描述任務(wù)中具備有效性。本文在統(tǒng)一的視覺注意力模型上增加了一個新的文本相關(guān)的單詞注意力,其計算只依賴于訓(xùn)練數(shù)據(jù)中的內(nèi)部標注知識,可以提供豐富的語義信息,指導(dǎo)視覺注意力的生成。
雖然圖像描述方法取得了很大的進展,但普遍缺乏描述訓(xùn)練集之外的新目標或?qū)傩缘哪芰Γ矡o法表達圖像的隱含語義,因為從真實標注語句中獲取的知識是不夠的。這個問題既可以通過整合場景特征的方法[21]解決,也可以通過將外部資源的知識整合到描述生成過程中來解決。Hendricks等[22]利用來自外部目標識別數(shù)據(jù)集或文本語料庫的目標知識來促進生成新目標描述。Yao等[23]利用“copying”機制將訓(xùn)練集中不存在的,而是從目標識別數(shù)據(jù)集中學習到的新目標直接復(fù)制到LSTM生成的輸出語句中,使提出的方法獲得了優(yōu)越的效果。Li等[24]進一步擴展這一工作,使用“pointing”機制來協(xié)調(diào)“copying”機制和單詞生成之間存在的間隙,從而生成更準確、更自然的描述語句。隨后,Zhou等[25]提出利用知識圖譜來促進圖像描述生成,這與本文方法的集成知識圖譜部分有相似之處。同樣地,陳開陽等[26]也提出利用知識圖譜提高圖像描述的準確性,不同點在于,該類方法使用一個目標檢測器檢測出圖像中包含的目標實體,再利用這些目標實體從知識圖譜中抽取出相關(guān)術(shù)語和不相關(guān)術(shù)語來訓(xùn)練一個RNN;而本文方法則將語義相關(guān)的信息注入到LSTM的輸出階段,以增加每次解碼時與圖像內(nèi)容相關(guān)的潛在有意義單詞的概率,這也允許模型生成更加新穎和有意義的描述語句。
為了解決圖像描述任務(wù)中評價指標的“不可微”以及模型在訓(xùn)練和測試階段中出現(xiàn)的“暴露偏差”問題[27],一種可行的方案是將強化學習技術(shù)融入到描述生成方法中。Ren等[28]將圖像描述任務(wù)視作一個決策任務(wù),并設(shè)計一個基于強化學習的模型來生成輸入圖像的自然語言描述。該方法使用一個“策略網(wǎng)絡(luò)”和一個“價值網(wǎng)絡(luò)”,在每個時間步共同預(yù)測下一個單詞。Rennie等[29]提出一種自批判訓(xùn)練方式(self-critical sequence training,SCST),將測試指標(特別針對CIDEr指標)用于優(yōu)化描述生成模型的訓(xùn)練過程,從而使模型在訓(xùn)練階段和測試階段保持一致。SCST方法避免了同時估計獎勵信號和考慮如何規(guī)范化獎勵的問題,利用推理階段生成的描述語句作為“基線”,以鼓勵生成更準確的最終描述語句。在此基礎(chǔ)上,Anderson等[19]和Qin等[30]采用相似的方式來提高描述模型的性能,但在序列采樣的方式上有所不同。前者提出一種結(jié)合Bottom-Up注意和Top-Down注意的模型,簡稱Up-Down模型,而后者則使用這個模型作為主干網(wǎng)絡(luò)實現(xiàn)其“向后看”和“向前預(yù)測”(look back and predict forward, LBPF)模型。
本文提出的圖像描述生成方法同時集成數(shù)據(jù)集內(nèi)部和外部的知識,因此稱為IIEK (incorporating internal and external knowledge)方法,其總體框架如圖2所示。IIEK方法試圖為給定圖像生成符合人類語言表達的描述語句,同時能夠包含圖像中沒有直接表達的新概念和新知識。該方法包含2個新思路:一方面,設(shè)計一個特殊的單詞注意力來處理圖像區(qū)域與語句單詞之間的不協(xié)調(diào)和不匹配的問題;另一方面,考慮了從外部知識圖譜中提取的常識性知識,以生成新穎而有意義的描述語句。實際上,整個模型更加充分利用了內(nèi)部的標注知識和外部的常識性知識來指導(dǎo)描述語句的生成,而提出的單詞注意力和知識圖譜方案以不同的方式分別利用內(nèi)部知識和外部知識,共同生成更符合人類感知的圖像描述語句。
圖2 IIEK方法的總體框架Fig.2 Framework diagram of IIEK method
常見的單詞嵌入方式是one-hot編碼方式,即獨熱編碼。這種編碼方式將向量中的某一位設(shè)置為1其余位為0來表示詞匯表的一個單詞。如果詞匯表中單詞的數(shù)目過多,會使得one-hot向量變得稀疏,也會出現(xiàn)維度爆炸問題。而且,one-hot編碼方式?jīng)]有考慮單詞之間的先后順序,這對單詞注意力的計算是不利的。因此,本文使用預(yù)訓(xùn)練的Word2vec模型進行單詞嵌入。Word2vec模型實質(zhì)上是一個神經(jīng)網(wǎng)絡(luò),通過輸入one-hot向量來訓(xùn)練得到最終的單詞向量。Word2vec詞嵌入充分考慮了單詞之間的上下文信息,可以提供更加豐富的語義信息。
本節(jié)探討單詞注意力以什么方式來提高視覺注意力的正確性。實際上,單詞注意力的動機來自于這樣一種認知,即某些單詞與給定圖像內(nèi)容的聯(lián)系比其他單詞更緊密。那么需要做的就是加強這種聯(lián)系,讓這些單詞在訓(xùn)練過程中起到更好的指導(dǎo)作用。最終,該模型可以學習到更合適的圖像與語句之間的映射模式,從而提高生成描述語句的質(zhì)量。
假定一張圖像I,其對應(yīng)的自然語言描述為S={w1,w2,…,wN},其中N表示描述語句的長度。序列學習方法通常使用RNN或LSTM在每個時間步長生成每個單詞,本文在語言生成部分添加單詞注意力來構(gòu)建描述生成模型。在訓(xùn)練階段,單詞注意力主要依賴于真實標注語句,其操作表示如下:
δti=fw(wi);
(1)
(2)
(3)
式中:fw是計算分配給每個輸入單詞權(quán)重值的函數(shù);xt是語句S中第i個單詞wi的嵌入向量表示;st則是在時間t的單詞上下文向量。每個輸入單詞對應(yīng)的δ值保持不變,直到最后一個時間步。本文采用TF-IDF方法[31-32]作為函數(shù)fw,該方法通過計算出每個單詞的得分來衡量單詞在語句或文檔中的重要程度。將單詞上下文向量st與LSTM解碼器前一時刻的隱藏狀態(tài)ht-1融合,從而結(jié)合更緊湊的語義信息來引導(dǎo)視覺注意力,其計算表示如下:
Ht=st⊙ht-1;
(4)
(5)
(6)
(7)
式中:⊙表示元素相乘運算;We、Wv、Wh是學習參數(shù);tanh是雙曲正切函數(shù);視覺上下文特征向量ct是所有圖像區(qū)域的加權(quán)和。通過結(jié)合單詞注意力提供的語義信息,LSTM編碼器在時間t的更新過程如下:
it=σ(Wixt+Uict+Ziht-1+bi);
(8)
ft=σ(Wfxt+Ufct+Zfht-1+bf);
(9)
ot=σ(Woxt+Uoct+Zoht-1+bo);
(10)
gt=σ(Wgxt+Ugct+Zght-1+bg);
(11)
mt=ft⊙mt-1+it⊙gt;
(12)
ht=ot⊙tanh(mt);
(13)
(14)
式中:it、ft、ot、gt、mt和ht分別表示在t時刻LSTM的輸入門、遺忘門、輸出門、記憶門、記憶單元和隱藏狀態(tài);σ(·)表示sigmoid函數(shù);W*、U*、Z*、b*是學習的權(quán)重矩陣和偏置項;最后式(14)使用生成機制[33]預(yù)測下一個單詞,Mg是轉(zhuǎn)移矩陣。
這樣,單詞注意力以可訓(xùn)練的方式插入到編碼器—解碼器架構(gòu)中,從而更好地利用訓(xùn)練集內(nèi)部標注的語句知識,使得生成的描述語句質(zhì)量得到提高。
在圖像描述任務(wù)中,知識可以為生成描述語句提供大量線索。成對圖像—文本數(shù)據(jù)集中每張圖像對應(yīng)的真實標注是人類為計算機自動生成描述提供的知識,可以稱之為內(nèi)部知識。然而,在許多現(xiàn)有數(shù)據(jù)集中,不可能包含所有必要的知識,這限制了圖像描述語句的新穎性。因此,本文考慮從外部資源中獲取知識來輔助描述生成,以提高描述模型的泛化性能。本文使用ConceptNet[34]來幫助模型進一步理解圖像中隱含的意圖。ConceptNet是開放的多語言語義知識網(wǎng)絡(luò),包含與人類日常生活密切相關(guān)的常識知識。
知識圖譜中的每條知識都可以看作是一個三元組(subject, rel, object),其中subject和object代表現(xiàn)實世界中的2個實體或概念,rel是它們之間的關(guān)系。為了獲得與給定圖像相關(guān)的知識,首先使用Faster R-CNN來檢測一系列視覺目標,然后使用這些視覺目標從知識圖譜中檢索語義上相關(guān)聯(lián)的知識。圖3給出了使用檢測到的目標“surfboard”從ConceptNet中檢索語義知識的示例。如圖3所示,檢索到每個知識實體對應(yīng)一個表示相關(guān)程度的概率,這將作為模型利用知識的重要依據(jù)。對于每個被檢測到的目標,選擇相關(guān)的知識實體運用于描述任務(wù),就可得到一個包含最相關(guān)知識的小型語義知識庫WK。這里的關(guān)鍵問題在于如何應(yīng)用從知識圖譜中提取的重要語義知識來指導(dǎo)描述生成的過程。不必要的輸入可能會在訓(xùn)練階段產(chǎn)生噪聲,從而降低模型的性能,因此,本文并不直接將語義知識輸入到LSTM的輸入層進行訓(xùn)練,而是在預(yù)測下一個單詞時,增加在所構(gòu)建的語義知識庫中出現(xiàn)的詞匯表中的某些單詞的概率。將式(14)的生成機制改為
(15)
式中λ是一個控制引入語義知識程度的超參數(shù),并通過自行設(shè)置其值實現(xiàn)。如果單詞wt+1存在于構(gòu)建的語義知識庫WK中,則單詞的預(yù)測概率將由生成機制的預(yù)測概率和相應(yīng)的檢索概率pk(wt+1)決定。通常,應(yīng)用一個Softmax函數(shù)于式(15)來獲得一個歸一化的單詞概率分布。在計算時,每個單詞都是以向量的形式存在,通過式(15)來得到單詞的概率分布,而在預(yù)測當前單詞時一般可以利用貪心搜索或者集束搜索,通過給每個可能的單詞增加一個額外的概率,模型就能夠發(fā)現(xiàn)一些隱含的線索,從而產(chǎn)生更多新穎和有意義的描述。
圖3 外部知識的抽取過程Fig.3 Extraction process of external knowledge
在訓(xùn)練和推理階段,本文提出的2個方案不僅可以適當?shù)亟Y(jié)合在一起來指導(dǎo)描述生成過程,而且每個方案都可以單獨實現(xiàn),以解決之前模型中存在的不同缺陷。本文模型采用主流的序列生成方式,也就是描述語句是按照一個單詞接著一個單詞生成,通常通過優(yōu)化交叉熵損失函數(shù)訓(xùn)練模型,
(16)
Lr(θ)=-Ew1:T pθ[r(w1:T)],
(17)
式中r(w1:T)是評分函數(shù)。這里如文獻[19,30]一樣選擇CIDEr,這個損失函數(shù)的梯度可以近似為
(18)
上述基于強化學習的訓(xùn)練方法的核心思想是,將當前模型在測試過程中使用的推理算法所獲得的獎勵作為強化算法的基線。這種方法使模型在訓(xùn)練和推斷期間保持一致,從而顯著提高了生成描述語句的質(zhì)量。在本文實驗中,結(jié)合強化學習訓(xùn)練方式的有效性得到了驗證。
本章通過實驗來評估所提出模型的有效性。首先介紹實驗用的基準數(shù)據(jù)集和評估指標,并給出實驗的實現(xiàn)細節(jié),然后將本文方法與其他先進方法進行對比,并對生成描述語句的結(jié)果進行定量和定性分析。
本文算法以及模型是基于Pytorch框架實現(xiàn)的,使用的計算機環(huán)境為Intel 第8代i7 CPU和Geforce RTX 3090 GPU,主要使用MSCOCO 2014數(shù)據(jù)集來驗證模型的有效性。這個大型數(shù)據(jù)集包含123 287張圖像,每張圖像至少有5個真實標注語句用于圖像描述任務(wù)。為了與其他方法進行公平比較,對數(shù)據(jù)集采用廣泛使用的“Karpathy”劃分方法[38],得到113 287幅圖像用于訓(xùn)練,5 000幅圖像用于驗證,5 000幅圖像用于測試。另一個用于評估的Flickr30k數(shù)據(jù)集包含31 000張圖像。Flickr30k數(shù)據(jù)集沒有提供官方的劃分標準,所以在實驗中同樣采用文獻[38]的劃分方法,即29 000幅圖像用于訓(xùn)練,1 000幅圖像用于驗證,剩余1 000幅圖像用于測試。詞匯表由MSCOCO標記語句中經(jīng)過小寫轉(zhuǎn)換和標記化之后至少出現(xiàn)5次的單詞組成,單詞的個數(shù)為9 568個,包括語句開始標記〈start〉和語句結(jié)束標記〈end〉。
自動評估機器生成的描述語句的質(zhì)量仍然是一個巨大挑戰(zhàn),這主要是因為機器缺乏像人類那樣獨立做出適當判斷的能力?,F(xiàn)有的圖像描述任務(wù)評價指標主要根據(jù)真實標注語句與生成描述語句的一致性來計算。實驗中使用的評價指標包括BLEU[39]、METEOR[40]、CIDEr[41]和ROUGE-L[42]。BLEU指標是評估機器生成語句中最常用的一種指標,基于n-gram計算,因此實驗中選擇BLEU-1、BLEU-2、BLEU-3和BLEU-4來評估模型性能。METEOR指標是為了彌補BLEU指標不足而設(shè)計的,將句干和同義詞納入考慮來評價生成的語句。CIDEr指標衡量人工標注語句和生成語句的共識度,它主要是為自動描述生成設(shè)計的。ROUGE-L指標則更加關(guān)注召回率。
本文使用Faster R-CNN來檢測圖像中包含的目標,F(xiàn)aster R-CNN首先在Visual Genome數(shù)據(jù)集上進行預(yù)訓(xùn)練,然后在MSCOCO數(shù)據(jù)集上進行微調(diào)。Faster R-CNN的組成部分RPN網(wǎng)絡(luò)也被運用于生成圖像的區(qū)域特征,并且建議區(qū)域的個數(shù)設(shè)置為36。因此,對于每一幅經(jīng)過預(yù)處理得到的256×256大小的圖像,可以得到36個2 048維的圖像特征向量,在編碼階段所有的向量固定以這個維度控制輸入輸出進行加強優(yōu)化。在解碼階段,使用LSTM作為語言生成器,其輸入層和隱藏層數(shù)量均設(shè)置為512。Word2vec嵌入向量的維度同樣設(shè)置為512。由于復(fù)雜的網(wǎng)絡(luò)結(jié)構(gòu)會導(dǎo)致模型過擬合,采用dropout技術(shù)隨機滅活網(wǎng)絡(luò)中一些神經(jīng)元,并將dropout率設(shè)置為0.5。超參數(shù)λ的值設(shè)置為0.2,其選取情況在下文給出。
整個訓(xùn)練過程分為2個階段:在第一階段,利用交叉熵損失函數(shù)訓(xùn)練模型,訓(xùn)練的批量大小為64。使用Adam優(yōu)化器來加速模型收斂過程,初始學習率設(shè)置為5×10-4,動量大小設(shè)置為0.9。在訓(xùn)練過程中,每經(jīng)過5個epoch,學習率衰減為原來的0.7倍。為了得到較優(yōu)的模型,本文選擇BLEU-4作為監(jiān)控指標,當BLEU-4得分在連續(xù)3個epoch都下降時停止訓(xùn)練。在第二階段,運行強化學習優(yōu)化算法,選擇前面最優(yōu)的模型繼續(xù)訓(xùn)練。由于第一階段的訓(xùn)練已經(jīng)使模型達到收斂,這時通過使用生成的語句直接對CIDEr指標進行優(yōu)化,改變了模型梯度陷入局部最優(yōu)的狀態(tài),使模型進一步優(yōu)化。在這一階段,將訓(xùn)練的批量大小調(diào)整為32,學習率固定為1×10-4,其余參數(shù)的設(shè)置不變。在推理生成語句時,使用集束搜索技術(shù),從候選語句集中選擇最合適的描述語句,集束大小設(shè)置為3。
本文方法主要在MSCOCO和Flickr30k數(shù)據(jù)集上進行驗證評估。為了證明IIEK方法的有效性,將IIEK方法與其他先進方法進行比較,包括基于注意力的方法、集成外部知識的方法和基于強化學習訓(xùn)練方式的方法。表1顯示了IIEK方法與其他先進方法在MSCOCO數(shù)據(jù)集上的比較結(jié)果??梢钥吹剑琁IEK方法在幾個指標上都優(yōu)于其他方法,特別是在BLEU指標和ROUGE-L指標上,其中BLEU-1、BLEU-2、BLEU-3、BLEU-4、ROUGE-L的得分分別為0.792、0.640、0.489、0.371和0.573。除了基于強化學習訓(xùn)練方式的SCST方法外,IIEK方法性能明顯優(yōu)于其他方法。而與SCST方法相比,IIEK方法在BLEU-4和ROUGE-L指標上分別提高了3.8個和2個百分點。表2展示了在Flickr30k數(shù)據(jù)集的比較結(jié)果。由表中可以看出,IIEK方法與其他方法相比取得了更佳的性能。Flickr30k數(shù)據(jù)集包含較少的訓(xùn)練數(shù)據(jù),導(dǎo)致性能小幅降低,即便如此,本文模型在所有標準的評估指標上都取得了很好的結(jié)果。
表1 在MSCOCO數(shù)據(jù)集上與其他先進模型的比較結(jié)果
表2 在Flickr30k數(shù)據(jù)集上與其他先進模型的比較結(jié)果
現(xiàn)有的圖像描述生成方法通常描述圖像中少量的顯著目標,描述語句中很少超過4個目標。為了進一步證明本方法的有效性,從MSCOCO數(shù)據(jù)集中隨機選取500張圖像以及對應(yīng)的標注語句信息,使用Stanford CoreNLP工具對標注句進行詞性分析與名詞提取,對標注語句中出現(xiàn)的不同名詞目標的數(shù)量進行統(tǒng)計。圖4(a)中給出了圖像對應(yīng)的5個標注語句中出現(xiàn)所有目標情況,圖4(b)中給出了語句集中每個標注語句包含的目標情況。圖中可以看出,對給定圖像,對應(yīng)的5個標注語句中包含4個和5個目標的情況比較常見,然而每個標注語句通常描述圖像中2~4個目標。受制于描述語句的長度,以及圖像中有些目標通常存在密切的聯(lián)系,如“person”一般與“shirt”和“shoe”同時出現(xiàn),因此,在實驗中,只根據(jù)檢測到的目標的得分來選擇前3個目標。
圖4 標注語句的目標分布情況Fig.4 Target distribution of annotation statements
然后,對于每個目標實體,分別從知識圖譜ConceptNet中檢索相關(guān)的語義知識,每條知識包含2個部分:語義實體和相關(guān)概率。最后,本文使用超參數(shù)λ來控制引入知識的程度,而λ的值直觀地設(shè)置為從0到0.9的10個值。圖5顯示了BLEU-1、BLEU-2和ROUGE-L指標得分隨參數(shù)λ值變化的情況。當λ=0時表示不應(yīng)用外部知識來促進描述生成,盡管如此也得到了較好的效果??梢钥吹?,其中BLEU-1指標和ROUGE-L指標的得分在λ=0.2時同時取得最大值,而BLEU-2指標在λ=0.3時到達最大值。隨著λ值的持續(xù)變大,這幾個指標的得分呈現(xiàn)逐漸降低的趨勢,甚至在λ=0.9時模型的性能表現(xiàn)得很不好。這是因為過于增大詞匯表中的某些單詞會使得模型的穩(wěn)定性降低。不難想象,假如某些單詞在預(yù)測時取得很高的概率,這將使得錯誤選取單詞的概率也隨之增加,從而降低了生成語句的質(zhì)量??傮w來看,本文引入外部知識的方法對實驗定量指標得分的提高是有限的,但本文方法實現(xiàn)的目的主要是為了讓模型生成更加新穎和有意義的描述。為了取得最大效益,其他實驗中將λ的值設(shè)置為0.2。
圖5 不同λ值對實驗性能的影響Fig.5 Influence of different λ values on experimental performance
本文將視覺注意力的結(jié)果在像素級別上進行可視化分析,從而更好地驗證單詞注意力對視覺注意力的優(yōu)化作用。圖6顯示了當模型聚焦于圖像不同區(qū)域時的語句生成示例圖,也就是視覺注意力的可視化結(jié)果。其中圖6(a)表示結(jié)合提出的單詞注意力后視覺注意力引導(dǎo)語句生成的示例圖,圖6(b)表示從模型移除單詞注意力后視覺注意力引導(dǎo)語句生成的示例圖。通過這個例子可以看出,在生成描述性詞語時,添加單詞注意力的模型在生成描述語句時可以準確地聚焦在圖像的適當位置,而沒有添加單詞注意力的模型在聚焦圖像時會比較分散。例如,在生成“man”和“car”這2個重要單詞時,可以明顯看出,本文的模型可以聚焦于圖像中更準確和更集中的區(qū)域。特別地,在生成第1個單詞“a”時,盡管圖像中沒有與之直接對應(yīng)的目標實體,但是通過第2個描述的單詞“man”可以得知,它們對應(yīng)的應(yīng)該是相近或相同的圖像區(qū)域,而模型添加單詞注意力后更符合人類的這種感知。同時,添加單詞注意力后,模型可以生成“parked”這個描述性單詞,使得整個描述語句更加詳細。實驗表明,本文提出的單詞注意力與標準的視覺注意力相結(jié)合,可以很好地促進單詞生成過程,并有助于生成更準確、更細粒度的描述語句。
圖6 視覺注意力引導(dǎo)下語句生成示例Fig.6 Visual attention guides the following statements to generate sample graphs
為了評估整個模型生成的描述語句的質(zhì)量,并進一步驗證本文提出的2個方案的有效性,對實驗結(jié)果進行定性分析,其可視化結(jié)果如圖7所示。可以看出,通過將單詞注意力和知識圖譜結(jié)合起來,本文方法可以生成更細粒度的描述,同時也可以揭示圖像中隱含的內(nèi)容,而這些隱含內(nèi)容通常不容易被機器發(fā)現(xiàn),但對人類來說并不困難。例如,看第1張圖片,本文方法可以預(yù)測目標“court”,即使它不是直接出現(xiàn)在標注語句中。但是利用目標“tennis racket”從知識圖譜中檢索到的相關(guān)知識中包含“court”實體,本文方法在生成單詞時適當增大了選取單詞“court”的概率,使得“court”出現(xiàn)在最終的生成語句中。同時,該方法更傾向于使用檢測到的目標來描述圖像,而這些目標也出現(xiàn)在構(gòu)建的語義知識庫中。然而,由于目標檢測模型在訓(xùn)練時受限于數(shù)據(jù)集中目標的類別,使得本方法在最后一張圖片中檢測到了錯誤目標“dining table”,從而利用了錯誤的語義知識,如“food”。并且,在這張圖片中,本方法不能描述目標“table”和“computer”,是因為本方法與現(xiàn)有的大多數(shù)方法一樣,受到描述語句長度的限制,在處理具有多個目標的復(fù)雜圖像時表現(xiàn)不佳。此外,在利用圖像的標注語句指導(dǎo)模型生成新的描述語句過程中,單詞注意力為標注語句中出現(xiàn)的重要單詞賦予更大的權(quán)重,如第2張圖片和第3張圖片分別對應(yīng)的標注語句中的“wave”和“cat”,使得它們更易于出現(xiàn)在生成語句中。
Detected objects:person; tennist racket; sport ballKnowledge entities:man; woman; tennis; pickleball; badminton; racquet; racket; court; hard courtGenerated:A tennis player is playing tennis in the court.Annotations:A man in blue tennis shorts and a while polo shirt braces to hit the tennis ball. A tennis player locked on to the tennis ball with his racket and eyes. A middle-aged man is about to hit a tennis ball with his racket. A tennis player attempts a backhanded shot. A man in a white shirt is playing tennis. Detected objects:person; surfboard; beachKnowledge entities:man; woman; surfboard; wave; surfing; surf wear; surfer; pad-dle board; water; over waterGenerated:A man riding a surfboard on top of a wave.Annotations:Surfer performing one of his moves on a nice sunny day with a scene in the background. A skilled surfer grabbing the tip of his board while the rides a wave. One male surfer doing a turn on a surfboard in the o-cean.A surfer in a black wetsuit catches a small wave. Man surfing a wave and pulling off a trick. Detected objects:person; cat; aeroplaneKnowledge entities:man; woman;girl; cat; dog; kit-ten; sharp teeth; aeroplane; air-plane; fly machineGenerated:A girl is playing a top airplane next to a cat.Annotations:A little girl dressed in pink on the floor playing with a toy airplane with a cat looking on. A cat is watching the movement of a young girl who is playing with a toy airplane.A girl and her cat are curious to see how this airplane is built with Legos.A small child plays with her airplane as a cat looks on.A cat is watching a girl construct a Lego airplane. Detected objects:person; chair; dining tableKnowledge entities:man; woman; table; tabletop; worktable; place mat; chair; so-fa; bed; foodGenerated:A man in a black shirt is speaking using powerpoint.Annotations:A wan in a black polo and khakis is giving a powerpoint presentation.Man presenting a powerpoint presentation for several people.A man in a black shirt is addressing a group of people.A gentlemen is giving a presentation via powerpoint.A man is standing before a classroom and speaking.
圖7 IIEK方法生成描述語句的實例
Fig.7 IIEK method generates an instance of the description statement
綜上所述,本文方法適用于大多數(shù)場景的描述,具備良好的有效性和魯棒性。從定量評價指標上看,本方法與當前最先進的方法相比也具有優(yōu)勢。從定性實驗結(jié)果上看,本方法生成的描述語句在某些場景下能夠發(fā)現(xiàn)圖像中的新目標和隱含信息,使得描述語句的表達和語義更符合人類感知。
圖像描述是具有廣泛應(yīng)用前景的研究課題,本文探索如何集成更多的語義知識來指導(dǎo)模型生成更加準確和有意義的描述語句,包括訓(xùn)練數(shù)據(jù)中的內(nèi)部標注知識和抽取自知識圖譜的外部知識。首先,提出一種新的文本相關(guān)注意力機制,稱之為單詞注意力,以提高在序列生成描述語句時的視覺注意力的正確性。這種特殊的單詞注意力在關(guān)注輸入圖像的不同區(qū)域時強調(diào)單詞的重要性,并為視覺注意力的計算提供重要的語義信息。結(jié)果表明,結(jié)合了單詞注意力和視覺注意力的模型能夠有效提高圖像中區(qū)域與語句中單詞的一致性。然后,將從知識圖譜中抽取的常識性知識注入到編碼器—解碼器架構(gòu)中,生成更新穎和有意義的描述語句,這也提高了描述方法的泛化性能。此外,本文還利用強化學習來優(yōu)化模型訓(xùn)練過程,從而使生成描述語句的質(zhì)量有了顯著提高。通過結(jié)合上述幾種策略,本文方法在幾個標準的評估指標上獲得了良好的性能。未來的工作將探索如何更高效地利用知識圖譜來促進圖像描述語句生成,基本方向是利用給定圖像—文本對的訓(xùn)練數(shù)據(jù)的圖像級和語句級語義信息來自主構(gòu)建更緊湊的知識圖譜。