一区二区三区日韩精品-日韩经典一区二区三区-五月激情综合丁香婷婷-欧美精品中文字幕专区

分享

DL之Attention:Attention注意力機(jī)制的簡介、應(yīng)用領(lǐng)域之詳細(xì)攻略

 處女座的程序猿 2021-09-28

DL之Attention:Attention注意力機(jī)制的簡介、應(yīng)用領(lǐng)域之詳細(xì)攻略


相關(guān)文章
Paper:翻譯并解讀《Attention Is All You Need》源自2017年的Google機(jī)器翻譯團(tuán)隊(duì)
?

Attention的簡介

? ? ? ? 注意力機(jī)制(Attention Mechanism)源于對(duì)人類視覺的研究。在認(rèn)知科學(xué)中,由于信息處理的瓶頸,人類會(huì)選擇性地關(guān)注所有信息的一部分同時(shí)忽略其他可見的信息。上述機(jī)制通常被稱為注意力機(jī)制。人類視網(wǎng)膜不同的部位具有不同程度的信息處理能力,即敏銳度(Acuity),只有視網(wǎng)膜中央凹部位具有最強(qiáng)的敏銳度。為了合理利用有限的視覺信息處理資源,人類需要選擇視覺區(qū)域中的特定部分,然后集中關(guān)注它。例如,人們?cè)陂喿x時(shí),通常只有少量要被讀取的詞會(huì)被關(guān)注和處理。綜上,注意力機(jī)制主要有兩個(gè)方面:決定需要關(guān)注輸入的哪部分;分配有限的信息處理資源給重要的部分。

? ? ? ? Attention機(jī)制最早是在視覺圖像領(lǐng)域提出來的,但是真正火起來應(yīng)該算是2014年google mind團(tuán)隊(duì)的論文《Recurrent Models of Visual Attention》,他們?cè)赗NN模型上使用了attention機(jī)制來進(jìn)行圖像分類。隨后,Bahdanau等人在論文《Neural Machine Translation by Jointly Learning to Align and Translate》中,使用類似attention的機(jī)制在機(jī)器翻譯任務(wù)上將翻譯和對(duì)齊同時(shí)進(jìn)行,他們的工作算是第一個(gè)將attention機(jī)制應(yīng)用到NLP領(lǐng)域中。接著attention機(jī)制被廣泛應(yīng)用在基于RNN/CNN等神經(jīng)網(wǎng)絡(luò)模型的各種NLP任務(wù)中。2017年,google機(jī)器翻譯團(tuán)隊(duì)發(fā)表的《Attention is all you need》中大量使用了自注意力(self-attention)機(jī)制來學(xué)習(xí)文本表示。

關(guān)于注意力機(jī)制的更多細(xì)節(jié),可以參考原始論文《Neural Machine Translation by Jointly Learning to Align and Translate》。
此外還有改進(jìn) 版的注意力機(jī)制《Effective Approaches to Attention-based Neural Machine Translation》。
論文地址:http://cn./pdf/1409.0473v7

以下主要轉(zhuǎn)自知乎:目前主流的attention方法都有哪些?

1、Why?Attention?

? ? ? ?根據(jù)通用近似定理,前饋網(wǎng)絡(luò)和循環(huán)網(wǎng)絡(luò)都有很強(qiáng)的能力。但為什么還要引入注意力機(jī)制呢?

  • 計(jì)算能力的限制:當(dāng)要記住很多“信息“,模型就要變得更復(fù)雜,然而目前計(jì)算能力依然是限制神經(jīng)網(wǎng)絡(luò)發(fā)展的瓶頸。
  • 優(yōu)化算法的限制:雖然局部連接、權(quán)重共享以及pooling等優(yōu)化操作可以讓神經(jīng)網(wǎng)絡(luò)變得簡單一些,有效緩解模型復(fù)雜度和表達(dá)能力之間的矛盾;但是,如循環(huán)神經(jīng)網(wǎng)絡(luò)中的長距離以來問題,信息“記憶”能力并不高。

可以借助人腦處理信息過載的方式,例如Attention機(jī)制可以提高神經(jīng)網(wǎng)絡(luò)處理信息的能力。

2、Attention機(jī)制的分類

? ? ? ?當(dāng)用神經(jīng)網(wǎng)絡(luò)來處理大量的輸入信息時(shí),也可以借鑒人腦的注意力機(jī)制,只 選擇一些關(guān)鍵的信息輸入進(jìn)行處理,來提高神經(jīng)網(wǎng)絡(luò)的效率。按照認(rèn)知神經(jīng)學(xué)中的注意力,可以總體上分為兩類:

  • 聚焦式(focus)注意力:自上而下的有意識(shí)的注意力,主動(dòng)注意——是指有預(yù)定目的、依賴任務(wù)的、主動(dòng)有意識(shí)地聚焦于某一對(duì)象的注意力;
  • 顯著性(saliency-based)注意力:自下而上的有意識(shí)的注意力,被動(dòng)注意——基于顯著性的注意力是由外界刺激驅(qū)動(dòng)的注意,不需要主動(dòng)干預(yù),也和任務(wù)無關(guān);可以將max-pooling和門控(gating)機(jī)制來近似地看作是自下而上的基于顯著性的注意力機(jī)制。

? ? ? ?在人工神經(jīng)網(wǎng)絡(luò)中,注意力機(jī)制一般就特指聚焦式注意力。

3、Attention機(jī)制的計(jì)算流程

? ? ? ?Attention機(jī)制的實(shí)質(zhì)其實(shí)就是一個(gè)尋址(addressing)的過程,如上圖所示:給定一個(gè)和任務(wù)相關(guān)的查詢Query向量 q,通過計(jì)算與Key的注意力分布并附加在Value上,從而計(jì)算Attention Value。
? ? ? ?這個(gè)過程實(shí)際上是Attention機(jī)制緩解神經(jīng)網(wǎng)絡(luò)模型復(fù)雜度的體現(xiàn):不需要將所有的N個(gè)輸入信息都輸入到神經(jīng)網(wǎng)絡(luò)進(jìn)行計(jì)算,只需要從X中選擇一些和任務(wù)相關(guān)的信息輸入給神經(jīng)網(wǎng)絡(luò)。

注意力機(jī)制可以分為三步:一是信息輸入;二是計(jì)算注意力分布α;三是根據(jù)注意力分布α 來計(jì)算輸入信息的加權(quán)平均。

step1-信息輸入N個(gè)信息輸入,X=[x1,x2……xN]
step2-注意力分布計(jì)算

令Key=Value=X,則可給出注意力分布

αi=softamx(s(keyi,q))=softamx(s(Xi,q))

將αi稱為注意力分布(概率分布),s(Xi,q)為注意力打分機(jī)制,打分機(jī)制常見的有:

step3-信息加權(quán)平均

注意力分布αi可以解釋為在上下文查詢q時(shí),第i個(gè)信息受關(guān)注的程度,采用一種“軟性”的信息選擇機(jī)制,對(duì)輸入信息X進(jìn)行編碼為

這種編碼方式為軟性注意力機(jī)制(soft Attention),軟性注意力機(jī)制有兩種:普通模式(Key=Value=X)和鍵值對(duì)模式(Key!=Value)。

4、Attention機(jī)制的變種

與普通的Attention機(jī)制(上圖左)相比,Attention機(jī)制常見的變種有:

變種1-硬性注意力

? ? ? ? 之前提到的注意力是軟性注意力,其選擇的信息是所有輸入信息在注意力 分布下的期望。還有一種注意力是只關(guān)注到某一個(gè)位置上的信息,叫做硬性注意力(hard attention)。
硬性注意力有兩種實(shí)現(xiàn)方式:

  • 1、一種是選取最高概率的輸入信息;
  • 2、另一種硬性注意力可以通過在注意力分布式上隨機(jī)采樣的方式實(shí)現(xiàn)。

硬性注意力的缺點(diǎn):硬性注意力的一個(gè)缺點(diǎn)是基于最大采樣或隨機(jī)采樣的方式來選擇信息。因此最終的損失函數(shù)與注意力分布之間的函數(shù)關(guān)系不可導(dǎo),因此無法使用在反向傳播算法進(jìn)行訓(xùn)練。
? ? ? ?為了使用反向傳播算法,一般使用軟性注意力來代替硬性注意力。硬性注意力需要通過強(qiáng)化學(xué)習(xí)來進(jìn)行訓(xùn)練?!?span>《神經(jīng)網(wǎng)絡(luò)與深度學(xué)習(xí)》

變種2-鍵值對(duì)注意力

即上圖右邊的鍵值對(duì)模式,此時(shí)Key!=Value,注意力函數(shù)變?yōu)?/p>

變種3-多頭注意力

多頭注意力(multi-head attention)是利用多個(gè)查詢Q = [q1, · · · , qM],來平行地計(jì)算從輸入信息中選取多個(gè)信息。每個(gè)注意力關(guān)注輸入信息的不同部分,然后再進(jìn)行拼接:

5、吊炸天的Attention機(jī)制:為什么自注意力模型(self-Attention model)在長距離序列中如此強(qiáng)大?

1、卷積或循環(huán)神經(jīng)網(wǎng)絡(luò)難道不能處理長距離序列嗎?

? ? ? 當(dāng)使用神經(jīng)網(wǎng)絡(luò)來處理一個(gè)變長的向量序列時(shí),我們通??梢允褂镁矸e網(wǎng)絡(luò)或循環(huán)網(wǎng)絡(luò)進(jìn)行編碼來得到一個(gè)相同長度的輸出向量序列,如圖所示

? ? ? 從上圖可以看出,無論卷積還是循環(huán)神經(jīng)網(wǎng)絡(luò)其實(shí)都是對(duì)變長序列的一種“局部編碼”:卷積神經(jīng)網(wǎng)絡(luò)顯然是基于N-gram的局部編碼;而對(duì)于循環(huán)神經(jīng)網(wǎng)絡(luò),由于梯度消失等問題也只能建立短距離依賴。

2、要解決這種短距離依賴的“局部編碼”問題,從而對(duì)輸入序列建立長距離依賴關(guān)系,有哪些辦法呢?

? ? ? ?如果要建立輸入序列之間的長距離依賴關(guān)系,可以使用以下兩種方法:一 種方法是增加網(wǎng)絡(luò)的層數(shù),通過一個(gè)深層網(wǎng)絡(luò)來獲取遠(yuǎn)距離的信息交互,另一種方法是使用全連接網(wǎng)絡(luò)。 ——《神經(jīng)網(wǎng)絡(luò)與深度學(xué)習(xí)》
? ? ? ?由上圖可以看出,全連接網(wǎng)絡(luò)雖然是一種非常直接的建模遠(yuǎn)距離依賴的模型, 但是無法處理變長的輸入序列。不同的輸入長度,其連接權(quán)重的大小也是不同的。
? ? ? ?這時(shí)我們就可以利用注意力機(jī)制來“動(dòng)態(tài)”地生成不同連接的權(quán)重,這就是自注意力模型(self-attention model)。由于自注意力模型的權(quán)重是動(dòng)態(tài)生成的,因此可以處理變長的信息序列。
? ? ? ?總體來說,為什么自注意力模型(self-Attention model)如此強(qiáng)大:利用注意力機(jī)制來“動(dòng)態(tài)”地生成不同連接的權(quán)重,從而處理變長的信息序列

3、自注意力模型(self-Attention model)具體的計(jì)算流程是怎樣的呢?

? ? ? ?同樣,給出信息輸入:用X = [x1, · · · , xN ]表示N 個(gè)輸入信息;通過線性變換得到為查詢向量序列,鍵向量序列和值向量序列,

? ? ? 公式可以看出,self-Attention中的Q是對(duì)自身(self)輸入的變換,而在傳統(tǒng)的Attention中,Q來自于外部。

注意力計(jì)算公式為:

自注意力模型(self-Attention model)中,通常使用縮放點(diǎn)積來作為注意力打分函數(shù),輸出向量序列可以寫為

Attention的應(yīng)用領(lǐng)域

1、神經(jīng)機(jī)器翻譯

? ? ? ? 注意力機(jī)制最成功的應(yīng)用是機(jī)器翻譯。基于神經(jīng)網(wǎng)絡(luò)的機(jī)器翻譯模型也叫做神經(jīng)機(jī)器翻譯(Neural Machine Translation,NMT)。一般的神經(jīng)機(jī)器翻譯模型采用“編碼-解碼”的方式進(jìn)行序列到序列的轉(zhuǎn)換。這種方式有兩個(gè)問題:

  • 一是編碼向量的容量瓶頸問題,即源語言所有的信息都需要保存在編碼向量中,才能進(jìn)行有效地解碼;
  • 二是長距離依賴問題,即編碼和解碼過程中在長距離信息傳遞中的信息丟失問題。

? ? ? ? 通過引入注意力機(jī)制,我們將源語言中每個(gè)位置的信息都保存下來。在解碼過程中生成每一個(gè)目標(biāo)語言的單詞時(shí),我們都通過注意力機(jī)制,直接從源語言的信息中選擇相關(guān)的信息作為輔助。這樣的方式就可以有效地解決上面的兩個(gè)問題。

  • 一是無需讓所有的源語言信息都通過編碼向量進(jìn)行傳遞,在解碼的每一步都可以直接訪問源語言的所有位置上的信息;
  • 二是源語言的信息可以直接傳遞到解碼過程中的每一步,縮短了信息傳遞的距離

2、圖像描述生成

? ? ? ? 圖像描述生成是輸入一幅圖像,輸出這幅圖像對(duì)應(yīng)的描述。圖像描述生成也是采用“編碼-解碼”的方式進(jìn)行。編碼器為一個(gè)卷積網(wǎng)絡(luò),提取圖像的高層特征,表示為一個(gè)編碼向量;解碼器為一個(gè)循環(huán)神經(jīng)網(wǎng)絡(luò)語言模型,初始輸入為編碼向量,生成圖像的描述文本。
? ? ? ? 在圖像描述生成的任務(wù)中,同樣存在編碼容量瓶頸以及長距離依賴這兩個(gè)問題,因此也可以利用注意力機(jī)制來有效地選擇信息。在生成描述的每一個(gè)單詞時(shí),循環(huán)神經(jīng)網(wǎng)絡(luò)的輸入除了前一個(gè)詞的信息,還有利用注意力機(jī)制來選擇一些來自于圖像的相關(guān)信息。

參考文章
目前主流的attention方法都有哪些?
NLP 中的attention和self-attention

    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多

    亚洲男人的天堂就去爱| 国产精品不卡一区二区三区四区 | 欧美精品女同一区二区| 亚洲欧美国产精品一区二区| 九九九热视频免费观看| 麻豆在线观看一区二区| 久久99青青精品免费观看| 亚洲中文字幕在线观看四区| 亚洲国产精品国自产拍社区| 国产精品一区二区三区欧美| 一区二区三区亚洲天堂| 美女被啪的视频在线观看| 妻子的新妈妈中文字幕| 精品国产亚洲av成人一区| 国产毛片对白精品看片| 人体偷拍一区二区三区| 中文字幕区自拍偷拍区| 精品人妻一区二区四区| 麻豆一区二区三区精品视频| 国产成人精品在线一区二区三区| 精品久久av一二三区| 久久国产亚洲精品赲碰热| 男人把女人操得嗷嗷叫| 久久99夜色精品噜噜亚洲av| 欧美一级片日韩一级片| 亚洲熟女一区二区三四区| 久久99青青精品免费| 国产级别精品一区二区视频| 欧美黄色黑人一区二区| 深夜福利亚洲高清性感| 日本精品中文字幕在线视频| 激情少妇一区二区三区| 黄色片一区二区在线观看| 日韩精品中文字幕亚洲| 亚洲精品中文字幕无限乱码| 亚洲国产综合久久天堂| 亚洲黑人精品一区二区欧美| 久久精品中文扫妇内射| 精品亚洲一区二区三区w竹菊| 日本办公室三级在线观看| 午夜视频成人在线观看|