AIへ秒読み

人工知能、機械学習、自然言語処理のトレンドを追っかけるページ

CharRecog を GitHub にアップしました

ニューラルネットによる文字認識プログラム CharRecog を GitHub にアップしました

特徴

  • C++ で作成。OpenCV の ANN_MLP クラスを参考に、コアの部分はゼロから書きなおしました。
  • 並列処理 : インテル TBB、OpenMP, C++ AMP などを使い、マルチコア CPU や GPU による並列処理をおこなっています。
  • 行列計算による高速化 : すべてのサンプル画像を処理する際、できるだけループを回さず一回の行列計算により処理をおこないます。
  • さまざまな手法への対応 : autoencoding, convolutional layer, max pooling, maxout, dropout の各手法や 入力画像のランダムな affine 変換などに対応しています。
  • ビルド済み実行ファイルでは float で計算をおこないますが、ソースを一ヶ所変更してリビルドすれば double にも対応します。
  • 学習された重みを画像として出力できます。

すぐに使えるよう 64 ビット版のバイナリもアップしています。 MNIST 画像セットを使って autoencoding や dropout などの実験が簡単におこなえます。

今後も気になる手法があればインプリメントしていく予定です。 また、画像認識や言語処理のための高速なNNエンジンとしても使えるようにしていきたい。