多头注意力机制的理解
生活随笔
收集整理的這篇文章主要介紹了
多头注意力机制的理解
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
先來看圖:
從圖片中可以看出V?K Q?是固定的單個值,而Linear層有3個,Scaled Dot-Product Attention?有3個,即3個多頭;最后cancat在一起,然后Linear層轉換變成一個和單頭一樣的輸出值;類似于集成;多頭和單頭的區別在于復制多個單頭,但權重系數肯定是不一樣的;類比于一個神經網絡模型與多個一樣的神經網絡模型,但由于初始化不一樣,會導致權重不一樣,然后結果集成;(初步理解)
證明:attention函數來自于 attention is all you need,如下所示:
?
?
?
多頭注意力機制函數:
?
?從第二張圖中可以多頭函數看出:attention函數輸入為由原來的Q,K,V變成了QW(上標為Q,下標為i),KW(上標為K,下標為i),VW(上標為V,下標為i);即3個W都不相同;將Q,K,V由原來的512維度變成了64維度(因為采取了8個多頭);然后再拼接在一起變成512維,通過W(上標為O)進行線性轉換;得到最終的多頭注意力值;
個人最終認為:多頭的本質是多個獨立的attention計算,作為一個集成的作用,防止過擬合;從attention is all your need論文中輸入序列是完全一樣的;相同的Q,K,V,通過線性轉換,每個注意力機制函數只負責最終輸出序列中一個子空間,即1/8,而且互相獨立;
?
總結
以上是生活随笔為你收集整理的多头注意力机制的理解的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 注意力机制中的Q、K和V的意义
- 下一篇: linux查看cpu的信息命令及其他有用