RNN を使ったモデルの実装方法

RNN のなんとなくの概要は掴んだつもりが全然実装できなかったので、生理のためにまとめました はじめに 最近深層学習を勉強しています。基本的な概念とか背景の理論の概要はつかめた気がしているのですが、いざ実装しようとなると手が動かないとか正しく動かないとか、理解が甘かったことがわかってしまいます。 今挑戦してみているのは、Sequence to sequence (Seq2seq) というやつです。その名の通り、何らかの入力列を何らかの出力列に変換する仕事をする nn です。代表的な応用先としては、機械翻訳やチャットボットなどが挙げられます。 Seq2seq を実装するにあたり、自分の RNN についての理解が整理できていないことがわかりました。特に、どう実装するのかという部分が全く理解できていませんでした。そこで、ここに今の自分の「RNN とその実装」についての理解をまとめておこうと思います。 RNN は時系列データを扱える RNN の最大の特徴は時系列データを扱えることです。そもそも、時系列データとはなんでしょうか。 例えば、「昨日 渡った はし」という文章があったとします。人間には「はし」が「橋」であることがわかりますが、それは「はし」の前に「渡った」という言葉があるからです。「はし」という単語だけを見たら「箸」かもしれないですよね。つまり、文章は「その前後の単語たち」に影響を受けるということです。 このように、「その前後にあるデータ(列)」に影響を受けるデータのことを時系列データといいます。普通の機械学習のモデルや CNN

Read more