1. 程式人生 > >seq2seq主要實現步驟和原始碼

seq2seq主要實現步驟和原始碼

注意點:

1 資料預處理階段(新增特殊字元)

<PAD>主要用來進行字元補全,<EOS>和<GO>都是用在Decoder端的序列中,告訴解碼器句子的起始與結束

<UNK>則用來替代一些未出現過的詞或者低頻詞

2 encoder

直接lstm或者其他模型

3 decoder

  • 對target資料進行處理
  • 構造Decoder

     在訓練過程中,我們需要將我們的target序列作為輸入傳給Decoder端RNN的每個階段,而不是使用前一階段預測輸出,這樣會使得模型更加準確。TrainingHelper用於訓練階段,GreedyEmbeddingHelper用於測試階段

    • Embedding
    • 構造Decoder層
    • 構造輸出層,輸出層會告訴我們每個時間序列的RNN輸出結果
    • Training Decoder
    • Predicting Decoder

4 構建好了Encoder層與Decoder以後,我們需要將它們連線起來build我們的Seq2Seq模型