Attention Is All You Need總結

非常著名的Transformer

一句話總結:替代傳統的序列轉化模型,只用attention(不使用rnn/cnn),可以並行化訓練;Attention機制在輸入和輸出序列中都不會受距離的影響

拋棄循環recurrence模型,只用attention,抽取輸入和輸出序列之間的全局依賴關係(全局語義信息)

傳統的優化方法:1. 計算量(指數增長) 2. 遠距離依賴仍然無法捕捉

Transformer計算量減少,但是同時也減少了有效的(分辨率)resolution, Multihead attention來解決這個問題

第一個只用self-attention來算輸入和輸出序列的representation的模型

自迴歸:t-1會作用到t的輸出

stacked self-attention

encoder decoder stacks

6個一模一樣的層 維度統一成512維

殘差連接+層歸一化

decoder的self-attention做了微調,不能attend到之後的位置 右移一步, mask

attention就是把一個query和鍵值對映射到輸出

query一個key,然後算出相似度,這個相似度作爲權重,乘上value

得到value的加權和

點乘和加法都可以,但是點乘是矩陣運算更快

沒有縮放因子,softmax的區域會推到梯度非常小的地方(飽和區)

multihead attention可以attend到不同位置的不同表示子空間(不同子空間語義)

 

重點:

1. encoder-decoder attention: query是前一個decoder輸出,key和value是encoder輸出,每一個decoder位置可以attend到整個輸入序列

2. encoder自己有self-attention,q,k,v都是encoder前一層的輸出,每一個位置可以attend到所有其他位置

3. decoder也有self-attention,每一個位置可以attend到之前(包括自己)的位置,在softmax之前mask掉非法連接

 

全連接層:兩個線性層夾着ReLU層,可以看做兩個kernel size爲1的卷積

輸入和輸出token用參數可學習的embedding

position encoding可以用可學習的embedding

 

3個優點

計算量

並行化

長距離依賴

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