何立健,林 穗,翁海瑞
(廣東工業(yè)大學(xué) 計算機學(xué)院,廣東 廣州 510006)
中華文化淵源悠長,詩歌更是博大精深,在絕妙的詩詞中,可以感受到前人的智慧與古代文化。
隨著人工智能技術(shù)的快速發(fā)展,自然語言處理與圖像處理技術(shù)[1]相結(jié)合,使得機器有了看圖說話的能力[2]。在大計算力時代,從圖像輸出人們能夠讀懂的語言是基礎(chǔ),輸出更生動的語言是對科技的進(jìn)一步要求[3]。而詩詞是一種用高度凝練的語言,形象生動表達(dá)作者對一些情景的豐富情感,集中反映社會生活,并具有一定節(jié)奏和韻律的文學(xué)體裁。雖然機器能生成風(fēng)趣幽默、貼近日常生活的描述性句子,但是對于從圖像直接生成中國人更喜歡的古典詩詞是一種挑戰(zhàn)。為解決這個問題,本文做了以下工作:
(1)將VGG16模型[4]用于圖像關(guān)鍵詞提取,VGG16模型[4]原本輸出的關(guān)鍵詞為英文,為此利用一些翻譯工具將ImageNet 1000的英文標(biāo)簽翻譯成中文標(biāo)簽;
(2)在詩歌生成過程中,利用一個讀寫記憶模型[5]來記錄詩歌生成的順序,并加入詩歌韻律模型進(jìn)行策略控制;
(3)進(jìn)行選優(yōu)的級聯(lián)計算之前,加入緩沖池模型進(jìn)行過濾。
人工智能是長期以來公眾關(guān)注的熱點,當(dāng)中發(fā)展并不順暢,利用機器自動生成詩歌的研究[6]可以追溯到幾十年前。早期的方法是讓機器基于規(guī)則和模板[7],其實現(xiàn)的方式需要大量的人工干預(yù),首先系統(tǒng)設(shè)置關(guān)聯(lián)詞袋形成一個術(shù)語列表,并隨機將術(shù)語插入到一定格式的詩歌模板中,這樣的系統(tǒng)導(dǎo)致生成詩歌句子閱讀感差、不自然。在20世紀(jì)90年代開始,圖像到語言的端到端的研究向統(tǒng)計機器翻譯方面進(jìn)行,如遺傳算法[8]和統(tǒng)計機器翻譯(SMT)[9]。近年,神經(jīng)網(wǎng)絡(luò)復(fù)興[10],并得到快速發(fā)展,運用的范疇越來越廣,并在用于詩歌生成方面有明顯的優(yōu)勢。神經(jīng)網(wǎng)絡(luò)前期用于生成詩歌是專注于詩歌的風(fēng)格和韻律等方面。初期的神經(jīng)網(wǎng)絡(luò)在詩歌方面運用,是基于序列學(xué)習(xí)的神經(jīng)網(wǎng)絡(luò)模型,利用生成的前文歷史壓縮為一個統(tǒng)一的歷史詞向量,例如文獻(xiàn)[11]提出的RNN Encoder-Decoder結(jié)構(gòu),輸入一個話題單詞作為輸出的情感基調(diào);文獻(xiàn)[12]提出基于遞歸神經(jīng)網(wǎng)絡(luò)生成中文四行詩,生成的詩句轉(zhuǎn)化為卷積向量的表達(dá)形式,然后把整個模型壓縮為一個歷史詞向量,因此增強了語句的關(guān)聯(lián)性,此外需要兩個SMT特征;文獻(xiàn)[13]創(chuàng)新提出了一種多重歷史詞向量多次解析的迭代拋光模式,使得詩歌質(zhì)量有所提升。通過一段時間的發(fā)展,神經(jīng)網(wǎng)絡(luò)用于詩歌生成的重點轉(zhuǎn)移到了注意力機制,例如通過語言模型預(yù)先將關(guān)鍵字分類,然后在生成的每一行中在預(yù)定的子關(guān)鍵字中搜索。文獻(xiàn)[14]提出了一種基于注意力的模型,這個模型可以自動學(xué)習(xí)描述圖像內(nèi)容,使用反向傳播技術(shù)[15],通過訓(xùn)練來確定模型的最差狀況。最近來自英國詩歌的研究,把整首詩作為一個長序列并按每個字生成,其中的生成歷史隱式地沿著RNN傳播[16]。
在最新的圖像處理和自然語言處理的研究中,成果越來越貼合人們的生活實際,詩歌生成的質(zhì)量越來越好,借助前人的智慧,本文提出一個新的詩歌生成模型來實現(xiàn)從照片輸入到詩歌輸出的端到端效果,如圖1。
圖1 基于LSTM單字模型的圖像生成詩歌模型
首先,利用VGG16模型對圖片進(jìn)行預(yù)測分類,該模型在ImageNet圖庫圖片分類預(yù)測的排名中取得了前五的成績。然后,利用翻譯軟件,將VGG16模型的1 000 多個類翻譯成中文標(biāo)簽,圖像經(jīng)過VGG16模型訓(xùn)練后,得到相應(yīng)的中文分類標(biāo)簽,形成對應(yīng)該輸入圖像的中文標(biāo)簽集合。最后,使用一個基于LSTM的單詞級別語言模型訓(xùn)練,使得整個詩歌生成模型更加專注于內(nèi)容,得出豐富的文本描述。在LSTM模型訓(xùn)練中,可以從網(wǎng)上收集現(xiàn)成的詩詞,擴充語料庫,因此可以訓(xùn)練一個帶有2 048個隱含特征、3層的LSTM模型[17],再利用隨機梯度下降法[18],使得模型能預(yù)測給定當(dāng)前字的下一個字。但是為了剔除數(shù)據(jù)的不規(guī)則性和噪聲,額外加入一個詩歌聲調(diào)韻律模型[19],這需要一個額外的分類器來約束當(dāng)前的詩歌生成模型,使生成的詩歌更具可讀性。從圖片得出的中文標(biāo)簽,需要被LSTM單詞級別模型訓(xùn)練,最后經(jīng)過級聯(lián)計算輸出最佳的詩歌。每條路徑都包含著初始狀態(tài)及結(jié)束狀態(tài),每條路徑都有一個輸入標(biāo)簽和輸出標(biāo)簽,每個序列都包含許多這樣的路徑,這符合級聯(lián)的思想,整個流程由多函數(shù)構(gòu)成。
W(x,z)=A(x|y)°B(y|z)°C(z)
(1)
其中W(x,z)被定義為各個級聯(lián)的路徑概率的累加和,x和z分別為輸入序列和輸出序列。級聯(lián)模型包含很多的路徑,每條路徑的概率的和是連續(xù)的,并且是并行獲得的,所以式(1)又可以表示如下:
(2)
通過簡化,最終可以合并表示為:
(3)
通過級聯(lián)最大化期望計算在詩歌的語料庫中獲得一個概率分類模型,使每一句詩歌的音韻得到了比較好的效果。
在單詞級別的LSTM語言模型到級聯(lián)計算最大化期望中間,本模型使用了一個緩沖池,以對整個詩歌模型施加約束。緩沖池是從前文的LSTM語言模型抽取部分詩歌序列作為樣本,這限制了詩句的音律分布。由于緩沖池有過濾功能,如當(dāng)緩沖區(qū)拒絕當(dāng)前的輸入序列時,則將整個運行狀態(tài)回滾到最后一個可接受的級聯(lián)模型當(dāng)中,刪除被緩沖池過濾的字詞,達(dá)到篩選詞語輸出的效果。
本文數(shù)據(jù)包含兩種數(shù)據(jù)集:圖片數(shù)據(jù)集和詩歌數(shù)據(jù)集。圖片數(shù)據(jù)集使用了有1 000多種分類的Image 1000 數(shù)據(jù)集。而詩歌數(shù)據(jù)集采用中國詩歌庫(CPC)的詩歌數(shù)據(jù),通過人工篩選,選取了12 000首唐詩,并在其中隨機選取了2 000首進(jìn)行訓(xùn)練。
整個實驗使用系統(tǒng)為Linux,并采用NVIDIA TITAN X的GPU進(jìn)行模型訓(xùn)練。VGG16模型是一個開源模型,當(dāng)模型運行得到中文標(biāo)簽結(jié)果時會做自檢查,以防亂碼以及非中文標(biāo)簽的情況。當(dāng)?shù)贸鲋形臉?biāo)簽時,進(jìn)一步使用word2vec進(jìn)行關(guān)鍵詞向量化預(yù)處理。對于詩歌輸出部分需要訓(xùn)練的模型是LSTM以及詩歌聲調(diào)韻律模型,嵌入字的維數(shù)為1 024,均使用SGD模型配合AdaDelta算法進(jìn)行訓(xùn)練。
由圖產(chǎn)生詩是一個端到端的生成模型,對于這樣的模型來設(shè)計評價模型更是一個具有挑戰(zhàn)性的任務(wù)。在此選擇了平均支配因子和3個不同的專家評價指標(biāo)來對結(jié)果進(jìn)行評價。
平均支配因子可以反映從當(dāng)前詞預(yù)測下一個詞有多少種選擇,也是一種基于信息熵的表現(xiàn)評價,如下:
(4)
其中,N代表句子S的長度,P(Wi)代表當(dāng)前詞的可能生成概率??偟貋碚f,P(S)的值越小,相應(yīng)的表現(xiàn)結(jié)果越好,詩歌的質(zhì)量就越好。
審閱一首詩歌時,人們十分注重詩歌的韻律與深意,因此專家評判是有必要的。本文主要從詩歌的“句法”、“語義”、“相關(guān)性”三項進(jìn)行滿意度評分。句法體現(xiàn)了詩歌的整體結(jié)構(gòu)狀況,語義反映詩歌的字詞連貫以及深意,相關(guān)性是指詩句與輸入圖片的相關(guān)程度。
本次研究的重點為從給定的圖像通過模型自動化生成詩歌,通過與前人的模型橫向?qū)Ρ?,本模型得到了很好的評分。
如表1所示,基于機器學(xué)習(xí)模型(SMT)的詩歌生成模型不能完全實現(xiàn)全自動地端到端輸出,需要大量的人工干預(yù),因此語義方面質(zhì)量較高;AGG16-Image模型基于圖像識別的關(guān)鍵字標(biāo)簽生成詩歌,雖然在專家評價中有不錯的表現(xiàn),但是不能完全表達(dá)圖片包含的信息。本模型在客觀評價指標(biāo)平均支配因子和專家評價中各個指標(biāo)均優(yōu)于前人模型,在基本契合圖片信息的同時滿足詩歌韻律的要求,尤其生成的詩歌相關(guān)性比較優(yōu)異,說明從圖片到生成詩歌的端到端模型表現(xiàn)良好。
本文基于LSTM、計算機視覺以及自然語言處理提出一種新的從圖像生成詩歌模型。用現(xiàn)代人工智能時代的技術(shù),使得機器生成的詩歌更具有可讀性和深意,并且使人難以分辨是否為機器生成。未來,希望能借鑒更能契合詩歌特點的大規(guī)模深度學(xué)習(xí)架構(gòu),使得生成的詩歌質(zhì)量越來越好。