0
雷鋒網 AI 科技評論按:基于編碼器-解碼器結構的序列生成模型被廣泛應用文本任務,例如神經機器翻譯,摘要生成,對話系統等等。然而,現有模型在生成序列的時候都是只生成一次,而沒有反復「推敲」的過程。而推敲在我們進行翻譯、寫文章的時候是一個很普遍的做法。因此有研究者將「推敲」引入序列生成模型中,提出了推敲網絡,來改進序列生成質量。
在近期雷鋒網 GAIR 大講堂的線上公開課上,來自中國科大--微軟博士聯合培養班的夏應策同學分享了一篇收錄在 NIPS 2017 上的論文:Deliberation Networks: Sequence Generation Beyond One-Pass Decoding。他也是這篇論文的一作。
論文地址:http://papers.nips.cc/paper/6775-deliberation-networks-sequence-generation-beyond-one-pass-decoding.pdf
夏應策,博士五年級,現就讀于中國科大--微軟博士聯合培養班,研究方向為機器學習(包括對偶學習,神經機器翻譯和多臂賭博機),是 2016 年微軟學者獎得主之一。
分享主題:推敲網絡——用于序列生成的網絡結構
分享提綱
序列生成模型的基本結構以及應用(主要介紹神經機器翻譯)
推敲網絡的結構和優化算法
推敲網絡的實驗結果
推敲網絡和對偶學習的結合
序列生成模型的基本結構以及應用
推敲網絡
基于編碼器-解碼器結構的序列生成模型被廣泛應用文本任務,神經機器翻譯,摘要生成,對話系統等等。比如下圖中的看圖說話——機器讀取一張圖,描述出圖片的大概內容;文本摘要——給出一段長文字,機器給出整段文章的大概意思。

然而,現有模型在生成序列的時候都是只生成一次,而沒有反復「推敲」的過程。而推敲在我們進行翻譯、寫文章的時候是一個很普遍的做法。因此我們將「推敲」引入序列生成模型中,提出了推敲網絡,來改進序列生成質量。在該研究中,我們將推敲過程加入到了編碼器-解碼器框架中,并提出了用于序列生成的推敲網絡(Deliberation networks)。推敲網絡具有兩階段解碼器,其中第一階段解碼器用于解碼生成原始序列,第二階段解碼器通過推敲的過程打磨和潤色原始語句。由于第二階段推敲解碼器具有應該生成什么樣的語句這一全局信息,因此它能通過從第一階段的原始語句中觀察未來的單詞而產生更好的序列。神經機器翻譯和自動文本摘要的實驗證明了我們所提出推敲網絡的有效性。在 WMT 2014 英語到法語間的翻譯任務中,我們的模型實現了 41.5 的 BLEU 分值。
下面以機器翻譯為例,完成一個翻譯任務需要一個編碼器和解碼器結構。

注意力機制
基本結構有了之后如何訓練系統?現在一般序列生成或自然語言處理都是采用端到端的訓練方式,分為三個過程:訓練、推理、評價指標。
神經機器翻譯中的定向搜索(beam search)過程
推敲網絡的研究目的
現有模型在生成序列的時候都是只生成一次,而沒有反復「推敲」的過程。而「推敲」在我們進行翻譯、寫文章的時候是一個很普遍的做法。比如在讀文章的時候,遇到不認識的單詞可能不是立刻去查字典,而是跳過這個單詞讀到文章的結尾,再反過來去猜測單詞是什么意思。另一個例子是在寫 paper 的時候,可能先寫一個草稿,然后不斷修改,先有一個整體框架,拿到全局信息,知道大概想表達什么,然后再不斷推敲寫出來的到底是什么意思。這兩個例子說明了向前看和得到全局信息的重要性。
因此我們將「推敲」引入序列生成模型中,提出了推敲網絡,來改進序列生成質量。現在的神經機器翻譯和序列生成任務中,在解碼端是沒有「向前看」這個過程的。

下面是推敲網絡的大概框架,左側是編碼器,右側是解碼器。藍色、黃色和綠色部分分別表示編碼器 E、第一階段解碼器 D1 和第二階段解碼器 D2。具體程序解讀過程請觀看視頻回放。

以上是模型部分,接下來介紹應用及具體的實驗效果。
兩個任務分別是神經機器翻譯和文本摘要。采用了兩種模型,一種是淺模型,另外也驗證了深度模型上的效果。
淺模型,基于名為 RNNSearch 的有廣泛應用的單層 GRU 模型;深度模型,基于類似于 GNMT 的深度 LSTM 模型。這兩類模型都是在 Theano 中實現的。
神經機器翻譯在淺模型上的效果

神經機器翻譯(NMT)用的數據集是英法和中英數據集。標準的 NMT 模型由一個編碼器(用于編碼源句子)和一個解碼器(用于生成目標句子)組成,因為可以使用我們提出的推敲網絡加以改善。在 WMT' 14 英語→法語數據集上基于廣泛應用的單層 GRU 模型上實驗結果表明:相比于沒有使用推敲的模型,使用推敲可以將 BLEU 分值提升 1.7。

我們還在漢語→英語翻譯上應用了我們的模型,并且在 4 種不同的測試集上平均實現了 1.26 的 BLEU 提升。此外,在 WMT' 14 英語→法語翻譯任務上,通過將推敲應用于深度 LSTM 模型,我們實現了 41.50 的 BLEU 分值。

文本摘要,即將長文章歸納為短摘要的任務。這個任務可以使用編碼器-解碼器框架,因此也可以使用推敲網絡來精細處理。在 Gigaword 數據集上的實驗結果表明推敲網絡可以將 ROUGE-1、ROUGE-2 和 ROUGE-L 分別提升 3.45、1.70 和 3.02。

對偶學習
為什么要研究對偶學習?因為自然界很多任務都是對偶的,比如英—法,法—英是一對兒對偶任務,語音轉文字,文字轉語音也是一對兒對偶任務;圖像分類和圖像生成也是一對兒對偶任務。它們之間都互為一個逆任務,它們之間肯定會有某種聯系,我們希望利用它們之間的對偶性,提高任務的性能。最直接的表現就是能夠非常高效地利用數據,包括無標數據和有標數據。對偶學習應該怎么用?請點擊文末視頻回放。

結論及未來工作

在這項研究中,我們提出了用于序列生成任務的推敲網絡,實驗表明我們的方法在機器翻譯和文本摘要任務上可以實現比幾種基準方法更優的結果。
未來還有多個可以探索,具有潛力的研究方向。首先,我們將研究如何將推敲的思想應用于序列生成之外的任務,比如改善 GAN 生成的圖像質量;其次,我們將研究如何細化、潤色不同層級的神經網絡,比如 RNN 中的隱藏狀態或 CNN 中特征圖;第三,我們還很好奇如果解碼器有更多階段(即多次打磨潤色生成的序列),生成的序列是否還會更好;第四,我們還將研究如何加速推敲網絡的推理以及縮短它們的推理時間。
以上就是嘉賓分享的全部內容,視頻回放地址:http://www.mooc.ai/open/course/424。
雷鋒網更多公開課直播敬請關注微信公眾號「AI 科技評論」。如果錯過了直播課程,還可到AI慕課學院查找該期的視頻回放。
雷峰網原創文章,未經授權禁止轉載。詳情見轉載須知。