[隨摘]Attention Model in NLP

原文地址

AM模型是2015年NLP領(lǐng)域重要的進展之一。

一、引言

感受:從認(rèn)知心理學(xué)里面的人腦注意力模型引入的概念。

人腦注意力模型:在某個特定的時刻t,意識和注意力的焦點是集中在畫面的某一個部分上的。本質(zhì)是一個資源分配模型。

深度學(xué)習(xí)中的注意力模型工作機制,和看見心動異性時荷爾蒙驅(qū)動的注意力分配機制是一樣的。

二、Encoder-Decoder框架

在圖片處理或者圖文生成等任務(wù)中也有很多場景會用到AM模型,本文只討論文本處理領(lǐng)域的AM模型。

AM模型是附著在Encoder-Decoder框架下的。Encoder-Decoder框架適合處理由一個句子(或篇章)生成另外一個句子(或篇章)的通用處理模型。Encoder-Decoder是一個通用的計算框架,Encoder和Decoder具體使用的模型可以自己選擇,常見的比如CNN、RNN、BIRNND、GRU、LSTM、Deep LSTM等,變化組合非常多,比如CNN作為Encoder,用RNN作為Decoder。

應(yīng)用場景:機器翻譯、文本摘要、人機對話等等

三、Attention Model

上面的通用框架,在Decoder過程中,生產(chǎn)目標(biāo)單詞Y時(Y1,Y2,…,Yn)的輸入,都是相同的Encoder的輸出,即原始輸入的語義編碼C,沒有任何區(qū)別,如下:

Y1=F(C)

Y2=F(C,Y1)

Y3=F(C,Y1,Y2)

而語義編碼C是由全部原始輸入X中的單詞經(jīng)過Encoder編碼產(chǎn)生的,也就是說,不論是生成哪個單子,Y1,Y2或是Y3,輸入X中的任意單詞對生成摸個目標(biāo)單詞Yi來說影響力是相同的,沒有任何區(qū)別(Tips:其實如果Encoder是RNN,理論上越是后輸入的單詞影響越大,并非等權(quán)的,也是為何Google提出的Sequence to Sequence模型時,發(fā)現(xiàn)把輸入句子逆序輸入做翻譯效果會更好的trick原因)。

因此,Encoder-Decoder框架實際上是沒有體現(xiàn)注意力的。

沒有引入注意力的模型在輸入句子比較短的時候影響不大,但是輸入句子比較長時,所有語義完全通過一個中間語義向量來表示,單詞自身的信息已經(jīng)消失,丟失很多細(xì)節(jié)信息。

這意味著在生成每個單詞Yi的時候,原先都是相同的中間語義表示C會替換成根據(jù)當(dāng)前生成單詞而不斷變化的Ci。理解AM模型的關(guān)鍵就是這里,即由固定的中間語義表示C換成了根據(jù)當(dāng)前輸出單詞來調(diào)整成加入注意力模型的變化的Ci。增加了AM模型的Encoder-Decoder框架理解起來如圖2所示



Decoder過程的如下:

Y1=F(C1)

Y2=F(C2,Y1)

Y3=F(C3,Y1,Y2)

每個Ci對應(yīng)著不同的源語句子單詞的注意力分配概率分布


例子:


接下來的問題是:AM模型所需要的輸入句子單詞注意力分配的概率分布值,如何獲得?

以Encoder和Decoder都是RNN為例(也是比較常見的一種模型配置),如下圖:


那么可以用下圖較為便捷的說明注意力分配概率分布值的通用計算過程:

對于采用RNN的Decoder來說,如果要生成yi單詞,在時刻i,我們是可以知道在生成Yi之前的隱層節(jié)點i時刻的輸出值Hi的,而我們的目的是要計算生成Yi時的輸入句子單詞“Tom”、“Chase”、“Jerry”對Yi來說的注意力分配概率分布,那么可以用i時刻的隱層節(jié)點狀態(tài)Hi去一一和輸入句子中每個單詞對應(yīng)的RNN隱層節(jié)點狀態(tài)hj進行對比,即通過函數(shù)F(hj,Hi)來獲得目標(biāo)單詞Yi和每個輸入單詞對應(yīng)的對齊可能性,這個F函數(shù)在不同論文里可能會采取不同的方法,然后函數(shù)F的輸出經(jīng)過Softmax進行歸一化就得到了符合概率分布取值區(qū)間的注意力分配概率分布數(shù)值。圖5顯示的是當(dāng)輸出單詞為“湯姆”時刻對應(yīng)的輸入句子單詞的對齊概率。絕大多數(shù)AM模型都是采取上述的計算框架來計算注意力分配概率分布信息,區(qū)別只是在F的定義上可能有所不同。

——上述內(nèi)容就是論文里面常常提到的Soft Attention Model的基本思想,你能在文獻里面看到的大多數(shù)AM模型基本就是這個模型,區(qū)別很可能只是把這個模型用來解決不同的應(yīng)用問題。

如何理解AM模型的物理意義呢?

一般文獻里會把AM模型看作是單詞對齊模型。在機器翻譯語境下是非常直觀的:傳統(tǒng)的統(tǒng)計機器翻譯一般在做的過程中會專門有一個短語對齊的步驟,而注意力模型其實起的是相同的作用。

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

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

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