PythonでANN…?
ここ数日はまだ8月というのに日中30度に達しないことが多く、やけに涼しい。夜はひょっとすると肌寒いくらいで、暑さボケした脳味噌もクールダウンする季節に近づきつつある。
広がりだしたらしい新型インフルエンザとかが俄然蔓延しそうなのが怖いが。
過ごしやすい季候になったのもあって、修論をクリアするだけの頭脳に到達すべく細々と勉強中。
高校卒業以来ろくに頭を回していないせいか、もう神経が死に絶えて取り返しがつかないことになっている気がするけど…
で、勉強の一貫としてちょっとRNNとかやってみちゃおうかな、と思ってPythonのANNライブラリを探してみた。ニューラルネット自体もそうだけど、反復処理が高速化するとかいうpyscoを使ったことがなかったので、ちょうど良い練習台になりそう。
しかしどうも微分方程式で挙動を設定できる凄そうなライブラリは一杯あるけど、単純な用途にはどれが良いのかよく分からん。
PyNN - Tracというのが複数のNNシミュレータを透過的に扱えるAPIで、実装としてはBrianとかNEURON、NESTなどがあるとか。
これらは妙に精巧なモデルを使ったシミュレーションに力を入れているようで、単純化した機械学習用には重い気がする。BPといった学習アルゴリズムも実装されてなさそうだし。(自分で書けば良いんだが)
単なる3層フィードフォワードネットワーク+BPならbpnn.pyというのがあるようだし、それこそ自分で即書けるけど、RNNにそのまま適用できるんだろうか。
FANNというのは多くの言語でラッパーがあるらしいし、ちょうど良いかもしれない。
でも学習なんて計算量の多いことをするには現在のAthlon64X2 5200+(しかも兼NAS/VMware host)には荷が重そうだ。PhenomIIとかで計算用マシン組みたいなあ。






