版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
目錄前言 1第一章 緒論 21.1 研究背景和意義 21.2 showandtell自動(dòng)圖像描述系統(tǒng)簡(jiǎn)介 31.3 主要工作及創(chuàng)新點(diǎn) 41.4 本文的組織結(jié)構(gòu) 5第二章 ImageCaption自動(dòng)圖像描述技術(shù) 62.1 ImageCaption簡(jiǎn)介 62.2 相關(guān)技術(shù)分析 62.2.1 showandtell模型 62.2.2 show、attendandtell模型 112.2.3 使用高級(jí)語(yǔ)義特征的模型 112.2.4 改進(jìn)了RNN的模型 122.2.5 基于傳統(tǒng)語(yǔ)言建模的模型 142.3 ImageCaption技術(shù)總結(jié)及展望 15第三章 機(jī)器翻譯 163.1 基于深度學(xué)習(xí)的統(tǒng)計(jì)機(jī)器翻譯 163.1.1 基于深度學(xué)習(xí)的統(tǒng)計(jì)機(jī)器翻譯的核心思想 163.1.2 基于深度學(xué)習(xí)的統(tǒng)計(jì)機(jī)器翻譯的優(yōu)點(diǎn) 163.1.3 基于深度學(xué)習(xí)的統(tǒng)計(jì)機(jī)器翻譯的不足 163.2 end-to-end神經(jīng)機(jī)器翻譯 173.2.1神經(jīng)機(jī)器翻譯基本結(jié)構(gòu)及發(fā)展歷史 173.2.2采用注意力機(jī)制的神經(jīng)機(jī)器翻譯模型 183.2.3神經(jīng)機(jī)器翻譯的不足 193.3 機(jī)器翻譯研究展望 203.4 機(jī)器翻譯技術(shù)總結(jié) 20第四章 多語(yǔ)言圖像標(biāo)題自動(dòng)生成實(shí)驗(yàn) 214.1 Googleshowandtell自動(dòng)圖像描述系統(tǒng)介紹 214.2 Transformer翻譯方法 214.3 開(kāi)始實(shí)驗(yàn) 234.3.1總體框架 234.3.2im2txt 234.3.3txt2txt 274.4 實(shí)驗(yàn)與分析 284.4.1 實(shí)驗(yàn)結(jié)果展示 284.4.2 評(píng)價(jià)性能 304.4.3 錯(cuò)誤分析 324.5 本章小結(jié) 32第五章總結(jié)與展望 335.1 總結(jié) 335.2 后續(xù)工作 33參考文獻(xiàn) 34致謝 35
摘要自動(dòng)描述圖像的內(nèi)容是結(jié)合了計(jì)算機(jī)視覺(jué)和自然語(yǔ)言處理的人工智能的一個(gè)基本問(wèn)題。而機(jī)器翻譯(又稱(chēng)自動(dòng)翻譯)是利用計(jì)算機(jī)將一種自然語(yǔ)言轉(zhuǎn)換為另一種自然語(yǔ)言的過(guò)程,是人工智能的一大終極目標(biāo)。若將兩者結(jié)合利用,必將具有重要的實(shí)用價(jià)值。Showandtell模型是GoogleBrain在TensorFlow上開(kāi)源的一個(gè)自動(dòng)圖像描述系統(tǒng),采用Encoder-Decoder(編碼器-解碼器)的神經(jīng)網(wǎng)絡(luò)架構(gòu),可以根據(jù)圖像中的場(chǎng)景自動(dòng)生成相應(yīng)的描述。本文將深入分析Showandtell模型和相關(guān)基于Showandtell模型的改進(jìn)技術(shù)以及神經(jīng)機(jī)器翻譯的相關(guān)技術(shù),并且對(duì)比各類(lèi)技術(shù)的優(yōu)缺點(diǎn)。本文通過(guò)該系統(tǒng)實(shí)現(xiàn)ImageCaption(自動(dòng)圖像描述),并通過(guò)神經(jīng)機(jī)器翻譯的方法Transformer將得到的描述翻譯為中文,使其適用于中文環(huán)境。最后對(duì)所采用的Transformer方法與Google機(jī)器翻譯方法進(jìn)行性能評(píng)價(jià)。關(guān)鍵詞:自動(dòng)圖像描述;機(jī)器翻譯;翻譯方法;模型
AbstractTheautomaticdescriptionofimagesisabasicproblemofartificialintelligencethatcombinescomputervisionandnaturallanguageprocessing.Machinetranslation,alsoknownasautomatictranslation,isoneoftheultimategoalofartificialintelligence,whichusescomputerstotransformanaturallanguageintoanothernaturallanguage.Thecombinationofthetwowillhaveimportantpracticalvalue.ShowandtellmodelisaGoogleBrainopensourcesystemonTensorFlow,anautomaticimagedescriptionsystemusingtheEncoder-Decoderneuralnetworkarchitecture,canaccordingtotheimageofthescenetoautomaticallygeneratethecorrespondingdescription.ThispaperwillanalyzetheShowandtellmodelandrelatedtechniquesbasedontheShowandtellmodel,aswellastherelatedtechniquesofneuralmachinetranslation,andcomparetheadvantagesanddisadvantagesofvarioustechnologies.Inthispaper,ImageCaption(automaticImagedescription)isrealizedbythesystem,andthedescriptionobtainedistranslatedintoChinesebymeansofneuralmachinetranslationcalledTransformer,sothatitcanbeappliedtotheChineseenvironment.Finally,theperformanceevaluationoftheTransformermethodandtheGooglemachinetranslationmethodiscarriedout.Keywords:ImageCaption;MachineTranslation;TranslationMethods;Model前言ImageCaption技術(shù)(即自動(dòng)描述圖像內(nèi)容技術(shù),也稱(chēng)圖像標(biāo)注),指的就是從給定圖片中自動(dòng)生成一段能夠描述其內(nèi)容的文字,有點(diǎn)類(lèi)似于我們小學(xué)里學(xué)的“看圖說(shuō)話(huà)”。對(duì)于人類(lèi)來(lái)說(shuō),這是一件簡(jiǎn)單并且每天都在做的事,然而對(duì)于計(jì)算機(jī)來(lái)說(shuō),這是一件非常具有挑戰(zhàn)性的任務(wù)。原因在于計(jì)算機(jī)面對(duì)的不是人們眼睛所看到的景象,而是一個(gè)像素矩陣。計(jì)算機(jī)不僅要在一堆數(shù)字中檢測(cè)出圖像中的物體,而且還要理解各個(gè)物體之間的相互關(guān)系,最終需要用一段文字將一切表述出來(lái)。MachineTranslation技術(shù)(即機(jī)器翻譯技術(shù)),顧名思義,就是利用機(jī)器來(lái)進(jìn)行翻譯的技術(shù),用于不同語(yǔ)言文字之間的轉(zhuǎn)換。60年來(lái),機(jī)器翻譯技術(shù)不斷發(fā)展,從最早的詞典匹配、到基于詞典和語(yǔ)言學(xué)知識(shí)的規(guī)則翻譯、再到基于短語(yǔ)的統(tǒng)計(jì)機(jī)器翻譯,最后成長(zhǎng)為當(dāng)前基于人工神經(jīng)網(wǎng)絡(luò)的機(jī)器翻譯。隨著計(jì)算機(jī)計(jì)算性能的提升以及大數(shù)據(jù)時(shí)代多語(yǔ)言信息的爆炸式增長(zhǎng),機(jī)器翻譯技術(shù)已漸漸完善,開(kāi)始在人們的日常生活中扮演一個(gè)重要角色,為我們提供便捷的翻譯服務(wù)。得益于神經(jīng)機(jī)器翻譯的迅速發(fā)展,看似困難的機(jī)器“看圖說(shuō)話(huà)”任務(wù)迎刃而解。在ImageCaption任務(wù)中僅僅對(duì)神經(jīng)機(jī)器翻譯中模型做了簡(jiǎn)單的修改,便取得了很好的結(jié)果。本文主要以Google的基于TensorFlow的showandtell自動(dòng)圖像描述系統(tǒng)為研究對(duì)象,并與兩種機(jī)器翻譯方法相結(jié)合來(lái)完成多語(yǔ)言圖像標(biāo)題自動(dòng)生成的研究。深入分析了showandtell模型,并對(duì)比相關(guān)后續(xù)先進(jìn)技術(shù);對(duì)比分析Google機(jī)器翻譯與Transformer翻譯方法,并進(jìn)行實(shí)驗(yàn)驗(yàn)證。本文完成的主要工作及創(chuàng)新點(diǎn)有:(1)利用showandtell自動(dòng)圖像描述系統(tǒng),實(shí)現(xiàn)從圖片生成描述。(2)分析了ImageCaption相關(guān)技術(shù)的特點(diǎn)。(3)利用Google機(jī)器翻譯以及Transformer翻譯方法進(jìn)行英譯中。(4)對(duì)給定語(yǔ)料進(jìn)行人工標(biāo)注,生成翻譯參考語(yǔ)句。(5)對(duì)比Google機(jī)器翻譯和Transformer翻譯方法的模型架構(gòu),并通過(guò)實(shí)驗(yàn)驗(yàn)證其性能。最后得出圖片和多語(yǔ)言描述的匹配度,并進(jìn)行錯(cuò)誤分析。
第一章 緒論本章首先介紹了多語(yǔ)言圖像標(biāo)題自動(dòng)生成的研究背景和意義,其次簡(jiǎn)單介紹了showandtell自動(dòng)圖像描述系統(tǒng),并概述了本文所做的主要工作和貢獻(xiàn)以及創(chuàng)新點(diǎn),在本章的最后介紹了論文的組織結(jié)構(gòu)。1.1 研究背景和意義近年來(lái),信息技術(shù),人工智能不斷發(fā)展,人們也通過(guò)科幻電影來(lái)對(duì)未來(lái)進(jìn)行展望。電影《HER》就是一個(gè)例子,影片中的“薩曼莎”是一個(gè)AI系統(tǒng),他能夠理解主人公西奧多的手機(jī)信息和圖像內(nèi)容,了解主人公的狀態(tài),在其心情不好時(shí)可以陪他談心,還可以讀懂文字,“她”儼然成為了一個(gè)真實(shí)的人類(lèi),甚至在某些方法還更勝人類(lèi)。電影的“薩曼莎”是人類(lèi)幻想出來(lái)的人工智能,“她”能夠思考,同時(shí)具備比人還強(qiáng)的智力以及運(yùn)算能力,雖然目前的人工智能技術(shù)還不能完全像電影中一樣強(qiáng)大,但近年來(lái)人工智能技術(shù)讓機(jī)器具備了人來(lái)的能力,例如計(jì)算機(jī)已經(jīng)能理解更高層次的圖像內(nèi)容,能夠自動(dòng)描述圖像的內(nèi)容。在人工智能領(lǐng)域,這是機(jī)器的ImageCaptioning(自動(dòng)圖像描述)能力。在去年11月7日晚,錘子科技發(fā)布了堅(jiān)果Pro2。這場(chǎng)發(fā)布會(huì)感動(dòng)我的不是堅(jiān)果Pro2超高顏值的外觀設(shè)計(jì),亦或是極具良心的售價(jià),而是錘子堅(jiān)果Pro2新的SmartisanOS系統(tǒng),針對(duì)盲人用戶(hù)做出的優(yōu)化。錘子利用OCR識(shí)別技術(shù),把普通手機(jī)APP無(wú)法識(shí)別的內(nèi)容通過(guò)OCR技術(shù)轉(zhuǎn)成文字,再把文字通過(guò)揚(yáng)聲器讀出來(lái)。這讓許多視障者都能更好使用智能手機(jī)。根據(jù)2016年的數(shù)據(jù)顯示,中國(guó)的盲人數(shù)量已經(jīng)超過(guò)1400萬(wàn),相當(dāng)于每100個(gè)人中就有一個(gè),但卻因?yàn)闊o(wú)障礙設(shè)施的不友好,卻很難在街頭看到他們的身影。因此許多盲人都對(duì)手機(jī)、電腦等電子產(chǎn)品和網(wǎng)絡(luò)有著更深的依賴(lài),這幾乎成了他們與外面的世界互動(dòng)的唯一通道。我們相信如果能將自動(dòng)圖像描述技術(shù)與機(jī)器翻譯結(jié)合,便能夠讓全球的視障人群便捷地讀懂世界(不僅僅是有文字標(biāo)注的世界)。自動(dòng)圖像描述技術(shù)的意義也不僅僅在于幫助視障人群,還能應(yīng)用與我們的日常生活。當(dāng)我們需要尋找一張時(shí)間久遠(yuǎn)的手機(jī)照片時(shí),常常因?yàn)閿?shù)量的龐大無(wú)從尋找。在這里,如果系統(tǒng)能夠?qū)γ繌堈掌忌梢粋€(gè)簡(jiǎn)單的標(biāo)題(或是描述),那么我們只需要憑借圖像的印象便能夠輕松找到對(duì)應(yīng)的照片。得益于近年來(lái)機(jī)器視覺(jué)和自然語(yǔ)言處理的發(fā)展以及自動(dòng)圖像描述領(lǐng)域中積累的大量研究,GoogleBrain基于TensorFlow深度學(xué)習(xí)庫(kù)開(kāi)發(fā)了“ShowandTell”自動(dòng)圖像描述系統(tǒng),成功地將機(jī)器這方面的能力提高到一個(gè)新臺(tái)階。作為多模態(tài)數(shù)據(jù)處理的經(jīng)典,自動(dòng)圖像描述技術(shù)正逐步成為研究熱點(diǎn)。1.2 showandtell自動(dòng)圖像描述系統(tǒng)簡(jiǎn)介Showandtell模型是一個(gè)深度神經(jīng)網(wǎng)絡(luò),學(xué)習(xí)如何描述圖像的內(nèi)容。例如:圖1.1圖像描述示例1圖1.2圖像描述示例2運(yùn)行步驟:硬件及訓(xùn)練時(shí)間提示NVIDIATeslaK20mGPU-1-2weeks必要的安裝包Bazel,TensorFlow1.0,NumPy,NaturalLanguageToolkit,Unzip準(zhǔn)備訓(xùn)練數(shù)據(jù)MSCOCO圖像標(biāo)注數(shù)據(jù)集下載Inceptionv3Checkpoint需要一個(gè)訓(xùn)練好的Inceptionv3Checkpoint文件來(lái)初始化編碼器(CNN)參數(shù)訓(xùn)練模型分為2步,初始訓(xùn)練和進(jìn)階訓(xùn)練預(yù)測(cè)標(biāo)題你可能得到不同的結(jié)果,這些差別是正常的。圖1.3示例圖片輸出實(shí)例:CaptionsforimageCOCO_val2014_000000224477.jpg:0)amanridingawaveontopofasurfboard.(p=0.040413)1)apersonridingasurfboardonawave(p=0.017452)2)amanridingawaveonasurfboardintheocean.(p=0.005743)1.3 主要工作及創(chuàng)新點(diǎn)本文主要以Google的基于TensorFlow的showandtell自動(dòng)圖像描述系統(tǒng)為研究對(duì)象,并與兩種機(jī)器翻譯方法相結(jié)合來(lái)完成多語(yǔ)言圖像標(biāo)題自動(dòng)生成的研究。實(shí)驗(yàn)之前深入分析了showandtell模型,并對(duì)比相關(guān)后續(xù)先進(jìn)技術(shù);也對(duì)機(jī)器翻譯主要方法進(jìn)行了分析,而后通過(guò)實(shí)驗(yàn)對(duì)比分析Google機(jī)器翻譯與Transformer翻譯方法。本文完成的主要工作及創(chuàng)新點(diǎn)有:(1)利用showandtell自動(dòng)圖像描述系統(tǒng),實(shí)現(xiàn)從圖片生成描述。(2)分析了ImageCaption相關(guān)技術(shù)的特點(diǎn)。(3)利用Google機(jī)器翻譯以及Transformer翻譯方法進(jìn)行英文-中文的翻譯。(4)對(duì)給定語(yǔ)料進(jìn)行人工標(biāo)注,生成翻譯參考語(yǔ)句。(5)對(duì)比Google機(jī)器翻譯和Transformer翻譯方法的模型架構(gòu),并通過(guò)實(shí)驗(yàn)驗(yàn)證其性能。最后得出圖片和多語(yǔ)言描述的匹配度,并進(jìn)行錯(cuò)誤分析。1.4 本文的組織結(jié)構(gòu)本文共分為五章,每章內(nèi)容簡(jiǎn)介如下:第一章:緒論。本章介紹了《多語(yǔ)言圖像標(biāo)題自動(dòng)生成研究》課題的研究背景及意義、showandtell系統(tǒng)簡(jiǎn)介及模型運(yùn)行說(shuō)明、本文的主要工作及主要?jiǎng)?chuàng)新點(diǎn),最后介紹了本文的組織結(jié)構(gòu)。第二章:本章主要介紹了現(xiàn)在的幾種ImageCaption自動(dòng)圖像描述技術(shù)的原理,并對(duì)這些現(xiàn)有技術(shù)進(jìn)行分析對(duì)比,最后對(duì)ImageCaption自動(dòng)圖像描述技術(shù)進(jìn)行了總結(jié)。第三章:本章詳細(xì)介紹并分析了兩類(lèi)基于深度學(xué)習(xí)的機(jī)器翻譯方法,并對(duì)比其優(yōu)點(diǎn)與不足,簡(jiǎn)要概括了當(dāng)前機(jī)器翻譯領(lǐng)域的研究熱點(diǎn),并對(duì)機(jī)器翻譯技術(shù)進(jìn)行了總結(jié)。第四章:本章主要介紹了Googletensorflow-im2txt-master自動(dòng)圖像描述系統(tǒng),接著將把Google自動(dòng)圖像描述系統(tǒng)與兩種翻譯方法相結(jié)合(Google翻譯和transformer方法),進(jìn)行多語(yǔ)言圖像標(biāo)題自動(dòng)生成研究。對(duì)比分析使用不同翻譯方法的最后生成標(biāo)題的性能,以及這兩種翻譯方法在單獨(dú)進(jìn)行英文-中文翻譯的性能。。第五章:總結(jié)全文,提出未來(lái)研究展望。
第二章 ImageCaption自動(dòng)圖像描述技術(shù)本章詳細(xì)介紹了發(fā)展至今的幾種ImageCaption自動(dòng)圖像描述技術(shù)的原理,并對(duì)這些現(xiàn)有技術(shù)進(jìn)行分析對(duì)比。2.1 ImageCaption簡(jiǎn)介ImageCaption自動(dòng)圖像描述問(wèn)題其本質(zhì)就是視覺(jué)到語(yǔ)言(Visual-to-Language)或者是圖片到文字(Image-to-Text)的問(wèn)題,用一句簡(jiǎn)單的話(huà)來(lái)說(shuō)就是:看圖說(shuō)話(huà)。就像我們小時(shí)候在看圖說(shuō)話(huà)作業(yè)中完成的任務(wù)一樣,我們希望計(jì)算機(jī)也能根據(jù)給定的圖像來(lái)生成能夠描述其內(nèi)容的自然語(yǔ)言句子。雖然在我們看來(lái)這是在簡(jiǎn)單不過(guò)的事情了,甚至我們時(shí)時(shí)刻刻都在通過(guò)這種方法來(lái)理解這個(gè)世界,但是對(duì)于計(jì)算機(jī)來(lái)說(shuō),這不能不稱(chēng)之為一個(gè)挑戰(zhàn),因?yàn)樽詣?dòng)圖像描述任務(wù)的輸入和輸出是兩種不同形式的信息,即圖像信息和文本信息。隨著近年來(lái)深度學(xué)習(xí)領(lǐng)域的發(fā)展,一種將深度卷積神經(jīng)網(wǎng)絡(luò)(DeepCNN)和循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN)相結(jié)合的方法在自動(dòng)圖像描述問(wèn)題上取得了顯著的成功。甚至因?yàn)檫@個(gè)方法的成功,許多基于這個(gè)方法的自動(dòng)圖像描述研究開(kāi)始火熱。2.2 相關(guān)技術(shù)分析按照技術(shù)發(fā)展歷程,自動(dòng)圖像描述技術(shù)分為以下幾類(lèi):showandtell模型[1]、showattendandtell模型[2]、使用高層語(yǔ)義特征的模型[3]、改進(jìn)了RNN的模型[4]和基于傳統(tǒng)語(yǔ)言建模方式的模型[5]。2.2.1 showandtell模型Showandtell模型在論文《ShowandTell:ANeuralImageCaptionGenerator》中提出,這篇論文是ImageCaption任務(wù)早期的研究作品。模型的主要結(jié)構(gòu)借鑒了機(jī)器翻譯中的結(jié)構(gòu),機(jī)器翻譯的任務(wù)是把一種自然語(yǔ)言轉(zhuǎn)換為另一種自然語(yǔ)言。多年來(lái),機(jī)器翻譯也是由一系列獨(dú)立的任務(wù)完成的(翻譯單詞、對(duì)齊單詞、重新排序等),但是最近的研究表明,使用遞歸神經(jīng)網(wǎng)絡(luò)(RNN)可以用更簡(jiǎn)單的方法進(jìn)行翻譯,而且還能達(dá)到最好的性能。一個(gè)encoder-RNN(編碼器)讀取源語(yǔ)句并將其轉(zhuǎn)換為一個(gè)復(fù)雜的固定長(zhǎng)度的向量表示,隨后被用作生成目標(biāo)句子的decoder-RNN(解碼器)的初始隱藏狀態(tài)[6,7,8]。Showandtell模型把Encoder-Decoder結(jié)構(gòu)做了簡(jiǎn)單修改,用一個(gè)深度卷積神經(jīng)網(wǎng)絡(luò)(CNN)代替編碼器RNN。在過(guò)去的幾年研究里,它已經(jīng)讓人們信服,深度卷積神經(jīng)網(wǎng)絡(luò)CNNs可以通過(guò)將輸入圖像轉(zhuǎn)換為固定長(zhǎng)度的向量,從而產(chǎn)生豐富的輸入圖像,這種表示法可用于許多視覺(jué)任務(wù)。因此,使用CNN作為圖像的“編碼器”,首先將圖像放入CNN神經(jīng)網(wǎng)絡(luò)進(jìn)行轉(zhuǎn)換,并將CNN的最后一個(gè)layer作為RNN解碼器的輸入,來(lái)生成句子。在統(tǒng)計(jì)機(jī)器翻譯方面,給定一個(gè)強(qiáng)大的序列模型,往往通過(guò)直接最大化正確翻譯的概率的方法來(lái)達(dá)到最好的結(jié)果,即以“end-to-end”的方式。這些模型利用一個(gè)RNN神經(jīng)網(wǎng)絡(luò),將輸入序列編碼到一個(gè)固定的維度向量中,并利用這個(gè)向量來(lái)“解碼”到輸出序列。因此,可以使用相同的方法,給定一個(gè)圖像(而不是源語(yǔ)言中的輸入句),能夠適用于同樣的原則,將其“翻譯”到它的描述中。通過(guò)使用以下公式直接最大化給定圖像的正確描述的概率:θ模型的參數(shù)是θ,I是輸入的圖像,S是它正確的描述。因?yàn)镾表示任意一個(gè)句子,它的長(zhǎng)度是無(wú)限的。因此,將鏈?zhǔn)椒▌t應(yīng)用于S0,…,SNlog這里為了方便放棄了對(duì)θ的依賴(lài)。在訓(xùn)練時(shí),(S,I)是一個(gè)訓(xùn)練樣本對(duì),利用隨機(jī)梯度下降法對(duì)整個(gè)訓(xùn)練集所描述的對(duì)數(shù)概率的和進(jìn)行了優(yōu)化。 接著利用RNN來(lái)對(duì)p(St|I,S0,…,S?對(duì)于f,我們使用了一個(gè)長(zhǎng)短期記憶(LSTM)網(wǎng)絡(luò),它展現(xiàn)了在諸如翻譯這樣的序列任務(wù)上的出色表現(xiàn)。對(duì)于圖像的表示,使用卷積神經(jīng)網(wǎng)絡(luò)(CNN)。它們已經(jīng)被廣泛地用于圖像任務(wù),并且目前是用于對(duì)象識(shí)別和檢測(cè)的先進(jìn)技術(shù)。f的選擇取決于它處理消失和爆炸梯度的能力,這是設(shè)計(jì)和訓(xùn)練RNNs最常見(jiàn)的挑戰(zhàn)。為了應(yīng)對(duì)這一挑戰(zhàn),引入了一種稱(chēng)為L(zhǎng)STM的特殊形式的周期性網(wǎng)絡(luò)(圖2.1),并在翻譯和序列生成中獲得了巨大的成功。圖2.1LSTM網(wǎng)絡(luò)結(jié)構(gòu)LSTM模型的核心是一個(gè)記憶單元c,在每個(gè)時(shí)間步驟中,c記錄下在這個(gè)步驟前已經(jīng)觀察到的輸入。c的行為是由“門(mén)”控制的,“門(mén)”層是用乘法來(lái)進(jìn)行的,因此,如果門(mén)是1,則可以從門(mén)禁層中保留一個(gè)值,如果門(mén)是0,則丟棄這個(gè)值。特別地,這里使用了3個(gè)門(mén)來(lái)控制是否忘記當(dāng)前記憶單元的值(忘記門(mén)f),是否讀取它的輸入(輸入門(mén)i),以及是否輸出新的單元值(輸出門(mén)o)。三個(gè)門(mén)的定義如下:ifocmp其中⊙表示門(mén)運(yùn)算符,W矩陣是訓(xùn)練參數(shù)。三個(gè)門(mén)的使用更好的訓(xùn)練了LSTM網(wǎng)絡(luò),因?yàn)檫@些門(mén)可以很好地處理爆炸和消失的梯度。最后一個(gè)方程mt是用來(lái)給一個(gè)Softmax提供的,它將產(chǎn)生一個(gè)關(guān)于所有單詞的概率分布pLSTM模型被訓(xùn)練用來(lái)預(yù)測(cè)句子的每個(gè)單詞,因?yàn)樗呀?jīng)看到了圖像以及所有前面的單詞,即p(St|I,S0,…,St?1)。為了這個(gè)目的,可以想象LSTM展開(kāi)形式—一份LSTM內(nèi)存為圖像和每個(gè)句子的詞所創(chuàng)建,這樣所有LSTMs就能共享相同的參數(shù),LSTM圖2.2LSTM和CNN網(wǎng)絡(luò)結(jié)合圖 所有的重復(fù)連接都被轉(zhuǎn)換為在展開(kāi)的版本中的前饋連接。更詳細(xì)地說(shuō),如果我們用I表示輸入圖像和S=(Sxxp在這里,我們把每一個(gè)詞都表示為維度等于字典大小的一個(gè)列向量St。注意,我們用S0表示一個(gè)特殊的起始字,并通過(guò)SN一個(gè)特殊的停止字來(lái)指定句子的開(kāi)始和結(jié)束。特別是通過(guò)發(fā)出停止字,LSTM信號(hào)表示已生成完整的句子。圖像通過(guò)使用一個(gè)視覺(jué)CNN,單詞通過(guò)嵌入矩陣We,這樣都被映射到相同的空間。LSTM網(wǎng)絡(luò)只在t=-1損失函數(shù)是每個(gè)步驟中正確單詞的負(fù)對(duì)數(shù)可能性的和:LShowandtell模型通過(guò)大量實(shí)驗(yàn)被證明是有效的。迄今為止,在圖像描述文獻(xiàn)中最常用的指標(biāo)是BLEU評(píng)分,它是生成的和參考的句子之間的單詞n-g的精度的一種形式。盡管這個(gè)指標(biāo)有一些明顯的缺點(diǎn),但它已經(jīng)被證明與人類(lèi)的評(píng)價(jià)相關(guān)聯(lián)。在官方網(wǎng)站的官方測(cè)試集上,showandtell模型的BLEU-4得分為27.2。然而,當(dāng)使用人類(lèi)評(píng)分員來(lái)評(píng)估描述時(shí),模型的得分會(huì)低得多,這表明需要更多的工作來(lái)達(dá)到更好的指標(biāo)。圖2.3顯示了該模型提供的描述的人類(lèi)評(píng)估結(jié)果,以及在各種數(shù)據(jù)集上的參考系統(tǒng)和事實(shí)真相。我們可以看到,showandtell模型比參考系統(tǒng)更好,但顯然比預(yù)期的事實(shí)真相糟糕。這表明BLEU并不是一個(gè)完美的度量標(biāo)準(zhǔn),因?yàn)樗](méi)有很好地捕捉到生成的描述和人類(lèi)描述之間的差異。圖2.3各數(shù)據(jù)集上的得分對(duì)比那么現(xiàn)在的模型是否真的能捕捉圖像中的那些從未在訓(xùn)練集中出現(xiàn)的場(chǎng)景并生成新描述,還是只是尋找復(fù)述訓(xùn)練集中相關(guān)的描述呢。答案是肯定的?,F(xiàn)在的自動(dòng)圖像描述系統(tǒng)已經(jīng)具備自主產(chǎn)生全新的句子能力,例如下圖粗體的描述為不在數(shù)據(jù)庫(kù)中的標(biāo)注句子:圖2.4生成的描述這就保證了生成描述的多樣性。2.2.2 show、attendandtell模型《Show,AttendandTell:NeuralImageCaptionGenerationwithVisualAttention》論文在原來(lái)的Encoder-Decoder機(jī)制中引入了兩種Attention機(jī)制。一種叫HardAttention,一種叫SoftAttention,其中SoftAttention的原理如下。原來(lái)的模型中使用CNN在圖像中提取了固定長(zhǎng)度的向量特征I,而現(xiàn)在的模型利用了CNN的空間特性,給圖像的不同位置都提取了一個(gè)特征。如果用a=a1,…,aL表示已經(jīng)提取的特征,一共為L(zhǎng)個(gè),每個(gè)位置的特征是一個(gè)D維向量。假設(shè)卷積層的feature在生成第t個(gè)單詞時(shí),傳入decoder的上下文向量為Zt,這個(gè)Zt就是L個(gè)位置向量的加權(quán)平均,權(quán)值αt,i決定了在生成第t個(gè)單詞時(shí),這些位置特征所占的權(quán)重。而這個(gè)權(quán)重由前一個(gè)狀態(tài)?t?1和位置特征ai決定。因?yàn)棣羣,i只和已知信息2.2.3 使用高級(jí)語(yǔ)義特征的模型2.2.1和2.2.2模型中,都是使用CNN神經(jīng)網(wǎng)絡(luò)的卷積特征作為“圖像語(yǔ)義”,但這篇文章《WhatValueDoExplicitHighLevelConceptsHaveinVisiontoLanguageProblems?》認(rèn)為,CNN在最終的分類(lèi)層包含了大量諸如“圖中有無(wú)人”、“圖中有無(wú)桌子”這樣的高層信息。這種高層語(yǔ)義與最終生成的語(yǔ)句非常相關(guān),不能輕易舍棄。作者把這個(gè)高層語(yǔ)義理解為一個(gè)多標(biāo)簽分類(lèi)問(wèn)題。不同于通常的一對(duì)一關(guān)系,在自動(dòng)圖像描述任務(wù)中,由于一張圖片中的物體數(shù)目會(huì)有很多,因此圖片和物體標(biāo)簽就是一個(gè)一對(duì)多的關(guān)系。所以需要對(duì)原先的CNN神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)進(jìn)行適當(dāng)調(diào)整。面對(duì)通常的一對(duì)一關(guān)系中,只需要對(duì)卷積特征使用一個(gè)softmax,而面對(duì)一對(duì)多關(guān)系中,每有一類(lèi)物體,就需要使用1個(gè)softmax層。設(shè)第i張圖片的標(biāo)簽yi=yi1,…,J=在訓(xùn)練時(shí),首先在所有描述中選擇出現(xiàn)次數(shù)最多的c個(gè)單詞作為總標(biāo)簽數(shù),而每個(gè)圖像各自的訓(xùn)練數(shù)據(jù)從各自描述單詞中選擇。訓(xùn)練完成后,針對(duì)每一張圖片提取高層的語(yǔ)義表達(dá)向量Vatt(I)(如下圖所示)。其實(shí),這個(gè)高層語(yǔ)義向量Vatt(I)實(shí)際就對(duì)應(yīng)了圖像中出現(xiàn)的物體。得到Vatt(I)后,就直接將其送入Decoder進(jìn)行解碼。實(shí)驗(yàn)證明,使用了高層語(yǔ)義向量Vatt(I)可以大幅提高模型效果。圖2.5使用高層語(yǔ)義的模型結(jié)構(gòu)如在上圖中,藍(lán)色的線(xiàn)就是之前直接使用的卷積特征CNN(I),而紅色線(xiàn)就是這篇文章提出的Vatt(I)。2.2.4 改進(jìn)了RNN的模型《Mind’sEye:ARecurrentVisualRepresentationforImageCaptionGeneration》中改進(jìn)了decoder部分的RNN結(jié)構(gòu),讓RNN網(wǎng)絡(luò)不僅能將圖像描述為文字,還能反過(guò)來(lái)從文字得到圖像特征,同時(shí)還得到了性能的提升。圖2.6改進(jìn)了RNN結(jié)構(gòu)的模型上圖就是改進(jìn)過(guò)的DecoderRNN結(jié)構(gòu)。其中v是圖像特征,St是t時(shí)刻RNN網(wǎng)絡(luò)的隱層狀態(tài),Wt是時(shí)間t時(shí)生成的單詞。V,St,Wt都是之前的模型中存在的,而作者又新加入了ut和v。其中ut表示的是“已經(jīng)生成的文字”的隱變量,作用是記住已經(jīng)生成單詞中包含的信息。這個(gè)量在每次生成Wt之前建模的都是P(Wt|v,Wt?1圖2.7生成文字的過(guò)程圖2.8文字生成圖像特征的過(guò)程生成文字的過(guò)程如上圖2.7,反過(guò)來(lái)生成圖像特征的過(guò)程如上圖2.8。2.2.5 基于傳統(tǒng)語(yǔ)言建模的模型與上面4種方法不同,《FromCaptionstoVisualConceptsandBack》這篇論文沒(méi)有采用encoder-decoder架構(gòu),而是基于傳統(tǒng)語(yǔ)言建模方式。在圖像特征提取方面,這篇文章和《WhatValueDoExplicitHighLevelConceptsHaveinVisiontoLanguageProblems?》類(lèi)似,先從圖像中提取相關(guān)單詞,再把單詞組織為句子。不同點(diǎn)在于,上節(jié)的模型利用多標(biāo)簽學(xué)習(xí)的方式,而這個(gè)模型采用多示例學(xué)習(xí)(MultipleInstanceLearning)的方法,這個(gè)方法不僅可以從圖像中提取相關(guān)單詞,而且可以找到單詞對(duì)應(yīng)的圖像區(qū)域。多示例學(xué)習(xí)是一種半監(jiān)督算法??梢赃@樣設(shè)想:有很多個(gè)數(shù)據(jù)包(bag),每個(gè)bag中有很多示例(instance)?,F(xiàn)在只有對(duì)bag的正負(fù)類(lèi)標(biāo)記,而沒(méi)有對(duì)bag中各個(gè)instance的正負(fù)例標(biāo)記。正負(fù)判定規(guī)則如下:如果一個(gè)包里有一個(gè)instance是正類(lèi),那么這個(gè)bag即為正,只有當(dāng)bag里面的所有instance都是負(fù)類(lèi)時(shí),bag才為負(fù)。作者的目標(biāo)就是訓(xùn)練一個(gè)分類(lèi)器對(duì)instance的正負(fù)進(jìn)行判別。在這篇論文中,就是使用多示例學(xué)習(xí)來(lái)處理從圖片出提取單詞這一問(wèn)題。在這個(gè)場(chǎng)景中,如果一個(gè)圖片存在某個(gè)區(qū)域(instance)為正(指的就是存在某個(gè)生成詞),那么這個(gè)圖片(bag)就為正(指的就是圖片描述中含有某個(gè)生成詞)。由此,作者使用多示例學(xué)習(xí)方法進(jìn)行兩步迭代,第一步是選出正例bag中最有可能是正例的instance、以及負(fù)例bag的instance,第二步是利用選出的instance進(jìn)行訓(xùn)練,更新訓(xùn)練。如此迭代,就可以對(duì)圖片的區(qū)域進(jìn)行分類(lèi)了。這樣就可以從圖片的區(qū)域中提取相關(guān)的單詞(如下圖)。圖2.9從圖像中提取單詞在圖像中提取出相關(guān)單詞后,采用一種傳統(tǒng)的方法來(lái)進(jìn)行語(yǔ)言建模。設(shè)集合V中存有圖片中提取的單詞,w1,w2建模P(wl|w1,w2,…,wl?12.3 ImageCaption技術(shù)總結(jié)及展望本章選取了ImageCaption領(lǐng)域中比較重要的5篇文章進(jìn)行了介紹。第一篇論文首先使用了Encoder-Decoder結(jié)構(gòu)對(duì)此問(wèn)題進(jìn)行建模,接下來(lái)三篇文章分別從不同的角度對(duì)第一篇論文做出了改進(jìn)。最后介紹的論文并沒(méi)有采用Encoder-Decoder結(jié)構(gòu),而是采用傳統(tǒng)的方式對(duì)語(yǔ)言進(jìn)行建模,也具有一定啟發(fā)意義[6]。部分模型完成的自動(dòng)評(píng)價(jià)標(biāo)準(zhǔn)得分已高于人類(lèi)的分,但并不代表實(shí)際描述語(yǔ)句就比人類(lèi)描述語(yǔ)句水平高[7]。想要更好地解決自動(dòng)圖像描述問(wèn)題,還需要:(1)與人類(lèi)評(píng)價(jià)相關(guān)性更高的自動(dòng)評(píng)價(jià)標(biāo)準(zhǔn);(2)更大的數(shù)據(jù)集;(3)在圖像分析部分,語(yǔ)言生成部分,或者兩個(gè)部分的連接方式上出現(xiàn)新的模型或思路。
第三章 機(jī)器翻譯機(jī)器翻譯技術(shù)是研究利用計(jì)算機(jī)進(jìn)行自然語(yǔ)言轉(zhuǎn)換的技術(shù),是人工智能(AI)和自然語(yǔ)言處理(NLP)的重要研究領(lǐng)域。自2013年提出了神經(jīng)機(jī)器翻譯系統(tǒng)之后,神經(jīng)機(jī)器翻譯系統(tǒng)取得了很大的進(jìn)展。當(dāng)以BLEU值作為評(píng)測(cè)指標(biāo)時(shí),神經(jīng)機(jī)器翻譯在絕大多數(shù)語(yǔ)言上優(yōu)于傳統(tǒng)的統(tǒng)計(jì)機(jī)器翻譯。因此,本章詳細(xì)介紹并分析了兩類(lèi)基于深度學(xué)習(xí)的機(jī)器翻譯方法,并對(duì)比其優(yōu)點(diǎn)與不足。3.1 基于深度學(xué)習(xí)的統(tǒng)計(jì)機(jī)器翻譯3.1.1 基于深度學(xué)習(xí)的統(tǒng)計(jì)機(jī)器翻譯的核心思想基于深度學(xué)習(xí)的統(tǒng)計(jì)機(jī)器翻譯仍舊以統(tǒng)計(jì)機(jī)器翻譯為主體,使用深度學(xué)習(xí)改進(jìn)其中的關(guān)鍵模塊,如語(yǔ)言模型、翻譯模型、調(diào)序模型、詞語(yǔ)對(duì)齊等,取得了顯著的效果。3.1.2 基于深度學(xué)習(xí)的統(tǒng)計(jì)機(jī)器翻譯的優(yōu)點(diǎn)深度學(xué)習(xí)有效緩解了數(shù)據(jù)稀疏的問(wèn)題。以語(yǔ)言模型為例,傳統(tǒng)的語(yǔ)言模型通常采用n-gram方法來(lái)極大似然估計(jì)訓(xùn)練參數(shù),然而多數(shù)n-gram在語(yǔ)料庫(kù)中只出現(xiàn)一次,因此無(wú)法準(zhǔn)確估計(jì)模型參數(shù)。美國(guó)BBN公司的JacobDevlin等人提出了神經(jīng)網(wǎng)絡(luò)聯(lián)合模型(NeuralNetworkJointModels),將源語(yǔ)言端的相關(guān)部分也加入到了當(dāng)前詞的n-gram模型中。因此該聯(lián)合模型能夠使用到豐富的上下文信息(包括目標(biāo)語(yǔ)言端的歷史信息和源語(yǔ)言端的相關(guān)部分),性能得到了顯著提升。使用深度學(xué)習(xí)還能夠解決特征難以設(shè)計(jì)的問(wèn)題。傳統(tǒng)的方法無(wú)法從眾多的詞語(yǔ)中選擇出能夠決定調(diào)序次序,也不能充分利用到整個(gè)詞串。而基于神經(jīng)網(wǎng)絡(luò)的調(diào)序模型通過(guò)遞歸自動(dòng)編碼器生成詞串的分布式表示,隨后建立神經(jīng)網(wǎng)絡(luò)分類(lèi)器來(lái)緩解特征設(shè)計(jì)的問(wèn)題。實(shí)驗(yàn)證明,深度學(xué)習(xí)不僅能產(chǎn)生出新的特征,還能在現(xiàn)有特征集合中生成新的特征集合,大大提高了翻譯模型的表達(dá)能力。3.1.3 基于深度學(xué)習(xí)的統(tǒng)計(jì)機(jī)器翻譯的不足雖然利用深度學(xué)習(xí)使得傳統(tǒng)機(jī)器翻譯得到了性能的提升,但仍然面臨如下的難題。(1)線(xiàn)性不可分主體依舊是傳統(tǒng)機(jī)器翻譯的線(xiàn)性模型,面對(duì)高維數(shù)據(jù)存在線(xiàn)性不可分的問(wèn)題。而將線(xiàn)性模型轉(zhuǎn)換為非線(xiàn)性模型的方法并沒(méi)有取得成功。(2)非局部特征深度學(xué)習(xí)產(chǎn)生的新特征是非局部的,無(wú)法設(shè)計(jì)出高效的動(dòng)態(tài)規(guī)劃算法。3.2 end-to-end神經(jīng)機(jī)器翻譯3.2.1神經(jīng)機(jī)器翻譯基本結(jié)構(gòu)及發(fā)展歷史神經(jīng)機(jī)器翻譯(NeuralMachineTranslation)是指利用神經(jīng)網(wǎng)絡(luò)將源語(yǔ)言映射為目標(biāo)語(yǔ)言的機(jī)器翻譯方法。與上一節(jié)中的利用深度學(xué)習(xí)改進(jìn)傳統(tǒng)統(tǒng)計(jì)機(jī)器翻譯中關(guān)鍵模塊的方法不同,神經(jīng)機(jī)器翻譯的方法簡(jiǎn)單又直觀。神經(jīng)機(jī)器翻譯采用了“編碼器-解碼器”(encoder-decoder)的新框架。首先使用了一個(gè)神經(jīng)網(wǎng)絡(luò)(被稱(chēng)為encoder)將源語(yǔ)言文本映射為一個(gè)連續(xù)的、稠密的向量(后文稱(chēng)為上下文向量),然后再使用一個(gè)神經(jīng)網(wǎng)絡(luò)(被稱(chēng)為decoder)把這個(gè)向量轉(zhuǎn)換為目標(biāo)語(yǔ)言文本。下圖是神經(jīng)機(jī)器翻譯“編碼器-解碼器”結(jié)構(gòu)[9,10]。圖3.1神經(jīng)機(jī)器翻譯結(jié)構(gòu)神經(jīng)機(jī)器翻譯的建模思想其實(shí)由來(lái)已久。早在上世紀(jì)90年代,西班牙阿利坎特大學(xué)的Forcada和?eco就已經(jīng)提出“編碼器-解碼器”的結(jié)構(gòu)并應(yīng)用于翻譯。得益于深度學(xué)習(xí)的發(fā)展,英國(guó)牛津大學(xué)的NalKalchbrenner和PhilBlunsom于2013年首先提出了端到端神經(jīng)機(jī)器翻譯方法。2014年,Google公司的Sutskever將長(zhǎng)短期記憶LSTM(LongShort-TermMemory)網(wǎng)絡(luò)引入神經(jīng)機(jī)器翻譯。LSTM網(wǎng)絡(luò)使用了3個(gè)門(mén)(忘記門(mén)f,輸入門(mén)i,輸出門(mén)o),這些門(mén)使得LSTM的訓(xùn)練成為可能,解決了訓(xùn)練普通RNN時(shí)遇到的“梯度消失”和“梯度爆炸”問(wèn)題,并能夠?qū)崿F(xiàn)長(zhǎng)距離依賴(lài)。隨后,YoshuaBengio研究組在前者的研究基礎(chǔ)上又引入了注意力機(jī)制,并顯著提升了翻譯性能。3.2.2采用注意力機(jī)制的神經(jīng)機(jī)器翻譯模型圖3.2采用注意力機(jī)制的神經(jīng)機(jī)器翻譯模型所謂注意力機(jī)制,就是解碼器在生成某一個(gè)目標(biāo)詞語(yǔ)時(shí),僅僅關(guān)注那些與之相關(guān)的源語(yǔ)言部分。例如,在上圖中,當(dāng)生成目標(biāo)詞“election”時(shí),實(shí)際上源語(yǔ)言中只有“大選”和它有關(guān)。因此,作者希望給每一個(gè)即將生成的目標(biāo)詞自動(dòng)選擇相關(guān)的上下文向量,而不是整個(gè)源語(yǔ)言句子所生成的向量。此外,解碼器使用了雙向循環(huán)神經(jīng)網(wǎng)絡(luò)。圖3.3模型的工作流程工作流程如上圖所示。具體過(guò)程如下:給定源語(yǔ)言句子X(jué)=x1,…,xN。雙向循環(huán)神經(jīng)網(wǎng)絡(luò)將X編碼為隱式狀態(tài)序列H=解碼時(shí)刻t時(shí),解碼器產(chǎn)生該時(shí)刻的目標(biāo)語(yǔ)言隱式狀態(tài)stS其中g(shù)為非線(xiàn)性函數(shù)。st?1為t-1時(shí)刻的目標(biāo)語(yǔ)言隱式狀態(tài),yt?1是t-1時(shí)刻的目標(biāo)語(yǔ)言單詞,c其中的注意力模型權(quán)重at,j(可理解為源語(yǔ)言詞xj與目標(biāo)語(yǔ)言詞ytae在計(jì)算出目標(biāo)語(yǔ)言隱式狀態(tài)stP最后生成t時(shí)刻目標(biāo)單詞,并進(jìn)入t+1時(shí)刻直至句子結(jié)束。3.2.3神經(jīng)機(jī)器翻譯的不足得益于注意力機(jī)制,神經(jīng)機(jī)器翻譯的性能得到大幅提升。但仍存在許多問(wèn)題需要解決:可解釋性差神經(jīng)機(jī)器翻譯重在神經(jīng)網(wǎng)絡(luò)的設(shè)計(jì),中間量,即上下文向量,無(wú)法被解釋?zhuān)荒芤罁?jù)語(yǔ)言學(xué)的相關(guān)理論來(lái)提升性能。訓(xùn)練復(fù)雜度高神經(jīng)機(jī)器翻譯的訓(xùn)練復(fù)雜度是傳統(tǒng)方法復(fù)雜度數(shù)量級(jí)上的提升,需要大量高性能GPU才能進(jìn)行訓(xùn)練,計(jì)算成本高。詞語(yǔ)表規(guī)模受限制源語(yǔ)言和目標(biāo)語(yǔ)言?xún)啥说脑~語(yǔ)表常常無(wú)法支持某些詞形豐富的語(yǔ)言。翻譯覆蓋問(wèn)題注意力機(jī)制雖然實(shí)現(xiàn)了神經(jīng)機(jī)器翻譯整體的性能提升,但不是所有場(chǎng)合都能保證源語(yǔ)言中詞語(yǔ)與目標(biāo)語(yǔ)言詞語(yǔ)恰好相關(guān),“過(guò)翻譯”(某個(gè)詞多次被翻譯)和“欠翻譯”(某個(gè)詞沒(méi)有被翻譯)現(xiàn)象時(shí)常出現(xiàn)。翻譯不忠實(shí)問(wèn)題因?yàn)椴捎昧诉B續(xù)表示的方法來(lái)表示詞語(yǔ),造就了目標(biāo)語(yǔ)言句子的流利度,卻丟失了原本源語(yǔ)言句子的真實(shí)語(yǔ)義。3.3 機(jī)器翻譯研究展望機(jī)器翻譯研究歷經(jīng)60的發(fā)展,不斷弱化人在翻譯過(guò)程中的作用。從最早的詞典匹配、到基于詞典和語(yǔ)言學(xué)知識(shí)的規(guī)則翻譯、再到基于短語(yǔ)的統(tǒng)計(jì)機(jī)器翻譯,最后成長(zhǎng)為當(dāng)前基于人工神經(jīng)網(wǎng)絡(luò)的機(jī)器翻譯,信息技術(shù)正開(kāi)始扮演一個(gè)重要角色。近年來(lái),end-to-end神經(jīng)機(jī)器翻譯成為最熱門(mén)的研究領(lǐng)域,未來(lái)的研究方向也將圍繞其展開(kāi)。優(yōu)化注意力機(jī)制。優(yōu)化評(píng)價(jià)指標(biāo)。多語(yǔ)言神經(jīng)機(jī)器翻譯。引入語(yǔ)言學(xué)的知識(shí)。神經(jīng)機(jī)器翻譯和傳統(tǒng)統(tǒng)計(jì)機(jī)器翻譯的結(jié)合?!?.4 機(jī)器翻譯技術(shù)總結(jié)本章首先詳細(xì)介紹了2種基于深度學(xué)習(xí)的機(jī)器翻譯方法,隨后對(duì)比分析了各自的優(yōu)缺點(diǎn),最后提出了未來(lái)技術(shù)的發(fā)展方向。近年來(lái),百度發(fā)布了結(jié)合統(tǒng)計(jì)和深度學(xué)習(xí)方法的在線(xiàn)翻譯系統(tǒng),Google也在中英互譯上采用了神經(jīng)翻譯系統(tǒng),這些足以證明神經(jīng)機(jī)器翻譯在學(xué)術(shù)界和工業(yè)界的迅速發(fā)展。相信在未來(lái),神經(jīng)機(jī)器翻譯會(huì)取得更大進(jìn)步,真正造福社會(huì)。
第四章 多語(yǔ)言圖像標(biāo)題自動(dòng)生成實(shí)驗(yàn)本章首先會(huì)介紹Googletensorflow-im2txt-master自動(dòng)圖像描述系統(tǒng),接著將把Google自動(dòng)圖像描述系統(tǒng)與兩種翻譯方法相結(jié)合(Google翻譯和transformer方法),進(jìn)行多語(yǔ)言圖像標(biāo)題自動(dòng)生成研究。對(duì)比分析使用不同翻譯方法的最后生成標(biāo)題的性能,以及這兩種翻譯方法在單獨(dú)進(jìn)行英文-中文翻譯的性能。4.1 Googleshowandtell自動(dòng)圖像描述系統(tǒng)介紹Showandtell模型是一個(gè)編碼解碼神經(jīng)網(wǎng)絡(luò)的例子。它首先將圖像“編碼”為固定長(zhǎng)度的向量表示,然后將其“解碼”為自然語(yǔ)言描述。圖像編碼器是一個(gè)深度卷積神經(jīng)網(wǎng)絡(luò)(CNN)。這種類(lèi)型的網(wǎng)絡(luò)廣泛用于圖像任務(wù),目前是用于對(duì)象識(shí)別和檢測(cè)的最新技術(shù)。我們特別選擇的網(wǎng)絡(luò)是在ILSVRC-2012-CLS圖像分類(lèi)數(shù)據(jù)集上預(yù)先訓(xùn)練的初始Inceptionv3圖像識(shí)別模型。解碼器是一種長(zhǎng)短時(shí)記憶(LSTM)網(wǎng)絡(luò)。這種類(lèi)型的網(wǎng)絡(luò)通常用于序列建模任務(wù),如語(yǔ)言建模和機(jī)器翻譯。在Showandtell模型中,LSTM網(wǎng)絡(luò)被訓(xùn)練為基于圖像編碼的語(yǔ)言模型。標(biāo)題中的文字用嵌入模型表示。詞匯中的每個(gè)單詞都與在訓(xùn)練中學(xué)習(xí)的固定長(zhǎng)度的向量表示相關(guān)聯(lián)。4.2 Transformer翻譯方法Transformer翻譯方法提出于《Attentionisallyouneed》一文中,如題目所示,這是一個(gè)基于純注意力來(lái)進(jìn)行機(jī)器翻譯的模型[12]。目標(biāo)語(yǔ)言句子采用如下公式生成:y公式中的A,B指的是另外兩個(gè)序列,如果讓A=B=X,那就實(shí)現(xiàn)了SelfAttention(自注意),即將xt與源語(yǔ)言句子中的每個(gè)詞比較生成y下圖是Attention層的一般框架。圖4.1Attention層的一般框架Attention則定義為:Attention這里的Q,K,V就是query,key,value的矩陣。三個(gè)矩陣的維度如下:Q簡(jiǎn)單來(lái)說(shuō),Attention層把n*dk的序列Q轉(zhuǎn)換為一個(gè)新的n*dv序列。作者還將Attention機(jī)制完善為Multi-headAttention:圖4.2Multi-headAttention機(jī)制從圖中可以看出,先將Q,K,V通過(guò)參數(shù)矩陣映射,再進(jìn)入Attention層處理,并把這個(gè)過(guò)程重復(fù)h次,最后將結(jié)果拼接。不過(guò)這樣的模型不能捕捉到序列的順序。比如說(shuō),將句子中的詞語(yǔ)順序打亂,并不會(huì)對(duì)Attention結(jié)果產(chǎn)生影響。因此,作者引入了PositionEmbedding(位置向量),將每個(gè)位置都對(duì)應(yīng)一個(gè)向量,并通過(guò)位置向量和詞向量結(jié)合,讓Attention層能夠分辨不同的位置。PositionEmbedding的定義如下:PE這樣的定義還能利用三角函數(shù)的特性,將位置p+k的向量表示為位置p向量的線(xiàn)性變換,提供了相對(duì)位置的表達(dá)。總的來(lái)說(shuō),Attention層能夠一步捕捉全局的相關(guān)性(得益于SelfAttention機(jī)制),并在機(jī)器翻譯中取得了非常好的效果。4.3 開(kāi)始實(shí)驗(yàn)實(shí)驗(yàn)平臺(tái)為MobaXterm。編程語(yǔ)言為Python。Python版本為Anaconda。深度學(xué)習(xí)庫(kù)為GoogleTensorFlow。4.3.1總體框架圖4.3實(shí)驗(yàn)框架4.3.2im2txt自動(dòng)圖像標(biāo)題生成部分使用了Googleshowandtell自動(dòng)圖像描述系統(tǒng)。標(biāo)題生成過(guò)程如下:切換至工作目錄:圖4.4實(shí)驗(yàn)截圖1由于TensorFlow自動(dòng)占用GPU全部資源,需要選擇空閑的GPU進(jìn)行試驗(yàn):圖4.5實(shí)驗(yàn)截圖2選擇合適的0號(hào)GPU開(kāi)始預(yù)測(cè):圖4.6實(shí)驗(yàn)截圖3稍等一段時(shí)間得到結(jié)果:圖4.7實(shí)驗(yàn)截圖4對(duì)應(yīng)的圖片如下:圖4.8示例圖片從圖上來(lái)看,生成的標(biāo)題大體上準(zhǔn)確描述了圖片中的內(nèi)容。接著把COCO_val2014部分圖片導(dǎo)入待預(yù)測(cè)圖片文件夾,運(yùn)行程序得到了對(duì)應(yīng)的標(biāo)題。圖4.9待生成標(biāo)題的圖片集4.10生成的標(biāo)題4.3.3txt2txt英文標(biāo)題到中文標(biāo)題的翻譯分別采用的兩種方法:Google機(jī)器翻譯APIAPI需要導(dǎo)入的庫(kù):importcodecs
fromgoogletransimportTranslator
importos翻譯模板:translator=Translator()translations=translator.translate(['Thequickbrownfox','jumpsover','thelazydog'],src='en',dest='zh-CN')fortranslationintranslations:print(translation.origin,'->',translation.text) 由于Google退出了中國(guó)大陸,調(diào)用該API需要VPN。 翻譯結(jié)果如下:圖4.11實(shí)驗(yàn)截圖5Transformer翻譯方法首先切換至工作目錄:圖4.12實(shí)驗(yàn)截圖6編寫(xiě)執(zhí)行命令decoder.sh:CUDA_VISIBLE_DEVICES=3python2t2t-decoder.py--data_dir=/data/kzhang/fjy/transformer/out-enzh--problems=translate_enzh_ldc30k--model=transformer--hparams_set=transformer_base_single_gpu--output_dir=/data/kzhang/fjy/transformer/t2t_train/translate_enzh_ldc30k/transformer-transformer_base_single_gpu--decode_hparams="beam_size=4,alpha=0.6"--decode_from_file=/data/kzhang/fjy/transformer/en_text.txt--decode_to_file=/data/kzhang/fjy/transformer/test/tst.zh其中decode_from_file是待翻譯句子的路徑,decode_to_file是翻譯完成句子的路徑。運(yùn)行過(guò)程如下:圖4.13實(shí)驗(yàn)截圖7從截圖中可以看出,翻譯的結(jié)果并不是很理想。具體的翻譯性能分析見(jiàn)下節(jié)。4.4 實(shí)驗(yàn)與分析4.4.1 實(shí)驗(yàn)結(jié)果展示下面是圖片-英文標(biāo)題-中文標(biāo)題的結(jié)果對(duì)比。(挑選了幾個(gè)典型的示例)1、示例1圖4.14示例圖片1英文標(biāo)題:asmalldogissittingonasuitcase.中文標(biāo)題1:一只小狗正坐在一只手提箱上。中文標(biāo)題2:一只小狗正坐在行李箱上。分析:細(xì)節(jié)描述不準(zhǔn)確,問(wèn)題出在圖片生成標(biāo)題過(guò)程中。2、示例2圖4.15示例圖片2英文標(biāo)題:adogissittingonabenchnexttoabike.中文標(biāo)題1:一只狗坐在自行車(chē)旁邊的長(zhǎng)椅上。中文標(biāo)題2:一只狗正坐在自行車(chē)旁的一床上。分析:細(xì)節(jié)描述不準(zhǔn)確,問(wèn)題出在圖片生成標(biāo)題過(guò)程中。3、示例3圖4.16示例圖片3英文標(biāo)題:abaseballplayerholdingabatonafield.中文標(biāo)題1:棒球運(yùn)動(dòng)員在田地上拿著一只蝙蝠。中文標(biāo)題2:一名棒球員在一場(chǎng)比賽中舉起了一球。分析:專(zhuān)有名詞翻譯不準(zhǔn)確,問(wèn)題出在英文翻譯成中文過(guò)程中。4、示例4圖4.17示例圖片4英文標(biāo)題:ablackcatsittingontopofalaptopcomputer.中文標(biāo)題1:坐在膝上型計(jì)算機(jī)頂部的一只黑貓。中文標(biāo)題2:一只黑色貓坐在手提電腦上。分析:專(zhuān)有名詞翻譯不準(zhǔn)確,問(wèn)題出在英文翻譯成中文過(guò)程中。5、示例5圖4.18示例圖片5英文標(biāo)題:acowisstandinginapenwithamaninthebackground.中文標(biāo)題1:一頭牛在背景中與一名男子站在一支筆里。中文標(biāo)題2:一只牛肉正站在一條有一名男子背景的筆上。分析:圖像描述和翻譯都不準(zhǔn)確,描述應(yīng)當(dāng)是“一頭身上有一個(gè)巨瘡的牛”。假設(shè)英文正確,翻譯應(yīng)當(dāng)是“一頭牛站在一個(gè)筆里和背景里的一個(gè)男人”。4.4.2 評(píng)價(jià)性能這里評(píng)價(jià)的是單純翻譯過(guò)程的性能(即假定我們得到的英文標(biāo)題都是正確的)。采用的指標(biāo)是BLEU值[11]。BLUE計(jì)算過(guò)程如下:把通過(guò)機(jī)器翻譯出來(lái)的目標(biāo)語(yǔ)言句子與其相對(duì)應(yīng)的幾個(gè)參考翻譯(一般為人工翻譯)作比較,算出一個(gè)綜合分?jǐn)?shù)。這個(gè)分?jǐn)?shù)越高說(shuō)明機(jī)器翻譯得越好。這里采用了NLTK庫(kù)中的BLUE自動(dòng)計(jì)算函數(shù)(原型示例如下):fromnltk.translate.bleu_scoreimportsentence_bleureference=[['這','是','一','個(gè)','人'],['這','是''人']]candidate=['這','是','一','個(gè)','人']score=sentence_bleu(reference,candidate)print(score)其中參考語(yǔ)句必須是語(yǔ)句列表,其中每個(gè)語(yǔ)句是一個(gè)記號(hào)列表。候選語(yǔ)句也必須是一個(gè)記號(hào)列表。(1)若以字為分隔符,格式如:reference=[['這','是','一','個(gè)','人'],['這','是''人']]candidate=['這','是','一','個(gè)','人']500個(gè)句子的翻譯得分:Google0.72。Transformer0.29。(2)若以詞為分隔符,格式如:reference=[['這','是','一個(gè)','測(cè)試'],['這','是''測(cè)試']]candidate=['這','是','一個(gè)','測(cè)試']500個(gè)句子的翻譯得分:Google0.65。Transformer0.20。附:其中分詞程序調(diào)用了bosonnlp分詞API:TAG_URL='/tag/analysis's=['鳥(niǎo)在沙灘上散步的黑白照片']data=json.dumps(s)headers={'X-Token':'YOUR_API_TOKEN'}resp=requests.post(TAG_URL,headers=headers,data=data.encode('utf-8'))fordinresp.json():print(''.join(['%s/%s'%itforitinzip(d['word'],d['tag'])]))運(yùn)行結(jié)果如下:圖4.19實(shí)驗(yàn)截圖8從上面測(cè)得的數(shù)據(jù)可以看出:以詞為分隔符的翻譯性能得分要小于以字為分隔符的得分。原因很簡(jiǎn)單,例如“摩托車(chē)”和“電單車(chē)”在以詞的形式下不相同,而以字的形式下,卻有一項(xiàng)相同項(xiàng)“車(chē)”,根據(jù)BLEU的算法,相同項(xiàng)多則得分高。4.4.3 錯(cuò)誤分析從圖片-英文標(biāo)題-中文標(biāo)題生成的整個(gè)過(guò)程來(lái)看,導(dǎo)致圖片和中文標(biāo)題不對(duì)應(yīng)的原因有2項(xiàng):第一步im2txt出錯(cuò)和第二步txt2txt出錯(cuò)。第一步自動(dòng)圖像描述系統(tǒng)往往不能捕捉到圖片中的細(xì)節(jié),容易將事物混淆。例如上節(jié)中的示例1,2,其中把鞋架描述成了suitcase,把路面描述成了bench。第二步機(jī)器翻譯則無(wú)法分辨出某特定場(chǎng)景下某些詞語(yǔ)的翻譯方式。例如上節(jié)中的示例3,4,Google機(jī)器翻譯直接將bat直譯成了蝙蝠(沒(méi)有考慮到上下文的棒球比賽環(huán)境),又將laptopcomputer直譯為膝上型電腦(沒(méi)有聯(lián)系到中文的通俗叫法),總體上來(lái)看效果可讓人接受。而Transformer方法出來(lái)的句子不盡如人意,許多英文詞語(yǔ)似乎存在欠翻譯,BLEU值也僅僅0.2左右,究其原因,可能出在訓(xùn)練語(yǔ)料以及訓(xùn)練時(shí)間的不足上。4.5 本章小結(jié)本章首先介紹了Google自動(dòng)圖像描述系統(tǒng)和transformer翻譯方法,接著進(jìn)行實(shí)驗(yàn)研究并對(duì)實(shí)驗(yàn)結(jié)果進(jìn)行對(duì)比分析,利用專(zhuān)業(yè)的BLEU值評(píng)價(jià)了相關(guān)性能和正確率,最后對(duì)實(shí)驗(yàn)中的錯(cuò)誤展開(kāi)分析。自動(dòng)圖像描述系統(tǒng)所生成的圖像標(biāo)題和原圖像存在細(xì)節(jié)上的偏差;Google機(jī)器翻譯得益于其大數(shù)據(jù)的支持,總體翻譯效果不錯(cuò),但無(wú)法正確翻譯某些專(zhuān)業(yè)名詞;Transformer翻譯方法由于是自己訓(xùn)練,缺少語(yǔ)料,訓(xùn)練時(shí)間也不夠,出現(xiàn)了欠翻譯,翻譯錯(cuò)誤的問(wèn)題,翻譯效果與Google相去甚遠(yuǎn)。
第五章總
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 【正版授權(quán)】 ISO 22854:2025 EN Liquid petroleum products - Determination of hydrocarbon types and oxygenates in automotive-motor gasoline and in ethanol (E85) automotive fuel - Multidime
- 廣東外語(yǔ)外貿(mào)大學(xué)《數(shù)值計(jì)算方法》2023-2024學(xué)年第一學(xué)期期末試卷
- 廣東外語(yǔ)外貿(mào)大學(xué)南國(guó)商學(xué)院《嵌入式計(jì)算》2023-2024學(xué)年第一學(xué)期期末試卷
- 廣東青年職業(yè)學(xué)院《生物質(zhì)能轉(zhuǎn)化原理與技術(shù)》2023-2024學(xué)年第一學(xué)期期末試卷
- 廣東女子職業(yè)技術(shù)學(xué)院《國(guó)際關(guān)系原著選讀》2023-2024學(xué)年第一學(xué)期期末試卷
- 【2021屆備考】2020全國(guó)名校數(shù)學(xué)試題分類(lèi)解析匯編(12月第一期):F3平面向量的數(shù)量積及應(yīng)用
- 【導(dǎo)學(xué)教程】2022屆高三生物一輪總復(fù)習(xí)限時(shí)訓(xùn)練:第一單元第三講生命活動(dòng)的主要承擔(dān)者-蛋白質(zhì)-
- 【名師一號(hào)】2020-2021學(xué)年高中英語(yǔ)(北師大版)選修6隨堂演練:期末測(cè)試
- 【全程復(fù)習(xí)方略】2020年高考化學(xué)綜合評(píng)估檢測(cè)(二)(人教版-山東專(zhuān)供)
- 【北京特級(jí)教師】2020-2021學(xué)年人教版高中地理必修二課后練習(xí):工業(yè)地域形成及特點(diǎn)-一
- SAP WM模塊前臺(tái)操作詳解(S4版本)
- (正式版)HGT 22820-2024 化工安全儀表系統(tǒng)工程設(shè)計(jì)規(guī)范
- 《中華民族共同體概論》考試復(fù)習(xí)題庫(kù)(含答案)
- 【綠色評(píng)價(jià)】發(fā)展綠色指標(biāo)評(píng)價(jià)測(cè)試五年級(jí)《英語(yǔ)》第一學(xué)期上冊(cè)期末試卷及答案解析
- 學(xué)術(shù)英語(yǔ)寫(xiě)作范文17篇
- 任發(fā)改委副主任掛職鍛煉工作總結(jié)范文
- 中華任姓字輩源流
- 四電工程監(jiān)理實(shí)施細(xì)則
- 2021年人事部年度年終工作總結(jié)及明年工作計(jì)劃
- 針灸治療學(xué)題庫(kù)(精品課件)
- 手機(jī)、平板電腦類(lèi)產(chǎn)品 整機(jī)進(jìn)料檢驗(yàn)規(guī)范
評(píng)論
0/150
提交評(píng)論