国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于深度學(xué)習(xí)的圖片問答系統(tǒng)設(shè)計研究

2018-12-13 09:07周遠(yuǎn)俠
計算機(jī)應(yīng)用與軟件 2018年12期
關(guān)鍵詞:次數(shù)向量樣本

周遠(yuǎn)俠 于 津

(汕頭大學(xué)工學(xué)院計算機(jī)科學(xué)與技術(shù)系 廣東 汕頭 515000)

0 引 言

近年來,包括深度學(xué)習(xí)在內(nèi)的機(jī)器學(xué)習(xí)理論有了巨大進(jìn)展,人類見證了人工智能在眾多領(lǐng)域的研究及應(yīng)用成果。2015年,學(xué)術(shù)界提出的自由形式和開放式視覺問答VQA任務(wù)[1],逐步成為人工智能研究的熱門方向。VQA系統(tǒng)將圖像與自由形式和開放式的自然語言表述問題作為輸入,產(chǎn)生的自然語言表述答案作為輸出。VQA任務(wù)需要具有精準(zhǔn)識別、物體檢測、活動識別、知識庫推理和常識推理等功能的問答系統(tǒng)來完成,而這些功能所涉及的計算機(jī)視覺、自然語言處理和知識推理等領(lǐng)域在過去10年中取得了顯著的進(jìn)步。

圖片問答聊天機(jī)器人涉及的領(lǐng)域主要有視覺問答、文本問答和圖像處理。

計算機(jī)視覺問答的研究始于2014年,一開始的研究,其設(shè)定和數(shù)據(jù)集都比較有限[2-3]。例如,文獻(xiàn)[2]只考慮答案來自16個基本顏色或894個對象類別的預(yù)先設(shè)計的閉合問題。文獻(xiàn)[3]考慮從對象、屬性、對象之間的關(guān)系來構(gòu)建固定詞匯表的模板進(jìn)而生成的問題。相比之下,文獻(xiàn)[1]在一年后提出的任務(wù)涉及人類的開放式,自由形式的問題和答案,增加了提供正確答案所需的知識的多樣性和推理的種類[1]。從數(shù)據(jù)集上看,后者[1]的數(shù)據(jù)集(問答對36萬,圖片12萬)比前兩者[2-3](分別為2 591和1 449圖像)大兩個數(shù)量級,這對在視覺問答這個更為困難和無約束的任務(wù)上取得成功很重要。視覺問答的問題是開放式的,然而,了解問題的類型和哪些類型的算法能更好地回答問題也很有必要。為此,后者[1]還分析所提問題的類型和提供的答案類型,通過幾種可視化展示了所提問題的驚人的多樣性,并探討問題的信息內(nèi)容和答案與圖像說明的區(qū)別。他們設(shè)計出一個將處理問題的LSTM與處理圖像的卷積神經(jīng)網(wǎng)絡(luò)相結(jié)合以產(chǎn)生答案的模型[1],并以幾種使用文本和最先進(jìn)的視覺特征相結(jié)合的方法作為基準(zhǔn),對類似的模型進(jìn)行了評估。除此以外,其他相關(guān)工作有:文獻(xiàn)[4]最早設(shè)計出一個將處理問題的LSTM(Long short-term memory)網(wǎng)絡(luò)與處理圖像的卷積神經(jīng)網(wǎng)絡(luò)相結(jié)合以產(chǎn)生答案的模型。文獻(xiàn)[5]引入了10 k圖像的數(shù)據(jù)集,并提出了描述場景的特定方面的說明。百度的Gao等[6]收集了COCO圖像的中文問題和答案。文獻(xiàn)[7]使用微軟的COCO數(shù)據(jù)集說明自動生成對象、計數(shù)、顏色、位置四種類型的問題。

從最新(2016年、2017年)發(fā)表的文獻(xiàn)上看,有些學(xué)者已經(jīng)開始嘗試將“帶有注意力”的模型加入到現(xiàn)有的視覺問答研究中,例如,文獻(xiàn)[8-11]使用了基于視覺注意的模型,其中注意機(jī)制通常產(chǎn)生突出顯示與回答問題相關(guān)的圖像區(qū)域。這幾篇文獻(xiàn)都專注于識別“往哪里看”或“視覺注意區(qū)域”的問題。文獻(xiàn)[12]認(rèn)為,除了建模“往哪里看”或“視覺注意區(qū)域”之外,同樣重要的是要模擬“聽問題的重點”或“提問注意”。因此他們提出了一個新穎的VQA的共同關(guān)注模式,同時關(guān)注問題和圖像的“重點區(qū)域”。主要通過新穎的一維卷積神經(jīng)網(wǎng)絡(luò)(CNN)以分層方式進(jìn)行改進(jìn)。然而,在引入了“帶有注意力”的機(jī)制后,模型的復(fù)雜度會提高不少。

基于文本的問答在自然語言處理和文本處理領(lǐng)域是一個很好的研究問題。文獻(xiàn)[13]中讓機(jī)器回答閱讀理解多項選擇問題,試圖解決開放域的機(jī)器理解問題;文獻(xiàn)[14]合成了文本描述和QA(問答)對。這些方法為視覺問答的研究提供了靈感。視覺問答的自然基礎(chǔ)是圖像,即需要理解文本(問題)和視覺(圖像)。由于關(guān)于圖片提出的問題是由人類產(chǎn)生的,因此常識知識和復(fù)雜推理也顯得很有必要。

圖像處理的相關(guān)技術(shù)為視覺問答提供一定的支持和借鑒,比如圖像標(biāo)記[15-16]與圖像說明[17-18]。和視覺問答相比,這些任務(wù)雖然需要視覺和語義知識,但是說明通常不具有針對性[18]。相比之下,視覺問答中的問題往往需要詳細(xì)的有針對性的圖像信息,所以和一般的圖像標(biāo)記與圖像說明不一樣。

我們在對數(shù)據(jù)集統(tǒng)計分析的基礎(chǔ)上提出數(shù)據(jù)預(yù)處理方法仿聚類法,建立合適的LcVMS模型,并以此設(shè)計出圖片問答系統(tǒng)。這個圖片問答系統(tǒng)需要精準(zhǔn)識別、物體檢測、活動識別、知識庫推理和常識推理等多種AI功能,對人工智能的學(xué)術(shù)研究有積極意義;從工業(yè)角度上看,一個成熟的圖片問答系統(tǒng),能協(xié)助視覺障礙用戶積極獲取視覺信息。因此,以VQA這個目標(biāo)驅(qū)動型任務(wù)為導(dǎo)向,以深度學(xué)習(xí)為基礎(chǔ),研究圖片問答聊天機(jī)器人的系統(tǒng)設(shè)計,既有理論研究意義,也有實際應(yīng)用價值。

1 框架設(shè)計

1.1 任務(wù)描述

最近幾年,計算機(jī)視覺CV(Computer Vision)、自然語言處理NLP(Natural Language Processing)和知識表示與推理KR(Knowledge Representation & Reasoning)快速發(fā)展,越來越多的學(xué)者投入到上述學(xué)科的交叉任務(wù)研究中。2015年,Aishwarya等提出了自由形式和開放式視覺問答VQA的任務(wù):給定圖像和相應(yīng)的以自然語言表述的自由形式的、開放式的問題,智能系統(tǒng)響應(yīng)以自然語言表述的準(zhǔn)確的問題答案。這里最需要強(qiáng)調(diào)的一點就是,問題和答案都是開放式的,不加任何限制,視覺問題可以選擇性地針對圖像的不同區(qū)域,包括背景細(xì)節(jié)等。因此,一個理想的系統(tǒng)通常需要具備比生成通用圖像標(biāo)題的系統(tǒng)更詳細(xì)地理解圖像和進(jìn)行復(fù)雜推理的能力。我們也是基于這樣的任務(wù)目標(biāo)設(shè)計圖片問答系統(tǒng)。

1.2 圖片特征提取模塊

在2015年ICLR(International Conference on Learning Representations)會議上,Karen Simonyan和Andrew Zisserman提出了VGG16和VGG19兩個非常好的深層卷積神經(jīng)網(wǎng)絡(luò)DCNN(Deep Convolutional Neural Network)[19]。我們模型的圖片特征提取模塊選擇的網(wǎng)絡(luò)是VGG16。網(wǎng)絡(luò)所有卷積層有相同的配置,卷積核大小均為3×3,步長為1,填充為1;共有5個最大池化(max pooling)層,大小都為2×2,步長為2;卷積層的通道數(shù)目,或者稱為寬度從64開始,每次經(jīng)過一個最大池化層翻倍,一直到512為止;共有三個全連接層,前兩層都有4 096通道,第三層共1 000路及代表1 000個標(biāo)簽類別;除了最后全連接的softmax層外,其他層都需要使用整流線性單元(ReLU)非線性激活函數(shù)。由于我們只用這個VGG網(wǎng)絡(luò)來提取圖片的特征,而不是做圖像分類任務(wù),因此最后的softmax層就要刪除,這樣修改后的VGG網(wǎng)絡(luò)如圖1所示。

圖1 修改后的VGG網(wǎng)絡(luò)

VGG網(wǎng)絡(luò)在最后一個隱藏層加入L2正則化,修改后的VGG網(wǎng)絡(luò)輸入是一個圖片,輸出則是一個該圖片的“數(shù)字化表達(dá)形式”:為了與后邊模型銜接,其后再加一層平整化(flatten)得到一個包含4 096個元素的一維的數(shù)組,我們以后將這個數(shù)組稱之為卷積神經(jīng)網(wǎng)絡(luò)提取的圖片特征,簡稱CNN Features。

1.3 問題特征提取模塊

由于文字不能直接作為神經(jīng)網(wǎng)絡(luò)的輸入,這里需要選擇一種文字的數(shù)字化表達(dá)形式。我們選用的word2vec詞向量表示,是一種適合機(jī)器學(xué)習(xí)、特別是深度學(xué)習(xí)的輸入和表示空間的語言模型。這里可以簡單地把word2vec當(dāng)成一種把詞語變成向量表示的方法,具體原理不做深入討論。

對于問題的處理,我們嘗試兩種不同的方式:

模型1:普通的詞袋模型(Continuous Bag of Words Model):首先利用自然語言處理NLP(Natural Language Processing)的word2vec技術(shù),將問題中的每個單詞先轉(zhuǎn)化為一個300維的向量(vector),然后將所有詞語的向量相加。此處將獲得一個300維的向量作為Question的數(shù)字化表達(dá)。

模型2:LSTM模型:首先利用word2vec技術(shù),將問題中的每個單詞先轉(zhuǎn)化為一個300維的向量(vector),這一步和模型1一樣。然后按照句子中單詞排列的順序?qū)⒚總€單詞依次輸入帶有一個隱藏層的LSTM網(wǎng)絡(luò),將網(wǎng)絡(luò)輸出的512維向量作為問句的數(shù)字化表達(dá)。

模型1和模型2的主要區(qū)別在于:模型1直接將各詞的詞向量表示加和,作為整個問句的向量表示,是一種平均化的方法。這種方法完全不考慮詞在句子中出現(xiàn)的順序,類似于“把詞扔進(jìn)一個袋子里”,所以叫詞袋模型。模型2用的LSTM模型是RNN的一種,詞語在問句中的順序會直接影響輸入的順序,進(jìn)而影響問句的特征表達(dá)。

1.4 訓(xùn)練模塊結(jié)構(gòu)

神經(jīng)網(wǎng)絡(luò)設(shè)計的一個關(guān)鍵是確定結(jié)構(gòu)。結(jié)構(gòu)(architecture),是指網(wǎng)絡(luò)作為一個整體,包含多少單元,以及這些單元之間是如何連接的。

1989年,通用近似定理(universal approximation theorem)提出,一個前饋神經(jīng)網(wǎng)絡(luò)如果具有線性輸出層和至少一層具有任何一種“擠壓”性質(zhì)的激活函數(shù)的隱含層,只要給予網(wǎng)絡(luò)足夠數(shù)量的隱含單元,就可以任意的精度來近似任何從一個有限維空間到另一個有限維空間的Borel可測函數(shù)[20]。這里不展開討論這個定理的具體內(nèi)容,只引用一個結(jié)論:通用近似定理表明,無論需要神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)什么函數(shù),一個足夠大的多層感知機(jī)MLP(multilayer perceptron)一定能夠表示這個函數(shù)。

結(jié)構(gòu)設(shè)計除了考慮網(wǎng)絡(luò)的神經(jīng)元數(shù)量以外,還需要考慮層與層之間如何連接。默認(rèn)的神經(jīng)網(wǎng)絡(luò)層會采用矩陣描述的線性變換,每個輸入單元連接到每個輸出單元,這就是所謂的全連接。也有某些網(wǎng)絡(luò)不使用全連接,通常,學(xué)術(shù)界無法對通用神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu)給出更具體的建議,需要具體問題具體分析。這里只簡單闡述模型1與模型2的結(jié)構(gòu),如圖2、圖3所示。

圖2 模型1結(jié)構(gòu)圖

圖3 模型2的結(jié)構(gòu)圖

1.5 分類模塊

輸出單元的選擇與損失函數(shù)的選擇緊密相關(guān),通常損失函數(shù)使用數(shù)據(jù)分布和模型分布的交叉熵,而表示輸出的形式?jīng)Q定了交叉熵函數(shù)的形式。輸出層的作用是將隱藏層提供的特征進(jìn)行變換以完成整個網(wǎng)絡(luò)的任務(wù),模型的任務(wù)是,把“看到一個圖片回答開放式問題”轉(zhuǎn)化成“從K個最有可能的回答中,找到最符合圖片的答案”,這樣就把一個開放的AI問題,轉(zhuǎn)化成了multi-class的分類問題。softmax函數(shù)是一個用來表示一個具有多個可能取值的離散型隨機(jī)變量分布的函數(shù),常用來作為分類器的輸出,因此這里選擇softmax作為分類器,以獲得出現(xiàn)頻率最高的K個答案的分布。整個模型最后會以交叉熵作為損失函數(shù)實現(xiàn)端對端學(xué)習(xí)。

2 實驗分析

2.1 數(shù)據(jù)集統(tǒng)計分析

2.1.1 數(shù)據(jù)來源

用于模型訓(xùn)練和分析的數(shù)據(jù),來自VQA(Visual Question Answering)組織公布的數(shù)據(jù)集,具體下載地址在http://www.visualqa.org/vqa_v1_download.html。我們使用V1版本的數(shù)據(jù)集,這個數(shù)據(jù)集包括:微軟的COCO(MSCOCO)數(shù)據(jù)集,123 287張圖片,其中訓(xùn)練集圖片82 783張,測試集圖片40 504張;圖片對應(yīng)的Question共369 861個,其中訓(xùn)練集248 349個,測試集121 512個;每個Question對應(yīng)的Answer有10個,經(jīng)過數(shù)據(jù)預(yù)處理后[1],訓(xùn)練集和測試集的數(shù)量與Question相同(一個Question可能對應(yīng)多個Answer,這不會影響數(shù)據(jù)集個數(shù)),即訓(xùn)練集248 349個,測試集121 512個。

2.1.2 統(tǒng)計與分析

1) Question部分的統(tǒng)計:

(1) 設(shè)閾值word_count_threshold=1 000,出現(xiàn)次數(shù)超過1 000次的單詞,認(rèn)為是高頻詞;其余為低頻詞。其中前20個高頻詞出現(xiàn)次數(shù)如表1所示。高低頻詞個數(shù)、個數(shù)比例、出現(xiàn)次數(shù)、出現(xiàn)次數(shù)占所有詞出現(xiàn)次數(shù)比例如表2所示。

表1 前20個高頻詞出現(xiàn)次數(shù)

表2 高低頻詞個數(shù)與詞頻統(tǒng)計

(2) 對每個Question,在前k個詞出現(xiàn)的前提下第k+1個詞出現(xiàn)的比例進(jìn)行統(tǒng)計,其中XXX為低頻詞標(biāo)記;統(tǒng)計結(jié)果如表3所示。

表3 Question前k個詞出現(xiàn)的前提下第k+1個詞出現(xiàn)的比例

續(xù)表3

續(xù)表3

續(xù)表3

2) Question部分的分析:

(1) 由表1-表2可以看出,出現(xiàn)次數(shù)大于1 000次的高頻詞只有208個,所占比例非常小,只有1.44%,超過98%的單詞出現(xiàn)的次數(shù)不足1 000;高頻詞出現(xiàn)次數(shù)占所有詞出現(xiàn)次數(shù)的比例為82.75%,即出現(xiàn)頻率超過80%的單詞不到1.5%。

(2) 由表3可以看出,Question的分布非常不均勻,比例非常小的一部分Question問的次數(shù)非常多,而大部分Question出現(xiàn)的頻率都比較低。

3) Answer部分的統(tǒng)計:

(1) 對Answer的詞頻進(jìn)行統(tǒng)計,出現(xiàn)最多的前20個Answer及其次數(shù)如表4所示。

表4 出現(xiàn)最多的前20個Answer及其次數(shù)

(2) 選取出現(xiàn)次數(shù)最多的1 000個Answer,統(tǒng)計對應(yīng)的Question數(shù)量,為320 029個,占Question總數(shù)量的320 029/369 861=86.53%。

4) Answer部分的分析:

出現(xiàn)次數(shù)前5個Answer占所有Answer出現(xiàn)次數(shù)的(86 619+54 664+11 941+6 991+6 756)/369 861=45.14%;出現(xiàn)次數(shù)最多的1 000個Answer占所有Answer出現(xiàn)次數(shù)的86.53%:可見Answer的分布是十分不均衡的,而且分布很像一個長尾分布,但是只需要1 000個Answer就可以覆蓋超過85%的Question。

2.2 數(shù)據(jù)預(yù)處理

通過前一章的數(shù)據(jù)分析,我們提出一個數(shù)據(jù)預(yù)處理方法:仿聚類法。

首先統(tǒng)計Question里出現(xiàn)的單詞詞頻,得到“高頻詞”和“低頻詞”;然后模仿聚類和分類算法的思想,以詞頻為密度、以問句起始詞為類目對問句進(jìn)行“聚類”和“分類”,在每個類里又使用相同的方式,以詞頻為密度、以問句第二個詞為類目再次進(jìn)行歸類,以此類推,最后會將樣本從原空間映射到新空間,直接合并低頻樣本。

例如:一個經(jīng)過處理后的樣本,低頻詞匯被xxx替代,樣本會變成:question=[′why′,′does′,′the′,′player′,′have′,′one′,′xxx′,′xxx′,′up′,′?′],這是從改變樣本著手提高模型準(zhǔn)確率的方法,簡稱為“仿聚類法”。

2.3 模型搭建

模型搭建如下:

1) CcVMS模型:

? 圖像通道:VGGNet去除最后的softmax層,將輸出的4 096維矩陣展開成4 096維向量,簡稱CNN Features;VGGNet參數(shù)被固定為ImageNet分類而學(xué)習(xí)的參數(shù),并且在圖像通道中不作調(diào)整。

? 問題通道:普通的詞袋模型:首先利用自然語言處理NLP(Natural Language Processing)的word2vec技術(shù),將問題中的每個單詞先轉(zhuǎn)化為一個300維的向量,然后直接將各詞的詞向量表示加和,作為整個問句的向量表示。此處將獲得一個300維的向量作為問句的數(shù)字化表達(dá)。

? MLP層:將圖像通道的4 096維向量和問題通道的300維向量拼接得到4 396維向量,作為多層前饋神經(jīng)網(wǎng)絡(luò)(MLP)的輸入。多層前饋神經(jīng)網(wǎng)絡(luò)包括三個全連接層,每個全連接層包含一個全連接級、一個激活函數(shù)級和一個Dropout級,然后連接一個全連接級,將輸出的1 024維轉(zhuǎn)化為1 000維,最后作為softmax分類器的輸入。

? 輸出層:softmax分類器,輸出維度同樣是1 000。整個模型以交叉熵作為損失函數(shù)實現(xiàn)端對端學(xué)習(xí)。

2) LcVMS模型:

? 圖像通道:VGGNet去除最后的softmax層,將輸出的4 096維矩陣展開成4 096維向量,簡稱CNN Features;VGGNet參數(shù)被固定為ImageNet分類而學(xué)習(xí)的參數(shù),并且在圖像通道中不作調(diào)整。

? 問題通道:同樣使用word2vec技術(shù),將問題中的每個單詞先轉(zhuǎn)化為一個300維的向量,然后按照句子中單詞排列的順序?qū)⒚總€單詞依次輸入帶有一個隱藏層的LSTM網(wǎng)絡(luò),將網(wǎng)絡(luò)輸出的512維向量作為問句的數(shù)字化表達(dá)。

? MLP層:將問題通道的300維向量作為LSTM的輸入,得到512維向量的輸出,和圖片通道的4 096維向量拼接得到4 068維向量,作為多層前饋神經(jīng)網(wǎng)絡(luò)的輸入。這里采取拼接而不是點乘或者其他融合,是為了能保持相對原始的信息。多層前饋神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu)設(shè)計和模型1相同,只是第一個全連接層的輸入維度不一樣。

? 輸出層:softmax分類器,輸出維度同樣是1 000。整個模型以交叉熵作為損失函數(shù)實現(xiàn)端對端學(xué)習(xí)。

2.4 結(jié)果分析

衡量不同模型性能的指標(biāo)為準(zhǔn)確率,表5為實驗對比結(jié)果。

表5 不同模型仿聚類法處理前后準(zhǔn)確率對比

由于原始數(shù)據(jù)集的不同Answer數(shù)目超過10 000個,這里我們選取出現(xiàn)次數(shù)最多的K=1 000個作為最后分類輸出;大部分Answer的出現(xiàn)頻率極低,如果K太大,低頻樣本訓(xùn)練不充分,不容易分對,而且可能對高頻樣本產(chǎn)生干擾,導(dǎo)致高頻樣本分錯;去除這部分低頻樣本,效果會更好。前邊數(shù)據(jù)集分析提到,Answer的分布是十分不均衡的,而且分布很像一個長尾分布,但是只需要1 000個Answer就可以覆蓋超過85%的Question,因此softmax的輸出設(shè)計為1 000維是合理的。

仿聚類法在樣本端對低頻樣本的輸入進(jìn)行改變,讓某些低頻樣本合并;仿聚類法可以認(rèn)為是對樣本映射到另一個空間,高頻的樣本從原空間映射到新空間,基本保持不變,而低頻樣本會進(jìn)行合并,多個低頻樣本會映射到新空間的同一個位置;映射到新空間同一個位置的這些低頻樣本的類標(biāo)往往不一樣,它們的類標(biāo)最后可能變成一個高頻樣本的類標(biāo),也有可能維持原狀;對于前者,這些低頻樣本會合并到新空間中相近的高頻樣本;后者則會直接被剔除。

另外,在經(jīng)過仿聚類法處理的LcVMS模型中,真正率TPR(True Positive Rate)或稱為靈敏度(sensitivity)為57.38%。

如前文所述,出現(xiàn)次數(shù)最多的1 000個Answer占所有Answer出現(xiàn)次數(shù)的86.53%,準(zhǔn)確率最高的模型選取了K=1 000,覆蓋了86.53%的問題答案,另外還有13.47%的問題是沒有答案的,也就是說,這些低頻問題的無論選擇1 000個答案里邊的哪一個,都不是正確的。

真正率的計算公式是:

(1)

真正率計算的是,在屬于出現(xiàn)次數(shù)最多的K=1 000個Answer里邊的樣本中,分類正確的比例。

3 圖片問答系統(tǒng)

通過對數(shù)據(jù)集進(jìn)行分析,搭建模型,我們訓(xùn)練出了LcVMS模型,在測試集上準(zhǔn)確率達(dá)到44.5%。這里將以模型LcVMS為系統(tǒng)應(yīng)答邏輯構(gòu)建了圖片問答系統(tǒng)。

3.1 系統(tǒng)設(shè)計

系統(tǒng)分為輸入端、應(yīng)答邏輯、存儲器后端和輸出端四大模塊,這樣滿足功能模塊化,并且架構(gòu)清晰,模塊之間解耦;每個模塊可以選擇不同的部件,這些部件都是可插拔的,可以隨時更換。具體如圖4所示。

圖4 系統(tǒng)模塊設(shè)計

輸入端:輸入端可以使用合適的API,比如網(wǎng)頁前端上傳圖片,或者語音API輸入Question;這里我們使用簡單的終端輸入,輸入包括圖片名在內(nèi)的圖片文件本地存放路徑與人工提問的Question,系統(tǒng)會讀取圖片與Question。

應(yīng)答邏輯:應(yīng)答邏輯功能同樣可以設(shè)計不同的部件來承擔(dān)。

方案1使用字符串與圖片的模糊匹配:當(dāng)輸入圖片時,使用修改的VGGNet提取CNN Features,并與數(shù)據(jù)集所有圖片提取出來的CNN Features作比較,用4 096維的向量距離計算匹配度;當(dāng)輸入Question時,數(shù)據(jù)集的所有Question用編輯距離(Edit Distance)計算匹配度;圖片和Question計算出來的匹配度與設(shè)定的匹配度閾值作比較,大于閾值,使用最接近的圖片和Question對應(yīng)的回答,小于匹配度,則返回一個“安全的回答”,比如“I don’t know”。

方案2使用2.3節(jié)搭建的LcVMS模型,輸入的圖片使用修改的VGGNet提取CNN Features;輸入的Question由word2vec轉(zhuǎn)化為數(shù)字化表達(dá),并通過LSTM提取序列特征;兩個特征拼接后通過MLP,最后由softmax返回Answer。

方案1需要事先將所有數(shù)據(jù)集的圖片特征提取出來并保存,當(dāng)輸入一個新圖片時,提取的新圖片特征必須與所有數(shù)據(jù)集的圖片特征進(jìn)行一次匹配度計算,同時輸入的Question也必須與數(shù)據(jù)集的每個Question計算一次編輯距離,然后計算匹配度。數(shù)據(jù)集每個圖片與Question的匹配度相加后,還要找出最符合的那一個圖片和Question,返回相應(yīng)的Answer。如果數(shù)據(jù)集每個圖片與Question的匹配度相加后都沒有超過閾值,那么應(yīng)答邏輯返回一個“I don’t know”。很明顯,第一種方案的計算量非常大,返回Answer的速度非常慢。并且實驗表明,準(zhǔn)確率比較低。這是因為高頻問題匹配度高的樣本,往往也是某一類Question對應(yīng)Answer概率最大的樣本。比如,當(dāng)Question是“How many”一類的問題時,由于數(shù)據(jù)集樣本中“2”這個Answer出現(xiàn)頻率大于其他數(shù)字,這就導(dǎo)致Answer為“2”的樣本匹配度高的概率最大,因此每次提問“How many”這類問題時應(yīng)答邏輯都會回答“2”。對于低頻的問題,由于數(shù)據(jù)集中所有樣本的匹配度都小于閾值,這會使應(yīng)答邏輯返回“I don’t know”這樣一個沒有任何意義的Answer。

方案2,LcVMS模型提取輸入的圖片特征與Question序列特征后,只需要通過神經(jīng)網(wǎng)絡(luò)的計算就可以返回Answer。由于LcVMS模型的全連接層少,結(jié)構(gòu)也不復(fù)雜,因此應(yīng)答邏輯的響應(yīng)比較快,并且有較高的準(zhǔn)確率。這里我們選用LcVMS作為應(yīng)答邏輯的部件。當(dāng)然,假如以后有更合適的模型,我們可以替換這個部件,不影響其他模塊。

存儲器后端:存儲器后端也可以選用不同的部件。比如,當(dāng)希望系統(tǒng)有學(xué)習(xí)能力時,我們可以選用數(shù)據(jù)庫模式,每次輸入圖片與Question,應(yīng)答邏輯返回Answer后,我們?nèi)斯そo系統(tǒng)一個反饋,告訴系統(tǒng)Answer是否正確,如果不正確,人工輸入一個正確的Answer。數(shù)據(jù)庫模式可以把圖片、Question與正確的Answer一起記錄下來,擴(kuò)展原來的數(shù)據(jù)集。當(dāng)應(yīng)答邏輯選用字符串與圖片模糊匹配的方式時,也需要數(shù)據(jù)庫模式來存儲數(shù)據(jù)集的樣本,才能計算匹配度。我們搭建的模型LcVMS是預(yù)先訓(xùn)練好的,所以已經(jīng)不需要數(shù)據(jù)集,因此我們這里只選用最簡單的只讀模式作為存儲器后端,即存儲器后端不做任何操作。

輸出端:輸出端我們選用簡單的終端輸出,即把應(yīng)答邏輯產(chǎn)生的Answer通過終端輸出;如果有合適的API,比如語音合成API等,以后也可以替換。

這樣一個完整的圖片問答系統(tǒng),就搭建完成了,具體模塊與選用部件如表6所示。

表6 具體模塊與選用部件

3.2 系統(tǒng)展示評述

下面對圖片問答系統(tǒng)的智能程度進(jìn)行展示與評估,輸入的圖片是隨機(jī)從互聯(lián)網(wǎng)下載的圖片。測試結(jié)果如圖5-圖9所示,“Ask a question”后的字體為人工輸入的提問,方括號內(nèi)的字符是系統(tǒng)的輸出,詳細(xì)QA對正確與否如表7所示。

圖5 一個穿紅衣白褲的男人在玩飛盤

圖6 兩個男人在踢足球

圖7 一張桌子上邊放著書和臺燈

圖8 一個穿白背心的女人在打網(wǎng)球

圖9 四個網(wǎng)球

圖片QuestionAnswer是否正確圖5What is he doing?frisbee正確What color is his clothing?white大致正確Is he playing football?no正確圖6What are they doing?soccer正確How many men are there?2正確圖7Where is the lamp?on desk正確圖8What is she doing?tennis正確What color is her shirt?white正確圖9What is this?orange錯誤How many balls are there?4正確

從以上5個簡單測試可以看出,圖片問答系統(tǒng)具有一定智能,在一定程度上達(dá)到了幼兒智商。首先,問答系統(tǒng)可以識別出應(yīng)該回答什么:是回答“Yes”或者“No”,還是回答數(shù)量、顏色、位置;其次,問答系統(tǒng)回答的準(zhǔn)確率看起來要高于44.45%,這是因為上邊人工提問的這些Question沒有特別古怪或者特別難的問題,只是詢問物體、數(shù)量、顏色或者位置,而數(shù)據(jù)集里邊的Question,會更多樣化一些,詳情可以參照2.1節(jié)的數(shù)據(jù)統(tǒng)計與分析。

另外可以看出,系統(tǒng)的回答都很簡短,一般都是一個詞,少數(shù)會用到兩個詞,這是因為訓(xùn)練集里邊的Answer非常簡短。對于圖片問答,Question一般都是具體詢問圖片的某一區(qū)域,而不是整個圖片的所有信息,因此Answer可以用簡短的1到3個詞回答出來。

4 結(jié) 語

我們在對VQA數(shù)據(jù)集進(jìn)行統(tǒng)計分析的基礎(chǔ)上,提出仿聚類法的數(shù)據(jù)預(yù)處理方法,建立合適的LcVMS模型。LcVMS模型充分考慮模型訓(xùn)練與響應(yīng)的時間,盡可能提高模型的特征提取和分類速度,更適合作為后臺快速響應(yīng)智能對話。與前人只考慮模型準(zhǔn)確率相比,我們兼顧模型與系統(tǒng),以LcVMS為應(yīng)答邏輯設(shè)計了可應(yīng)用的圖片問答系統(tǒng)。我們隨機(jī)從互聯(lián)網(wǎng)下載圖片,與人工提出的Question,一起作為圖片問答系統(tǒng)的輸入,獲取Answer,從應(yīng)用實驗角度來評估圖片問答系統(tǒng)的智能程度。實驗結(jié)果表明,圖片問答系統(tǒng)能較好地分辨物體、數(shù)量、顏色和位置等信息,具有媲美幼兒的智商,具備一定的實用價值。

猜你喜歡
次數(shù)向量樣本
向量的分解
2020年,我國汽車召回次數(shù)同比減少10.8%,召回數(shù)量同比增長3.9%
聚焦“向量與三角”創(chuàng)新題
最后才吃梨
俄羅斯是全球閱兵次數(shù)最多的國家嗎?
規(guī)劃·樣本
隨機(jī)微分方程的樣本Lyapunov二次型估計
向量垂直在解析幾何中的應(yīng)用
向量五種“變身” 玩轉(zhuǎn)圓錐曲線
“官員寫作”的四個樣本