seq2seq模型

循環神經網絡RNN(Recurrent Neural Network)是一類用於處理序列數據的神經網絡。不同於前饋神經網絡,RNN能夠記錄之前的信息, 並且和當前時刻的序列數據一起影響輸出。

根據輸入序列和輸出序列的長度,可以將RNN分成如下幾種:

  • one to one結構1 to1,一個輸入對應一個輸出

  • one to many結構1 to N,給定一個輸入值得到一輸出序列,可以用來從圖像生成文字

  • many to one結構N to 1,給定一個輸入序列得到一個單獨的值,用來處理序列分類問題

  • many to many結構,分成兩種,一種是輸出數目和輸入數目相等,爲N to N結構,可用於字符預測等。但是,在現實世界中,大多數情況下,譬如機器翻譯等,輸入序列和輸出序列的數目並不相等,爲N to M結構,又可叫做seq2seq模型,下面我們介紹一下seq2seq(Sequence to Sequence)模型

seq2seq模型

seq2seq屬於encoder-deconder結構,它的基本思想是:使用兩個RNN模型,一個RNN用於編碼encoder,將輸入序列轉化成一個固定長度的向量,這個向量可以看做是輸入序列的語義向量;另一個RNN用於解碼decoder, 將語義向量解碼成輸出序列

上圖來自Sequence to Sequence Learning with Neural Networks,是一篇比較經典的文章,較早地探索了seq2seq在nlp任務中的應用,在這篇論文中,作者提出了三點創新點:

  1. 用了兩個LSTM,一個用來處理輸入序列,一個用來處理輸出序列
  2. 深一點的LSTM比淺的LSTM效果要好,作者在此論文中選擇了四層
  3. 將輸入的序列翻轉輸入,得到的效果更好

對LSTM不熟悉的請移步https://blog.csdn.net/weixin_42111770/article/details/80900575

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章