attention注意力機制的原理


  可以這樣來看待注意力機制:將Source中的構成元素想象成是有一系列的<key,value>數據對構成,此時對於Target中的某個元素Query,通過計算Query和各個Key的相似性或者相關性,得到每個Key對應Value的權重系數,然后對Value進行加權求和,即得到了最終的Attention的數值。所以本質上Attention機制是對Source中元素的Value值進行加權求和,而Query和Key用來計算對應Value的權重系數,可將本質思想改寫為如下公式:

  也可以將Attention機制看作一種軟尋址(Soft Addressing):Source可以看作存儲器內存儲的內容,元素由地址Key和值Value組成,當前有個Key=Query的查詢,目的是取出存儲器中對應的Value值,即Attention數值。通過Query和存儲器內元素Key的地址進行相似性比較來尋址,之所以說是軟尋址,指的不像一般尋址只從存儲內容里面找出一條內容,而是可能從每個Key地址都會取出內容,取出內容的重要性根據Query和Key的相似性來決定,之后對Value進行加權求和,這樣就可以取出最終的Value值,也即Attention值。所以不少研究人員將Attention機制看作軟尋址的一種特例,這也是非常有道理的。

  Self Attention與傳統的Attention機制非常的不同:傳統的Attention是基於source端和target端的隱變量(hidden state)計算Attention的,得到的結果是源端的每個詞與目標端每個詞之間的依賴關系。但Self Attention不同,它分別在source端和target端進行,僅與source input或者target input自身相關的Self Attention,捕捉source端或target端自身的詞與詞之間的依賴關系;然后再把source端的得到的self Attention加入到target端得到的Attention中,捕捉source端和target端詞與詞之間的依賴關系。因此,self Attention Attention比傳統的Attention mechanism效果要好,主要原因之一是,傳統的Attention機制忽略了源端或目標端句子中詞與詞之間的依賴關系,相對比,self Attention可以不僅可以得到源端與目標端詞與詞之間的依賴關系,同時還可以有效獲取源端或目標端自身詞與詞之間的依賴關系。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM