Transformer


論文鏈接:Attention is all you need

Intro

之前的RNN和LSTM方法是基於時序的,不能並行化(parallelizable),也就是計算了t-1時刻之后才能計算t時刻,訓練效率就比較低。

Self-Attention

An attention mechanism relating different positions of a single sequence in order to compute a representation of the sequence

計算出的每一個\(\hat a\)是相對於\(v\)的權重(是一個數值而不是向量),權重越大表示越關注這個\(v\),權重就是query和key的相似度

矩陣表示

上述操作都是矩陣乘法,可以並行化處理

Multi-head Self-Attention

\(q^1\)拆分成\(q^{1,1}\)\(q^{1,2}\),原論文中是均分,比如把\((1,1,0,1)\)分成\((1,1)\)\((0,1)\)

Encoder and Decoder

左邊為encoder
multi-head self-attention + MLP
有一個residual connection, LayerNorm(x + Sublayer(x))
在變長的應用中使用LayerNorm而不是BatchNorm,對樣本進行normalization而不是feature

右邊為decoder
當前時刻的輸入是上一時刻的輸出
decoder在訓練時基於t時刻之前的數據,不應該知道t以后的輸入,而self-attention機制能看到所有時刻的數據
所以使用Mask,保證t時刻不會看到之后的數據,使訓練與預測行為一致

Reference

[1] 這么多年,終於有人講清楚 Transformer 了!

[2] The Illustrated Transformer

[3] 舉個例子講下transformer的輸入輸出細節及其他


免責聲明!

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



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