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