深入淺出,詳細(xì)理解Attention Model的基本原理!

近年來,Attention Model在自然語言處理領(lǐng)域大火,在多項(xiàng)NLP任務(wù)中取得了顯著的成績(jī),成為構(gòu)成Transformer,BERT等多個(gè)語言模型的基石。本文將主要介紹一下Attention Model的基本原理及計(jì)算過程。

seq2seq模型入門

在NLP領(lǐng)域,Bahdanau首先將Attention機(jī)制引入神經(jīng)網(wǎng)絡(luò)機(jī)器翻譯(NMT)中,而NMT任務(wù)是一個(gè)典型的sequence to sequence(簡(jiǎn)稱seq2seq)任務(wù)。所以在介紹Attention之前,我們先來簡(jiǎn)單回顧一下經(jīng)典seq2seq模型以及其所面臨的瓶頸。

seq2seq的任務(wù)目標(biāo)是:輸入一個(gè)序列,輸出另一個(gè)序列。這種任務(wù)形式普遍存在于翻譯、對(duì)話、文本摘要生成等多種NLP任務(wù)中。seq2seq模型基本可以歸納為經(jīng)典的Encoder-Decoder結(jié)構(gòu)。該結(jié)構(gòu)的經(jīng)典表示如下圖所示:

Encoder-Decoder網(wǎng)絡(luò)結(jié)構(gòu)

該結(jié)構(gòu)由兩個(gè)RNN組成。其中,Encoder部分RNN只在序列結(jié)束時(shí)輸出一個(gè)語義向量C,該向量可以看成擁有輸入序列的全部上下文語義信息。將C復(fù)制N份,與輸出序列上一個(gè)時(shí)刻的預(yù)測(cè)值yt-1一起,作為Decoder部分每個(gè)RNN序列的輸入。Decoder部分在t時(shí)刻的隱藏層狀態(tài)ht由ht-1, yt-1, c共同決定,即以下公式:

采取該網(wǎng)絡(luò)結(jié)構(gòu),相當(dāng)于:將在給定yt-1, yt-2,……,y1和輸入語義向量c的情況下,求yt時(shí)刻輸出概率最大值的問題,等價(jià)于給定Decoder當(dāng)前隱狀態(tài)ht,上一個(gè)時(shí)刻預(yù)測(cè)輸出yt-1,輸入語義向量c的情況下,求yt時(shí)刻輸出概率最大值。即以下公式:

取對(duì)數(shù)似然條件概率,即得到整個(gè)模型的優(yōu)化目標(biāo):

Attention機(jī)制介紹

然而,上述模型有一個(gè)很大的問題:對(duì)于輸出序列而言,每一個(gè)時(shí)刻傳入的輸入語義向量均為同樣的值。而這很顯然跟我們的生活常識(shí)不符,例如:當(dāng)我們翻譯一句話中某個(gè)單詞時(shí),跟它相鄰詞的參考價(jià)值,往往要大于遠(yuǎn)離它的詞。所以為了解決這個(gè)問題,NMT框架中引入了Attention機(jī)制。通過參數(shù),來控制每一個(gè)詞在語義向量中的權(quán)重,從而提升最終效果。其網(wǎng)絡(luò)結(jié)構(gòu)如下:

Attention Model

其中下半部分為Encoder結(jié)構(gòu),這里采用雙向RNN構(gòu)成,前向RNN順序輸入單詞,后向RNN反序輸入單詞。將同一時(shí)刻的兩個(gè)RNN單元的隱狀態(tài)做拼接形成最終的隱狀態(tài)輸出ht,這樣ht既包含當(dāng)前單詞前一個(gè)時(shí)刻的信息,也包含后一個(gè)時(shí)刻的信息。上半部分為Decoder結(jié)構(gòu),為一個(gè)單向的RNN。中間部分就是Attention,采用如下公式計(jì)算:

其中,si-1為Decoder上一個(gè)時(shí)刻的隱狀態(tài),hj為j時(shí)刻Encoder隱藏層輸出狀態(tài)。使用一個(gè)網(wǎng)絡(luò)結(jié)構(gòu)a訓(xùn)練,得到的分值eij表示j時(shí)刻輸入與i時(shí)刻輸出之間的匹配程度。之后用一個(gè)softmax函數(shù)歸一化,得到的標(biāo)準(zhǔn)概率表示alpha ij即為hj在翻譯yi中的重要性表示。最后以對(duì)應(yīng)的alpha作為權(quán)值,加權(quán)計(jì)算每一個(gè)時(shí)刻的輸入語義向量ci,即體現(xiàn)了每一個(gè)輸入單詞,在翻譯不同輸出單詞中的重要性。

以上就是關(guān)于Attention Model的基本原理的介紹??戳酥笫遣皇歉杏X也沒有很復(fù)雜呢?

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 轉(zhuǎn)載自http://www.cnblogs.com/Determined22/ 兩周以前讀了些文檔自動(dòng)摘要的論文,...
    nightwish夜愿閱讀 10,859評(píng)論 0 6
  • 原文地址 要是關(guān)注深度學(xué)習(xí)在自然語言處理方面的研究進(jìn)展,我相信你一定聽說過Attention Model(后文有時(shí)...
    Henrywood閱讀 1,781評(píng)論 0 5
  • 前面的文章主要從理論的角度介紹了自然語言人機(jī)對(duì)話系統(tǒng)所可能涉及到的多個(gè)領(lǐng)域的經(jīng)典模型和基礎(chǔ)知識(shí)。這篇文章,甚至之后...
    我偏笑_NSNirvana閱讀 14,424評(píng)論 2 64
  • 今天做完深度學(xué)習(xí)的論文分享,將這篇論文記錄下來,以便日后回顧查看。PS:簡(jiǎn)書不支持 MathJax 編輯公式,簡(jiǎn)直...
    是neinei啊閱讀 98,552評(píng)論 15 66
  • 今天的晨讀對(duì)自己特應(yīng)景,此刻的自己正處在瓶頸期、厭倦期,一方面精力不濟(jì),因?yàn)殚L(zhǎng)期失眠和睡眠時(shí)間太少,身體嚴(yán)重...
    冰青玉杰閱讀 329評(píng)論 10 5

友情鏈接更多精彩內(nèi)容