深度學習的Attention模型

大數(shù)據(jù)

前言

前面看到谷歌發(fā)表的運用在機器翻譯上的論文《Attention is all you need》,很是讓人驚訝,這是一種全新的模型,與之前的經(jīng)典的seq2seq模型改動較大,它完全摒棄了RNN或CNN神經(jīng)網(wǎng)絡,大大簡化了模型的復雜度,而且效果還相當好。當然Attention模型可以單獨使用,但這篇文章我們來看看Attention的機制及怎么與經(jīng)典的seq2seq結(jié)合。

seq2seq

前面我們有詳細的文章介紹了seq2seq的機制以及如何用TensorFlow來實現(xiàn)seq2seq。可到《深度學習的seq2seq模型》、《TensorFlow實現(xiàn)seq2seq》閱讀。

seq2seq模型結(jié)構(gòu)基本都大同小異,下面用一種常見結(jié)構(gòu)進行說明,我們可以看到decoder將不同時刻的輸入最后用一個狀態(tài)C來表示,encoder部分的不同時刻的輸出則為yt=g(yt?1,h′t,C),且有h′t=f(h′t?1,yt?1,C),可以看到,不同時刻的輸入被編碼成C,而不同時刻的輸出與上一時刻的輸出、當前時刻的隱含狀態(tài)、編碼狀態(tài)C都相關,而當前時刻隱含狀態(tài)由于上一時刻的隱含狀態(tài)、上個時刻輸出、編碼C相關。

大數(shù)據(jù)

seq2seq缺點

seq2seq模型是處理序列問題的大殺器,由它實現(xiàn)的encoder-decoder模型讓其在很多場景都發(fā)揮著強大的作用,得到了很不錯的效果。但它也有自己的局限性,被認為最大限制了seq2seq能力的就在于編碼和解碼之間的唯一聯(lián)系就是一個固定長度的語義向量C。

我們可以看到上面,encoder的不同時刻的輸入都被編碼成狀態(tài)C,這個便是語義向量。從這個角度去看,它將整個序列的信息壓縮到一個固定長度的向量中去了。對于短序列來說,這種做法可能問題不大,但如果是較長較復雜的隊列,則該語義向量可能無法完全表示整個序列的信息。而且先輸入的序列的信息會被后輸入的序列信息稀釋掉。輸入序列越長,這個現(xiàn)象就越嚴重。如果我們得到一個有損的語義編碼,那對后面的解碼也很可能會產(chǎn)生影響。

另外seq2seq模型一般會使用RNN,而RNN因為與上一時刻狀態(tài)相關,所以不能并行運算,效率低。但這是所有使用RNN的局限性,除非不使用它。

Attention模型

為了解決語義損失和信息稀釋的問題,提出了Attention模型,Attention即注意力,它是模擬了人類的視覺注意機制而來,比如當觀察某個畫面時,注意力聚焦到其中某一部分,其余部分則變得模糊。

大數(shù)據(jù)

按照圖,咱們往下詳細看Attention模型怎么與seq2seq結(jié)合。對于decoder,輸出為

yt=g(yt?1,h′t,C)

這里的C已經(jīng)與前面說到的seq2seq的語義向量C不同了,已經(jīng)不再是將所有輸入進行編碼,下面會說到C怎么計算。再看隱含狀態(tài),

h′t=f(h′t?1,yt?1,C)

C向量計算公式為,

Ct=∑Txj=1atjhj

我們可以將其中的a看成是各個時刻的輸出的不同時刻的輸入對應的權重,其實就可以使用softmax來計算,它的計算公式為,

atj=exp(etj)∑Txk=1exp(etk)

其中,

etj=w(h′t?1,hj)

大數(shù)據(jù)

通過上面幾個公式就基本描述了seq2seq與Attention的結(jié)合,其中每個輸出多了注意力向量參與,注意力的權重由上一時刻隱含狀態(tài)與encoder的各個輸入的隱含狀態(tài)共同決定。

在seq2seq模型上加上Attention模型,克服了語義損失和信息稀釋的問題,但是它也引入了額外的成本,對于m個輸入,n個輸出的結(jié)構(gòu)中,Attention參數(shù)也達到了m*n的數(shù)量級。

極客網(wǎng)企業(yè)會員

免責聲明:本網(wǎng)站內(nèi)容主要來自原創(chuàng)、合作伙伴供稿和第三方自媒體作者投稿,凡在本網(wǎng)站出現(xiàn)的信息,均僅供參考。本網(wǎng)站將盡力確保所提供信息的準確性及可靠性,但不保證有關資料的準確性及可靠性,讀者在使用前請進一步核實,并對任何自主決定的行為負責。本網(wǎng)站對有關資料所引致的錯誤、不確或遺漏,概不負任何法律責任。任何單位或個人認為本網(wǎng)站中的網(wǎng)頁或鏈接內(nèi)容可能涉嫌侵犯其知識產(chǎn)權或存在不實內(nèi)容時,應及時向本網(wǎng)站提出書面權利通知或不實情況說明,并提供身份證明、權屬證明及詳細侵權或不實情況證明。本網(wǎng)站在收到上述法律文件后,將會依法盡快聯(lián)系相關文章源頭核實,溝通刪除相關內(nèi)容或斷開相關鏈接。

2017-10-12
深度學習的Attention模型
前言 前面看到谷歌發(fā)表的運用在機器翻譯上的論文《Attention is all you need》,很是讓人驚訝,這是一種全新的模型,與之前的經(jīng)典的seq2s

長按掃碼 閱讀全文