Attention學習筆記
前言:本文主要結合CMU CS 11-747(Neural Networks for NLP)課程中Attention章節的內容進行講解。本文主要包括了對如下幾塊內容的講解,第一部分介紹Attention思想的提出的背景,第二部分介紹Attention結構在歷年論文中的各種變化,第三部分介紹Attention結構的改進,第四部分即總結全文。
本文作者:李軍毅,2014級本科生,目前研究方向為機器學習,自然語言處理,來自中國人民大學信息學院社會大數據分析與智能實驗室。
備註:本文首發於知乎[RUC智能情報站],如需轉載請告知作者並註明本專欄文章地址。
一、Attention思想的由來
1、《Sequence to Sequence Learning with Neural Networks》 2014
本篇論文最早提出了Encoder-Decoder框架,用於機器翻譯領域。本文的亮點一方面在於對 source sentence 做了逆向輸入的操作,另一方面相對於以往的論文,它將兩個 RNN 結構連接在一起做翻譯工作。
2、《Neural Machine Translation by Jointly Learning to Align and Translation》2015
本篇論文首次提出了attention思想。作者認為,在以往的 Encoder-Decoder 框架中,source sentence 的所有信息需要由 Encoder 壓縮到一個向量中,這是機器翻譯表現無法提高的一個瓶頸,所以作者提出了在翻譯時動態搜索 relevant part of source sentence,這就是 attention 。
二、Attention結構的各種變化
1、《Effective Approaches to Attention-based Neural Machine Translation》2015
本篇論文提出了兩種 attention (global attention 和 local attention),global attention 和最基本的 attention 類似,只是計算過程有所變化;local attention 只關注一個位置的 attention ,類似 one-hot 向量。
2、《Attention is All You Need》2017
本篇論文將 attention 結構用到極致,在 Encoder 和 Decoder 中只有 attention ,使用了多層 self-attention 結構來做對齊。
3、《Incorporating Discrete Translation Lexicons into Neural Machine Translation》2016
本篇論文主要解決神經機器翻譯在翻譯過程中遇到的低頻詞經常出錯的問題。作者的解決方法是在計算單詞概率時,結合標準的 NMT 概率和 lexicon probability。
4、《Pointer Sentinel Mixture Models》2016
本篇論文主要是在計算單詞概率時,對 Pointer Network 的概率和 RNN softmax 的概率做了一個線性結合。
5、《Show, Attend and Tell: Neural Image Caption Generation with Visual Attention》2015
本篇論文是基於 attention 結構來生成描述圖片內容的文字。主要思想是將 CNN 所提取的全局特徵或者局部特徵結合到 attention 的計算過程中,從而指導描述的生成。
6、《Listen, Attend and Spell》2015
本篇論文構建了一個 LAS 網路,在於把演講發言轉化為文字形式。
7、《Hierarchical Attention Networks for Document Classification》2016
本篇論文分別構建了 word-level 和 sentence-level 的 attention,完成對文本分類的工作。
8、《Multi-Source Neural Translation》2015
本篇論文構建了一個多源機器翻譯的模型。使用多種源語言作為參考生成目標語言。需要注意圖中黑色實心方框,這是將多個源語言的 context vector 和 hidden vector 進行結合的部位。
9、《Attention Strategies for Multi-Source Sequence to Sequence Learning》2017
本篇論文是對第八篇論文的一個補充,它介紹了多個黑色實心方框如何結合 context vector 和 hidden vector 的方法。
10、《Attention-based Multimodal Neural Machine Translation》2016
本篇論文介紹了將圖片描述內容翻譯為另一種語言的方法,主要是結合文本特徵的圖片的特徵。
11、《Long Short-Term Memory-Networks for Machine Reading》2016
傳統的 Encoder-Decoder 翻譯模型存在兩個問題,一個是記憶壓縮問題,另一個是輸入的結構化問題。本篇論文通過設計 memory/hidden tape 兩個類似列表的結構,以及描述詞與詞之間相關程度的 intra-attention 來改進LSTM處理輸入的結構化問題。
三、Attention 結構的改進
1、針對機器翻譯過程中出現的遺漏或者重複翻譯的問題。
《Coverage Embedding Models for Neural Machine Translation》2016
本篇論文提出了一個 coverage embedding model,它為每一個 source sentence 單詞都設置了一個 coverage embedding,然後在翻譯時實時更新這些 embedding,每一個 embedding 越接近0就表示已經被翻譯過了不需要再次翻譯。
《Incorporating Structural Aligment Biases into an Attention Neural Translation Model》
本篇論文提出了在下一次預測的時候加入過去時刻的 attention 信息,這樣就可以保證已經被翻譯過的不會再次翻譯。
2、增加 attention 的有監督訓練模型
《Supervised Attention for Neural Machine Translation》2016
本篇論文為 attention 增加了一個 gold standard,在最後計算損失時加入模型 attention 和 gold standard 的距離。
四、總結
還有一些論文沒有列出來,都是對 attention 結構的補充,感興趣的朋友可以登錄 CMU 課程首頁查詢所有論文的列表。
Attention 結構的基本思想就是幫助我們有權重地關注序列中的某一個部分,它可以根據我們在研究過程中遇到的不同問題進行不同的變化。
推薦閱讀:
※卷積神經網路中用1*1 卷積有什麼作用或者好處呢?
※小密圈的反黃策略該怎麼做?
TAG:机器学习 |