RNN-GRU-LSTM變體詳解


首先介紹一下 encoder-decoder 框架

中文叫做編碼-解碼器,它一個最抽象的模式可以用下圖來展現出來:
encoder-decoder

這個框架模式可以看做是RNN的一個變種:N vs M,叫做Encoder-Decoder模型,也可以稱之為Seq2Seq模型。

原始的N vs N RNN要求序列等長,然而我們遇到的大部分問題序列都是不等長的,如機器翻譯中,源語言和目標語言的句子往往並沒有相同的長度。

對於文本領域來講,這個框架可以直觀的這么去解釋:它可以當做是一個句子(文章)通過處理生成另一個句子(文章)的通用框架。假設給定輸入句子Source,想要通過encoder-decoder 生成目標句子Target。Source和Target可以是同一種語言,也可以是兩種不同的語言,當然也就對應着不同的任務,比如機器翻譯,比如文章生成摘要。

對於Source和Target 分別由各自的單詞序列構成:

這個框架最為核心的一點就是中間語義向量C。

C的獲得有多種方式,最為簡單的就是把編碼器的最后一層的隱層狀態直接復制為C,或者可以對這個隱層狀態進行一個變換再賦值為C,還可以對編碼器部分(或者所有)隱層狀態進行一個變換然后賦值為C。
語義向量C之於編碼器

對於解碼器來說,處理中間語義向量C的方法也有不同方法。C可以直接被當做解碼器首個分支的輸入h0,也可以當做解碼器所有分支的輸入.
C之於解碼器之單個分支輸入
C之於解碼器之所有分支輸入

參考了這篇博文-寫的很厲害-介紹而RNN和及其變種-簡單命了-完全圖解RNN、RNN變體、Seq2Seq、Attention機制

這個encoder-decoder模型最為常見的一個使用就是機器翻譯的實際應用,我會寫一篇關於此應用的,由此引出attention機制,並對這個機制進行一個詳細解釋


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM