Attention is all you need

Vaswani, A., Shazeer, N., Parmar, N., Uszkoreit, J., Jones, L., Gomez, A. N., ... & Polosukhin, I. (2017). Attention is all you need. In Advances in neural information processing systems (pp. 5998-6008).

transformer的模型結(jié)構(gòu)

transformer模型和大多數(shù)sequence to sequence模型一樣泡挺,由encoder和decoder組成。結(jié)構(gòu)示意圖如下:



1. encoder

transformer 的encoder由N=6個相同的layer構(gòu)成狐史,每個layer都有兩個sub-layers,分別是multi-head self-attention mechanism和fully connected feed-forward network。其中每個sub-layer都加了residual connection和normalisation,因此可以將sub-layer的輸出表示為:LayerNorm(x + Sublayer(x))酌壕;

2. decoder

decoder和encoder的結(jié)構(gòu)差不多蒸播,但是在每個layer下多了一個attention的sub-layer

3. Attention模型

采用傳統(tǒng)編碼器-解碼器結(jié)構(gòu)的LSTM/RNN模型存在一個問題:不論輸入長短都將其編碼成一個固定長度的向量表示,這使模型對于長輸入序列的學(xué)習(xí)效果很差(解碼效果很差)场航。而attention機制則克服了上述問題缠导,原理是在模型輸出時會選擇性地專注考慮輸入中的對應(yīng)相關(guān)的信息。使用attention機制的方法被廣泛應(yīng)用在各種序列預(yù)測任務(wù)上溉痢,包括文本翻譯僻造、語音識別等。transformer只使用了Attention孩饼。

3.1 Scaled Dot-Product Attention

Scaled Dot-Product Attention的輸入由query髓削、key、value組成镀娶,將query和所有key進行點積運算蔬螟,再除以\sqrt{d_{k} } (起調(diào)節(jié)作用,使得內(nèi)積不至于太大汽畴,太大的話 softmax 后就非 0 即 1 了旧巾,不夠“soft”了),再利用softmax 函數(shù)得到value的權(quán)重,計算得到的輸出矩陣如下:

以下是Scaled Dot-Product Attention模型圖:

?3.2 Multi-head attention

Multi-head attention結(jié)構(gòu)如下圖忍些,Query鲁猩,Key,Value首先經(jīng)過一個線性變換罢坝,然后輸入到Scaled Dot-Product attention(注意這里要做h次廓握,其實也就是所謂的Multi-head搅窿,每一次算一個head)。而且每次Q隙券,K男应,V進行線性變換的參數(shù)W是不一樣的。然后將h次的Scaled Dot-Product attention結(jié)果進行拼接娱仔,再進行一次線性變換得到的值作為Multi-head attention的結(jié)果沐飘。

attention函數(shù)輸入為由原來的Q,K牲迫,V變成了QW(上標為Q耐朴,下標為i),KW(上標為K盹憎,下標為i)筛峭,VW(上標為V,下標為i)陪每;即3個W都不相同影晓;將Q,K檩禾,V由原來的512維度變成了64維度(因為采取了8個多頭)俯艰;然后再拼接在一起變成512維,通過W(上標為O)進行線性轉(zhuǎn)換锌订;得到最終的多頭注意力值;

3.3 Self Attention

所謂 Self Attention画株,其實query=key=value辆飘。也就是說,在序列內(nèi)部做 Attention谓传,尋找序列內(nèi)部的聯(lián)系蜈项。?

4. Position-wise Feed-Forward Networks

除了attention sub-layers ,transformer的encoder和decoder都包含一個完全連接的前饋網(wǎng)絡(luò)续挟。這個網(wǎng)絡(luò)包括兩個線性轉(zhuǎn)換紧卒,中間有一個ReLu activation。

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?FFN(x) = max(0, xW1+ b1)W2+ b2

雖然不同位置的線性變換是相同的诗祸,但它們從一層到另一層使用不同的參數(shù)跑芳。

5. Embeddings and Softmax

與其他序列轉(zhuǎn)換模型類似,他們使用embeddings將輸入標記和輸出標記轉(zhuǎn)換為維度d_{model} 的向量直颅。他們也使用通常學(xué)習(xí)的線性變換和softmax函數(shù)將解碼器的輸出轉(zhuǎn)換為預(yù)測的 next-token probabilities博个。在他們的模型中,他們在兩個embedding層和pre-softmax線性變換之間共享相同的權(quán)值矩陣功偿,在嵌入層中盆佣,用這些權(quán)重乘以√dmodel。

6. Positional Encoding

如果將 K,V 按行打亂順序(相當于句子中的詞序打亂),Attention 的結(jié)果還是一樣的共耍。這就表明了虑灰,到目前為止,Attention 模型頂多是一個非常精妙的“詞袋模型”而已痹兜。為了讓模型利用序列的順序穆咐,必須注入一些關(guān)于序列中記號的相對或絕對位置的信息。因此佃蚜,他們在input embeddings中加入了positional encoding庸娱,將每個位置編號,然后每個編號對應(yīng)一個向量谐算,通過結(jié)合位置向量和詞向量熟尉,就給每個詞都引入了一定的位置信息,這樣 Attention 就可以分辨出不同位置的詞了洲脂。

7. 為什么使用self-attention

從三個方面去對比self-attention和遞歸結(jié)構(gòu)斤儿、卷積結(jié)構(gòu)的優(yōu)劣性,首先是每一層的計算復(fù)雜度恐锦,其次是能夠被并行的計算量往果,最后是網(wǎng)絡(luò)中長期依賴的路徑長度。對比顯示一铅,self-attention表現(xiàn)最好陕贮。


?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市潘飘,隨后出現(xiàn)的幾起案子肮之,更是在濱河造成了極大的恐慌,老刑警劉巖卜录,帶你破解...
    沈念sama閱讀 212,686評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件戈擒,死亡現(xiàn)場離奇詭異,居然都是意外死亡艰毒,警方通過查閱死者的電腦和手機筐高,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,668評論 3 385
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來丑瞧,“玉大人柑土,你說我怎么就攤上這事“硇冢” “怎么了冰单?”我有些...
    開封第一講書人閱讀 158,160評論 0 348
  • 文/不壞的土叔 我叫張陵,是天一觀的道長灸促。 經(jīng)常有香客問我诫欠,道長涵卵,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,736評論 1 284
  • 正文 為了忘掉前任荒叼,我火速辦了婚禮轿偎,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘被廓。我一直安慰自己坏晦,他們只是感情好,可當我...
    茶點故事閱讀 65,847評論 6 386
  • 文/花漫 我一把揭開白布嫁乘。 她就那樣靜靜地躺著昆婿,像睡著了一般。 火紅的嫁衣襯著肌膚如雪蜓斧。 梳的紋絲不亂的頭發(fā)上仓蛆,一...
    開封第一講書人閱讀 50,043評論 1 291
  • 那天,我揣著相機與錄音挎春,去河邊找鬼看疙。 笑死,一個胖子當著我的面吹牛直奋,可吹牛的內(nèi)容都是我干的能庆。 我是一名探鬼主播,決...
    沈念sama閱讀 39,129評論 3 410
  • 文/蒼蘭香墨 我猛地睜開眼脚线,長吁一口氣:“原來是場噩夢啊……” “哼搁胆!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起邮绿,我...
    開封第一講書人閱讀 37,872評論 0 268
  • 序言:老撾萬榮一對情侶失蹤渠旁,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后斯碌,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,318評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡肛度,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,645評論 2 327
  • 正文 我和宋清朗相戀三年傻唾,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片承耿。...
    茶點故事閱讀 38,777評論 1 341
  • 序言:一個原本活蹦亂跳的男人離奇死亡冠骄,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出加袋,到底是詐尸還是另有隱情凛辣,我是刑警寧澤,帶...
    沈念sama閱讀 34,470評論 4 333
  • 正文 年R本政府宣布职烧,位于F島的核電站扁誓,受9級特大地震影響防泵,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜蝗敢,卻給世界環(huán)境...
    茶點故事閱讀 40,126評論 3 317
  • 文/蒙蒙 一捷泞、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧寿谴,春花似錦锁右、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,861評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至痪署,卻和暖如春码泞,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背惠桃。 一陣腳步聲響...
    開封第一講書人閱讀 32,095評論 1 267
  • 我被黑心中介騙來泰國打工浦夷, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人辜王。 一個月前我還...
    沈念sama閱讀 46,589評論 2 362
  • 正文 我出身青樓劈狐,卻偏偏與公主長得像,于是被迫代替她去往敵國和親呐馆。 傳聞我的和親對象是個殘疾皇子肥缔,可洞房花燭夜當晚...
    茶點故事閱讀 43,687評論 2 351