tensorflow の rnn のチュートリアルはちょっと複雑で何をやってるのかパッとはわからないので、簡単なやつを作って動かしてみたい そもそもRNNとは? 出力をまた入力に使うらしい。よくこんな図を見るけど具体的に何が起きているのか? 深層学習による自然言語処理 という本だと、 ということなので、1層で入力も出力も2個のときは、下図っぽい感じになるはず。 任意の長さの入力 (今回は入力素子が2個なので長さ4なら [ [3,2], [4,4], [1,0], [9,9] ] みたいな感じ) について、 最後の入力(上の例では [9,9])が渡されたときの出力(にsoftmaxとかかけたもの)で誤差関数の値を計算して、それを最小化するようにWを調整していくことで学習していく。 (必要なら各入力に対する出力を保存しておいてそれらで誤差関数を計算してもいいみたい) 入力の素子数が1つで活性化
![tensorflow で rnn を動かしてみる - uhiaha888’s diary](https://cdn-ak-scissors.b.st-hatena.com/image/square/4487eec1bd07086367df3e5decc5e955c181e0fe/height=288;version=1;width=512/https%3A%2F%2Fcdn-ak.f.st-hatena.com%2Fimages%2Ffotolife%2Fu%2Fuhiaha888%2F20171209%2F20171209141043.png)