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