日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

tensorflow lstm 预测_解析seq2seq原理+tensorflow实现

發(fā)布時(shí)間:2025/3/19 编程问答 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 tensorflow lstm 预测_解析seq2seq原理+tensorflow实现 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

1 寫在前面

最近抽時(shí)間寫文章,將自己以前學(xué)過的知識(shí)總結(jié)一下,通過文章記錄下來,以后忘記了也可以隨時(shí)翻閱。

本文主要介紹最基礎(chǔ)的seq2seq模型,并嘗試使用tensorflow實(shí)現(xiàn)。很多朋友都說pytorch很香,所以隨后自己有時(shí)間也想入門pytorch,嘗試寫一個(gè)pytorch的版本seq2seq。

2 seq2seq模型

圖1 seq2seq模型

結(jié)合圖1,我們介紹下seq2seq模型。seq2seq模型可以分為Encoder和Decoder兩部分。在seq2seq模型中,Encoder和Decoder模型用LSTM或者GRU實(shí)現(xiàn)。這里的Enconder將原句子編碼成一個(gè)固定大小的有意義的向量 C,然后將向量C作為Decoder的輸入,Decoder對(duì)向量C解碼,最后輸出目標(biāo)句子。

2.1 Encoder

Encoder是一個(gè)LSTM。假設(shè)我們的輸入是 how are you,輸入句子中的每個(gè)單詞

通過embedding layer (look up table)后得到一個(gè)向量 ,其中 是詞向量的維度。在我們的例子中,我們的輸入句子是how are you,因此我們得到的輸入向量是 。然后我們只需在這個(gè)向量序列上運(yùn)行一個(gè)LSTM(在seq2seq的原始論文中,作者在實(shí)驗(yàn)中使用的是多層LSTM,他們發(fā)現(xiàn),多層LSTM的效果會(huì)更好,可以參考圖4),并存儲(chǔ)LSTM輸出的最后一個(gè)隱藏狀態(tài),最后一個(gè)隱藏狀態(tài)就是我們的encoder編碼形成的有意義向量C,在對(duì)應(yīng)到圖2中,LSTM的隱藏狀態(tài)為 ,所以C= 。

圖2 Encoder部分模型結(jié)構(gòu)

2.2 Decoder

圖3 Decoder部分模型結(jié)構(gòu)

Decoder是另一個(gè)LSTM。通過Encoder,我們獲得了一個(gè)捕獲了輸入序列意義的 fix-size的向量C。然后我們將向量C作為Decoder的輸入,一個(gè)字一個(gè)字地獲取目標(biāo)序列。對(duì)應(yīng)到圖3,我們將encoder representation C作為LSTM的hidden state

,一個(gè)特殊的標(biāo)志符向量 作為輸入 ,其中<sos>表示(tart of sentence)。隨后LSTM計(jì)算下一個(gè)隱藏狀態(tài) 。然后我們使用一個(gè)函數(shù) ,這里一般就是加一個(gè)全連接層作為函數(shù) 。然后得到 , 。隨后將softmax應(yīng)用到s1, 得到標(biāo)準(zhǔn)化的概率表示,即,其中 。p1中的每個(gè)元素 表示選中每個(gè)單詞的概率,如果法語單詞“comment”的概率最大,這樣我們就得到單詞"comment"的index,然后將單詞“comment"的向量 表示作為 ,然后 , h1作為下一個(gè)LSTM單元的輸入,如此進(jìn)行下去,直到預(yù)測(cè)的單詞是<eos>

seq2seq模型實(shí)際就是在給定原句子X的基礎(chǔ)上對(duì)句子的下一個(gè)詞的分布建模

下面這一點(diǎn)是Stanford nlp課程中的截圖,大家可以看看。

3 tensorflow 實(shí)現(xiàn)

本節(jié)基于tensorflow實(shí)現(xiàn)圖4的seq2seq模型,因?yàn)閟eq2seq原論文指出,使用多層LSTM可以達(dá)到更好的效果,并且在論文中指出,將原句子反轉(zhuǎn)能獲得更好的效果。

圖4

4 tensorflow實(shí)現(xiàn)

tensorflow實(shí)現(xiàn)我寫在下一篇文章中吧,不然一篇文章太長會(huì)讓人看起來不舒服。下面鏈接是seq2seq的tensorflow實(shí)現(xiàn)。

愛羅月:seq2seq之rensorflow實(shí)現(xiàn)?zhuanlan.zhihu.com

5 參考文獻(xiàn)

https://web.stanford.edu/class/cs224n/slides/cs224n-2019-lecture08-nmt.pdf?web.stanford.eduSeq2Seq with Attention and Beam Search?guillaumegenthial.github.io

寫在最后:以上全是個(gè)人理解,肯定會(huì)有不正確或者不準(zhǔn)確之處,大家看出來可以評(píng)論指正,我看到就會(huì)修改過來。

看到這篇文章的小伙伴,如果覺得對(duì)你有用,就為我點(diǎn)個(gè)贊吧!

注:本文可以任意轉(zhuǎn)載,轉(zhuǎn)載時(shí)請(qǐng)標(biāo)明作者和出處。

總結(jié)

以上是生活随笔為你收集整理的tensorflow lstm 预测_解析seq2seq原理+tensorflow实现的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。