オムライスの備忘録

数学・統計学・機械学習・プログラミングに関することを記す

【深層学習】seq2seq / Encoder-Decoder Model #実装編 #01

この記事の読者


深層学習・ディープラーニングのタスクの1つである「文章生成」について その1つのアルゴリズムとである「seq2seq / Encoder-Decoder Model」について知りたい.

Index

seq2seq

Script

#01 では、Encoder と Decoder を実装する.

Encoder



Encoder class の set_my_layer funtion で、使用するレイヤを設置.

使用するレイヤは、Embedding と RNN (LSTM or GRU) .

call function で、各レイヤを実行.

DecoderCell



DecoderCell class では、時系列単位での処理を担う.

使用するレイヤは、Embeddinging, RNN (LSTM or GRU), Dense.

call function で、各レイヤを実行.

Decoder



Decoder class では、DecoderCell を時系列の数だけ処理を回す.

call function で、docoder へ入力は、前時刻の予測結果ではなく、 前時刻のラベルデータを入れる. (Teacher Forcing)

seq2seq



Encoder class と Decoder class を設置する.

まとめ

  • tensorflow.keras.Model class を使って、各ネットワークアーキテクチャを実装
  • __init__ function でパラメータを設置とレイヤを定義して、call function で実行

参考