Attention機(jī)制

1问拘、引入

英語(yǔ)長(zhǎng)句子優(yōu)先找出主謂賓,人像油畫會(huì)先看眼睛惧所,...骤坐。人在觀察事物的時(shí)候會(huì)抓住重點(diǎn),所以想讓機(jī)器也具備這種“抓住重點(diǎn)”的能力下愈。

最早用于機(jī)器翻譯場(chǎng)景纽绍。使用固定大小(fixed-size)的representation去概括非常長(zhǎng)的句子的所有語(yǔ)言義細(xì)節(jié)是非常困難的势似。
對(duì)于一個(gè)(RNN\LSTM...)深層網(wǎng)絡(luò)模型拌夏,如何讓它知道什么是重點(diǎn)?什么沒(méi)那么重要履因?抓住重點(diǎn)可以降低困難障簿。

那么如何實(shí)現(xiàn)“抓住重點(diǎn)”的目的呢?

2栅迄、什么是Attention站故?

Transformer中關(guān)于Attention的解釋,寫成公式大概是:
Attention(Q,K,V) = \alpha(Q,K)V =softmax(f(Q,K))V
其中\alpha為Attention weight霞篡。

原文: An Attention function can be described as mapping a query and a set of key-value pairs to an output, where the query, keys, values, and output are all vectors. The output is computed as a weighted sum of the values, where the weight assigned to each value is computed by a compatibility function of the query with the corresponding key.

翻譯: Attention可以描述為將query和一組key-vlaue映射成一個(gè)output,其中query端逼,key朗兵,value和output都是向量。output的計(jì)算為values的加權(quán)總和顶滩,其中分配給每個(gè)value的權(quán)重通過(guò)query與相應(yīng)key的兼容函數(shù)計(jì)算余掖。

補(bǔ)充

輸入:K,Q,V
涉及函數(shù): compatibility function f,softmax()
計(jì)算步驟:
【步驟一】基于KQ計(jì)算兩個(gè)向量相似程度礁鲁;
【步驟二】softmax函數(shù)可以將各種輸入值壓縮到0-1的范圍上盐欺,這樣就可以得到對(duì)Values關(guān)注應(yīng)該分布的注意力強(qiáng)弱了赁豆。
【步驟三】乘上values得到具有關(guān)注信息的新的向量output。

Attention本身概念并不復(fù)雜冗美,就是基于query和key計(jì)算一個(gè)權(quán)重魔种,然后對(duì)value重新賦值。

2.1粉洼、f是怎么节预?

函數(shù)f(Q,K)旨在獲得query和key的相似程度,有很多的計(jì)算方法属韧。

不過(guò)最出名的是Scaled Dot-Product方法安拟,對(duì)QK做內(nèi)積計(jì)算,然后乘上縮放因子\frac{1}{\sqrt{d_k}}宵喂,其中d_k是query和key的維度糠赦。
f(Q,K) = \frac{QK^T}{\sqrt{d_k}}

講到Attention,常見(jiàn)到下圖锅棕,指的就是Scaled Dot-Product Attention拙泽,特指f(Q,K)是Scaled Dot-Product的Attention,來(lái)源與Transformer論文哲戚。

2.2奔滑、QKV是什么東西?

在不同場(chǎng)景下QKV是不一樣的顺少。

2.2.1朋其、機(jī)器翻譯場(chǎng)景

Attention機(jī)制最早在機(jī)器翻譯的場(chǎng)景中出現(xiàn),引入Attention后提升了長(zhǎng)文本的翻譯效果脆炎。

隨著序列長(zhǎng)度的增長(zhǎng)梅猿,加了Attention的翻譯模型仍舊保持較高的Bleu得分。


機(jī)器翻譯采用seq2seq的結(jié)構(gòu)秒裕,一個(gè)encoder袱蚓,一個(gè)decoder。編碼器對(duì)每次詞的輸出作為key和value几蜻,解碼器對(duì)上一個(gè)詞的輸出作為query喇潘。Attention基于key和query計(jì)算權(quán)重值,輸出對(duì)原本的value賦予權(quán)重后的結(jié)果梭稚。

進(jìn)一步解釋:比如把法語(yǔ)翻譯成英語(yǔ)颖低,每個(gè)詞作為一個(gè)輸入,經(jīng)過(guò)embedding+雙向RNN編碼處理弧烤,輸出的值作為Attention需要的key和value忱屑。query取的是上一個(gè)詞翻譯的結(jié)果。
Attention操作后,改變了每個(gè)詞的重要性莺戒。比如翻譯出第一個(gè)詞“Jane”伴嗡,原本每個(gè)法語(yǔ)詞對(duì)翻譯出“Jane”的重要性都是一樣的,加入Attention之后从铲,給法語(yǔ)“Jane”更大的權(quán)重瘪校,使得翻譯容易進(jìn)行。

所以在翻譯場(chǎng)景中食店,key和value其實(shí)是同一個(gè)東西渣淤,是輸入詞經(jīng)過(guò)編碼處理后的輸出;query是上一個(gè)詞經(jīng)過(guò)解碼后的結(jié)果吉嫩。

2.2.2价认、Transformer

Transformer里有三個(gè)相關(guān)的Attention層。
1自娩,2的Key,Value,Query用踩,是一根線過(guò)來(lái)復(fù)制三下的,用的是同一個(gè)東西忙迁;
3的query來(lái)自上一個(gè)解碼器層脐彩,keys和values來(lái)自編碼器的輸出。

3姊扔、常見(jiàn)Attention

3.1惠奸、self-Attention

傳統(tǒng)的Attention是基于source端和target端的隱變量計(jì)算Attention,得到的結(jié)果是源端的每個(gè)詞與目標(biāo)端每個(gè)詞之間的依賴關(guān)系。
self-Attention恰梢,顧名思義佛南,self就是自己,關(guān)注自身的注意力嵌言,source端和target端都是自身嗅回,關(guān)注自身的依賴關(guān)系。

雖然self-Attention的query摧茴,key绵载,value都是同一個(gè)來(lái)源I,但還是有點(diǎn)差異的苛白,引入了三個(gè)對(duì)應(yīng)的權(quán)重W^q, W^k, W^v娃豹,由模型訓(xùn)練得到。


小結(jié):self-Attention就是query购裙,key-value都是同個(gè)東西懂版,研究自身內(nèi)部的關(guān)系

3.2、Multi-Head Attention

Multi-Head Attention并行計(jì)算多個(gè)attention缓窜,再把輸出的結(jié)果合并起來(lái)定续。

MultiHead(Q,K,V) = Concat(head_1,...,head_h)W^O

其中head_i = Attention(Q, K, V)
當(dāng)這個(gè)attention是self-attention時(shí)禾锤,head_i = Attention(QW_i^Q, KW_i^K, VW_i^V)

3.3私股、其他Attention

基于query,key獲得attention matrix,當(dāng)句子很長(zhǎng)的時(shí)候恩掷,N*N的計(jì)算量會(huì)很大的倡鲸。

所以要想辦法把這個(gè)矩陣的計(jì)算復(fù)雜度降低。提出了很多雜七雜八的attention黄娘,比如Local Attention峭状,stride Attention,Global Attention逼争,...优床,反正都是想辦法把矩陣計(jì)算的復(fù)雜度降低[4]

4誓焦、其他

4.1胆敞、position信息

Transformer是完全使用Attention的,沒(méi)有用之前的循環(huán)或者卷積杂伟。但Attention是沒(méi)有記錄位置信息的移层,所以需要有位置信息。

所以在Transformer的框架圖里會(huì)有Positional Encoding赫粥。

4.2观话、Attention代碼實(shí)現(xiàn)

【暫放】更多探索

# Scaled Dot-product attention layer
tf.keras.layers.Attention(use_scale=True, score_mode="dot", **kwargs)

4.3、為什么要scaled越平?

scaled dot-production attention中為什么做scaled的縮放频蛔?

4.4、補(bǔ)充

知名的Transformer(變形金剛)論文全名是《Transformer:Attention is all you need》喧笔,Transformer框架中涉及self-attention帽驯,multi-head attention,masked multi-head attention书闸。

然后之后就出現(xiàn)了很多“xxx is all you need”的論文尼变。

參考資料

[1] 李沐,66 使用注意力機(jī)制的seq2seq【動(dòng)手學(xué)深度學(xué)習(xí)v2】
[2] 吳恩達(dá)浆劲,P170 注意力模型直觀理解
[3] 論文嫌术, Trandsformer:Attention is all you need
[4] 李宏毅, P34 各種self-attetion

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末牌借,一起剝皮案震驚了整個(gè)濱河市度气,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌膨报,老刑警劉巖磷籍,帶你破解...
    沈念sama閱讀 218,386評(píng)論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件适荣,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡院领,警方通過(guò)查閱死者的電腦和手機(jī)弛矛,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,142評(píng)論 3 394
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)比然,“玉大人丈氓,你說(shuō)我怎么就攤上這事∏糠ǎ” “怎么了万俗?”我有些...
    開(kāi)封第一講書人閱讀 164,704評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)饮怯。 經(jīng)常有香客問(wèn)我闰歪,道長(zhǎng),這世上最難降的妖魔是什么蓖墅? 我笑而不...
    開(kāi)封第一講書人閱讀 58,702評(píng)論 1 294
  • 正文 為了忘掉前任课竣,我火速辦了婚禮,結(jié)果婚禮上置媳,老公的妹妹穿的比我還像新娘于樟。我一直安慰自己,他們只是感情好拇囊,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,716評(píng)論 6 392
  • 文/花漫 我一把揭開(kāi)白布迂曲。 她就那樣靜靜地躺著,像睡著了一般寥袭。 火紅的嫁衣襯著肌膚如雪路捧。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書人閱讀 51,573評(píng)論 1 305
  • 那天传黄,我揣著相機(jī)與錄音杰扫,去河邊找鬼。 笑死膘掰,一個(gè)胖子當(dāng)著我的面吹牛章姓,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播识埋,決...
    沈念sama閱讀 40,314評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼凡伊,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了窒舟?” 一聲冷哼從身側(cè)響起系忙,我...
    開(kāi)封第一講書人閱讀 39,230評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎惠豺,沒(méi)想到半個(gè)月后银还,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體风宁,經(jīng)...
    沈念sama閱讀 45,680評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,873評(píng)論 3 336
  • 正文 我和宋清朗相戀三年蛹疯,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了杀糯。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 39,991評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡苍苞,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出狼纬,到底是詐尸還是另有隱情羹呵,我是刑警寧澤,帶...
    沈念sama閱讀 35,706評(píng)論 5 346
  • 正文 年R本政府宣布疗琉,位于F島的核電站冈欢,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏盈简。R本人自食惡果不足惜凑耻,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,329評(píng)論 3 330
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望柠贤。 院中可真熱鬧香浩,春花似錦、人聲如沸臼勉。這莊子的主人今日做“春日...
    開(kāi)封第一講書人閱讀 31,910評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)宴霸。三九已至囱晴,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間瓢谢,已是汗流浹背畸写。 一陣腳步聲響...
    開(kāi)封第一講書人閱讀 33,038評(píng)論 1 270
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留氓扛,地道東北人枯芬。 一個(gè)月前我還...
    沈念sama閱讀 48,158評(píng)論 3 370
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像采郎,于是被迫代替她去往敵國(guó)和親破停。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,941評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容