王會(huì)勇,盧超,張曉明
(河北科技大學(xué)信息科學(xué)與工程學(xué)院,石家莊 050000)
圖像描述模型的主要工作是根據(jù)圖像的內(nèi)容生成對(duì)圖像的描述語(yǔ)句,需要識(shí)別圖像中的對(duì)象,另外還要考慮所生成描述語(yǔ)句的語(yǔ)法正確性,以接近人類的描述結(jié)果。主流的圖像描述方法傾向于采用編碼器-解碼器模式的端到端神經(jīng)網(wǎng)絡(luò)模型[1]。通常使用基于卷積神經(jīng)網(wǎng)絡(luò)(CNN)的結(jié)構(gòu)將圖像編碼成特征向量,然后使用長(zhǎng)短期記憶(LSTM)網(wǎng)絡(luò)對(duì)該向量解碼生成描述。這些模型通常建立在大量由圖像-描述對(duì)構(gòu)成的數(shù)據(jù)集上,如微軟COCO(Microsoft Common Objects in Context)數(shù)據(jù)集[2],并且通常依賴在相同數(shù)據(jù)集上訓(xùn)練的目標(biāo)檢測(cè)器只能識(shí)別固定類別的對(duì)象。將這些目標(biāo)檢測(cè)器和描述模型訓(xùn)練集之外的對(duì)象稱為集外對(duì)象(Out of Dataset,OOD)。傳統(tǒng)的目標(biāo)檢測(cè)器在不經(jīng)調(diào)整和額外訓(xùn)練的情況下,往往無(wú)法有效識(shí)別集外對(duì)象,因此依賴這些檢測(cè)器的圖像描述模型難以描述集外對(duì)象,阻礙了這些模型在現(xiàn)實(shí)場(chǎng)景中的泛化。另外,這些集外對(duì)象也沒(méi)有對(duì)應(yīng)的人工編寫(xiě)的描述語(yǔ)句供模型進(jìn)行學(xué)習(xí),圖像描述模型在訓(xùn)練時(shí)就無(wú)法學(xué)習(xí)到如何對(duì)這些對(duì)象及所處的場(chǎng)景進(jìn)行描述,難以生成正確的語(yǔ)句。因此,要對(duì)集外對(duì)象進(jìn)行描述,需要解決2 個(gè)問(wèn)題:即如何使圖像描述模型識(shí)別出集外對(duì)象;在圖像描述模型未對(duì)集外對(duì)象進(jìn)行過(guò)描述訓(xùn)練的情況下,如何為該對(duì)象生成恰當(dāng)?shù)拿枋觥?/p>
小樣本目標(biāo)檢測(cè)器屬于小樣本學(xué)習(xí)領(lǐng)域的一個(gè)新分支。利用包含集外對(duì)象的少量示例圖像作為樣本(一般為1~10 張),檢測(cè)器就可以識(shí)別出這些新對(duì)象。相較于傳統(tǒng)目標(biāo)檢測(cè)器,可識(shí)別的對(duì)象不再局限于訓(xùn)練集中那些固定的類別,而且不需要額外的訓(xùn)練,為圖像描述模型識(shí)別集外對(duì)象提供了途徑。
知識(shí)圖譜作為一個(gè)龐大的資源,以三元組的形式提供了豐富的事實(shí)和知識(shí),如果能夠有效利用,則能為自然語(yǔ)言處理任務(wù)提供幫助。根據(jù)知識(shí)圖譜提供的與新對(duì)象相近實(shí)體的語(yǔ)義信息,可以幫助描述模型計(jì)算上下文語(yǔ)義信息,明確語(yǔ)句中使用的單詞,從而幫助模型生成質(zhì)量更好的語(yǔ)句。
本文提出一種新的模型可以對(duì)集外對(duì)象進(jìn)行描述。對(duì)于給定圖像,采用Resnet101[3]網(wǎng)絡(luò)提取視覺(jué)特征,同時(shí)使用小樣本目標(biāo)檢測(cè)器識(shí)別新對(duì)象,后根據(jù)識(shí)別出來(lái)的對(duì)象類別標(biāo)簽查詢相關(guān)的知識(shí)圖譜信息,并將與新對(duì)象相關(guān)的實(shí)體和LSTM 的當(dāng)前隱藏狀態(tài)作為其輸入,最終得到對(duì)圖像的描述。
目前圖像描述方法主要利用端到端的序列模型來(lái)產(chǎn)生符合一定句法結(jié)構(gòu)的句子。文獻(xiàn)[4]提出CNN+RNN 架構(gòu),該架構(gòu)利用LSTM 逐字生成句子。文獻(xiàn)[5]通過(guò)整合軟、硬注意力機(jī)制進(jìn)一步擴(kuò)展了文獻(xiàn)[4]的工作,在生成相應(yīng)的單詞時(shí)自動(dòng)關(guān)注圖像內(nèi)的顯著區(qū)域。此外,不同于文獻(xiàn)[5]的工作中解碼階段每個(gè)時(shí)刻都要計(jì)算圖像上的注意力,文獻(xiàn)[6]設(shè)計(jì)了自適應(yīng)注意力機(jī)制以決定何時(shí)依賴視覺(jué)信息。文獻(xiàn)[7]通過(guò)自下而上和自上而下2 種注意機(jī)制來(lái)增強(qiáng)生成語(yǔ)句的質(zhì)量。另外,還有一些研究通過(guò)結(jié)合語(yǔ)義信息來(lái)改進(jìn)圖像描述模型,如文獻(xiàn)[8]為語(yǔ)義信息添加注意力來(lái)提升圖像描述的能力。為進(jìn)一步挖掘圖像中的信息,文獻(xiàn)[9]提出基于高級(jí)圖像特征的方法,同時(shí)結(jié)合了圖像質(zhì)量這種低級(jí)圖像特征和動(dòng)作分類以及面部識(shí)別這些高級(jí)圖像特征。文獻(xiàn)[10]提出一種結(jié)合圖片場(chǎng)景因素的圖像語(yǔ)義理解模型,以解決當(dāng)前圖像描述模型中描述錯(cuò)誤或忽略場(chǎng)景的問(wèn)題??紤]語(yǔ)句的語(yǔ)法信息,文獻(xiàn)[11]提出使用句子的詞性標(biāo)簽的方法來(lái)幫助模型確定是否需要某個(gè)單詞,提高了單詞的選擇效率。結(jié)合最近NLP 的研究趨勢(shì),Transformer 結(jié)構(gòu)在某些任務(wù)中性能優(yōu)于LSTM 等傳統(tǒng)循環(huán)神經(jīng)網(wǎng)絡(luò),因此文獻(xiàn)[12]使用Transformer 替代傳統(tǒng)圖像描述模型中的LSTM 解碼器來(lái)提升模型的能力。表1 所示為不同模型在BLEU4[13]和METEOR[14]評(píng)測(cè)標(biāo)準(zhǔn)下的實(shí)驗(yàn)結(jié)果。
表1 傳統(tǒng)圖像描述模型的評(píng)測(cè)結(jié)果Table1 Evaluation results of traditional image caption models %
盡管最近基于深度學(xué)習(xí)的圖像描述方法取得了較好的結(jié)果,但它們?cè)诤艽蟪潭壬弦蕾囉跀?shù)據(jù)集。這些類型的方法能生成數(shù)據(jù)集中已有對(duì)象的描述,但如果在測(cè)試集中遇到集外對(duì)象,則難以生成相應(yīng)的描述。因此,該方法需要大量圖像-描述對(duì)用來(lái)訓(xùn)練模型,可識(shí)別新對(duì)象的圖像描述模型,希望能夠在面對(duì)訓(xùn)練數(shù)據(jù)集中不存在的新對(duì)象時(shí)也可以生成良好的描述。
可識(shí)別新對(duì)象的圖像描述方法一般先將圖像描述訓(xùn)練數(shù)據(jù)集中的圖像-描述對(duì)拆分,分別基于圖像數(shù)據(jù)和描述數(shù)據(jù)訓(xùn)練單獨(dú)的對(duì)象目標(biāo)檢測(cè)器(或可能增加標(biāo)簽分類器)和語(yǔ)言模型(基于RNN),然后兩部分相結(jié)合進(jìn)行聯(lián)合訓(xùn)練,可以對(duì)遇到的新對(duì)象進(jìn)行描述。本文所提出的方法與之類似,采用小樣本目標(biāo)檢測(cè)器識(shí)別圖中的對(duì)象,基于LSTM 結(jié)構(gòu)生成描述,但是可識(shí)別的對(duì)象類型范圍不再受限于檢測(cè)器的可識(shí)別范圍。
文獻(xiàn)[15]提出了DCC(Deep Compositional Captioner)模型,結(jié)合對(duì)圖像的多標(biāo)簽分類器,描述了可以生成訓(xùn)練集中不包含的對(duì)象。為更好地接收對(duì)象的標(biāo)簽,文獻(xiàn)[16]提出一種復(fù)制機(jī)制來(lái)生成新對(duì)象的描述。該方法使用單獨(dú)的目標(biāo)檢測(cè)為新對(duì)象進(jìn)行分類,在體系結(jié)構(gòu)添加了一個(gè)新網(wǎng)絡(luò),用于接收目標(biāo)檢測(cè)器識(shí)別出來(lái)的對(duì)象,并將它們與LSTM 合并以生成描述,文獻(xiàn)[17]在此基礎(chǔ)上提出一種新的復(fù)制機(jī)制,使用指針網(wǎng)絡(luò)將新對(duì)象標(biāo)簽復(fù)制到描述語(yǔ)句中,提高了模型可用的詞匯量。與上述方法不同,文獻(xiàn)[18]提出依據(jù)模板輸出描述,然后用填入對(duì)象標(biāo)簽的方法來(lái)保證對(duì)象標(biāo)簽的接收,并且使用Resnet101 網(wǎng)絡(luò)提取視覺(jué)特征,因此模型對(duì)新對(duì)象識(shí)別的平均F1 值較基線模型提高了9.4 個(gè)百分點(diǎn)。表2 所示為模型的實(shí)驗(yàn)測(cè)評(píng)結(jié)果。
表2 可識(shí)別新對(duì)象的圖像描述模型評(píng)測(cè)結(jié)果Table 2 Evaluation results of image caption models that can identify novel objects %
相較于表1 的模型,表2 中的模型需要關(guān)注模型對(duì)新對(duì)象的識(shí)別能力,因此加入了對(duì)圖像中對(duì)象的平均F1 值(AVG F1)的測(cè)評(píng),而基本不再提供BLEU4 結(jié)果。另外,因?yàn)樾枰指钜徊糠謭D像用來(lái)測(cè)試對(duì)新對(duì)象的描述能力,模型可用的訓(xùn)練數(shù)據(jù)變少,并且受目標(biāo)檢測(cè)器檢測(cè)能力的影響,可識(shí)別新對(duì)象的圖像描述模型的描述能力有所下降。
知識(shí)圖譜中包含大量的事實(shí)知識(shí),一般用三元組(h,r,t)來(lái)表示,h表示頭實(shí)體,t表示尾實(shí)體,r表示2 個(gè)實(shí)體之間的關(guān)系。常見(jiàn)的知識(shí)圖譜有DBpedia[19]、ConceptNet[20]等。通過(guò)表示學(xué)習(xí)的方法生成三元組的向量,以這種形式為圖像描述模型提供外部知識(shí)。CNet-NIC[21]使用YOLO9000[22]作為對(duì)象識(shí)別的模塊,經(jīng)過(guò)訓(xùn)練可以識(shí)別9 000 個(gè)對(duì)象類別,使用ConceptNet作為外部知識(shí)圖譜來(lái)獲取與對(duì)象相關(guān)的背景知識(shí)。描述對(duì)象識(shí)別模塊在圖像中找到對(duì)象,根據(jù)各個(gè)對(duì)象檢索兩組相關(guān)詞。然后將得到的詞提供給經(jīng)過(guò)預(yù)訓(xùn)練的RNN模塊,以獲得相關(guān)詞語(yǔ)的對(duì)應(yīng)向量空間嵌入,METEOR得分為25.6%,較基線模型提高了0.4 個(gè)百分點(diǎn)。文獻(xiàn)[23]給定具有關(guān)聯(lián)標(biāo)簽和其他數(shù)據(jù)(例如地理位置標(biāo)簽等數(shù)據(jù))的圖像,將圖像輸入描述模板生成器,對(duì)于生成器生成的包含占位符的描述語(yǔ)句,根據(jù)實(shí)體類型和頻率選擇使用合適的候選詞進(jìn)行填充,利用來(lái)自社交媒體的社會(huì)與體育事件生成數(shù)據(jù)集,在其數(shù)據(jù)集上的METEOR 得分為11.0%,較基線模型提高了1.1 個(gè)百分點(diǎn)。KGA-CGM(Knowledge Guided Attention-Caption Generation Model)模型[24]用于在知識(shí)圖譜的支持下為訓(xùn)練集中不包含的對(duì)象(但包含在目標(biāo)檢測(cè)器的訓(xùn)練集中的對(duì)象)生成描述。KGA 的核心目標(biāo)是將外部語(yǔ)義注意力引入描述生成模型中,通過(guò)外部語(yǔ)義信息提高模型的描述能力,F(xiàn)1 得分為35.8%,提高了2.2個(gè)百分點(diǎn),準(zhǔn)確率達(dá)到34.2%,提高了3.1個(gè)百分點(diǎn)。另外,文獻(xiàn)[25]采用TransE[26]方法來(lái)學(xué)習(xí)主語(yǔ)到賓語(yǔ)之間的轉(zhuǎn)換嵌入,TransE 是知識(shí)圖譜中常用的表示學(xué)習(xí)方法,該模型關(guān)注于對(duì)象之間關(guān)系的檢測(cè),較其基線模型BLEU4 值提高了7 個(gè)百分點(diǎn)。
包括上述模型在內(nèi),過(guò)去所謂的對(duì)新目標(biāo)進(jìn)行圖像描述的模型都普遍依賴于在完整數(shù)據(jù)集上預(yù)訓(xùn)練過(guò)的目標(biāo)檢測(cè)器,所以在進(jìn)行描述時(shí)出現(xiàn)的對(duì)象對(duì)于目標(biāo)檢測(cè)器不能算是集外對(duì)象。集外對(duì)象與訓(xùn)練集對(duì)象的范圍關(guān)系如圖1 所示。
圖1 集外對(duì)象與目標(biāo)檢測(cè)器訓(xùn)練集中對(duì)象的范圍關(guān)系Fig.1 Scope relationship between objects out of the dataset and objects in the train set of the object detector
超出了之前訓(xùn)練時(shí)數(shù)據(jù)集的范圍,即進(jìn)入到集外對(duì)象的范圍內(nèi),也就超出了檢測(cè)器的認(rèn)知范圍,對(duì)這些集外對(duì)象無(wú)法準(zhǔn)確識(shí)別,進(jìn)而圖像描述模型的能力也會(huì)隨之下降。而傳統(tǒng)模則需要重新訓(xùn)練目標(biāo)檢測(cè)器,才能使目標(biāo)檢測(cè)可識(shí)別的類別范圍擴(kuò)大,之后還要再訓(xùn)練圖像描述模型。在目前沒(méi)有解決深度學(xué)習(xí)模型訓(xùn)練時(shí)對(duì)設(shè)備算力的依賴前提下,重新訓(xùn)練無(wú)疑需要付出額外成本,這限制了圖像描述模型的泛化能力。本文使用基于小樣本學(xué)習(xí)的目標(biāo)檢測(cè)器[27],該檢測(cè)器與其他小樣本學(xué)習(xí)方法[28]類似,可以根據(jù)提供的少量樣本來(lái)識(shí)別出集外對(duì)象,而無(wú)需重新進(jìn)行大量的訓(xùn)練,提高了對(duì)新對(duì)象描述的能力。同時(shí),使用來(lái)自知識(shí)圖譜與圖像中對(duì)象相關(guān)的實(shí)體信息作為背景語(yǔ)義信息,提升模型所生成描述的質(zhì)量。
本文的主要貢獻(xiàn)如下:
1)將小樣本目標(biāo)檢測(cè)器嵌入到圖像描述模型中來(lái)幫助識(shí)別集外對(duì)象。構(gòu)建了one-shot COCO 和one-shot FSOD 數(shù)據(jù)集,每個(gè)類別的對(duì)象都有一張包含該對(duì)象的圖像相對(duì)應(yīng),為小樣本目標(biāo)檢測(cè)器識(shí)別數(shù)據(jù)集中的對(duì)象提供了參考樣本。
2)提出使用知識(shí)圖譜來(lái)幫助對(duì)集外對(duì)象進(jìn)行描述的方法。通過(guò)查找知識(shí)圖譜中與集外對(duì)象(語(yǔ)義)相近的實(shí)體,結(jié)合注意力機(jī)制,幫助模型確定描述語(yǔ)句生成的各個(gè)時(shí)刻上需要輸出的單詞。
本文提出的圖像描述模型的具體實(shí)現(xiàn)細(xì)節(jié)及訓(xùn)練流程,包括如何使用小樣本目標(biāo)檢測(cè)器,以及知識(shí)圖譜提供的相關(guān)實(shí)體信息。描述模型的整體結(jié)構(gòu)如圖2 所示。該模型采用編碼器-解碼器結(jié)構(gòu),編碼器是在ImageNet上進(jìn)行過(guò)預(yù)訓(xùn)練的Resnet101 網(wǎng)絡(luò),解碼器使用了LSTM 網(wǎng)絡(luò)。
圖2 圖像描述模型的總體結(jié)構(gòu)Fig.2 Overall structure of image description model
本文使用文獻(xiàn)[27]提出的小樣本目標(biāo)檢測(cè)器,該檢測(cè)器以faster-RCNN[29]為基礎(chǔ),使用一張包含待檢測(cè)對(duì)象的圖像作為樣本,與輸入的圖像分別提取圖像特征,通過(guò)圖像特征的比較,判斷輸入圖像中是否包含樣本圖像中的對(duì)象,并給出置信度,用以說(shuō)明檢測(cè)器對(duì)這一結(jié)果的把握程度。圖3右側(cè)為樣本圖像,包含的對(duì)象為“bicycle”,左側(cè)為輸入圖像檢測(cè)后得到的結(jié)果。本文使用檢測(cè)器的結(jié)果為語(yǔ)言模型提供對(duì)象的類別標(biāo)簽信息。
圖3 小樣本目標(biāo)檢測(cè)器檢測(cè)結(jié)果(左)與樣本圖像(右)展示Fig.3 Detection result(left)and sample image(right)of the few-shot object detector
Resnet101 網(wǎng)絡(luò)原本是用于圖像分類的模型,包含101 層CNN 網(wǎng)絡(luò),因?yàn)槠淞己玫姆夯阅?,本文采用這個(gè)網(wǎng)絡(luò)作為圖像描述模型的編碼器,保留Resnet101 前半部分的網(wǎng)絡(luò)主體結(jié)構(gòu),剔除其作為圖像分類器的功能,從而利用其提取圖像特征的能力。將待描述的圖像作為編碼器的輸入,將圖像特征編碼為固定維度的張量輸出給解碼器,供其生成圖像描述使用。
本文參考文獻(xiàn)[23]的方法,使用DBpedia Spotlight 工具進(jìn)行實(shí)體抽取,DBpedia Spotlight 是用來(lái)對(duì)自然語(yǔ)言文本進(jìn)行DBpedia 資源注釋的工具,提供了對(duì)命名實(shí)體識(shí)別、名稱解析以及其他信息提取任務(wù)有用的功能。使用DBpedia Spotlight 從COCO 數(shù)據(jù)集中的圖像描述中自動(dòng)提取812 個(gè)不同的實(shí)體標(biāo)簽。然后利用Rdf2vec[30]工具為每一個(gè)實(shí)體標(biāo)簽生成對(duì)應(yīng)唯一的向量,向量的維度為500。將這些實(shí)體從文本映射到向量空間中,以通過(guò)向量化的形式表示語(yǔ)義信息,具有相關(guān)語(yǔ)義信息的實(shí)體向量在向量空間中有著相近的分布。這些語(yǔ)義向量與由文本計(jì)算得到的GloVe[31]詞向量同樣帶有語(yǔ)義信息,但是實(shí)體向量的生成中包含了知識(shí)圖譜中相互關(guān)聯(lián)的三元組之間的語(yǔ)義信息,可以補(bǔ)充GloVe 的能力,而LSTM 在逐個(gè)生成描述語(yǔ)句中的單詞時(shí),就是依賴于單詞之間的語(yǔ)義信息,判斷單詞之間的相關(guān)性,確定當(dāng)前需要輸出的單詞。通過(guò)計(jì)算圖像中對(duì)象的向量和實(shí)體向量的相似度,得到與對(duì)象最接近的5 個(gè)實(shí)體向量,這些向量所對(duì)應(yīng)的實(shí)體,即為對(duì)象的相關(guān)實(shí)體。
圖像描述模型使用注意力機(jī)制來(lái)整合三元組中的實(shí)體信息Kt。首先計(jì)算各個(gè)實(shí)體向量與LSTM 模型的隱藏狀態(tài)的注意力得分g,計(jì)算公式如式(1)所示:
其中:ei表示相關(guān)實(shí)體(entity)的向量;ht表示LSTM層的隱藏狀態(tài)矩陣;Whe是ei的轉(zhuǎn)換矩陣,將實(shí)體向量轉(zhuǎn)化為和LSTM 層隱藏狀態(tài)相同的尺寸;t代表描述生成過(guò)程中的某一時(shí)刻。實(shí)體在當(dāng)前時(shí)刻的注意力權(quán)重信息由基于softmax 的式(2)計(jì)算得到:
其中:L表示相關(guān)實(shí)體的數(shù)目;t代表描述生成過(guò)程中的某一時(shí)刻。最后將注意力權(quán)重與對(duì)應(yīng)的實(shí)體向量相乘,由式(3)計(jì)算當(dāng)前時(shí)刻所需實(shí)體信息:
其中:αti表示第t時(shí)刻實(shí)體的權(quán)重信息;ei表示第i個(gè)實(shí)體向量;L表示相關(guān)實(shí)體的數(shù)目。
為了給圖像描述模型提供更豐富的語(yǔ)義信息,本文使用自然語(yǔ)言處理工具NLTK 中的WordNet包,查找到數(shù)據(jù)集中的每個(gè)對(duì)象類別的近義詞集,利用WordNet包中自帶的path_similarity、Leacock-Chodorow Similarity、Wu-Palmer Similarity3 種語(yǔ)義相似度計(jì)算策略,分別為每個(gè)對(duì)象類別提供了3 種計(jì)算策略下的5 個(gè)同義詞。來(lái)自WordNet同義詞使用GloVe 詞向量表示,同樣結(jié)合注意力機(jī)制來(lái)進(jìn)行整合。但與實(shí)體信息不同的是,將使用WordNet相似度計(jì)算得到的結(jié)果作為該同義詞的基本權(quán)重。圖像描述模型所使用的來(lái)自WordNet的同義詞信息D由式(4)計(jì)算:
其中:si表示同義詞的向量;βi表示第i個(gè)同義詞的權(quán)重;L表示同義詞的數(shù)目。同義詞權(quán)重信息由基于softmax 的式(5)對(duì)基礎(chǔ)權(quán)重計(jì)算得到:
其中:ni表示同義詞的基礎(chǔ)相似度;L表示同義詞的數(shù)目。將知識(shí)圖譜的實(shí)體信息和WordNet 的同義詞信息送入解碼器供描述模型使用。
為了接收并處理生成描述所需的信息,文本設(shè)計(jì)一種基于LSTM 網(wǎng)絡(luò)的解碼器。用于生成描述的解碼器如圖4 所示。其中,Wi是上一時(shí)刻生成的單詞,BOS 是語(yǔ)句的起始標(biāo)志,而EOS 是結(jié)束標(biāo)志,Ci表示由式(1)計(jì)算得到的來(lái)自知識(shí)圖譜的相關(guān)實(shí)體信息,Pt是當(dāng)前時(shí)刻輸出的單詞對(duì)應(yīng)的概率值,yt是t時(shí)刻輸出的單詞,J表示句子的長(zhǎng)度,D表示同義詞信息。
圖4 基于LSTM 的描述生成模塊Fig.4 LSTM-based description generation module
LSTM 網(wǎng)絡(luò)解碼器方法如下:
1)由編碼器得到的圖像特征與由小樣本目標(biāo)檢測(cè)器得到的對(duì)象標(biāo)簽向量進(jìn)行拼接,輸入到第1 層LSTM 網(wǎng)絡(luò)中。
2)將輸出結(jié)果與來(lái)自知識(shí)圖譜的實(shí)體信息進(jìn)行拼接,輸入到第2 層LSTM 網(wǎng)絡(luò)中。
3)將上一步輸出結(jié)果與上一時(shí)刻輸出的單詞向量進(jìn)行拼接,輸入到第3 層LSTM 網(wǎng)絡(luò)中。
4)第3 層LSTM 網(wǎng)絡(luò)的輸出結(jié)果,輸入到softmax 層進(jìn)行計(jì)算,為整個(gè)詞典上的單詞計(jì)算概率,概率最高的單詞即為模型所預(yù)測(cè)的當(dāng)前時(shí)刻應(yīng)該輸出的單詞。
5)輸出當(dāng)前時(shí)刻的單詞之后,將LSTM 層當(dāng)前的狀態(tài)信息送入下一時(shí)刻,準(zhǔn)備計(jì)算下一時(shí)刻的單詞,直到模型預(yù)測(cè)的輸出單詞為結(jié)束符號(hào)。
圖像描述模型在t時(shí)刻輸出的單詞對(duì)應(yīng)的概率經(jīng)過(guò)式(6)~式(8)依次計(jì)算得到:
其中:It是來(lái)自CNN 的圖像特征,即圖5 中的Visual feature;B是對(duì)象的標(biāo)簽信息,即圖5 中的是第1 層LSTM 上一時(shí)刻的隱藏狀態(tài);⊕表示將向量進(jìn)行拼接是第1 層LSTM 的輸出結(jié)果。
其中:ct是對(duì)象的相關(guān)實(shí)體信息;D是同義詞信息;Wct是對(duì)ct和D的拼接結(jié)果的轉(zhuǎn)換矩陣是第2層LSTM上一時(shí)刻的隱藏狀態(tài)是第2 層LSTM 的輸出結(jié)果。
其中:wt-1是上一時(shí)刻的輸出單詞是LSTM 層上一時(shí)刻的隱藏狀態(tài);pt是模型計(jì)算出的t時(shí)刻所有單詞的概率。模型將根據(jù)計(jì)算結(jié)果選出概率最高的單詞作為t時(shí)刻的輸出結(jié)果。圖像描述模型的目標(biāo)函數(shù)如式(9)所示,其計(jì)算結(jié)果為模型的損失值,代表模型當(dāng)前輸出的描述與數(shù)據(jù)集中真實(shí)描述之間的誤差。通過(guò)對(duì)模型進(jìn)行優(yōu)化訓(xùn)練,使式(9)計(jì)算出模型的損失值達(dá)到最小。
其中:L表示描述語(yǔ)句的長(zhǎng)度;yn是模型生成的語(yǔ)句中輸出的第n個(gè)單詞;P(yn)表示所輸出單詞對(duì)應(yīng)的概率。
模型訓(xùn)練時(shí)使用teacher forcing[32]方法來(lái)加速模型的訓(xùn)練速度,即在訓(xùn)練過(guò)程中,每個(gè)時(shí)刻模型不使用上一時(shí)刻自身輸出的單詞,而使用訓(xùn)練樣本提供的真實(shí)描述中的單詞作為輸入,來(lái)預(yù)測(cè)到當(dāng)前時(shí)刻所需要的單詞。為了避免teacher forcing 方法帶來(lái)的負(fù)面影響,即描述模型的泛化能力較差會(huì)影響面對(duì)集外對(duì)象時(shí)生成的描述質(zhì)量,本文采用了集束搜索方法。搜索寬度為k,即每個(gè)時(shí)刻輸出預(yù)測(cè)的單詞時(shí),保留當(dāng)前累計(jì)預(yù)測(cè)概率最高的前k個(gè)語(yǔ)句的結(jié)果,在下一時(shí)刻分別為每個(gè)句子生成下一個(gè)單詞,最終保留所有語(yǔ)句中總體預(yù)測(cè)概率最高的一個(gè)作為輸出語(yǔ)句。
為測(cè)試本文提出的圖像描述模型對(duì)集外對(duì)象的描述性能,模型在COCO 訓(xùn)練集上進(jìn)行訓(xùn)練,使用COCO 數(shù)據(jù)集和FSOD[33]的測(cè)試集進(jìn)行測(cè)試。如前文所述,使用傳統(tǒng)的模型所用的目標(biāo)檢測(cè)器,會(huì)在COCO 數(shù)據(jù)的所有類別上進(jìn)行訓(xùn)練,所以在COCO數(shù)據(jù)集上進(jìn)行測(cè)試時(shí)不存在完全的新對(duì)象。為公平比較,本文使用基于Resnet101 的圖像描述模型作為基準(zhǔn),并且使用相同的數(shù)據(jù)集分割來(lái)進(jìn)行訓(xùn)練,然后對(duì)比模型的性能,基線模型來(lái)自文獻(xiàn)[5],也是本文所提出的圖像描述模型的基礎(chǔ)模型。
小樣本學(xué)習(xí)的關(guān)鍵在于模型對(duì)新類別的識(shí)別能力,為了訓(xùn)練一個(gè)能夠檢測(cè)未知物體的模型,必須使用具有大量物體類別的高多樣性數(shù)據(jù)集。
COCO 數(shù)據(jù)集是一個(gè)龐大的數(shù)據(jù)集,用于圖像識(shí)別、分割和描述。為提供小樣本目標(biāo)檢測(cè)器需要的樣本圖像,本文根據(jù)COCO 數(shù)據(jù)集的類別構(gòu)建了one-shot COCO 數(shù)據(jù)集。如圖5 所示,針對(duì)COCO 中的每個(gè)類別標(biāo)簽都有來(lái)自ImageNet[34]的圖像相對(duì)應(yīng),這些圖像中的主體內(nèi)容即所對(duì)應(yīng)類別的對(duì)象,不會(huì)包含太多背景畫(huà)面,以避免太多干擾信息影響目標(biāo)檢測(cè)器的識(shí)別。圖5 中的Labels 就是COCO 數(shù)據(jù)集中對(duì)象的類別標(biāo)簽。使用小樣本目標(biāo)檢測(cè)器來(lái)識(shí)別圖像中的對(duì)象,根據(jù)提供的樣本圖像可適應(yīng)不同類別的對(duì)象,而不需要再進(jìn)行額外的訓(xùn)練,能夠高效地?cái)U(kuò)大可識(shí)別對(duì)象的類別,更好地幫助圖像描述模型對(duì)集外對(duì)象進(jìn)行描述。
圖5 one-shot COCO 數(shù)據(jù)集示意圖Fig.5 Schematic diagram of one-shot COCO dataset
COCO 數(shù)據(jù)集包含有限的類別,為此本文使用FSOD 數(shù)據(jù)集對(duì)模型進(jìn)行后續(xù)的測(cè)試。FSOD 數(shù)據(jù)集是專門(mén)為小樣本學(xué)習(xí)而設(shè)計(jì)的,其構(gòu)建目的是評(píng)估模型在新類別上的泛化能力,測(cè)試集包含200 個(gè)類別。通過(guò)在FSOD 上的測(cè)試,可以反映出基于小樣本目標(biāo)檢測(cè)器的圖像描述模型面對(duì)更多類別的集外對(duì)象時(shí)的表現(xiàn)。
模型使用PyTorch[35]框架來(lái)實(shí)現(xiàn),運(yùn)用Adam 優(yōu)化方法進(jìn)行訓(xùn)練,初始學(xué)習(xí)率為10-3,每10 000 個(gè)batch 衰減1/2。模型都是從頭開(kāi)始進(jìn)行端到端的訓(xùn)練,不需要額外的數(shù)據(jù)集。本文使用NLP 領(lǐng)域中常用的GloVe 詞向量,維度為300,將LSTM 模塊中的隱藏層維度設(shè)置為512,激活函數(shù)為sigmoid 函數(shù)。本文使用小樣本學(xué)習(xí)目標(biāo)檢測(cè)器同樣運(yùn)用Adam 優(yōu)化器,且已經(jīng)進(jìn)行過(guò)預(yù)訓(xùn)練,實(shí)驗(yàn)中不再進(jìn)行微調(diào)。模型在訓(xùn)練集上總共訓(xùn)練了20 個(gè)epoch,其中前13 個(gè)epoch 只訓(xùn)練解碼器,之后7 個(gè)epoch 對(duì)編碼器也進(jìn)行微調(diào)。對(duì)照實(shí)驗(yàn)所使用的基線模型采用了相同的訓(xùn)練參數(shù)。
BLEU4、METEOR、ROUGE_L[36]和SPICE[37]通常用來(lái)評(píng)估生成的圖像描述的質(zhì)量,其中,BLEU4 最早應(yīng)用于機(jī)器翻譯結(jié)果的評(píng)測(cè),根據(jù)機(jī)器生成的結(jié)果與人工標(biāo)注的語(yǔ)句中的共現(xiàn)情況來(lái)計(jì)算得分;METEOR使用WordNet 提供的信息,考慮到了生成的描述與參考描述之間的同義詞、詞根和詞綴的匹配情況;ROUGE_L 主要考慮生成的描述語(yǔ)句中所使用單詞的召回率(Recall);SPICE 是專門(mén)用來(lái)進(jìn)行圖像描述結(jié)果評(píng)價(jià)的標(biāo)準(zhǔn),更多地考慮語(yǔ)義信息,使評(píng)測(cè)結(jié)果更接近人類的判斷。模型在這些評(píng)價(jià)標(biāo)準(zhǔn)上的得分越高,就表明模型的性能越好。為了保持公正性,在本文的實(shí)驗(yàn)中的得分指標(biāo)都是利用COCO 官方發(fā)布的代碼來(lái)計(jì)算的。另外,對(duì)于COCO數(shù)據(jù)集和不包含人工描述FSOD的圖像描述的評(píng)估,參考文獻(xiàn)[16,38]的方法和指標(biāo),統(tǒng)計(jì)描述結(jié)果中各個(gè)類別對(duì)象的F1 得分,并且結(jié)合了精確率(Precision)、召回率(Recall)和準(zhǔn)確率(Accuracy)。具體計(jì)算如式(10)所示:
其中:Precision 表示某類對(duì)象的精確率;Recall 表示該類對(duì)象的召回率。精確率、召回率和準(zhǔn)確率的計(jì)算公式如式(11)~式(13)所示:
其中:TP 表示被模型預(yù)測(cè)為正值的正樣本;FN 表示被模型預(yù)測(cè)為負(fù)值的正樣本;TN 表示被模型預(yù)測(cè)為負(fù)值的負(fù)樣本;FP 表示被模型預(yù)測(cè)為正值的負(fù)樣本。
需要對(duì)比測(cè)試的項(xiàng)目為對(duì)圖像的描述性能、新對(duì)象的識(shí)別準(zhǔn)確率。模型和基準(zhǔn)采用了相同的訓(xùn)練標(biāo)準(zhǔn)進(jìn)行訓(xùn)練。
3.4.1 在COCO 數(shù)據(jù)集上的實(shí)驗(yàn)
實(shí)驗(yàn)中對(duì)COCO 數(shù)據(jù)集進(jìn)行了重新的劃分,并且按照訓(xùn)練小樣本目標(biāo)檢測(cè)器時(shí)的劃分,將COCO數(shù)據(jù)集分割為4 組(split1~split4),每組都有20 個(gè)類別,使用后3 組作為訓(xùn)練集,第1 組作為測(cè)試集進(jìn)行測(cè)試。訓(xùn)練集中包含第1 組對(duì)象的圖像將被剔除,而測(cè)試集保持不變,包含全部類別。這樣是為了使目標(biāo)檢測(cè)器和圖像描述訓(xùn)練數(shù)據(jù)集保持一致。具體分組與統(tǒng)計(jì)如圖6 所示。
圖6 COCO 數(shù)據(jù)集類別分組Fig.6 Groups of COCO dataset categories
測(cè)試時(shí)需要模型生成對(duì)圖像的描述,并且根據(jù)新對(duì)象是否出現(xiàn)在描述中來(lái)判斷模型是否對(duì)圖像中的新對(duì)象進(jìn)行了描述,并且統(tǒng)計(jì)準(zhǔn)確率。描述語(yǔ)句在COCO 數(shù)據(jù)集上的描述測(cè)評(píng)結(jié)果對(duì)比如表3 所示,其中,KG 為使用知識(shí)圖譜信息,withoutKG 則只使用來(lái)自目標(biāo)檢測(cè)器的標(biāo)簽信息。
表3 COCO 數(shù)據(jù)集上的評(píng)測(cè)結(jié)果Table 3 Evaluation result on COCO dataset %
通過(guò)表3 的對(duì)比可以發(fā)現(xiàn),本文提出的模型較基線模型在各項(xiàng)測(cè)評(píng)中均有所提升。在不使用來(lái)自知識(shí)圖譜的信息時(shí),模型能力的提升來(lái)自于對(duì)小樣本目標(biāo)檢測(cè)器的利用,通過(guò)接收集外對(duì)象的標(biāo)簽信息,生成的描述中可以包含這些對(duì)象,提高了描述的正確性。如果使用來(lái)自知識(shí)圖譜的信息,則評(píng)測(cè)結(jié)果可以進(jìn)一步提高,說(shuō)明這些信息可以幫助提升描述結(jié)果的質(zhì)量。因?yàn)閬?lái)自知識(shí)圖譜的相關(guān)實(shí)體信息提供了當(dāng)前對(duì)象以及已生成單詞的相關(guān)語(yǔ)義信息,可以幫助模型計(jì)算出當(dāng)前時(shí)刻最適合輸出的單詞。
在COCO 數(shù)據(jù)集上的F1 得分結(jié)果對(duì)比如表4 所示,其中,Seen 表示訓(xùn)練集中出現(xiàn)過(guò)的類別,Unseen是集外對(duì)象的結(jié)果。
表4 在COCO 數(shù)據(jù)集上的F1 值結(jié)果Table 4 F1 score on COCO dataset %
本文提出的模型在COCO 數(shù)據(jù)集上的準(zhǔn)確率、精確率、召回率如表5 所示,其中,Seen 表示訓(xùn)練集中出現(xiàn)過(guò)的類別,unseen 是集外對(duì)象的結(jié)果。
表5 在COCO 數(shù)據(jù)集上的準(zhǔn)確率、精確率和召回率Table 5 Accuracy,precision and recall on COCO dataset %
由表4 和表5 可知,本文提出的模型在對(duì)新對(duì)象的描述F1 值上較基準(zhǔn)模型提高了16.1 個(gè)百分點(diǎn),在整個(gè)測(cè)試集上的平均F1 值提高了6.6 個(gè)百分點(diǎn)。且模型面對(duì)新對(duì)象時(shí)的準(zhǔn)確率、精確率和召回率會(huì)低于面對(duì)已知對(duì)象,這與傳統(tǒng)描述模型的情況類似。由此可知,本文提出的模型在面對(duì)新對(duì)象時(shí)的描述能力相對(duì)于基線模型有所提升,但是因?yàn)樾聦?duì)象沒(méi)有出現(xiàn)在訓(xùn)練集中,并且會(huì)受目標(biāo)檢測(cè)器的影響,對(duì)這些對(duì)象的能力要弱于對(duì)已知對(duì)象的描述。另外,是否使用知識(shí)圖譜對(duì)結(jié)果的提升影響較小,說(shuō)明對(duì)圖像中對(duì)象的準(zhǔn)確度更多地受到小樣本目標(biāo)檢測(cè)器的影響,特別是在集外對(duì)象的識(shí)別。
3.4.2 同義詞采用不同計(jì)算策略對(duì)模型的影響
來(lái)自WordNet 的同義詞信息可以提供與對(duì)象相近的語(yǔ)義信息,從而提升圖像描述模型的能力。為此,本文比較了WordNet 中不同語(yǔ)義相似度計(jì)算策略對(duì)模型描述能力的影響,3 種計(jì)算策略下同義詞對(duì)模型的影響如表6 所示(粗體為結(jié)果最優(yōu)),其中,path 表示path_similarity,lch 表示Leacock-Chodorow Similarity,wup 表示W(wǎng)u-Palmer Similarity 策略。
表6 3 種計(jì)算策略下同義詞對(duì)模型的影響Table 6 Influence of synonyms under three computing strategies on the model %
從表6 可以看出,模型額外使用WordNet 同義詞與只使用實(shí)體信息相比還有進(jìn)一步提升。但不同的計(jì)算策略得到的最終描述結(jié)果總體差距不大,推測(cè)是因?yàn)樗褂玫牟煌x詞之間的語(yǔ)義相似度較高,提供給模型的語(yǔ)義信息是相近的,所以最終結(jié)果也會(huì)相近。
3.4.3 測(cè)試搜索寬度對(duì)模型的影響
不同的搜索寬度(beam size)意味著模型在生成描述時(shí),同時(shí)保留高概率的潛在輸出單詞。例如搜索寬度為3 時(shí),模型在ti時(shí)刻保留3 個(gè)最好的待完成的語(yǔ)句,進(jìn)入ti+1時(shí)刻分別為每個(gè)語(yǔ)句計(jì)算出概率最高的后續(xù)單詞,并對(duì)所有的語(yǔ)句進(jìn)行排序,然后保留概率最高的前3 名,進(jìn)入到下一時(shí)刻。為測(cè)試不同搜索寬度對(duì)模型的影響,本文設(shè)計(jì)了在COCO 數(shù)據(jù)集上運(yùn)用不同搜索寬度的實(shí)驗(yàn),使用Wu-Palmer Similarity 策略下的同義詞權(quán)重。實(shí)驗(yàn)結(jié)果如表7 所示(粗體為結(jié)果最優(yōu))。
表7 不同搜索寬度下的評(píng)測(cè)結(jié)果Table 7 Evaluation results under different beam size %
表7 中記錄了6 種搜索寬度下模型生成描述語(yǔ)句的評(píng)測(cè)結(jié)果??梢钥闯鲈贐LEU4、METEOR 和ROUGE_L 3 項(xiàng)指標(biāo)上,隨著搜索寬度的增大,模型表現(xiàn)更好。由于SPICE 是專為圖像描述設(shè)計(jì)的測(cè)評(píng)指標(biāo),本文的測(cè)評(píng)優(yōu)先考慮SPICE。結(jié)合圖7 可以看出,搜索寬度為3 或4 時(shí),結(jié)果最好,繼續(xù)增大搜索寬度,SPICE 結(jié)果并不會(huì)提高。另外,寬度為4 時(shí),其他評(píng)測(cè)指標(biāo)的上的表現(xiàn)都高于寬度為3 時(shí)的結(jié)果,綜合以上結(jié)果,在搜索寬度為4 時(shí)模型的表現(xiàn)最好。
圖7 不同搜索寬度下的SPICE 結(jié)果Fig.7 SPICE results under different beam sizes
在COCO 數(shù)據(jù)集為每張圖像所提供的5 句人工標(biāo)注的樣本中,并不一定都會(huì)包含某個(gè)對(duì)象,這會(huì)對(duì)模型的訓(xùn)練產(chǎn)生影響,導(dǎo)致模型在描述中忽略這個(gè)對(duì)象。本文剔除了這些數(shù)據(jù),因此模型訓(xùn)練時(shí)的數(shù)據(jù)集規(guī)模變小。本文使用包含20 個(gè)集外對(duì)象的完整COCO 訓(xùn)練集訓(xùn)練的基線模型,并使用相同的參數(shù)設(shè)置,此時(shí)BLEU4 得分可以達(dá)到30.4,使用分割后的訓(xùn)練集,基線模型的BLEU4 得分為19.22,由此判斷描述模型受到訓(xùn)練數(shù)據(jù)集規(guī)模的縮小的影響。
對(duì)于FSOD 數(shù)據(jù)集,本文同樣構(gòu)建了包含每個(gè)類別對(duì)象的樣本數(shù)據(jù)集。經(jīng)過(guò)COCO 數(shù)據(jù)集上的訓(xùn)練,模型已經(jīng)具備圖像描述的能力,接下的測(cè)試重點(diǎn)是對(duì)集外對(duì)象的識(shí)別能力。本文對(duì)FSOD 測(cè)試集上的每個(gè)類別進(jìn)行測(cè)試,每個(gè)類別得到一個(gè)準(zhǔn)確率,通過(guò)平均200 個(gè)類別對(duì)象的分?jǐn)?shù)獲得最終的F1 值為16.2%,精確率為17.6%,召回率為15.0%,準(zhǔn)確率為16.9%。FSOD 數(shù)據(jù)集圖像內(nèi)容比COCO 數(shù)據(jù)集復(fù)雜,而且對(duì)象類別數(shù)量更多,對(duì)模型的能力要求更高。圖8 所示為圖像描述模型的描述能力,對(duì)比了基線模型和本文提出的模型,搜索寬度為4,使用了知識(shí)圖譜信息和WordNet 信息,同義詞權(quán)重計(jì)算策略為Wu-Palmer Similarity。
圖8 本文模型與基線模型實(shí)驗(yàn)結(jié)果對(duì)比Fig.8 Comparison between experimental results of this model and baseline model
在圖8 中,加下劃線的詞就是該圖像中對(duì)應(yīng)的對(duì)象的標(biāo)簽。圖8(a)中的對(duì)象是“train”,對(duì)基線模型和小樣本圖像描述模型來(lái)說(shuō)都不算是新對(duì)象,所以2 個(gè)模型的描述都包含這一對(duì)象。在剩下的圖像中,“skateboard”“elephants”“refrigerator”“airplane”為新對(duì)象,所以基線模型難以描述這些對(duì)象,而小樣本圖像描述模型可以識(shí)別并生成包含這些對(duì)象的描述。
圖9 所示為模型生成描述時(shí)所采用的樣本圖像與待描述的圖像,其中圖像右側(cè)為小樣本檢測(cè)器的參考圖像。小樣本圖像描述模型通過(guò)目標(biāo)檢測(cè)器的檢測(cè),識(shí)別出圖9(a)圖像中的“pizza”,和圖9(b)圖像中的“bus”,并且在描述中包含了識(shí)別出來(lái)的新對(duì)象。
圖9 樣本圖像與待描述圖像的展示Fig.9 Display of sample images and images to be described
在圖10(a)和圖10(b)中,待描述的圖像相同,但是參考樣本圖像不同。圖10(a)中的“bus”被小樣本目標(biāo)檢測(cè)器檢測(cè)出來(lái),但是圖10(b)中的“umbrella”卻沒(méi)有被識(shí)別出來(lái)。從圖10 的結(jié)果可以看出,未被識(shí)別的“umbrella”是樣本圖像與實(shí)際待描述對(duì)象的差異導(dǎo)致的,這一問(wèn)題有待后續(xù)改進(jìn)。
圖10 采用不同樣本圖像時(shí)的識(shí)別結(jié)果Fig.10 Recognition results when using different sample images
本文提出一個(gè)基于小樣本學(xué)習(xí)和語(yǔ)義信息的圖像描述模型。利用小樣本目標(biāo)檢測(cè)器,并結(jié)合知識(shí)圖譜中與對(duì)象相關(guān)的實(shí)體信息作為背景知識(shí),對(duì)集外對(duì)象進(jìn)行描述。實(shí)驗(yàn)結(jié)果表明,與基線模型相比,該模型不僅能夠識(shí)別集外對(duì)象,還可以有效提升所生成描述的質(zhì)量,并且減少對(duì)訓(xùn)練數(shù)據(jù)集中對(duì)象類別數(shù)量上的依賴,有利于圖像描述模型的實(shí)際應(yīng)用。下一步研究是改進(jìn)小樣本識(shí)別模塊以提高檢測(cè)器的性能。