引
最近讀了幾篇關(guān)于deep learning在summarization領(lǐng)域應(yīng)用的paper,主要的方法是借鑒機(jī)器翻譯中seq2seq的技術(shù),然后加上attention model提升效果。今天來分享其中一篇paper,Generating News Headlines with Recurrent Neural Networks Abstract本文的思路是用LSTM RNN作為encoder-decoder框架的模型,并且使用了attention模型來生成新聞文章的標(biāo)題,效果很好。并且提出了一種簡(jiǎn)化版的attention mechanism,相比于復(fù)雜版的注意力機(jī)制在解決headline generation問題上有更好的效果。
ModelOverviewencoder使用文章內(nèi)容作為輸入,一個(gè)時(shí)間點(diǎn)表示一個(gè)單詞,每個(gè)單詞先通過embedding層將詞轉(zhuǎn)換為一個(gè)分布式向量( decoder將encoder中最后一個(gè)詞向量作為輸入,decoder本質(zhì)是一個(gè)rnnlm,使用softmax和attention mechanism來生成每個(gè)詞。 損失函數(shù): 這里y是輸出的詞,x是輸入的詞。 本文采用了4層LSTM,每層有600個(gè)單元,使用Dropout控制過擬合,所有參數(shù)的初始值都服從-0.1到0.1的平均分布,訓(xùn)練方法是RMSProp,學(xué)習(xí)速率0.01,動(dòng)量項(xiàng)0.9,衰減項(xiàng)0.9,訓(xùn)練9個(gè)回合,在第5個(gè)回合之后,每個(gè)回合都將訓(xùn)練速率減半。batch訓(xùn)練,384組訓(xùn)練數(shù)據(jù)為一個(gè)batch。
Attention注意力機(jī)制可以用來幫助神經(jīng)網(wǎng)絡(luò)更好地理解輸入數(shù)據(jù),尤其是一些專有名詞和數(shù)字。attention在decoder階段起作用,通過將輸出與所有輸入的詞建立一個(gè)權(quán)重關(guān)系來讓decoder決定當(dāng)前輸出的詞與哪個(gè)輸入詞的關(guān)系更大(即應(yīng)該將注意力放到哪個(gè)詞上)。 本文采用兩種不同的注意力機(jī)制,第一種稱作復(fù)雜注意力模型( 第二種稱作簡(jiǎn)單注意力模型( 對(duì)比兩幅圖可以看出區(qū)別在于隱藏層的最后一層的表示上,簡(jiǎn)單模型將encoder部分在該層的表示分為兩塊,一小塊用來計(jì)算注意力權(quán)重(
DatasetOverview本文用English Gigaword數(shù)據(jù)集,該數(shù)據(jù)集包括了六大主流媒體機(jī)構(gòu)的新聞文章,包括紐約時(shí)報(bào)和美聯(lián)社,每篇文章都有清晰的內(nèi)容和標(biāo)題,并且內(nèi)容被劃分為段落。經(jīng)過一些預(yù)處理之后,訓(xùn)練集包括5.5M篇新聞和236M單詞。 Preprocessingheadlines作為target,news text的第一段內(nèi)容作為source,預(yù)處理包括:小寫化,分詞,從詞中提取標(biāo)點(diǎn)符號(hào),標(biāo)題結(jié)尾和文本結(jié)尾都會(huì)加上一個(gè)自定義的結(jié)束標(biāo)記 數(shù)據(jù)集被劃分為訓(xùn)練集和保留集,訓(xùn)練集將會(huì)被隨機(jī)打亂。
Dataset Issues訓(xùn)練集中會(huì)出現(xiàn)標(biāo)題與所輸入文本關(guān)系不大的情況,比如:標(biāo)題包括以下字樣For use by New York Times service clients,或者包括一些代碼,biz-cover-1等等,本文對(duì)此不作處理,因?yàn)橐粋€(gè)理想的模型可以處理這些問題。‘
Evaluation模型的優(yōu)劣用兩種方法進(jìn)行評(píng)價(jià)。第一種,將訓(xùn)練集和保留集
Analysis計(jì)算硬件是GTX 980 Ti GPU,每種模型的計(jì)算都會(huì)花費(fèi)4.5天時(shí)間。效果直接看下圖: 在應(yīng)用模型結(jié)果做保留集的預(yù)測(cè)時(shí),不同新聞來源的文章預(yù)測(cè)效果不一樣。比如:在BBC、華爾街日?qǐng)?bào)、衛(wèi)報(bào)的效果就非常好,但是在赫芬頓郵報(bào)和福布斯的效果就很差。
Understanding information stored in last layer of the neural network存在有許多思路來理解注意力機(jī)制函數(shù),考慮下面的公式,從輸入計(jì)算到softmax輸出: 第一個(gè)部分表示attention context vector對(duì)decoder輸出的影響,由于context是從input計(jì)算得來的,可以理解為encoder的每個(gè)輸入對(duì)decoder輸出的影響;第二個(gè)部分表示decoder當(dāng)前隱藏層最后一層對(duì)輸出的影響;第三個(gè)部分表示偏置項(xiàng)。 Understanding how the attention weight vector is computed
Errors本文的模型中存在幾種類型的錯(cuò)誤,包括: 1、神經(jīng)網(wǎng)絡(luò)機(jī)制在填充細(xì)節(jié)時(shí)細(xì)節(jié)發(fā)生丟失。比如:target是 72 people died when a truck plunged into a gorge on Friday,而模型的預(yù)測(cè)是 72 killed in truck accident in Russia。這種錯(cuò)誤經(jīng)常出現(xiàn)在decoder beam很小的情況下。 2、生成的headline與輸入的文本沒有太大的關(guān)系,這些headline在訓(xùn)練集中出現(xiàn)太多次。這種錯(cuò)誤常出現(xiàn)在decoder beam很大的情況下。 上述兩種錯(cuò)誤反映了本文的模型對(duì)decoder beam非常敏感。
Future Work使用BiRNN來代替RNN配合attention model效果可能會(huì)更好一些。
Conclusions本文提出的simple attention mechanism效果很不錯(cuò)。 Review本篇文章是近期所讀文章中最簡(jiǎn)單的一篇,沒有太精彩的理論和創(chuàng)新,是一個(gè)工程性很強(qiáng)的paper,將實(shí)現(xiàn)過程中的思路和一些參數(shù)交代的很清楚,對(duì)于復(fù)現(xiàn)此paper提供了很大的幫助。 深度學(xué)習(xí)是一門研究表示學(xué)習(xí)的技術(shù),用一張巨大的網(wǎng)來表征給入的數(shù)據(jù),使得模型不依賴于領(lǐng)域的特征,是一種full data driven的模型,聽起來像是一種銀彈,尤其是近幾年的在各大領(lǐng)域的都收獲了state-of-the-art的結(jié)果,但模型的參數(shù)調(diào)優(yōu)不沒有太多的理論依據(jù),之前的神經(jīng)網(wǎng)絡(luò)規(guī)模小調(diào)參數(shù)時(shí)間代價(jià)會(huì)小一些,但deep learning動(dòng)不動(dòng)就需要幾天甚至幾周的訓(xùn)練時(shí)間,調(diào)參數(shù)代價(jià)太大;中間層的表示如何解釋,也是一個(gè)十分頭疼的事情,對(duì)于cv領(lǐng)域來說還好,總可以將matrix顯示成一幅圖片來看效果,比較直觀,但對(duì)于nlp領(lǐng)域,hidden state到底是什么,表示哪個(gè)詞?表示哪種關(guān)系?詞向量的每一個(gè)維度代表什么?具體真說不清楚,只有在輸出的那一層才能看到真正的意義。 一個(gè)領(lǐng)域的發(fā)展需要很多種不同思路的試錯(cuò),應(yīng)該是一種百家爭(zhēng)鳴的態(tài)勢(shì),而不是大家一股腦地都用一種技術(shù),一種思路來解決問題,理論模型都趨于大同,這樣對(duì)這個(gè)領(lǐng)域的發(fā)展不會(huì)有太積極的意義。 machine translation是最活躍的一個(gè)研究領(lǐng)域,seq2seq框架就是從該領(lǐng)域中提煉出來的,attention model也是借鑒于soft alignment,對(duì)于文本摘要這個(gè)問題來說,套用seq2seq只能解決headlines generation的問題,面對(duì)傳統(tǒng)的single document summarization和multi document summarization任務(wù)便束手無策了,因?yàn)檩斎氩糠值囊?guī)模遠(yuǎn)大于輸出部分的話,seq2seq的效果不會(huì)很好,因此說abstractive summarization的研究還長(zhǎng)路漫漫。不過這里可以將extractive和abstractive結(jié)合在一起來做,用extractive將一篇文檔中最重要的一句話提取出來作為輸入,套用seq2seq來做abstractive,本質(zhì)上是一個(gè)paraphrase的任務(wù),在工程中可以試一下這種思路。 Link[1] Generating News Headlines with Recurrent Neural Networks |
|