【簡單總結】簡單總結attention本質

【簡單理解】簡單理解Attention注意力機制本質

1.簡單介紹Attention注意力機制:

Attention注意力機制其實可以用一句話說穿:它是Seq2Seq中的decoder模塊對encoder模塊的加權平均。

說的太簡潔了不利於理解本質,接下來讓我們來細細理解到底什麼是Attention注意力機制吧。

2.Encoder-Decoder(Seq2Seq)框架

要了解深度學習中的注意力模型,就不得不先談Encoder-Decoder框架,因爲目前大多數注意力模型附着在Encoder-Decoder框架下。其實注意力模型可以看作一種通用的思想,本身並不依賴於特定框架,這點需要注意

Encoder-Decoder框架可以看作是一種深度學習領域的研究模式,應用場景異常廣泛。上圖是文本處理領域裏常用的Encoder-Decoder框架最抽象的一種表示。

3. Attention原理

按照Encoder-Decoder的框架,我們的輸出值y的表達式:

語義編碼C是由句子Source的每個單詞經過Encoder編碼產生的,這意味着不論是生成哪個單詞,y1y1,y2y2還是y3y3,其實句子Source中任意單詞對生成某個目標單詞yiyi來說影響力都是相同的,這是爲何說這個模型沒有體現出注意力的緣由。這類似於人類看到眼前的畫面,但是眼中卻沒有注意焦點一樣。這樣不符合人類認知事物的原理。所以我們引入Attention機制。

將Source中的構成元素想象成是由一系列的(Key,Value)數據對構成,此時給定Target中的某個元素Query,通過計算Query和各個Key的相似性或者相關性,得到每個Key對應Value的權重係數,然後對Value進行加權求和,即得到了最終的Attention數值。所以本質上Attention機制是對Source中元素的Value值進行加權求和,而Query和Key用來計算對應Value的權重係數。即可以將其本質思想改寫爲如下公式:

補充一張細節圖:

 

4. Attention具體計算過程

看到這裏是不是會因爲複雜的數學公式變得眼花繚亂,其實Attention的計算過程很簡單,補充下圖爲Attention具體計算過程,僅以簡單的加權平均過程輔助理解。

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