曹劉彬, 張麗紅
(山西大學(xué) 物理電子工程學(xué)院, 山西 太原 030006 )
基于連續(xù)Skip-gram及深度學(xué)習(xí)的圖像描述方法
曹劉彬, 張麗紅
(山西大學(xué) 物理電子工程學(xué)院, 山西 太原 030006 )
圖像描述生成依賴于詞向量及其質(zhì)量, 為了進一步提高生成圖像描述的準(zhǔn)確率, 本文將連續(xù)Skip-gram模型引入生成圖像描述的框架中. 該框架首先利用連續(xù)Skip-gram學(xué)習(xí)單詞的分布式表示, 產(chǎn)生高質(zhì)量的詞向量, 降低了詞向量的計算復(fù)雜度, 然后利用區(qū)域卷積神經(jīng)網(wǎng)絡(luò)對圖像進行目標(biāo)檢測及特征提取, 最后將詞向量與圖像特征向量分別作為循環(huán)神經(jīng)網(wǎng)絡(luò)的輸入向量以及偏置向量, 進而輸出圖像描述. 實驗結(jié)果表明: 與m-RNN模型、 Neural Image Caption模型、 多模態(tài)循環(huán)神經(jīng)網(wǎng)絡(luò)模型相比較, 采用連續(xù)Skip-gram模型的圖像描述框架提高了圖像描述的準(zhǔn)確率及該框架的泛化能力.
深度學(xué)習(xí); 圖像描述生成; Skip-gram; 詞向量
Abstract: Generating image caption relies on word vectors and their quality. In order to further improve the accuracy of image caption, this paper introduces continuous Skip-gram model into the frame of generating image caption. Continuous Skip-gram model is employed in the frame to learn the distributed representation of words, thus high quality word vectors are obtained and it reduces the computational complexity of word vectors. Then, Region-based Convolutional Neural Network in the frame detects image objectives and extracts features. Finally, the word vectors and image features are utilized as input and bias of Recurrent Neural Network to generate image caption. Experimental result shows that comparing with m-RNN model, Neural Image Caption model and multimodal recurrent neural network model, the frame using continuous Skip-gram model improves the caption accuracy and its generalization ability.
Keywords: deep learning; image caption generation; Skip-gram; word vector
視頻數(shù)據(jù)挖掘是人們?yōu)榱藨?yīng)對大量視頻數(shù)據(jù)所提出的新興技術(shù), 圖像描述生成方法研究屬于視頻數(shù)據(jù)挖掘的一個分支, 稱之為描述性視頻數(shù)據(jù)挖掘. 當(dāng)前的圖像描述生成方法主要有以下4類: ① 建立模型推測語義信息與視覺信息兩個模態(tài)之間的對應(yīng)關(guān)系, 為圖像片段添加注釋[1]; ② 將圖像描述看作一個檢索問題, 檢索與圖像最匹配的描述[2]; ③ 學(xué)習(xí)固定的句式模板, 根據(jù)圖像內(nèi)容及語法規(guī)則填充模板, 生成圖像描述[3]; ④ 在循環(huán)神經(jīng)網(wǎng)絡(luò)語言模型中加入上下文窗口, 生成圖像描述[4]. 這些方法中生成的詞向量質(zhì)量方面存在不足, 直接影響了圖像描述的準(zhǔn)確率. 連續(xù)Skip-gram模型中所有單詞共享映射層, 不包含最耗時的非線性隱含層, 能夠產(chǎn)生優(yōu)質(zhì)的詞向量. 因此, 本文在生成圖像描述的框架中引入連續(xù)Skip-gram模型, 結(jié)合區(qū)域卷積神經(jīng)網(wǎng)絡(luò)及循環(huán)神經(jīng)網(wǎng)絡(luò)生成圖像描述.
區(qū)域卷積神經(jīng)網(wǎng)絡(luò)[5](Region-based Convolutional Neural Network, 簡稱R-CNN)在傳統(tǒng)卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Network, 簡稱CNN)的基礎(chǔ)上進行了兩點改進: ① 將卷積神經(jīng)網(wǎng)絡(luò)與Region Proposal策略相結(jié)合, 自底向上訓(xùn)練, 可以進行目標(biāo)物定位和圖像分割; ② 當(dāng)訓(xùn)練數(shù)據(jù)比較稀疏的時候, 可以先在有監(jiān)督的數(shù)據(jù)集上訓(xùn)練之后, 再到特定任務(wù)的數(shù)據(jù)集上進行參數(shù)微調(diào). R-CNN 模型結(jié)構(gòu)如圖 1 所示.
圖 1 R-CNN模型結(jié)構(gòu)Fig.1 Architecture of R-CNN model
R-CNN目標(biāo)檢測算法包括4個步驟: ① 給定輸入圖像. ② 在輸入圖像上使用Selective Search方法生成預(yù)選框. 首先基于各種顏色、 紋理特征將圖像劃分為多個小塊, 然后自底向上地對不同的塊進行合并, 合并前后的每一個塊都對應(yīng)于一個預(yù)選框. ③ 對每個預(yù)選框, 使用CNN網(wǎng)絡(luò)模型提取特征. 將預(yù)選框中的圖像尺寸歸一化為227*227, 對每個預(yù)選框的圖像進行扭曲處理, 輸入到CNN網(wǎng)絡(luò)模型中, 得到提取的特征值. ④ 將提取的特征輸入到每一類的SVM分類器, 判別是否屬于該類.
圖 2 連續(xù)Skip-gram模型框架結(jié)構(gòu)Fig.2 Framework of continues Skip-gram model
詞向量的維度與訓(xùn)練語料庫的大小決定了詞向量的質(zhì)量. 因此, 選擇合適的詞向量維度以及足夠的訓(xùn)練語料成為提高圖像描述準(zhǔn)確率的關(guān)鍵. 連續(xù)Skip-gram模型能夠在大規(guī)模的語料庫上進行訓(xùn)練, 平衡了詞向量維度與計算復(fù)雜度之間的矛盾. 該模型首先利用文本語料庫構(gòu)造詞匯表, 然后學(xué)習(xí)詞的向量表示.
連續(xù)Skip-gram模型由輸入層、 映射層以及輸出層構(gòu)成, 其模型結(jié)構(gòu)如圖 2 所示.
圖 2 中,W1為輸入層與映射層之間的權(quán)重矩陣,W2為映射層與輸出層之間的權(quán)重矩陣. 輸入層單詞初始化為one-hot形式. 該模型的訓(xùn)練目標(biāo)是: 尋找一個句子或者文本文件當(dāng)中任意單詞的向量表示, 使得這種向量表示能夠預(yù)測它周圍的單詞[6]. 即詞向量的表示要能夠反映上下文信息. 給定一個單詞序列w1,w2,w3,…,wT, 通過訓(xùn)練使得平均對數(shù)概率最大化. 平均對數(shù)概率為
式中:wt為訓(xùn)練句子中任意單詞, 即中心詞;c為訓(xùn)練文本窗口的大??;wt+j為中心詞wt的前j個單詞與后j個單詞;T為訓(xùn)練句子中的單詞總量.
利用Softmax函數(shù),p(wt+j||wt)定義為
圖 3 為引入連續(xù)Skip-gram模型的深度學(xué)習(xí)圖像描述框架.
圖 3 生成圖像描述的框架結(jié)構(gòu)Fig.3 Framework of generating image caption
框架中, R-CNN 提取的圖像特征向量bv與連續(xù)S-gram計算的詞向量序列(x1,…,xT)分別作為循環(huán)神經(jīng)網(wǎng)絡(luò)的偏置與輸入. 其中, 向量xt表示輸入文本中的單詞. 然后, 計算循環(huán)神經(jīng)網(wǎng)絡(luò)的隱含層狀態(tài)(h1,…,hT). 最后, 計算輸出向量序列(y1,…,yT). 這是一個循環(huán)迭代的過程, 如式(3)~式(5)所示,t從 1到T進行迭代.
式中:Whi,Whx,Whh,Woh,bh,bo為要訓(xùn)練的參數(shù);CNNθc(I) 為R-CNN的輸出;f為隱含層激活函數(shù)RELU(Rectified Linear Units); 利用Delta函數(shù)II(t=1)僅在第一次迭代時引入圖像特征向量bv; 輸出向量yt表示單詞在詞表中相應(yīng)位置出現(xiàn)的概率, 再利用Beam Search Decoding[8]搜索算法, 找到與yt對應(yīng)的單詞, 作為模型最后的輸出.
本文所用實驗平臺為Python2.7, 首先在ImageNet ILSVC 2012數(shù)據(jù)庫上對R-CNN進行預(yù)訓(xùn)練, 然后在Flickr8k圖像數(shù)據(jù)庫上進行參數(shù)調(diào)整[5]; 利用連續(xù)Skip-gram模型計算詞向量時, 利用Flickr8k文本數(shù)據(jù)庫; 利用循環(huán)神經(jīng)網(wǎng)絡(luò)生成圖像描述時, 將來自R-CNN與連續(xù)Skip-gram的輸出結(jié)果作為其數(shù)據(jù)庫.
4.1 實驗參數(shù)設(shè)置
1) R-CNN: use_gpu = 1, 迭代批大小batch_size=10; 特征向量初始化為4 096維零向量, 即feats=zeros(4096, N,‘single’).
2) 連續(xù)Skip-gram: 特征向量維數(shù)size=320, 網(wǎng)絡(luò)初始學(xué)習(xí)率alpha=0.025, 詞頻最小值min_count=2, 線程數(shù)workers=3, 學(xué)習(xí)率最小值min_alpha=0.000 1, 訓(xùn)練算法選擇negative=5, 迭代次數(shù)iter=5, 上下文窗口大小window=10.
3) 循環(huán)神經(jīng)網(wǎng)絡(luò): 網(wǎng)絡(luò)學(xué)習(xí)率learning_rate=0.001, 迭代批大小batch_size=100, 衰減率decay_rate=0.999, 最大迭代次數(shù)max_epochs=10.
4.2 實驗結(jié)果及分析
將Flickr8k數(shù)據(jù)庫中的1 000幅圖像作為測試集, 7 000幅圖像作為訓(xùn)練集. 每幅圖像配有5個句子描述, 連續(xù)Skip-gram利用句子中所有單詞構(gòu)造一個詞典, 然后利用循環(huán)神經(jīng)網(wǎng)絡(luò)從中選出最佳詞匯, 構(gòu)成輸入圖像描述.
圖 4, 圖 5 分別為引入連續(xù)Skip-gram模型的測試結(jié)果與未引入連續(xù)Skip-gram模型[7]的測試結(jié)果. 可以看出, 引入連續(xù)Skip-gram模型的圖像描述生成框架在彌補語義缺陷及消除句子歧義方面有明顯的效果.
圖 4 未利用連續(xù)Skip-gram模型的框架描述結(jié)果Fig.4 Captioning results of frame not using continuous Skip-gram model
圖 5 利用連續(xù)Skip-gram模型的框架描述結(jié)果Fig.5 Captioning results of frame using continuous Skip-gram model
利用Microsoft Coco captions[8]計算生成的圖像描述在Flickr8k數(shù)據(jù)庫上的Bilingual Evaluation Understudy(BLEU)[9]得分, 與目前已經(jīng)存在的幾種模型進行對比, 對比結(jié)果如表 1 所示.
表 1 實驗結(jié)果BLEU得分對比
表 1 中, B-n(n=1,2,3,4)為BLEU評價標(biāo)準(zhǔn)中各個字段對應(yīng)的得分, 即生成的句子中各個字段與參考句子各個字段的匹配程度. 前兩種模型結(jié)構(gòu)在Flickr8k數(shù)據(jù)庫上不存在B-4得分. 不同配置的機器所得仿真結(jié)果也不相同, 表中所列數(shù)據(jù)均以同一臺機器為參考. 從表 1 中可以看出, 在以循環(huán)神經(jīng)網(wǎng)絡(luò)為中心的圖像描述生成模型中, 引入連續(xù)Skip-gram詞向量計算模型, 可以有效提高BLEU得分, 即提高生成圖像描述的準(zhǔn)確率.
表 1 中所列模型實際訓(xùn)練時, 處理一組圖像語句數(shù)據(jù)的平均時間如表 2 所示. 表 2 中所列數(shù)據(jù)是將各個模型在同一臺機器上進行仿真得到的.
表 2 訓(xùn)練時間結(jié)果對比
從表 2 可以看到, 與其他3種模型相比較, 引入連續(xù)Skip-gram詞向量計算模型的圖像描述生成框架的訓(xùn)練時間明顯縮短了.
本文利用以循環(huán)神經(jīng)網(wǎng)絡(luò)為中心的網(wǎng)絡(luò)模型生成圖像描述, 在循環(huán)神經(jīng)網(wǎng)絡(luò)的輸入端引入連續(xù)Skip-gram模型計算詞向量. 實驗結(jié)果表明: 引入連續(xù)Skip-gram模型的網(wǎng)絡(luò)框架生成圖像描述的準(zhǔn)確率高于未引入此模型的網(wǎng)絡(luò)框架的準(zhǔn)確率, 該方法在提高網(wǎng)絡(luò)的泛化能力以及降低過擬合的風(fēng)險方面是有效的.
[1] Socher R, Li F. Connecting modalities: Semi-supervised segmentation and annotation of images using unaligned text corpora[C]. CVPR, 2010: 966-973.
[2] Hodosh M, Young P, Hockenmaier J. Framing image description as a ranking task: Data, models and evaluation metrics[J]. Artificial Intelligence Research, 2013, 47(3): 853-899.
[3] Kulkarni G, Premraj V, Dhar S, et al. Baby talk: Understanding and generating simple image descriptions[C]. CVPR, 2011: 1601-1608.
[4] Kiros R, Salakhutdinov R, Zemel R. Multimodal neural language models[C]. Proceedings of International Conference on Machine Learning, 2014: 595-603.
[5] Girshick R, Donahue J, Darrell T, et al. Rich feature hierarchies for accurate object detection and semantic segmentation[C].CVPR, 2014: 580-587.
[6] Mikolov T, Sutskever I, Chen K, et al. Distributed Representations of Words and Phrases and their Compositionality[C]. Proceedings of Advances Neural Information Processing Systems, 2013: 3111-3119.
[7] Karpathy A, Li F. Deep Visual-Semantic Alignments for Generating Image Descriptions[J]. IEEE, 2015, 39(4): 664-676.
[8] Chen X, Fang H, Piotr D, et al. Microsoft Coco captions: Data collection and evaluation server[J]. Computer Science, 2015: 1504-1509.
[9] Papineni K, Roukos S, Ward T, et al. BLEU: A method for automatic evaluation of machine translation[C]. Proceedings of the 40th Annual Meeting of the Association for Computational Linguistics, 2002: 311-318.
[10] Mao J, Xu W, Yang Y, et al. Explain Images with Multimodal Recurrent Neural Networks[J]. Computer Science, 2014: 1410-1417.
[11] Vinyals O, Bengio S. Show and Tell: A Neural Image Caption Generator[C].CVPR, 2015: 3156-3164.
ImageCaptionMethodBasedonContinuousSkip-GramandDeepLearning
CAO Liubin, ZHANG Lihong
(College of Physics and Electronic Engineering, Shanxi University, Taiyuan 030006, China)
1671-7449(2017)05-0423-05
TP391.4
A
10.3969/j.issn.1671-7449.2017.05.009
2017-03-15
山西省科技攻關(guān)計劃(工業(yè))資助項目(2015031003-1)
曹劉彬(1993-), 男, 碩士生, 主要從事圖像處理的研究.