hellkite 日記と雑記とメモ。

Shiki Kazamaの駄文と音楽と、時々技術な感じ

Chainerが面白い。手書き文字認識MNISTをやってみた。


スポンサーリンク


触り始めた機械学習ライブラリ、Chainer。
まず、ここでNNの用語、構成要素を整理した後で、サンプルをやってみました。
パラメータやネットワークの記述の仕方に関してはなんとなくつかめた気がします。
qiita.com


やっぱり機械学習に触れてみたら画像を扱ってみたい。というわけで、画像を使ったサンプルとしては有名な、MNISTをやってみました。

f:id:deis:20160908174204p:plain

おおーって感じ。精度は98%程度ですが、パッと見、間違いが見つかりません。というより300文字くらいは見ましたが見つけられませんでした^^;

Chainerはバージョンによってネットワーク記述のやり方が変わったり*1、学習部分を担当するクラスが増えたり*2と結構バージョンによって書き方が変わるようです。ネットで探していると記述の違うサンプルがいくつか出てきて混乱しました。

Chainerのサンプルはアチコチに転がっているので、特に書きませんが、以下のサイトを参考にしました。

qiita.com

次のステップとしては、CIFAR-10という10種類のカテゴリ別に画像を分類するデータセットを試したいと思います。
というより試しているのですが、うまく動いていないのでデバッグ中です・・・。これができたら少し応用的なものを考えたいと思ってます。

*1:FunctionSetのcollect_parametersを使う書き方は古いらしく警告が出る

*2:Trainerというクラスが便利みたい。