版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
基于VGG和LSTM網(wǎng)絡(luò)的視覺問答系統(tǒng)研究與應(yīng)用摘要隨著互聯(lián)網(wǎng)的發(fā)展,人類可以獲得的數(shù)據(jù)信息量呈指數(shù)型增長,我們能夠從數(shù)據(jù)中獲得的知識也大大增多,人工智能的研究和應(yīng)用再一次煥發(fā)活力。隨著人工智能應(yīng)用的不斷發(fā)展,近年來,產(chǎn)生了有關(guān)視覺問答(VisualQuestionanswering,VQA)的研究,并發(fā)展成為人工智能應(yīng)用的一大熱門問題。視覺問答任務(wù)是一個多領(lǐng)域、跨學(xué)科的任務(wù),以一張圖片和一個關(guān)于圖片形式自由、開放式的自然語言問題作為輸入,以生成一條自然語言答案作為輸出[1]。簡單來說,VQA就是對給定的圖片進(jìn)行問答。本設(shè)計(jì)結(jié)合當(dāng)前VQA的研究現(xiàn)狀,基于深度學(xué)習(xí)理論,研究了VGG+LSTM網(wǎng)絡(luò)的視覺問答系統(tǒng),即用VGG網(wǎng)絡(luò)對圖片進(jìn)行特征提取,用LSTM網(wǎng)絡(luò)對問題進(jìn)行特征提取和系統(tǒng)輸出答案的特征生成。最終將這一復(fù)雜的人工智能系統(tǒng),轉(zhuǎn)化為一個多分類問題,實(shí)現(xiàn)了對一張圖片用自然語言句子進(jìn)行提問,然后用自然語言的一個單詞來回答。本設(shè)計(jì)的主要創(chuàng)新點(diǎn)是將深度學(xué)習(xí)領(lǐng)域內(nèi)的計(jì)算機(jī)視覺和自然語言處理兩個方向進(jìn)行多模態(tài)融合[2],將系統(tǒng)的輸出轉(zhuǎn)化為一個分類問題,達(dá)到了對圖片進(jìn)行一問一答的效果。關(guān)鍵詞:VQA;視覺問答;VGG網(wǎng)絡(luò);LSTM網(wǎng)絡(luò);深度學(xué)習(xí);人工智能
ResearchAndApplicationOfVisualQuestionAnsweringSystemBasedOnVGGAndLSTMNetworkABSTRACTWiththedevelopmentoftheInternet,theamountofdataavailabletohumanbeingshasincreasedexponentially,andtheknowledgewecanobtainfromthedatahasalsoincreasedgreatly.Theresearchandapplicationofartificialintelligencehavebeenrevitalizedagain.Alongwiththecontinuousdevelopmentofartificialintelligenceapplication,theresearchonVisualQuestionAnsweringhasappearedinrecentyearsandhasdevelopedintoahotspot.AVQAtaskisamulti-domain,interdisciplinarytask,withapictureandanaturallanguagequestionaboutthefreeandopenformofpicturesasinputandthegenerationofanaturallanguageanswerasoutput.Briefly,VQAisaquestion-and-answersessiononagivenpicture.ThisdesigncombinesthecurrentresearchstatusofVQA,basedonthetheoryofdeeplearning,tostudytheVQAsystemofVGG+LSTMnetwork.ItreferstouseVGGnetworktoextractthefeaturesofpicturesanduseLSTMnetworktoextractthefeaturesofquestionsandgeneratethefeaturesofsystemoutputanswers.Itfinallytransformsthiscomplexartificialintelligencesystemintoamulti-classificationproblem,realizingthewayofquestioningapictureinanaturallanguagesentence,andansweringitinanaturallanguageword.ThemaininnovationofthisdesignistocombinethetwodirectionsofComputerVisionandNaturalLanguageProcessinginthefieldofdeeplearningandtransformtheoutputofthesystemintoaclassificationproblem,andachievethequestion-and-answereffect.Keywords:VQA;Visualq&a;VGG-Net;LSTM-Net;Deeplearning;目錄1. 緒論 11.1視覺問答系統(tǒng) 11.2VQA背景和研究現(xiàn)狀 31.2.1VQA發(fā)展背景和研究意義 31.2.2VQA的發(fā)展歷程和研究現(xiàn)狀 31.3論文結(jié)構(gòu)安排 52.相關(guān)工作準(zhǔn)備 72.1圖像特征提取 72.2文本特征提取 82.3輸出分類器 123.VQA數(shù)據(jù)集 134.VGG+LSTM網(wǎng)絡(luò)的視覺問答系統(tǒng) 154.1數(shù)據(jù)預(yù)處理 154.1.1圖像數(shù)據(jù)歸約 154.1.2文本數(shù)據(jù)處理 154.2VQA系統(tǒng)結(jié)構(gòu) 164.3系統(tǒng)實(shí)現(xiàn)過程與驗(yàn)證結(jié)果 174.3.1系統(tǒng)運(yùn)行環(huán)境 174.3.2系統(tǒng)參數(shù)選擇 174.3.3系統(tǒng)評價標(biāo)準(zhǔn)和驗(yàn)證結(jié)果 184.4系統(tǒng)測試結(jié)果 185.總結(jié)和展望 225.1論文總結(jié) 225.2VQA的未來發(fā)展展望 22參考文獻(xiàn) 23附錄 25致謝 30PAGE2/29緒論1956年夏,在美國達(dá)特茅斯學(xué)院,麥卡錫、明斯基等科學(xué)家開會研討“如何用機(jī)器模擬人的智能”,首次提出“人工智能(ArtificialIntelligence,簡稱AI)”的概念,標(biāo)志著人工智能學(xué)科的誕生。在過去的六十多年內(nèi),人工智能的發(fā)展歷程跌宕起伏。從上世紀(jì)的九十年起,計(jì)算機(jī)領(lǐng)域進(jìn)入高速發(fā)展階段,人工智能同樣在算法(機(jī)器學(xué)習(xí)、深度學(xué)習(xí))、算力(云計(jì)算)和算料(大數(shù)據(jù))等“三算”方面取得了重要突破,使得人工智能在技術(shù)層面從“不能用”到“可以用”出現(xiàn)拐點(diǎn)。隨著人工智能的不斷發(fā)展,近年來,產(chǎn)生了視覺問答系統(tǒng)(visualquestionanswering,VQA)這一課題,并且成為人工智能研究的一大熱門問題。通俗的講,一個合格的VQA系統(tǒng)是將圖片和關(guān)于圖片的內(nèi)容信息的問題共同作為系統(tǒng)的輸入,然后系統(tǒng)結(jié)合圖片和問題的的信息特征,產(chǎn)生一條符合人類邏輯思維的自然語言作為輸出。針對一張?zhí)囟ǖ膱D片,如果想要機(jī)器以一條自然語言句子來回答關(guān)于該圖片的某一個特定問題,則需要讓機(jī)器對圖片的內(nèi)容、問題的含義和意圖以及日常的邏輯思維和常識都有一定的理解能力。故就其任務(wù)本身而言,這是一個多學(xué)科,跨領(lǐng)域的研究問題。1.1視覺問答系統(tǒng)視覺問答系統(tǒng)的定義:一個VQA系統(tǒng)以一張圖片和一個關(guān)于這張圖片形式自由、開放式的自然語言問題作為輸入,以生成一條自然語言答案作為輸出。簡單來說,VQA就是對給定的圖片進(jìn)行問答[1]。近來,開發(fā)出一個可以回答任意自然語言提問的計(jì)算機(jī)視覺系統(tǒng)可以說是一個充滿挑戰(zhàn)的目標(biāo),VQA的前身就是問答系統(tǒng)(QuestionAnsweringSystem,QA),問答系統(tǒng)同樣也是人工智能和自然語言處理領(lǐng)域的熱門研究問題。人工智能的研究過程就是將一個強(qiáng)AI的問題劃分為若干個弱AI的問題,對于VQA這樣一個復(fù)雜困難、涉及多學(xué)科的問題,我們可以將這個復(fù)雜問題劃分為圖像識別和文本語義分析兩個弱AI問題,于是本設(shè)計(jì)的VQA系統(tǒng)就是將深度學(xué)習(xí)(DeepLearning)領(lǐng)域內(nèi)計(jì)算機(jī)視覺(CV)和自然語言處理兩大研究方向進(jìn)行了融合。一個成功的VQA系統(tǒng)應(yīng)當(dāng)是什么樣子?接下來我們通過一張圖片,來進(jìn)一步理解VQA系統(tǒng),以及VQA系統(tǒng)的主要解決問題。如圖1-1圖1-1VQA問題描述圖上圖是理解VQA問題描述的經(jīng)典例圖,圖中有一個人物主體和兩條與圖片相關(guān)的自然語言問問題,首先分析第一個問題,問圖中女性的眼睛是什么顏色?對于這條問題,我們首先在NLP層面理解問題,可以提取到兩個關(guān)鍵的單詞eyes和color;然后在CV層面提取圖片的特征,針對圖像的像素值,紋理特征或者卷積特征(convolutionfeature)等夠準(zhǔn)確找到眼睛的位置信息,并且能夠提取到該區(qū)域一系列特征,包括顏色、紋理、形狀等特征和空間關(guān)系等;最后根據(jù)NLP提問的顏色提問,給出對應(yīng)的特征,然后由系統(tǒng)生成對應(yīng)的自然語言詞句作為回答。對于第二個問題,胡子的是由什么組成的?這個問題對于系統(tǒng)就要有更高的邏輯思維能力和常識意識。很明顯,通過人為邏輯思維理解判斷,問題并不是要問胡子的正常構(gòu)成成分,而是希望得到的回答是香蕉,即在胡子的位置是什么物體?因?yàn)榕砸话闱闆r下是沒有胡子的。所以,系統(tǒng)要有一定的常識判斷能力,再根據(jù)圖像特征提取到圖像的空間關(guān)系,文本語義信息處理,最后回答出正確的答案。1.2VQA背景和研究現(xiàn)狀1.2.1VQA發(fā)展背景和研究意義隨著自然語言處理技術(shù)的發(fā)展,許多研究逐漸轉(zhuǎn)向了復(fù)雜、更智能化的問題。2015年,AishwaryaAgrawal和DeviParikh等人發(fā)表文章,首次提出了VQA問題,并且給定了關(guān)于圖像的圖像和自然語言問題,任務(wù)是提供準(zhǔn)確的自然語言答案。他們提供了一個包含0.25M大小的圖像包,0.76M大小的問題包和10M大小的答案包的數(shù)據(jù)集,以及許多VQA的基線和方法,并與人類表現(xiàn)進(jìn)行了比較。作為一種區(qū)別于傳統(tǒng)卷積神經(jīng)網(wǎng)絡(luò)對圖片的處理(目標(biāo)檢測、圖像分割、場景識別等),VQA更側(cè)重與一種對圖像的描述,即通過自然語言處理技術(shù),將系統(tǒng)加入了更高層次的邏輯思維能力和常識思考能力。所以,VQA也進(jìn)一步的促進(jìn)了人機(jī)交互能力和強(qiáng)AI問題的發(fā)展。對于計(jì)算機(jī)多媒體領(lǐng)域的發(fā)展同樣起到促進(jìn)作用,對于海量圖像文本信息檢索和人工智能基礎(chǔ)測試和圖靈測試的發(fā)展也有幫助。在商業(yè)上,該系統(tǒng)的實(shí)現(xiàn)直接能夠讓視覺受損的用戶受益,同樣也可能改變傳統(tǒng)的兒童智能早教行業(yè)。1.2.2VQA的發(fā)展歷程和研究現(xiàn)狀(1)聯(lián)合嵌入法:Jointembeddingapproaches來源于深度學(xué)習(xí)的NLP的發(fā)展。相較于看圖說話,VQA則多了一步在兩個模態(tài)間的進(jìn)一步推理過程。一般的,圖像表示(imagerepresentations)用預(yù)訓(xùn)練的CNN模型,文本表示(Textrepresentations)用預(yù)訓(xùn)練的詞嵌入。詞嵌入就是將單詞映射到空間中,距離來度量語義相似度,然后將嵌入送到RNN中來處理語法和句子。具體的實(shí)現(xiàn)方法為:Malinowskietal等人提出了“Neural-Image-QA”模型[3],文本特征提取用加入了LSTM網(wǎng)絡(luò)的RNN來處理,圖像特征用預(yù)訓(xùn)練的CNN來處理,然后將兩個特征同時輸入到第一個編碼器LSTM中,再將生成的向量輸入到第二個解碼器LSTM中,最后會生成一個變化長度的答案,每次迭代產(chǎn)生一個單詞,知道產(chǎn)生<end>分詞為止。結(jié)構(gòu)如圖1-2:圖1-2聯(lián)合嵌入法框架圖聯(lián)合嵌入法非常直接,是目前大多數(shù)VQA的基礎(chǔ),除了上邊介紹的框架之外,還有許多使用聯(lián)合嵌入法的框架,基本都是基于預(yù)訓(xùn)練CNN來提取圖片特征和RNN來提取文本特征,只是在多模融合和答案生成時有所不同。目前該方法還有很大的提升空間。(2)注意力機(jī)制:Attentionmechanisms上面提出聯(lián)合嵌入法的模型,在視覺特征輸入這里,都是提取的全局特征作為輸入,會產(chǎn)生一些無關(guān)或者噪聲信息來影響輸出,而注意力機(jī)制就是利用局部特征來解決這個問題。注意力機(jī)制能夠改善提取全局特征的模型性能[4]。最近的研究表明,注意力機(jī)制盡管能夠提高VQA的總體精度,但是對于二值類問題卻沒有任何提升,一種假說是二值類問題需要更長的推理,這類問題的解決還需要進(jìn)一步研究。(3)合成模型:CompositionalModels這種方法是對不同模塊的連接組合,優(yōu)點(diǎn)是可以更好的進(jìn)行監(jiān)督。一方面,能夠方便轉(zhuǎn)換學(xué)習(xí),另一方面能夠使用深度監(jiān)督“deepsupervision”。這里主要討論的合成模型有兩個,一個是NeuralModuleNetworks(NMN),另一個是DynamicMemoryNetworks(DMN)。Andreasetal等人提出了NeuralModuleNetworks(NMN)[5],NMN的貢獻(xiàn)在于對連續(xù)視覺特征使用了邏輯推理,而替代了離散或邏輯預(yù)測。模型的結(jié)構(gòu)框架如圖1-3:圖1-3合成模型模型的輸入和輸出一共有三類:圖像,圖像注意力區(qū)域,標(biāo)簽。該方法比傳統(tǒng)方法能更好的進(jìn)行推理,處理更長的問題。但是局限性在于問題解析這里出現(xiàn)了瓶頸,此外,模塊結(jié)合采用問題簡化的方式,這就忽略了一些語法線索。(4)使用外部知識的模型:ModelsusingexternalknowledgebasesVQA在理解圖像內(nèi)容時,經(jīng)常需要一些非視覺的先驗(yàn)信息,涉及范圍可以從常識到專題,目前已有的外部知識庫包括:DBpedia、Freebase、YAGO、OpenIE、NELL、WebChild、ConceptNet。Wangetal等人提出了基于DBpedia[6]的VQA網(wǎng)絡(luò)命名為“Ahab”,,首先用CNN提取視覺概念,然后結(jié)合DBpedia中相似的概念,再學(xué)習(xí)image-question到查詢的過程,通過總結(jié)查詢結(jié)果來獲得最終答案。還有一種基于該方法的改進(jìn)模型,叫FVQA。是Wuetal等人提出了一種利用外部知識的聯(lián)合嵌入法,首先用CNN提取圖像的語義屬性,然后從DBpedia檢索相關(guān)屬性的外部知識,將檢索到的知識用Doc2Vec嵌入到詞向量中,最后將詞向量傳入到LSTM網(wǎng)絡(luò),對問題進(jìn)行解釋并生成答案。但這種方法同樣存在性能和缺陷,一個問題就是這些模型的問題類型都有限。1.3論文結(jié)構(gòu)安排第一章,主要介紹視覺問答系統(tǒng)的定義和發(fā)展背景,以及VQA目前的發(fā)展前景和在未來商業(yè)上的潛在應(yīng)用價值。最后總結(jié)了一下當(dāng)前VQA的研究過程中,目前常用的四種研究方法。第二章,主要介紹本論文系統(tǒng)需要使用的相關(guān)技術(shù),包括圖像和問題的特征提取,以及最后系統(tǒng)生成回答的方法。其中重點(diǎn)講解VGG和LSTM兩個神經(jīng)網(wǎng)絡(luò)的原理和運(yùn)用。第三章,介紹當(dāng)前的VQA研究過程中主要使用的數(shù)據(jù)集,并且詳細(xì)介紹本文中使用的數(shù)據(jù)集。第四章,主要介紹本論文中VQA系統(tǒng)的框架結(jié)構(gòu)和訓(xùn)練驗(yàn)證結(jié)果。主要采用VGG+LSTM作為特征提取網(wǎng)絡(luò),最后使用softmax分類器作為系統(tǒng)的輸出。在訓(xùn)練過程中數(shù)據(jù)的預(yù)處理,參數(shù)的選擇和調(diào)節(jié)以及最后的系統(tǒng)性能的評價方案。第五章,總結(jié)本論文的主要工作,以及對未來VQA發(fā)展進(jìn)行展望。
2.相關(guān)工作準(zhǔn)備本文采取VQA的研究方法是基于上邊所介紹的聯(lián)合嵌入法,同樣是用預(yù)訓(xùn)練的CNN網(wǎng)絡(luò)來提取圖像的特征,使用RNN網(wǎng)絡(luò)來進(jìn)行文本的特征提取,然而當(dāng)前并沒有一個科學(xué)準(zhǔn)確地評價自然語言句子精準(zhǔn)度的標(biāo)準(zhǔn),因此我們只能在有技術(shù)方法中,用一個單詞作為VQA的輸出答案,這樣就可以把視覺問答任務(wù)轉(zhuǎn)換成一個多分類問題,從而可以利用現(xiàn)有的準(zhǔn)確度評價標(biāo)準(zhǔn)來度量系統(tǒng)性能。我們在開始構(gòu)建模型框架之前,我們首先介紹用來進(jìn)行圖像特征提取的VGG網(wǎng)絡(luò)和進(jìn)行文本特征提取的LSTM網(wǎng)絡(luò),以及最后用來產(chǎn)生答案的分類[7]。2.1圖像特征提取卷積神經(jīng)網(wǎng)絡(luò)(CNN)最初設(shè)計(jì)被用來做圖片分類工作,近來也被用來做圖像分割,圖像風(fēng)格遷移以及其他計(jì)算機(jī)視覺的工作;當(dāng)然,也有被用來做NLP的例子。卷積神經(jīng)網(wǎng)絡(luò)是最能解釋深度學(xué)習(xí)的模型之一,因?yàn)槲覀兛梢詫⑺谋磉_(dá)特征可視化來理解它可能學(xué)習(xí)到的東西。VGG是Oxford的VisualGeometryGroup的組提出的。該網(wǎng)絡(luò)是在ILSVRC2014上的首次被提出,主要工作是為了證明在保證模型具有相同大小的感受野的情況下,增加網(wǎng)絡(luò)的深度能夠在一定程度上提高網(wǎng)絡(luò)最終的性能。常用到的VGG網(wǎng)絡(luò)有兩種,分別是VGG-16和VGG-19,兩個網(wǎng)絡(luò)并沒有本質(zhì)上的區(qū)別,只是網(wǎng)絡(luò)深度不一樣,VGG-16網(wǎng)絡(luò)結(jié)構(gòu)如圖2-1。圖2-1VGG-16模型結(jié)構(gòu)在用來處理圖像的卷積神經(jīng)網(wǎng)絡(luò)中,VGG網(wǎng)絡(luò)是我最喜歡使用的網(wǎng)絡(luò),并且是我認(rèn)為最好用的網(wǎng)絡(luò)。VGG網(wǎng)絡(luò)的結(jié)構(gòu)非常清晰簡明,整個網(wǎng)絡(luò)都使用了大小尺寸相同的卷積核(3x3)和最大池化尺寸(2x2)。同AlexNet網(wǎng)絡(luò)相比,這樣做的目的就是在相同感受野和步長的情況下,VGG網(wǎng)絡(luò)使用幾個小濾波器(3x3)卷積層的組合比AlexNet網(wǎng)絡(luò)使用一個大濾波器(5x5或7x7)卷積層效果更好,并且驗(yàn)證了通過不斷加深神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)的深度,這樣可以同時提升網(wǎng)絡(luò)的整體性能。但是,更換了小的卷積核尺寸,網(wǎng)絡(luò)的性能得到了提高,但卻耗費(fèi)更多計(jì)算資源,在相同的計(jì)算性能下,VGG網(wǎng)絡(luò)花費(fèi)了更多的計(jì)算時間,提取圖像的卷積特征變得更慢,主要的原因是在網(wǎng)絡(luò)層使用了更多的參數(shù),其中大部分的權(quán)重參數(shù)都是來自于第一個全連接層,并且,VGG網(wǎng)絡(luò)有3個全連接層。這樣使得模型參數(shù)權(quán)重達(dá)到500M左右。2.2文本特征提取循環(huán)神經(jīng)網(wǎng)絡(luò)(RecurrentNeuralNetwork,RNN)[8]是一類以序列(sequence)數(shù)據(jù)(相互依賴的數(shù)據(jù)流,比如時間序列數(shù)據(jù)、信息性的字符串、對話等)為輸入。在序列的演進(jìn)方向進(jìn)行遞歸(recursion),且所有節(jié)點(diǎn)(循環(huán)單元)按鏈?zhǔn)竭B接的遞歸神經(jīng)網(wǎng)絡(luò)(recursiveneuralnetwork)。RNN可以用到很多領(lǐng)域中去,除了本設(shè)計(jì)中用來文本分析和文本生成之外,RNN還用在機(jī)器翻譯,語音識別,生成圖像描述,視頻標(biāo)記等領(lǐng)域。引入了卷積神經(jīng)網(wǎng)絡(luò)構(gòu)筑的循環(huán)神經(jīng)網(wǎng)絡(luò)可以處理包含序列輸入的計(jì)算機(jī)視覺問題。在二十世紀(jì)80-90年代,開始了對循環(huán)神經(jīng)網(wǎng)絡(luò)的研究,并在二十一世紀(jì)初發(fā)展為深度學(xué)習(xí)優(yōu)秀算法之一
,其中雙向循環(huán)神經(jīng)網(wǎng)絡(luò)(BidirectionalRNN,Bi-RNN)和長短期記憶網(wǎng)絡(luò)(LongShort-TermMemorynetworks,LSTM)是常見的循環(huán)神經(jīng)網(wǎng)絡(luò),接下來主要闡述LSTM網(wǎng)絡(luò)的工作原理。LSTM是一種特殊的RNN模型,是由Hochreiter&Schmidhuber在1997年首先提出,最初是為了解決RNN模型梯度彌散的問題,但是在后來的工作中被許多人精煉和推廣,現(xiàn)在被廣泛的使用。在傳統(tǒng)的RNN中,訓(xùn)練過程使用的是基于時間的反向傳播算法(back-propagationthroughtime,BPTT),當(dāng)時間比較長時,需要回傳的誤差會指數(shù)下降,導(dǎo)致網(wǎng)絡(luò)權(quán)重更新緩慢,無法體現(xiàn)出RNN的長期記憶的效果,因此需要一個存儲單元來存儲記憶,因此LSTM模型順勢而生。從圖2-2和2-3我們可以看出傳統(tǒng)RNN網(wǎng)絡(luò)和LSTM網(wǎng)絡(luò)兩種模塊鏈的區(qū)別。圖2-2傳統(tǒng)RNN網(wǎng)絡(luò)層結(jié)構(gòu)圖2-3LSTM網(wǎng)絡(luò)層結(jié)構(gòu)與RNN網(wǎng)絡(luò)的結(jié)構(gòu)不同之處是LSTM網(wǎng)絡(luò)最頂層多了一條名為“cellstate”的信息傳播帶,cellstate就是信息記憶的地方,如圖2-4。圖2-4cellstate其實(shí)就是整個模型中的記憶空間,隨著時間而變化的,當(dāng)然,cellstate本身是無法控制哪些信息是否被記憶,而真正其控制作用的是控制門(gate);控制門的結(jié)構(gòu)如圖2-5:主要由一個sigmoid函數(shù)跟點(diǎn)乘操作組成;sigmoid函數(shù)的值域在0-1之間,點(diǎn)乘操作決定多少信息可以傳送過去,當(dāng)sigmoid函數(shù)值為0時,則cellstate不傳送存儲的信息,當(dāng)sigmoid函數(shù)值為1時,則cellstate將所有存儲的信息進(jìn)行傳送。LSTM中有3個控制門:輸入門、輸出門、記憶門,三個控制門作用各不相同,具體功能如下:圖2-5控制門結(jié)構(gòu)圖(1)記憶門:如圖2-6,選擇忘記或者存儲過去某些記憶信息,即公式(2-1):圖2-6記憶門ft=σWf?(2)輸入門:如圖2-7,存儲當(dāng)前輸入的某些信息,即公式(2-2)、(2-3):圖2-7輸入門itCt=tanhW(3)如圖2-8,將記憶門與輸入門的存儲信息進(jìn)行合并,即公式(2-4):圖2-9記憶門與輸入門合并Ct(4)輸出門:如圖2-10,存儲傳遞到下一個模塊鏈記憶門的信息,即公式(2-5)、(2-6):圖2-10輸出門otht2.3輸出分類器分類是數(shù)據(jù)挖掘的一種非常重要的方法。分類的概念是在已有數(shù)據(jù)的基礎(chǔ)上學(xué)會一個分類函數(shù)或構(gòu)造出一個分類模型(即我們通常所說的分類器(Classifier))。分類器是數(shù)據(jù)挖掘中對樣本進(jìn)行分類的方法的統(tǒng)稱,常用的分類方法包含決策樹、邏輯回歸、樸素貝葉斯、支持向量機(jī)(SVM)等算法。對于本文的VQA系統(tǒng),我的期待的輸出答案,本應(yīng)該是將圖像特征和文本特征進(jìn)行多模態(tài)融合,然后在傳入LSTM網(wǎng)絡(luò)進(jìn)行訓(xùn)練,然后生成一條自然語言的特征向量,最后經(jīng)過一個文本解碼器輸出。但是鑒于現(xiàn)在沒有一個好的評價生成自然語言準(zhǔn)確率的標(biāo)準(zhǔn),我們用一個關(guān)鍵單詞來替換自然語言句子作為系統(tǒng)的最后輸出,具體做法如下文。本文對所有訓(xùn)練數(shù)據(jù)的回答進(jìn)行處理,將所有的回答出現(xiàn)按次數(shù)統(tǒng)計(jì),然后排序,選擇前1000個經(jīng)常出現(xiàn)的答案,這些答案中包括yes、no、1、2、red、green等在現(xiàn)實(shí)生活中經(jīng)常用的回答,而且這個回答樣本基本上已經(jīng)涵蓋了整個回答數(shù)據(jù)集的82.67%以上的回答。于是我們就將系統(tǒng)轉(zhuǎn)換成一個1000類的多分類問題。softmax分類器是神經(jīng)網(wǎng)絡(luò)中最常用的分類器。它簡單有效,所以十分流行。Softmax的原理就是,對于一個輸入x,我們想知道它是N個類別中的哪一類?,F(xiàn)有一個模型,能對輸入x輸出N個類別的評分,評分越高代表x是這個類別的可能性越大,評分最高的被認(rèn)為是x正確的類別。然而評分范圍很廣,我們希望把它變成一個概率,而softmax就是一個能將+∞,softmaxs其中si表示模型對輸入x在第i個
3.VQA數(shù)據(jù)集與自然語言處理或計(jì)算機(jī)視覺中的許多問題一樣,例如機(jī)器翻譯、圖像標(biāo)注(ImageCaptioning)或圖像識別,數(shù)據(jù)集的可用性是一個關(guān)鍵問題。VQA領(lǐng)域非常復(fù)雜,一個好的數(shù)據(jù)集體積應(yīng)該足夠大,大到能夠在真實(shí)的場景中捕捉問題和圖像內(nèi)容的各種可能性。如今許多數(shù)據(jù)集中的圖像都來自微軟的MS-COCO數(shù)據(jù)集,這個數(shù)據(jù)集包含了32.8萬張圖像,91個對象類型,250萬個標(biāo)記的實(shí)例,涵蓋了現(xiàn)實(shí)生活各個場景。目前,在學(xué)者和企業(yè)的研究過程中,已經(jīng)出現(xiàn)許多VQA的數(shù)據(jù)集[9],主要包括四類:第一類是自然場景的數(shù)據(jù)集,有DAQUAR、COCO-QA、FM-IQA、VQA-real、VisualGenome、Visual7W、VQA-v1和VQA-v2等;第二類是合成場景的數(shù)據(jù)集,有VQAabstractscenes、Balanceddataset和CLEVR等;第三類是外部知識數(shù)據(jù)集,主要有KB-VQA和FVQA;最后一類就是其他的數(shù)據(jù)集,主要有Diagrams和Shapes。本文研究過程中所使用的是第一類的自然場景數(shù)據(jù)集。接下來主要介紹DAQUAR、COCO-QA、VQA-v1和VQA-v2這幾個數(shù)據(jù)集:(1)DAQUAR(DAtasetforQUestionAnsweringonReal-worldimages)DAQUAR數(shù)據(jù)集是最早的,也是最小的VQA數(shù)據(jù)集包含了6795張訓(xùn)練數(shù)據(jù)和5673張測試數(shù)據(jù),所有圖像來自于數(shù)據(jù)集NYU-DepthV2Dataset。該數(shù)據(jù)集質(zhì)量較差,一些圖像雜亂無章,分辨率低,并且問題和回答有明顯的語法錯誤。雖然這個數(shù)據(jù)集是一項(xiàng)偉大的創(chuàng)舉,但NYU的數(shù)據(jù)集只包含室內(nèi)場景。關(guān)于在室外的問題就很難回答出來。對人類的評估,NYU數(shù)據(jù)集顯示了50.2%的準(zhǔn)確率。DAQUAR數(shù)據(jù)集的另一個缺點(diǎn)是它的大小使它不適合用于訓(xùn)練和評估復(fù)雜模型。(2)COCO-QACOCO-QA數(shù)據(jù)集比DAQUAR大得多。它包含123,287張來自COCO數(shù)據(jù)集的圖片,78,736個訓(xùn)練和38,948個測試question-answerpairs。為了創(chuàng)建如此大量的question-answerpairs,RenM,KirosR,ZemelR等人[10]使用了自然語言處理算法來自動從COCO圖像標(biāo)注(imagecaption)中生成它們。例如,對于一個給定的標(biāo)注,比如“房間里的兩把椅子”,它們會產(chǎn)生一個如“有多少椅子?”的問題,必須注意的是,所有的答案都是一個單一的詞。雖然這種做法很聰明,但這里存在的問題是,這些問題都具有自然語言處理的限制,所以它們有時會被奇怪地表述出來,或者有語法錯誤。在某些情況下,它們的表達(dá)是難以理解的。另一個不便之處是,數(shù)據(jù)集只有四種問題,問題分布也不均勻:對象(69.84%)、顏色(16.59%)、計(jì)數(shù)(7.47%)和位置(6.10%)。(3)VQA-v1和VQA-v2與其他數(shù)據(jù)集相比,VQA數(shù)據(jù)集比較大。除了來自COCO數(shù)據(jù)集的204,721張圖片外,它還包含5萬個抽象的卡通圖片。每個圖像對應(yīng)三個問題,每個問題有十個答案。由此可以得出VQA數(shù)據(jù)集有超過76萬個問題,大約有1000萬個答案。VQA-v1發(fā)布于2015年,VQA-v2發(fā)布于2017年,兩個版本都是基于微軟的COCO數(shù)據(jù)集。v2是在v1的基礎(chǔ)上,兩個數(shù)據(jù)集都是人工標(biāo)注的問答數(shù)據(jù)集,v2相較于v1盡量減少了語言偏見。對于問題的類型:v1是多項(xiàng)選擇得問題(Multiple-Choice),v2是開放式問答(Open-Ended)。每個版本的數(shù)據(jù)集內(nèi),除了圖片都相同之外,分別還有訓(xùn)練數(shù)據(jù)、驗(yàn)證數(shù)據(jù)和測試數(shù)據(jù)的問題和答案,都是以josn文件存儲。具體的文件格式如下表3-1:表3-1VQA數(shù)據(jù)集字段類型NameType類型Description描述image_idint圖片IDquestion_idint圖片對應(yīng)的問題IDquestionstr圖片對應(yīng)的問題answer_idint問題對應(yīng)的回答IDanswerstr問題對應(yīng)的回答本文的系統(tǒng)使用的數(shù)據(jù)集,受計(jì)算機(jī)性能的限制,采用是對VQA-v2的部分?jǐn)?shù)據(jù),其中包括訓(xùn)練圖像82,738張,大約12.7G,驗(yàn)證圖像40,504張,大約6.25G。
4.VGG+LSTM網(wǎng)絡(luò)的視覺問答系統(tǒng)4.1數(shù)據(jù)預(yù)處理第三章我們已經(jīng)介紹了VQA的數(shù)據(jù)集,這里我們選擇VQA-v1版本的數(shù)據(jù)集,它分為兩部分:一部分是由MS-COCO數(shù)據(jù)集提供的,包含現(xiàn)實(shí)世界照片的數(shù)據(jù)集,以及另一個包含了抽象圖畫場景的數(shù)據(jù)集。后者通常只包括人物等內(nèi)容,移除了圖像噪聲,主要用于進(jìn)行高階的推理用途。問題和答案由眾包源的標(biāo)注員提供。每個問題有十個答案,答案分別來自不同的標(biāo)注員。答案通常都是一個單詞或是短句。大約40%的問題答案為是或否。為了評估需要,同時提供開放性答案和多選答案兩種格式。多選答案的問題一共有18個備選答案。本實(shí)驗(yàn)將開放性VQA視為N分類問題,即選擇出現(xiàn)頻率最高的N個答案,然后對于每一組問題和圖像輸入,輸出一個分類。作為答案。本實(shí)驗(yàn)選擇的N=1000,大約覆蓋了整個數(shù)據(jù)集中答案的82.67%。4.1.1圖像數(shù)據(jù)歸約對于tensorflow深度學(xué)習(xí)的框架,需要的數(shù)據(jù)是一個張量(tensor)。在本系統(tǒng)中,用scipy這個科學(xué)計(jì)算工具包來加載圖片,然后用numpy將加載的圖片轉(zhuǎn)換為一個224*223*3的三維數(shù)組向量,并且將數(shù)組內(nèi)的每個像素值除以225,歸約到0-1之間,因?yàn)閂GG-16網(wǎng)絡(luò)接受的是像素在0-1的RGB三通道圖像。并且載數(shù)據(jù)規(guī)約之后,圖像像素值雖然變小,但仍大致保持原數(shù)據(jù)的完整性。這樣,在歸約后的數(shù)據(jù)集上挖掘?qū)⒏行?,并產(chǎn)生相同(或幾乎相同)的分析結(jié)果,同時更加利于模型訓(xùn)練過程的損失函數(shù)下降和網(wǎng)絡(luò)權(quán)重參數(shù)的優(yōu)化。4.1.2文本數(shù)據(jù)處理數(shù)據(jù)集內(nèi)的訓(xùn)練和驗(yàn)證question-answer都是以josn文件存儲,文件比較大,而且存在不同圖片相同問題的情況。在訓(xùn)練過程中,如果每次都用IO來讀取文件,過程會比較慢,同時占用計(jì)算資源,這里我們將所有的question-answer和對應(yīng)ID從json文件中抽取,然后一一對應(yīng)整合到同一個文件,并且以pkl文件的形式存儲。同樣在最后softmax分類器最后輸出結(jié)果的時候,需要一個解碼過程,這時候我們需要一個參照的數(shù)據(jù)字典(vocab),就是將前1000個最常出現(xiàn)的回答,與他們的向量特征做一個一一對應(yīng)的參照,同樣我們以pkl文件存儲,每次我們的系統(tǒng)回答結(jié)果只需要在這個vocab文件內(nèi)進(jìn)行轉(zhuǎn)換之后輸出就可以了。4.2VQA系統(tǒng)結(jié)構(gòu)本文的VQA系統(tǒng)采用VGG+LSTM網(wǎng)絡(luò)來設(shè)計(jì)[11],系統(tǒng)的框架如圖4-1:圖4-1VQA系統(tǒng)結(jié)構(gòu)系統(tǒng)整體可分為三部分:圖像特征提取、問題特征提取、答案生成分類器[11]。圖像的特征提取使用VGG-16網(wǎng)絡(luò),這里將第二個全連接層的輸出作為圖片的特征向量,最終得到一個一維的4096長度大小的向量。然后將這個向量進(jìn)行一個線性映射,以便于和后邊的文本特征進(jìn)行模態(tài)融合[11]。問題特征提取使用一個兩層的LSTM網(wǎng)絡(luò),每一層LSTM都有512大小的模塊鏈。對于每一個問題進(jìn)行編碼的時候,都將其轉(zhuǎn)換為一個長度為512的向量然后傳入LSTM網(wǎng)絡(luò)中。每一個問題經(jīng)過LSTM網(wǎng)絡(luò)特征提取后,和圖片的特征進(jìn)行模態(tài)融合,將圖像的特征添加到問題特征后邊然后再次進(jìn)入LSTM進(jìn)行特征提取,然后生成一個長度為1000的特征向量,傳入答案生成分類器中。答案生成分類器選擇的是softmax分類器,將神經(jīng)網(wǎng)絡(luò)輸出的長度為1000的向量映射到對應(yīng)分類的概率,然后選擇概率值最大的類別就是正確的分類結(jié)果,經(jīng)過解碼器輸出即可。同樣的方法,我們選擇概率為前五的向量,將其解碼輸出,就是系統(tǒng)得到的最可能回答結(jié)果。4.3系統(tǒng)實(shí)現(xiàn)過程與驗(yàn)證結(jié)果4.3.1系統(tǒng)運(yùn)行環(huán)境本實(shí)驗(yàn)在WindowsPC端運(yùn)行,具體硬件設(shè)備性能:Inter(R)Core(TM)i5-8200UCPU@1.6GHZ1.80GHZ8核,16GB運(yùn)行內(nèi)存;軟件配置:windows10操作系統(tǒng),Python3.7tensorflow1.14.0。4.3.2系統(tǒng)參數(shù)選擇在上文的我們已經(jīng)介紹了VQA的部分參數(shù),VGG網(wǎng)絡(luò)為預(yù)訓(xùn)練的網(wǎng)絡(luò),圖片的特征向量為大小4096的一維特征向量,問題特征提取網(wǎng)絡(luò)為一個兩層的LSTM,每層LSTM網(wǎng)絡(luò)有512個隱藏模塊鏈,輸出的文本特征向量大小為512的一維特征向量,softmax分類器輸出長度為1000的一維特征向量。但是為了防止系統(tǒng)的過擬合,我們的VGG和LSTM網(wǎng)絡(luò)后邊都加上一個大小為0.5的Dropout,就是隨即丟棄50%的神經(jīng)單元,強(qiáng)迫網(wǎng)絡(luò)去學(xué)習(xí)更多特征,以此來提高模型的泛化能力。系統(tǒng)的學(xué)習(xí)率(learn-rate),初始設(shè)定為0.0001,在tensorflow中,AdamOptimizer函數(shù)可以自動調(diào)節(jié)網(wǎng)絡(luò)的學(xué)習(xí)率,該函數(shù)是基于Adam算法,AdamOptimizer可控制學(xué)習(xí)速度調(diào)節(jié),經(jīng)過偏置校正后,每一次迭代學(xué)習(xí)率都有個確定范圍,使得參數(shù)比較平穩(wěn)。Adam這個名字來源于自適應(yīng)矩估計(jì)(AdaptiveMomentEstimation),也是梯度下降算法的一種變形,但是每次迭代參數(shù)的學(xué)習(xí)率都有一定的范圍,不會因?yàn)樘荻群艽蠖鴮?dǎo)致學(xué)習(xí)率(步長)也變得很大,參數(shù)的值相對比較穩(wěn)定。概率論中矩的含義是:如果一個隨機(jī)變量X服從某個分布,X的一階矩是E(X),也就是樣本平均值,X的二階矩就是E(X^2),也就是樣本平方的平均值。Adam算法利用梯度的一階矩估計(jì)和二階矩估計(jì)動態(tài)調(diào)整每個參數(shù)的學(xué)習(xí)率。訓(xùn)練過程BATCH_SIZE設(shè)定為200,迭代次數(shù)(epochs)為12次,關(guān)于BATCH_SIZE的設(shè)置我要根據(jù)實(shí)際情況來定,BATCH_SIZE的定義為一次訓(xùn)練所選取的樣本數(shù),在卷積神經(jīng)網(wǎng)絡(luò)中,如果是小樣本的數(shù)據(jù)集訓(xùn)練,也可以不設(shè)置BATCH_SIZE,一次將樣本全部傳入網(wǎng)絡(luò)中去,但是大型的數(shù)據(jù)集,一次的樣本全部傳入網(wǎng)絡(luò)中去,勢必將引起內(nèi)存爆炸,于是就提出BATCH_SIZE的概念。通過訓(xùn)練過程,發(fā)現(xiàn)在迭代12次之后,系統(tǒng)的損失函數(shù)不在下降,準(zhǔn)確率在52%左右,不再有明顯提高。4.3.3系統(tǒng)評價標(biāo)準(zhǔn)和驗(yàn)證結(jié)果本系統(tǒng)最后將VQA問題轉(zhuǎn)換為一個多分類問題,所以,用準(zhǔn)確率來衡量系統(tǒng)的性能。VQA數(shù)據(jù)集也給出了一種評估方法[7]:min系統(tǒng)給出的答案與數(shù)據(jù)集人為標(biāo)定的答案完全相同3,我們根據(jù)這個評價標(biāo)準(zhǔn),用驗(yàn)證數(shù)據(jù)集來評價系統(tǒng),最終得到經(jīng)過12個epochs之后,系統(tǒng)的準(zhǔn)確率為50.3%。4.4系統(tǒng)測試結(jié)果系統(tǒng)正確回答測試如表(4-1):表4-1系統(tǒng)正確回答問題展示表PictureQuestionTop5answerWhataretheydoing?1.surfing2.swimming3.flyingkite4.walking5.drinkingHowmanydogsinthispicture?4.45.3Whatsportisthis?1.skateboarding2.parasailing3.snowboarding4.skiing5.surfingWhatanimalisthis?1.zebra2.horse3.cow4.zebras5.goat系統(tǒng)錯誤回答測試如表(4-2):表4-2系統(tǒng)錯誤回答問題展示表PictureQuestionTop5answerWhatcolorofthiscat?1.white2.orange3.whiteandbrown4.gray5.blackHowmanypeopleinthepicture?4.15.5Whatcoloristheemptyplateonthetable?1.red2.black3.yellow4.white5.grayWhat’sonthebook?1.bottle2.trees3.vase4.woman5.statue通過上邊幾組測試結(jié)果,我們就可以發(fā)現(xiàn),目前我們訓(xùn)練出來的VQA系統(tǒng),對于較為簡單的問題的圖像,系統(tǒng)的成功率比較高;但是針對需要計(jì)數(shù)、推理、相對復(fù)雜的、具有一定邏輯思維能力或者常識性的問題,或者圖片的內(nèi)容比較復(fù)雜,問題相關(guān)主體在圖像中相對尺寸比較小、像素值模糊,這樣系統(tǒng)的出錯幾率就會增加[13]。
5.總結(jié)和展望本章主要對本論文的主要內(nèi)容進(jìn)行總結(jié),以及對未來VQA的發(fā)展研究方向進(jìn)行展望[14]。5.1論文總結(jié)本文的主要工作是利用VGG和LSTM模型,將計(jì)算機(jī)視覺(CV)和自然語言處理(NLP)兩大領(lǐng)域相結(jié)合,完成了視覺問答任務(wù)。論文的具體工作討論了VQA的研究意義和現(xiàn)如今的發(fā)展現(xiàn)狀;并且介紹了目前VQA研究過程中常用到的數(shù)據(jù)集,并且對本文中用到的數(shù)據(jù)集驚醒了詳細(xì)介紹;在VQA系統(tǒng)的實(shí)現(xiàn)過程中,詳細(xì)闡述了圖像和問題的特征提取方法,以及最后的答案產(chǎn)生過程;載系統(tǒng)模型訓(xùn)練完成后,通過制定評價方法,使用驗(yàn)證數(shù)據(jù)集,驗(yàn)證了系統(tǒng)的準(zhǔn)確性。5.2VQA的未來發(fā)展展望在本文的驗(yàn)證和測試結(jié)果中,發(fā)現(xiàn)本文的VQA系統(tǒng)準(zhǔn)確性并不是太高,而且對于一些復(fù)雜圖像和有一定邏輯思維問題處理效果不是太好,說明未來的VQA系統(tǒng)還有很大的提升發(fā)展空間。究其原因,VGG對圖像信息進(jìn)行特征提取是基于全圖進(jìn)行,LSTM網(wǎng)絡(luò)在學(xué)習(xí)過程中的知識來源只有訓(xùn)練集中的問答對,知識結(jié)構(gòu)比較簡單且信息量匱乏。所以未來,VQA的問答數(shù)據(jù)集應(yīng)該得到擴(kuò)充,而且問題和回答的質(zhì)量需要更高,當(dāng)然,這是一個非常耗時、耗資的巨大任務(wù)量。對于圖像的特征提取,未來的趨勢是加入注意力機(jī)制,可以讓神經(jīng)網(wǎng)絡(luò)在進(jìn)行特征提取時,更加聚焦在問題對圖像提問的關(guān)鍵部分。同時,隨著多媒體視頻的發(fā)展,未來視頻存儲會和圖片、文本一樣在我們生活中使用越來越多,同樣,對于VQA的發(fā)展必將應(yīng)用在視頻技術(shù)處理中[15]。隨著深度學(xué)習(xí)的發(fā)展,計(jì)算機(jī)視覺和自然語言處理領(lǐng)域的技術(shù)越來越成熟,未來的VQA系統(tǒng)肯定會越來越精準(zhǔn)。
參考文獻(xiàn)[1]QiWu,DamienTeney,PengWang,ChunhuaShen,AnthonyDick,AntonvandenHengel.Visualquestionanswering:Asurveyofmethodsanddatasets[J].ComputerVisionandImageUnderstanding,2017.[2]李健,姚亮.融合多特征深度學(xué)習(xí)的地面激光點(diǎn)云語義分割[J/OL].測繪科學(xué):1-11[2020-05-18].[3]M.Malinowski,M.Rohrbach,andM.Fritz.AskYourNeurons:ANeural-basedApproachtoAnsweringQuestionsaboutImages.InProc.IEEEInt.Conf.Comp.Vis.,2015[4]K.Chen,J.Wang,L.-C.Chen,H.Gao,W.Xu,andR.Nevatia.ABC-CNN:AnAttentionBasedConvolutionalNeuralNetworkforVisualQuestionAnswering.arXivpreprintarXiv:1511.05960,2015[5]J.Andreas,M.Rohrbach,T.Darrell,andD.Klein.NeuralModuleNetworks.InProc.IEEEConf.Comp.Vis.Patt.Recogn.,2016[6]Q.Wu,P.Wang,C.Shen,A.Dick,andA.v.d.Hengel.AskMeAnything:Free-formVisualQuestionAnsweringBasedonKnowledgefromExternalSources.InProc.IEEEConf.Comp.Vis.Patt.Recogn.,2016[7]張昊偉.基于多渠道卷積神經(jīng)網(wǎng)絡(luò)-LSTM的可視化問答系統(tǒng)研究[D].云南大學(xué),2018.[8]陳凱.深度學(xué)習(xí)模型的高效訓(xùn)練算法研究[D].中國科學(xué)技術(shù)大學(xué),2016.[9]K.Kafle,C.Kanan."VisualQuestionAnswering:Datasets,Algorithms,andFutureChallenges."
ComputerVisionandImageUnderstanding,2017[10]RenM,KirosR,ZemelR.ExploringModelsandDataforImageQuestionAnswering[J].2015.[11]M.Ren,R.Kiros,andR.Zemel.ImageQuestionAnswering:AVisualSemanticEmbeddingModelandaNewDataset.InProc.AdvancesinNeuralInf.Process.Syst.,2015.[12]白亞龍.面向圖像與文本的多模態(tài)關(guān)聯(lián)學(xué)習(xí)的研究與應(yīng)用[D].哈爾濱工業(yè)大學(xué),2018.[13]葛夢穎,孫寶山.基于深度學(xué)習(xí)的視覺問答系統(tǒng)[J].現(xiàn)代信息科技,2019,3(11):11-13+16.[14]王旭.基于深度學(xué)習(xí)的視覺問答系統(tǒng)研究[D].吉林大學(xué),2018.[15]YunseokJang,
YaleSong,
ChrisDongjooKim,
YoungjaeYu,
YoungjinKim,
GunheeKim.InternationalJournalofComputerVision,2019,Vol.127(10),pp.1385-1412
附錄vis+lstm_model.pyimporttensorflowastf
importmath
classVis_lstm_model:
definit_weight(self,dim_in,dim_out,name=None,stddev=1.0):
returntf.Variable(tf.truncated_normal([dim_in,dim_out],stddev=stddev/math.sqrt(float(dim_in))),name=name)
definit_bias(self,dim_out,name=None):
returntf.Variable(tf.zeros([dim_out]),name=name)
def__init__(self,options):
withtf.device('/cpu:0'):
self.options=options
#+1forzeropadding
self.Wemb=tf.Variable(tf.random_uniform([options['q_vocab_size']+1,options['embedding_size']],-1.0,1.0),name='Wemb')
self.Wimg=self.init_weight(options['fc7_feature_length'],options['embedding_size'],name='Wimg')
self.bimg=self.init_bias(options['embedding_size'],name='bimg')
#TODO:Assumedembeddingsizeandrnn-sizetobesame
self.lstm_W=[]
self.lstm_U=[]
self.lstm_b=[]
foriinrange(options['num_lstm_layers']):
W=self.init_weight(options['rnn_size'],4*options['rnn_size'],name=('rnnw_'+str(i)))
U=self.init_weight(options['rnn_size'],4*options['rnn_size'],name=('rnnu_'+str(i)))
b=self.init_bias(4*options['rnn_size'],name=('rnnb_'+str(i)))
self.lstm_W.append(W)
self.lstm_U.append(U)
self.lstm_b.append(b)
self.ans_sm_W=self.init_weight(options['rnn_size'],options['ans_vocab_size'],name='ans_sm_W')
self.ans_sm_b=self.init_bias(options['ans_vocab_size'],name='ans_sm_b')
defforward_pass_lstm(self,word_embeddings):
x=word_embeddings
output=None
forlinrange(self.options['num_lstm_layers']):
h=[Noneforiinrange(self.options['lstm_steps'])]
c=[Noneforiinrange(self.options['lstm_steps'])]
layer_output=[]
forlstm_stepinrange(self.options['lstm_steps']):
iflstm_step==0:
lstm_preactive=tf.matmul(x[lstm_step],self.lstm_W[l])+self.lstm_b[l]
else:
lstm_preactive=tf.matmul(h[lstm_step-1],self.lstm_U[l])+tf.matmul(x[lstm_step],self.lstm_W[l])+self.lstm_b[l]
i,f,o,new_c=tf.split(lstm_preactive,num_or_size_splits=4,axis=1)
i=tf.nn.sigmoid(i)
f=tf.nn.sigmoid(f)
o=tf.nn.sigmoid(o)
new_c=tf.nn.tanh(new_c)
iflstm_step==0:
c[lstm_step]=i*new_c
else:
c[lstm_step]=f*c[lstm_step-1]+i*new_c
#BUGINTHELSTM-->Haven'tcorrectedthisyet,Willhavetoretrainthemodel.
h[lstm_step]=o*tf.nn.tanh(c[lstm_step])
#h[lstm_step]=o*tf.nn.tanh(new_c)
layer_output.append(h[lstm_step])
x=layer_output
output=layer_output
returnoutput
defbuild_model(self):
fc7_features=tf.placeholder('float32',[None,self.options['fc7_feature_length']],name='fc7')
sentence=tf.placeholder('int32',[None,self.options['lstm_steps']-1],name="sentence")
answer=tf.placeholder('float32',[None,self.options['ans_vocab_size']],name="answer")
word_embeddings=[]
foriinrange(self.options['lstm_steps']-1):
word_emb=tf.nn.embedding_lookup(self.Wemb,sentence[:,i])
word_emb=tf.nn.dropout(word_emb,self.options['word_emb_dropout'],name="word_emb"+str(i))
word_embeddings.append(word_emb)
image_embedding=tf.matmul(fc7_features,self.Wimg)+self.bimg
image_embedding=tf.nn.tanh(image_embedding)
image_embedding=tf.nn.dropout(image_embedding,self.options['image_dropout'],name="vis_features")
#Imageasthelastwordinthelstm
word_embeddings.append(image_embedding)
lstm_output=self.forward_pass_lstm(word_embeddings)
lstm_answer=lstm_output[-1]
logits=tf.matmul(lstm_answer,self.ans_sm_W)+self.ans_sm_b
#ce=tf.nn.softmax_cross_entropy_with_logits(logits,answer,name='ce')
ce=tf.nn.softmax_cross_entropy_with_logits(labels=answer,logits=logits,name='ce')
answer_probab=tf.nn.softmax(logits,name='answer_probab')
predictions=tf.argmax(answer_probab,1)
correct_predictions=tf.equal(tf.argmax(answer_probab,1),tf.argmax(answer,1))
accuracy=tf.reduce_mean(tf.cast(correct_predictions,tf.float32))
loss=tf.reduce_sum(ce,name='loss')
input_tensors={
'fc7':fc7_features,
'sentence':sentence,
'answer':answer
}
returninput_tensors,loss,accuracy,predictions
defbuild_generator(self):
fc7_features=tf.placeholder('float32',[None,self.options['fc7_feature_length']],name='fc7')
sentence=tf.placeholder('int32',[None,self.options['lstm_steps']-1],name="sentence")
word_embeddings=[]
foriinrange(self.options['lstm_steps']-1):
word_emb=tf.nn.embedding_lookup(self.Wemb,sentence[:,i])
word_embeddings.append(word_emb)
image_embedding=tf.matmul(fc7_features,self.Wimg)+self.bimg
image_embedding=tf.nn.tanh(image_embedding)
word_embeddings.append(image_embedding)
lstm_output=self.forward_pass_lstm(word_embeddings)
lstm_answer=lstm_output[-1]
logits=tf.matmul(lstm_answer,self.ans_sm_W)+self.ans_sm_b
answer_probab=tf.nn.softmax(logits,name='answer_probab')
predictions=tf.argmax(answer_probab,1)
input_tensors={
'fc7':fc7_features,
'sentence':sentence
}
returninput_tensors,predictions,answer_probab
vis+lstm_model.py
HYPERLINK如何給電腦重做系統(tǒng)給電腦重做系統(tǒng),自己學(xué)學(xué),可少花錢,哈哈[圖]
一、準(zhǔn)備工作:
如何重裝電腦系統(tǒng)
首先,在啟動電腦的時候按住DELETE鍵進(jìn)入BIOS,選擇AdvancedBIOSFeatures選項(xiàng),按Enter鍵進(jìn)入設(shè)置程序。選擇FirstBootDevice選項(xiàng),然后按鍵盤上的PageUp或PageDown鍵將該項(xiàng)設(shè)置為CD-ROM,這樣就可以把系統(tǒng)改為光盤啟動。
其次,退回到主菜單,保存BIOS設(shè)置。(保存方法是按下F10,然后再按Y鍵即可)
1.準(zhǔn)備好WindowsXPProfessional簡體中文版安裝光盤,并檢查光驅(qū)是否支持自啟動。
2.可能的情況下,在運(yùn)行安裝程序前用磁盤掃描程序掃描所有硬盤檢查硬盤錯誤并進(jìn)行修復(fù),否則安裝程序運(yùn)行時如檢查到有硬盤錯誤即會很麻煩。
3.用紙張記錄安裝文件的產(chǎn)品密匙(安裝序列號)。
4.可能的情況下,用驅(qū)動程序備份工具(如:驅(qū)動精靈2004V1.9Beta.exe)將原WindowsXP下的所有驅(qū)動程序備份到硬盤上(如∶F:Drive)。最好能記下主板、網(wǎng)卡、顯卡等主要硬件的型號及生產(chǎn)廠家,預(yù)先下載驅(qū)動程序備用。
5.如果你想在安裝過程中格式化C盤或D盤(建議安裝過程中格式化C盤),請備份C盤或D盤有用的數(shù)據(jù)。
二、用光盤啟動系統(tǒng):
(如果你已經(jīng)知道方法請轉(zhuǎn)到下一步),重新啟動系統(tǒng)并把光驅(qū)設(shè)為第一啟動盤,保存設(shè)置并重啟。將XP安裝光盤放入光驅(qū),重新啟動電腦。剛啟動時,當(dāng)出現(xiàn)如下圖所示時快速按下回車鍵,否則不能啟動XP系統(tǒng)光盤安裝。如果你不知道具體做法請參考與這相同的-->如何進(jìn)入純DOS系統(tǒng):
光盤自啟動后,如無意外即可見到安裝界面,將出現(xiàn)如下圖1所示
查看原圖
全中文提示,“要現(xiàn)在安裝WindowsXP,請按ENTER”,按回車鍵后,出現(xiàn)如下圖2所示
查看原圖
許可協(xié)議,這里沒有選擇的余地,按“F8”后如下圖3
HYPERLINK
查看原圖
這里用“向下或向上”方向鍵選擇安裝系統(tǒng)所用的分區(qū),如果你已格式化C盤請選擇C分區(qū),選擇好分區(qū)后按“Enter”鍵回車,出現(xiàn)下圖4所示
查看原圖
這里對所選分區(qū)可以進(jìn)行格式化,從而轉(zhuǎn)換文件系統(tǒng)格,或保存現(xiàn)有文件系統(tǒng),有多種選擇的余地,但要注意的是NTFS格式可節(jié)約磁盤空間提高安全性和減小磁盤碎片但同時存在很多問題MacOS和98/Me下看不到NTFS格式的分區(qū),在這里選“用FAT文件系統(tǒng)格式化磁盤分區(qū)(快),按“Enter”鍵回車,出現(xiàn)下圖5所示
查看原圖
格式化C盤的警告,按F鍵將準(zhǔn)備格式化c盤,出現(xiàn)下圖6所示
HYPERLINK
查看原圖
由于所選分區(qū)C的空間大于2048M(即2G),FAT文件系統(tǒng)不支持大于2048M的磁盤分區(qū),所以安裝程序會用FAT32文件系統(tǒng)格式對C盤進(jìn)行格式化,按“Enter”鍵回車,出現(xiàn)下圖7所示
查看原圖圖7中正在格式化C分區(qū);只有用光盤啟動或安裝啟動軟盤啟動XP安裝程序,才能在安裝過程中提供格式化分區(qū)選項(xiàng);如果用MS-DOS啟動盤啟動進(jìn)入DOS下,運(yùn)行i386\winnt進(jìn)行安裝XP時,安裝XP時沒有格式化分區(qū)選項(xiàng)。格式化C分區(qū)完成后,出現(xiàn)下圖8所示
被過濾廣告
查看原圖
圖8中開始復(fù)制文件,文件復(fù)制完后,安裝程序開始初始化Windows配置。然后系統(tǒng)將會自動在15秒后重新啟動。重新啟動后,出現(xiàn)下圖9所示
HYPERLINK
查看原圖
9
查看原圖
過5分鐘后,當(dāng)提示還需33分鐘時將出現(xiàn)如下圖10
HYPERLINK
查看原圖
區(qū)域和語言設(shè)置選用默認(rèn)值就可以了,直接點(diǎn)“下一步”按鈕,出現(xiàn)如下圖11
查看原圖
這里輸入你想好的姓名和單位,這里的姓名是你以后注冊的用戶名,點(diǎn)“下一步”按鈕,出現(xiàn)如下圖12
HYPERLINK
查看原圖
如果你沒有預(yù)先記下產(chǎn)品密鑰(安裝序列號)就大件事啦!這里輸入安裝序列號,點(diǎn)“下一步”按鈕,出現(xiàn)如下圖13
HYPERLINK
查看原圖
安裝程序自動為你創(chuàng)建又長又難看的計(jì)算機(jī)名稱,自己可任意更改,輸入兩次系統(tǒng)管理員密碼,請記住這個密碼,Administrator系統(tǒng)管理員在系統(tǒng)中具有最高權(quán)限,平時登陸系統(tǒng)不需要這個帳號。接著點(diǎn)“下一步”出現(xiàn)如下圖14
查看原圖
日期和時間設(shè)置不用講,選北京時間,點(diǎn)“下一步”出現(xiàn)如下圖15
HYPERLINK
查看原圖
開始安裝,復(fù)制系統(tǒng)文件、安裝網(wǎng)絡(luò)系統(tǒng),很快出現(xiàn)如下圖16
查看原圖
讓你選擇網(wǎng)絡(luò)安裝所用的方式,選典型設(shè)置點(diǎn)“下一步”出現(xiàn)如下圖17
HYPERLINK
查看原圖
點(diǎn)“下一步”出現(xiàn)如下圖18
HYPERLINK
查看原圖
繼續(xù)安裝,到這里后就不用你參與了,安裝程序會自動完成全過程。安裝完成后自動重新啟動,出現(xiàn)啟動畫面,如下圖19
HYPERLINK
查看原圖
第一次啟動需要較長時間,請耐心等候,接下來是歡迎使用畫面,提示設(shè)置系統(tǒng),如下圖20
查看原圖
點(diǎn)擊右下角的“下一步”按鈕,出現(xiàn)設(shè)置上網(wǎng)連接畫面,如下圖21所示
HYPERLINK
查看原圖
點(diǎn)擊右下角的“下一步”按鈕,出現(xiàn)設(shè)置上網(wǎng)連接畫面,如下圖21所示
查看原圖
這里建立的寬帶撥號連接,不會在桌面上建立撥號連接快捷方式,且默認(rèn)的撥號連接名稱為“我的ISP”(自定義除外);進(jìn)入桌面后通過連接向?qū)Ы⒌膶拵芴栠B接,在桌面上會建立撥號連接快捷方式,且默認(rèn)的撥號連接名稱為“寬帶連接”(自定義除外)。如果你不想在這里建立寬帶撥號連接,請點(diǎn)擊“跳過”按鈕。
在這里我先創(chuàng)建一個寬帶連接,選第一項(xiàng)“數(shù)字用戶線(ADSL)或電纜調(diào)制解調(diào)器”,點(diǎn)擊“下一步”按鈕,如下圖22所示
HYPERLINK
查看原圖
目前使用的電信或聯(lián)通(ADSL)住宅用戶都有帳號和密碼的,所以我選“是,我使用用戶名和密碼連接”,點(diǎn)擊“下一步”按鈕,如下圖23所示
查看原圖
輸入電信或聯(lián)通提供的帳號和密碼,在“你的ISP的服務(wù)名”處輸入你喜歡的名稱,該名稱作為撥號連接快捷菜單的名稱,如果留空系統(tǒng)會自動創(chuàng)建名為“我的ISP”作為該連接的名稱,點(diǎn)擊“下一步”按鈕,如下圖24所示
查看原圖
已經(jīng)建立了撥號連接,微軟當(dāng)然想你現(xiàn)在就激活XP啦,不過即使不激活也有30天的試用期,又何必急呢?選擇“否,請等候幾天提醒我”,點(diǎn)擊“下一步”按鈕,如下圖25所示
HYPERLINK
查看原圖
輸入一個你平時用來登陸計(jì)算機(jī)的用戶名,點(diǎn)下一步出現(xiàn)如下圖26
HYPERLINK
查看原圖
點(diǎn)擊完成,就結(jié)束安裝。系統(tǒng)將注銷并重新以新用戶身份登陸。登陸桌面后如下圖27
HYPERLINK
查看原圖
六、找回常見的圖標(biāo)
在桌面上點(diǎn)開始-->連接到-->寬帶連接,如下圖32
查看原圖
左鍵點(diǎn)“寬帶連接”不放手,將其拖到桌面空白處,可見到桌面上多了一個“寬帶連接”快捷方式。結(jié)果如下圖33
HYPERLINK
查看原圖
然后,右鍵在桌面空白處點(diǎn)擊,在彈出的菜單中選“屬性”,即打開顯示“屬性窗口”如下圖34
查看原圖
在圖中單擊“桌面”選項(xiàng)卡,出現(xiàn)如下圖35
HYPERLINK
查看原圖
在圖中的左下部點(diǎn)擊“自定義桌面”按鈕,出現(xiàn)如下圖36
查看原圖
在圖中的上部,將“我的文檔”、“我的電腦”、“網(wǎng)上鄰居”和“InternetExplorer”四個項(xiàng)目前面的空格上打鉤,然后點(diǎn)“確定”,再“確定”,你將會看到桌面上多了你想要的圖標(biāo)。如下圖37
鍵盤上每個鍵作用!!!
F1幫助
F2改名
F3搜索
F4地址
F5刷新
F6切換
F10菜單
CTRL+A全選
CTRL+C復(fù)制
CTRL+X剪切
CTRL+V粘貼
CTRL+Z撤消
CTRL+O打開
SHIFT+DELETE永久刪除
DELETE刪除
ALT+ENTER屬性
ALT+F4關(guān)閉
CTRL+F4關(guān)閉
ALT+TAB切換
ALT+ESC切換
ALT+空格鍵窗口菜單
CTRL+ESC開始菜單
拖動某一項(xiàng)時按CTRL復(fù)制所選項(xiàng)目
拖動某一項(xiàng)時按CTRL+SHIFT創(chuàng)建快捷方式
將光盤插入到CD-ROM驅(qū)動器時按SHIFT鍵阻止光盤自動播放
Ctrl+1,2,3...切換到從左邊數(shù)起第1,2,3...個標(biāo)簽
Ctrl+A全部選中當(dāng)前頁面內(nèi)容
Ctrl+C復(fù)制當(dāng)前選中內(nèi)容
Ctrl+D打開“添加收藏”面版(把當(dāng)前頁面添加到收藏夾中)
Ctrl+E打開或關(guān)閉“搜索”側(cè)邊欄(各種搜索引擎可選)
Ctrl+F打開“查找”面版
Ctrl+G打開或關(guān)閉“簡易收集”面板
Ctrl+H打開“歷史”側(cè)邊欄
Ctrl+I打開“收藏夾”側(cè)邊欄/另:將所有垂直平鋪或水平平鋪或?qū)盈B的窗口恢復(fù)
Ctrl+K關(guān)閉除當(dāng)前和鎖定標(biāo)簽外的所有標(biāo)簽
Ctrl+L打開“打開”面版(可以在當(dāng)前頁面打開Iternet地址或其他文件...)
Ctrl+N新建一個空白窗口(可更改,Maxthon選項(xiàng)→標(biāo)簽→新建)
Ctrl+O打開“打開”面版(可以在當(dāng)前頁面打開Iternet地址或其他文件...)
Ctrl+P打開“打印”面板(可以打印網(wǎng)頁,圖片什么的...)
Ctrl+Q打開“添加到過濾列表”面板(將當(dāng)前頁面地址發(fā)送到過濾列表)
Ctrl+R刷新當(dāng)前頁面
Ctrl+S打開“保存網(wǎng)頁”面板(可以將當(dāng)前頁面所有內(nèi)容保存下來)
Ctrl+T
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年度年福建省高校教師資格證之高等教育心理學(xué)考前練習(xí)題及答案
- 2024年度山西省高校教師資格證之高等教育法規(guī)典型題匯編及答案
- 一年級數(shù)學(xué)計(jì)算題專項(xiàng)練習(xí)集錦
- 戒毒康復(fù)人員常規(guī)醫(yī)療服務(wù)工作總結(jié)
- 2024年保安人員勞務(wù)服務(wù)協(xié)議
- 自然保護(hù)區(qū)建設(shè)與管理結(jié)課論文
- 2024年回遷房屋購買協(xié)議格式
- 2024年合作伙伴合資經(jīng)營協(xié)議
- 2024年學(xué)生暑假工聘任協(xié)議示例
- 物聯(lián)網(wǎng)L1題庫測試與答案2020第23部分
- 行賄受賄檢討書
- 人教版《勞動教育》六上 勞動項(xiàng)目二《晾曬被子》教學(xué)設(shè)計(jì)
- (正式版)QC∕T 1208-2024 燃料電池發(fā)動機(jī)用氫氣循環(huán)泵
- 中外合作辦學(xué)規(guī)劃方案
- 醫(yī)學(xué)美容技術(shù)專業(yè)《中醫(yī)美容技術(shù)》課程標(biāo)準(zhǔn)
- CJJ207-2013 城鎮(zhèn)供水管網(wǎng)運(yùn)行、維護(hù)及安全技術(shù)規(guī)程
- 六年級道德與法治期末測試卷加答案(易錯題)
- 三位數(shù)除以兩位數(shù)300題-整除-有標(biāo)準(zhǔn)答案
- 辦公室裝修工程施工方案講義
- 醫(yī)院護(hù)理人文關(guān)懷實(shí)踐規(guī)范專家共識
- 中國農(nóng)業(yè)銀行貸后管理辦法
評論
0/150
提交評論