本文結(jié)構(gòu):
- 什么是 seq2seq终议?
- Encoder–Decoder 結(jié)構(gòu)?
- seq2seq 結(jié)構(gòu)祥山?
什么是 seq2seq圃验?
seq2seq 是一個 Encoder–Decoder 結(jié)構(gòu)的網(wǎng)絡(luò),它的輸入是一個序列缝呕,輸出也是一個序列澳窑, Encoder 中將一個可變長度的信號序列變?yōu)楣潭ㄩL度的向量表達,Decoder 將這個固定長度的向量變成可變長度的目標的信號序列供常。
這個結(jié)構(gòu)最重要的地方在于輸入序列和輸出序列的長度是可變的摊聋,可以用于翻譯,聊天機器人话侧,句法分析栗精,文本摘要等。
下面是寫過的 seq2seq 的應(yīng)用:
RNN與機器翻譯
http://www.reibang.com/p/23b46605857e
如何自動生成文本摘要
http://www.reibang.com/p/abc7e13abc21
自己動手寫個聊天機器人吧
http://www.reibang.com/p/d0f4a751012b
Encoder–Decoder 結(jié)構(gòu)瞻鹏?
Cho 在 2014 年提出了 Encoder–Decoder 結(jié)構(gòu)悲立,即由兩個 RNN 組成,
https://arxiv.org/pdf/1406.1078.pdf
(其中的 RNNCell 可以用 RNN 新博,GRU薪夕,LSTM 等結(jié)構(gòu))
在每個時刻, Encoder 中輸入一個字/詞赫悄,隱藏層就會根據(jù)這個公式而改變原献,
到最后一個字/詞 XT 時 馏慨,隱藏層輸出 c ,因為 RNN 的特點就是把前面每一步的輸入信息都考慮進來了姑隅,所以 c 相當于把整個句子的信息都包含了写隶,可以看成整個句子的一個語義表示。
Decoder 在 t 時刻的隱藏層狀態(tài) ht 由 ht?1讲仰,yt?1慕趴,c 決定:
yt 是由 ht,yt?1鄙陡,c 決定:
f 和 g 都是激活函數(shù)冕房,其中 g 函數(shù)一般是 softmax。
模型最終是要最大化下面這個對數(shù)似然條件概率:
其中每個 (xn, yn) 表示一對輸入輸出的序列趁矾, θ 為模型的參數(shù)耙册。
seq2seq 結(jié)構(gòu)?
Sutskever 在 2014 年也發(fā)表了論文:
https://arxiv.org/pdf/1409.3215.pdf
這個模型結(jié)構(gòu)更簡單毫捣,
因為 Decoder 在 t 時刻 yt 是由 ht详拙,yt?1 決定,而沒有 c:
論文中的 Encoder 和 Decoder 都用的 LSTM 結(jié)構(gòu)蔓同,注意每句話的末尾要有 “<EOS>” 標志溪厘。 Encoder 最后一個時刻的狀態(tài) [cXT,hXT] 就和第一篇論文中說的中間語義向量 c 一樣,它將作為 Decoder 的初始狀態(tài)牌柄,在 Decoder 中,每個時刻的輸出會作為下一個時刻的輸入侧甫,直到 Decoder 在某個時刻預(yù)測輸出特殊符號 <END> 結(jié)束珊佣。
LSTM 的目的是估計條件概率 p(y1, . . . , yT′ |x1, . . . , xT ) ,
它先通過最后一個隱藏層獲得輸入序列 (x1, . . . , xT ) 的固定長度的向量表達 v披粟,
然后用 LSTM-LM 公式計算輸出序列 y1, . . . , yT′ 的概率咒锻,
在這個公式中,初始狀態(tài)就是 v守屉,
而且用了 4 層的 LSTM惑艇,而不是一層:論文中的實驗結(jié)果表明深層的要比單層的效果好
下面是個 3 層的例子
計算公式如下:
為了便于理解,單層的表示如下:
并且對輸入序列做了一個翻轉(zhuǎn)拇泛,即不是把 a, b, c 映射到 α, β, γ, 而是把 c, b, a 映射到 α, β, γ, 這樣的結(jié)果是相應(yīng)的 a 會更接近 α滨巴,并且更利于 SGD 建立輸入輸出間的關(guān)系。
參考:
Learning Phrase Representations using RNN Encoder–Decoder
for Statistical Machine Translation
https://arxiv.org/pdf/1406.1078.pdf
Sequence to Sequence Learning
with Neural Networks
https://arxiv.org/pdf/1409.3215.pdf
Generating Sequences With
Recurrent Neural Networks
https://arxiv.org/pdf/1308.0850.pdf
推薦閱讀 歷史技術(shù)博文鏈接匯總
http://www.reibang.com/p/28f02bb59fe5
也許可以找到你想要的