この記事の読者
Index
seq2seq
- seq2seq #まとめ編
「#実装編 #02」では、簡単な問題で学習するコードを実装した.
- seq2seq #実装編 #02
「#実装編 #03」 では、「#アルゴリズム編 #02」 で記した seq2seq の改善手法「Peeky」と学習を実装する.
Decoder
「#実装編 #01」との、変更点とその実装箇所をまとめる.
変更点
Peeky のスクリプトの変更点は、Decoder のみ.
Encoder には変更点はない.
Decoder / DecoderCell のコードは「#実装編 #01」で作成したものをベースに改良.
スクリプト
DecoderCell
Encoder の情報を連結し、次のレイヤに渡すようにする.
Decoder
Encoder の情報を保持し、時系列ごとの処理のたびに、PeekyDecoderCell
に渡す.
Seq2seq
全体のseq2seq モデルは PeekySeq2seq
class と定義.
変更箇所は、使用する Decoder を PeekyDecoder に変更するのみ.
学習
タスクとデータセットについては、「#実装編 #02」と同様に「足し算」のタスクとデータセット.
スクリプト
学習のスクリプトの変更点は、Seq2seq
class を PeekySeq2seq
class に変更.
データセットや、評価関数は、「deep-learning-from-scratch-2」を利用させていただきます.
精度比較
まとめ
DecoderCell
,Decoder
class をPeekyDecoderCell
,PeekyDecoder
として改良- 全体的な精度は変わらなそう?(学習不足)であるが、精度の上昇は Peeky 実装の方が早そう
参考
生成 Deep Learning / オライリー
- 6章 書く
-
ゼロから作るDeep Learning 2
- 7 RNNによる文章生成