流浪的RNN-使用CNN完成機(jī)器翻譯

Attention Is All You Need-谷歌的"自注意力"中提到了為什么不在NLP中的原因娘汞。今天再分析一下由facebook提出采用卷積完成的seq2seq模型变姨。這篇論文早于google的attention模型涛碑,其證明了CNN在NLP領(lǐng)域也能有較好的效果夺饲。

基本卷積結(jié)構(gòu)

由于是對自然語言進(jìn)行處理,因此模型的卷積與普通的圖像卷積模型有一點(diǎn)點(diǎn)不同峻呕。從形式上看范嘱,更像是一維卷積,即卷積核只在句子的方向移動(dòng)普碎。這種卷積形式最早應(yīng)該是[1]中提出吼肥。卷積的過程如圖:

文本卷積

這里假設(shè)詞向量為d_{model},則卷積的核大小為[k, d_{model}]即卷積核的寬度始終等于詞向量的維度麻车,k為卷積窗口一次覆蓋的詞語個(gè)數(shù)潜沦。設(shè)卷積核個(gè)數(shù)為d_{out},輸入X \in R^{m \times n}绪氛。則卷積操作:
Conv(X).shape = [m, d\_{out}]
此外,論文中還使用了一種新的非線性單元GLU(gated linear units)[2]涝影,其方法是
v(X) = Conv_1(X) \cdot sigmoid(Conv_2(X))
\cdot表示逐個(gè)元素相乘枣察。將輸入進(jìn)行兩次不共享參數(shù)的卷積,其中一個(gè)輸出通過sigmoid函數(shù)作為另一個(gè)輸入的gate燃逻,這里類似于LSTMgate機(jī)制序目,因此叫做gated linear units。在[2]中已經(jīng)證明了這種非線性機(jī)制在NLP任務(wù)中要優(yōu)于其他的激活函數(shù)伯襟。

總體結(jié)構(gòu)

conv seq2seq

總體結(jié)構(gòu)還是sequence to sequence猿涨。source 和 target都會(huì)先被編碼,然后做attention姆怪。Attention輸出再加上decoder輸出用來做預(yù)測叛赚,不過這里編碼的模型從RNN變?yōu)榱薈NN。但是從細(xì)節(jié)上來看稽揭,這里仍然有一些不同于傳統(tǒng)RNN語言模型的東西:

殘差連接

文中提到為了使得模型能夠堆疊的更深使用了殘差連接俺附。對于decoder來說也就是:
h_{i}^{l}=v\left(W^{l}\left[h_{i-k / 2}^{l-1}, \ldots, h_{i+k / 2}^{l-1}\right]+b_{w}^{l}\right)+h_{i}^{l-1}
其中h^l為decoder第l層的輸出。
p\left(y_{i+1} | y_{1}, \dots, y_{i}, \mathbf{x}\right)=\operatorname{softmax}\left(W_{o} h_{i}^{L}+b_{o}\right) \in \mathbb{R}^{T}

Multi-step Attention

這也論文對attention機(jī)制的一個(gè)改變溪掀,RNN中只會(huì)對decoder與encoder做一次attention事镣。這里可以分解為3個(gè)步驟:

  1. 首先并不直接使用encoder state與decoder state計(jì)算attention,而是先對decoder state做一個(gè)變換再加上target的embeding:
    d_{i}^{l}=W_eekeimi^{l} h_{i}^{l}+b_g2wcwsc^{l}+g_{i}
    這里的g_i也就是target的embeding揪胃。前面做變換是為了使得卷積輸出維度變換與embedding一致璃哟。
  2. 然后進(jìn)行attention:
    a_{i j}^{l}=\frac{\exp \left(d_{i}^{l} \cdot z_{j}^{u}\right)}{\sum_{t=1}^{m} \exp \left(d_{i}^{l} \cdot z_{t}^{u}\right)}
    這里做了一個(gè)點(diǎn)乘attention氛琢,u是encoder堆疊的層數(shù)。z_{u}也就是encoder最后一層的輸出随闪。
  3. 計(jì)算出attention權(quán)重后阳似,基于z^{u}計(jì)算attention輸出:
    c_{i}^{l}=\sum_{j=1}^{m} a_{i j}^{l}\left(z_{j}^{u}+e_{j}\right)
    這里計(jì)算attention輸出的時(shí)候也并不是直接基于z^u還加上了source的embedding e_j。這和傳統(tǒng)的attention有一點(diǎn)差別蕴掏。論文中給出的解釋是:

Encoder outputs z_j^u represent potentially large input contexts and e_j provides point information about a specific input element that is useful when making a prediction

當(dāng)計(jì)算出c^l后障般,會(huì)直接與h^l相加,作為下一層的輸入盛杰。這也就是Multi-step Attention挽荡。

  1. 最終的預(yù)測方式為:
    p\left(y_{i+1} | y_{1}, \ldots, y_{i}, \mathbf{x}\right)=\operatorname{softmax}\left(W_{o} h_{i}^{L}+b_{o}\right) \in \mathbb{R}^{T}

一點(diǎn)分析

論文中提到通過不斷堆疊CNN層的方式同樣可以capture long-range dependencies compared to the chain structure modeled by recurrent networks。而在Attention Is All You Need中的解決辦法更為直接即供,既然要capture long-range dependencies定拟,直接進(jìn)行attention就對了。這樣根本就不存在long-range dependencies逗嫡,每個(gè)單詞之間的依賴都變得shorter青自。

參考

[1] Convolutional Neural Networks for Sentence Classification
[2] Language modeling with gated linear units

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市驱证,隨后出現(xiàn)的幾起案子延窜,更是在濱河造成了極大的恐慌,老刑警劉巖抹锄,帶你破解...
    沈念sama閱讀 217,406評論 6 503
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件逆瑞,死亡現(xiàn)場離奇詭異,居然都是意外死亡伙单,警方通過查閱死者的電腦和手機(jī)获高,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,732評論 3 393
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來吻育,“玉大人念秧,你說我怎么就攤上這事〔继郏” “怎么了摊趾?”我有些...
    開封第一講書人閱讀 163,711評論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長游两。 經(jīng)常有香客問我严就,道長,這世上最難降的妖魔是什么器罐? 我笑而不...
    開封第一講書人閱讀 58,380評論 1 293
  • 正文 為了忘掉前任梢为,我火速辦了婚禮,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘铸董。我一直安慰自己祟印,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,432評論 6 392
  • 文/花漫 我一把揭開白布粟害。 她就那樣靜靜地躺著蕴忆,像睡著了一般。 火紅的嫁衣襯著肌膚如雪悲幅。 梳的紋絲不亂的頭發(fā)上套鹅,一...
    開封第一講書人閱讀 51,301評論 1 301
  • 那天,我揣著相機(jī)與錄音汰具,去河邊找鬼卓鹿。 笑死,一個(gè)胖子當(dāng)著我的面吹牛留荔,可吹牛的內(nèi)容都是我干的吟孙。 我是一名探鬼主播,決...
    沈念sama閱讀 40,145評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼聚蝶,長吁一口氣:“原來是場噩夢啊……” “哼杰妓!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起碘勉,我...
    開封第一講書人閱讀 39,008評論 0 276
  • 序言:老撾萬榮一對情侶失蹤巷挥,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后验靡,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體倍宾,經(jīng)...
    沈念sama閱讀 45,443評論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,649評論 3 334
  • 正文 我和宋清朗相戀三年晴叨,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片矾屯。...
    茶點(diǎn)故事閱讀 39,795評論 1 347
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡兼蕊,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出件蚕,到底是詐尸還是另有隱情孙技,我是刑警寧澤,帶...
    沈念sama閱讀 35,501評論 5 345
  • 正文 年R本政府宣布排作,位于F島的核電站牵啦,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏妄痪。R本人自食惡果不足惜哈雏,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,119評論 3 328
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧裳瘪,春花似錦土浸、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,731評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至派殷,卻和暖如春还最,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背毡惜。 一陣腳步聲響...
    開封第一講書人閱讀 32,865評論 1 269
  • 我被黑心中介騙來泰國打工拓轻, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人虱黄。 一個(gè)月前我還...
    沈念sama閱讀 47,899評論 2 370
  • 正文 我出身青樓悦即,卻偏偏與公主長得像,于是被迫代替她去往敵國和親橱乱。 傳聞我的和親對象是個(gè)殘疾皇子辜梳,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,724評論 2 354