ナンクル力学系

学んだ事を書き連ねていこう。

Python で RNN (PyRNN) を書いたので公開します

with 2 comments

ソースはBitbucketに置いている. > tkf / PyRNN / overview — bitbucket.org

何が出来るかというと,こんなのとか(インパクトが欲しかったので,学習の様子をアニメーションにしてみた):

左上がエラーの学習曲線,右上がパラメタのRMSの学習曲線,左下が教示信号とネットワーク出力の相空間プロット,右下がコンテキストの相空間プロット.このアニメを作るソースはこれ(が吐いたpngをconvert -delay 5 *.png nn.mpgで変換).

これを作った理由は,Pythonだと簡単に式を書けるからバグ入りにくい,だからCで書いた本番用のテストに使える!と思ったから.だから,かなり計算効率は悪いけど分かりやすい書き方になっている(はず).これを使って本番用のネットの一つバグが落とせたのはかなりうれしかったけど,その本番用のはラボにいる別の人のより性能悪いっぽいので両方共にバグがあるかも(おいw

という訳で,バグレポートお待ちしてます!←ココ!

あ,簡単なネットワークの式はPyRNN v0.0 documentation で説明してます.

追記

  • README.rst にインストール方法書いてるけど,実はインストールしなくても使えます. toy/ElmanNet に色々遊べるスクリプトがあるので,それを一番根元のディレクトリ(setup.py がある場所)にもってきて実行すればおk(なはず.
  • numpy と matplotlib が必要です.
  • アニメの再生速度はlog scale(っぽく)速くしてます.実際は後半待つのが超ダルいです.
  • momentumという黒魔術項を入れて,ネットワークの学習を加速しますけどそのせいで暴れています.でも暴れているのを見るのが楽しいです.
About these ads

Written by tkf

November 18, 2009 at 5:17 pm

Posted in 研究日誌, PC

Tagged with , ,

2 Responses

Subscribe to comments with RSS.

  1. convertってmpgにできるんだねー

    salamann

    November 18, 2009 at 5:23 pm

  2. yes

    tkf

    November 18, 2009 at 6:14 pm


Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

Follow

Get every new post delivered to your Inbox.

%d bloggers like this: