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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

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

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

1 寫在前面

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

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

2 seq2seq模型

圖1 seq2seq模型

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

2.1 Encoder

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

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

圖2 Encoder部分模型結構

2.2 Decoder

圖3 Decoder部分模型結構

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

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

seq2seq模型實際就是在給定原句子X的基礎上對句子的下一個詞的分布建模

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

3 tensorflow 實現

本節基于tensorflow實現圖4的seq2seq模型,因為seq2seq原論文指出,使用多層LSTM可以達到更好的效果,并且在論文中指出,將原句子反轉能獲得更好的效果。

圖4

4 tensorflow實現

tensorflow實現我寫在下一篇文章中吧,不然一篇文章太長會讓人看起來不舒服。下面鏈接是seq2seq的tensorflow實現。

愛羅月:seq2seq之rensorflow實現?zhuanlan.zhihu.com

5 參考文獻

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

寫在最后:以上全是個人理解,肯定會有不正確或者不準確之處,大家看出來可以評論指正,我看到就會修改過來。

看到這篇文章的小伙伴,如果覺得對你有用,就為我點個贊吧!

注:本文可以任意轉載,轉載時請標明作者和出處。

總結

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

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。