chakokuのブログ(rev4)

テック・コミック・ごくまれにチャリ

min-char-rnn.pyを自分なりに改修

RNNを理解するため、Andrej Karpathy氏によるコンパクトなサンプルプログラム(min-char-rnn.py)を自分なりに分かりやすいように改修した。具体的には、RNN用のクラスを設けて、WeightやBiasをクラスの変数(インスタンス変数)に押し込めて、forward,backwordもメソッド化した。これで少し見やすくなった。
今後はこのサンプルをまずデバッグ+テストして、バグが取れたら、少しずつ改定しながら、LSTMやGRUに修正する予定
1万回学習して、ロスが0.4のRNN内パラメータでの文書生成状況。いいのか悪いのか。。

----
iter 10000, loss: 0.478414
----
 resinthe thetor the book her f ision? vorsus ind picking the daisies, 
when suddenly a White Rabb ter of drttiny as she could, 
fortt iny pictures oo dfes oonversations in it, `and what is cook dyy and
----

オリジナル版の学習効率と生成文書例

----
iter 10000, loss: 1.796347
----
 and of having nothing touk, whe wreger was reading, but it had no pictures 
or conversations in had peeped into the han sher thought Alice 
`witho hon hinto the book her sister was reading, but it had n

■ご参考
改修したソースは以下においています。GoogleDriveで直接xxx.pyを置くと読めなくなるので、xxx.py.txtにして置いています。興味のあるかたはどうぞ(まだデバッグ中。ご参考程度に)。本当はGitHubに置くべきだろうけど、GitHubは敷居が高い。
https://drive.google.com/drive/folders/0B0tdHEsmB1TGWWItQ29HWncyVWc?usp=sharing

オリジナルソースは以下
Minimal character-level language model with a Vanilla Recurrent Neural Network, in Python/numpy
https://gist.github.com/karpathy/d4dee566867f8291f086