注意力機制(Attention)最新綜述論文及相關源碼

【導讀】注意力機制(Attention)起源於模仿人類的思維方式,後被廣泛應用於機器翻譯、情感分類、自動摘要、自動問答等、依存分析等機器學習應用中。專知編輯整理了Arxiv上一篇關於注意力機制在NLP中應用的綜述《An Introductory Survey on Attention Mechanisms in NLP Problems》,並提供一些相關的代碼鏈接。

簡介


在下圖中,左邊是傳統的Seq2Seq模型(將序列編碼,然後解碼爲序列),可以看出,這是一個傳統的基於LSTM模型,在解碼器Decoder中,某一時間戳的隱藏狀態只依賴於當前時間戳的隱藏狀態和上一時間戳的輸出。右邊是基於Attention的Seq2Seq模型,Decoder的輸出還需要依賴於一個上下文特徵(c),這個上下文特徵是通過Encoder中所有時間戳的隱藏狀態的加權平均得到的,加權平均所使用的權值,就是當前時間戳和Encoder中每一時間戳的Attention Score(a)。

Attention的一般形式


下面的公式是Attention的基礎形式(Basic Attention),其中u是基於當前任務的匹配特徵向量,用於和上下文進行交互。vi是時序中某個時間戳的特徵向量,ei是未歸一化的Attention Score,ai是歸一化的Attention Score,c是基於Attention Score和特徵序列v計算出的當前時間戳的上下文特徵。

在大多數情況下,ei可以通過下面幾種方法計算:

在實際應用中,除了基礎的Attention,Attention還有多種變式,下面我們來介紹一些常見的變式:

變式——Multi-dimensional Attention


對於每個u,Basic Attention對於每個vi都會生成一個Attention Score ai,即每個u會對應一個1-D的Attention Score向量。而Multi-dimensional Attention會產生更高維度的Attention矩陣,旨在獲取不同特徵空間中的Attention特徵,例如2D Attention的一些形式如下:

變式——Hierarchical Attention


一些Attention算法同時考慮不同語義層級之間的Attention,例如下面的模型先後利用詞級別和句子級別的Attention來獲得更好的特徵:

變式——Self Attention


將上面公式中的u替換爲上下文序列中的vi,即爲Self Attention。在NLP中Self Attention可以獲取句子中詞之間的一些依存關係。另外在一些任務中,一個詞的語義與上下文密切相關,例如在下面兩個句子中,bank分別指銀行和河岸,要準確判斷bank當前的語義,可以通過句子的上下文來判斷。

I arrived at the bank after crossing the street.

I arrived at the bank after crossing the river

變式——Memory-based Attention


Memory-based Attention的形式如下,其中{(ki, vi)}被稱作Memory,這裏Memory其實是輸入的同義詞。尤其,當ki和vi相等時,Memory-based Attention和Basic Attention是相同的。

例如在QA問題中,Memory-based Attention可以通過迭代地更新Memory來將注意力轉移到答案所在的位置。

Attention的評價


定量的Attention的評價可以通過intrinsic和extrinsic兩種方式。Intrinsic基於標註的Alignment數據進行判斷,因此需要大量的人工標註。Extrinsic方式比較簡單,即直接比較模型在具體任務上的效果,但extrinsic評價方式的問題在於很難知道效果的提升是否是由Attention機制所帶來的。

定量的評價一般通過可視化熱力圖來實現:

相關Attention代碼


  • 《Neural Machine Translation by Jointly Learning to Align and Translate》:https://github.com/tensorflow/nmt
  • 《Hierarchical Attention Networks for Document Classification》:https://github.com/richliao/textClassifier
  • 《Coupled Multi-Layer Attentions for Co-Extraction of Aspect and Opinion Terms》:https://github.com/happywwy/Coupled-Multi-layer-Attentions
  • 《Attention Is All You Need》:https://github.com/Kyubyong/transformer
  • 《End-To-End Memory Networks》:https://github.com/facebook/MemNN

參考資料:

  • 《An Introductory Survey on Attention Mechanisms in NLP Problems》:https://arxiv.org/abs/1811.05544

請關注專知公衆號(掃描下方二維碼,或點擊上方藍色專知)

  • 後臺回覆“ISAM” 就可以獲取 最新PDF下載鏈接~

-END-

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章