Attention注意力機制介紹

什么是Attention機制

Attention機制通俗的講就是把注意力集中放在重要的點上,而忽略其他不重要的因素星立。其中重要程度的判斷取決于應(yīng)用場景萄喳,拿個現(xiàn)實生活中的例子,比如1000個人眼中有1000個哈姆雷特蟆淀。根據(jù)應(yīng)用場景的不同,Attention分為空間注意力和時間注意力澡匪,前者用于圖像處理熔任,后者用于自然語言處理。本文主要介紹Attention機制在Seq2seq中的應(yīng)用唁情。

為什么要用Attention機制

我們知道在Seq2seq模型中疑苔,原始編解碼模型的encode過程會生成一個中間向量C,用于保存原序列的語義信息甸鸟。但是這個向量長度是固定的惦费,當輸入原序列的長度比較長時兵迅,向量C無法保存全部的語義信息,上下文語義信息受到了限制薪贫,這也限制了模型的理解能力恍箭。所以使用Attention機制來打破這種原始編解碼模型對固定向量的限制。

Attention原理

Attention的原理就是計算當前輸入序列與輸出向量的匹配程度后雷,匹配度高也就是注意力集中點其相對的得分越高季惯。其中Attention計算得到的匹配度權(quán)重吠各,只限于當前序列對臀突,不是像網(wǎng)絡(luò)模型權(quán)重這樣的整體權(quán)重。

算法過程:

1)encode對輸入序列編碼得到最后一個時間步的狀態(tài)c贾漏,和每個時間步的輸出h候学,其中c又作為decode的初始狀態(tài)z0。

2)對于每個時間步的輸出h與z0做匹配也就是match操作纵散,得到每個時間步的匹配向量α01梳码,如圖1。

圖1

3)對所有時間步的輸出h與z0的匹配度α0伍掀,使用softmax做歸一化處理掰茶,得到各個時間步對于z0的匹配分數(shù)。

4)求各個時間步的輸出h與匹配分數(shù)的加權(quán)求和得到c0蜜笤,作為decode的下一個時間步的輸入濒蒋,如圖2。

圖2

5)計算各個時間步的輸出h與z1的匹配度得到c1作為decode下一個時間步的輸入把兔,如此一步一步重復(fù)下去沪伙,如圖3。

圖3

這樣就可以把每個時間步重要的信息傳給decode中县好,以上就是Attention機制的處理過程围橡。其中match操作一般是求兩個向量的相似度,通常有如下方法:
1)余弦相似度
2)一個簡單的 神經(jīng)網(wǎng)絡(luò)缕贡,輸入為hh和ww翁授,輸出為α
3)或者矩陣變換α=hTWzα=hTWz?(Multiplicative attention,Luong et al., 2015)?

在tensorflow1.0版本以后的api seq2seq庫中晾咪,包含了兩種Attention算法收擦,他們的區(qū)別就是match操作的不同,因此也有人稱他們?yōu)榧臃ˋttention和乘法Attention禀酱,具體內(nèi)容下:

1)BahdanauAttention:論文https://arxiv.org/abs/1409.0473中的實現(xiàn):

圖4

2)LuongAttention:論文https://arxiv.org/abs/1508.04025中的實現(xiàn) :

圖5

由于圖片來自不同地方炬守,所以符號有些不同,圖4和圖5中的h是上文所說的每個時間步的輸出向量剂跟,d是decode中每個時間步的狀態(tài)减途,也就是上文中的z酣藻,c是match后計算的權(quán)值加和后的向量用于decode中每個時間步的輸入,a就是match操作中經(jīng)過softmax后的匹配權(quán)重鳍置,v是一個向量辽剧,相當于w一樣的權(quán)重需要去學(xué)習(xí)。有上面兩個公式可以看出税产,BahdanauAttention和LuongAttention的區(qū)別就是在match過程中的計算方式不同怕轿,一個是將decode的狀態(tài)與encode的輸出求和,一個是求乘辟拷,所以才有了加法Attention和乘法Attention的叫法撞羽。

------------------------------------------------------------------更新---------------------------------------------------------------------

最近一段時間的學(xué)習(xí),發(fā)現(xiàn)Attention的各種形式與用法,但是歸根結(jié)底,都是同一種形式---Google的一般化Attention.

圖6

其中Q是query,K和V是一一對應(yīng)的,相當于Key-Value的關(guān)系.一般情況下都會說求誰對誰的Attention,比如上面提到的Seq2seq中,decoder的隱狀態(tài)z對encoder輸出h的attention,那么隱狀態(tài)z就相當于該式中的query,encoder的輸出h就是key和value(這里key和value相等,也有不等的情況).所以如果說A對B的attention,那么A就是query,B就是key-value(key-value怎么分配看實際情況).這樣,上文提到的內(nèi)容就可以很容易的代入到一般會Attention中.先用query(decoder隱藏狀態(tài)z)和key(encoder輸出h)做點乘然后歸一化,使用softmax計算權(quán)重得分,再與value(encoder輸出h)相乘得到最后的向量.(attention的機制像極了key-value記憶網(wǎng)絡(luò)的原理, 或者更準確的說是key-value記憶網(wǎng)絡(luò)像極了attention的機制,使用query與key做匹配運算,求得相關(guān)度得分,然后使用該得分與value運算,得到最后的向量).

特別注意的是,如果Q,K,V的值都是一個的話,那么就稱為Self Attention.

參考:

臺大李宏毅課程

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市衫冻,隨后出現(xiàn)的幾起案子诀紊,更是在濱河造成了極大的恐慌,老刑警劉巖隅俘,帶你破解...
    沈念sama閱讀 222,729評論 6 517
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件邻奠,死亡現(xiàn)場離奇詭異,居然都是意外死亡为居,警方通過查閱死者的電腦和手機碌宴,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 95,226評論 3 399
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來蒙畴,“玉大人贰镣,你說我怎么就攤上這事∪坛椋” “怎么了八孝?”我有些...
    開封第一講書人閱讀 169,461評論 0 362
  • 文/不壞的土叔 我叫張陵,是天一觀的道長鸠项。 經(jīng)常有香客問我干跛,道長,這世上最難降的妖魔是什么祟绊? 我笑而不...
    開封第一講書人閱讀 60,135評論 1 300
  • 正文 為了忘掉前任楼入,我火速辦了婚禮,結(jié)果婚禮上牧抽,老公的妹妹穿的比我還像新娘嘉熊。我一直安慰自己,他們只是感情好扬舒,可當我...
    茶點故事閱讀 69,130評論 6 398
  • 文/花漫 我一把揭開白布阐肤。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪孕惜。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 52,736評論 1 312
  • 那天衫画,我揣著相機與錄音毫炉,去河邊找鬼。 笑死削罩,一個胖子當著我的面吹牛瞄勾,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播弥激,決...
    沈念sama閱讀 41,179評論 3 422
  • 文/蒼蘭香墨 我猛地睜開眼进陡,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了秆撮?” 一聲冷哼從身側(cè)響起四濒,我...
    開封第一講書人閱讀 40,124評論 0 277
  • 序言:老撾萬榮一對情侶失蹤换况,失蹤者是張志新(化名)和其女友劉穎职辨,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體戈二,經(jīng)...
    沈念sama閱讀 46,657評論 1 320
  • 正文 獨居荒郊野嶺守林人離奇死亡舒裤,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,723評論 3 342
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了觉吭。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片腾供。...
    茶點故事閱讀 40,872評論 1 353
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖鲜滩,靈堂內(nèi)的尸體忽然破棺而出伴鳖,到底是詐尸還是另有隱情,我是刑警寧澤徙硅,帶...
    沈念sama閱讀 36,533評論 5 351
  • 正文 年R本政府宣布榜聂,位于F島的核電站,受9級特大地震影響嗓蘑,放射性物質(zhì)發(fā)生泄漏须肆。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 42,213評論 3 336
  • 文/蒙蒙 一桩皿、第九天 我趴在偏房一處隱蔽的房頂上張望豌汇。 院中可真熱鬧,春花似錦泄隔、人聲如沸拒贱。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,700評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽逻澳。三九已至岩调,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間赡盘,已是汗流浹背号枕。 一陣腳步聲響...
    開封第一講書人閱讀 33,819評論 1 274
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留陨享,地道東北人葱淳。 一個月前我還...
    沈念sama閱讀 49,304評論 3 379
  • 正文 我出身青樓,卻偏偏與公主長得像抛姑,于是被迫代替她去往敵國和親赞厕。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 45,876評論 2 361