概要
前回は学習用データとテストデータの読み込みを実装しました。
機械学習メモ - ブラウザ上でMNISTデータファイルをDrag&Dropで受け取って手書き数字をとりあえず表示する - Qiita
今回はバックプロパゲーションを実装し、実際に学習~認識までを試してみました。(中間層は1個だけ。フィルタ層とかは無し。)
ネットワークの学習の様子を可視化したかったですが、エッジ数が数万個になるので断念しました。。
データ読み込み後の画面キャプチャ
CodePen上で動作するもの
対象のデータをDrag&Dropすると、学習用データ60000個中の20000個分を学習します。※十数秒以上はかかると思います。
今回の実装だと精度は実用には耐えれないレベル。実用レベルにもっていくには結構専門知識が要りそう。
See the Pen Neural Network learning step demo using MNIST by kob58im (@kob58im) on CodePen.
参考サイト
YouTube
音量注意!!
- 【深層学習】誤差逆伝播法|バックプロパゲーション
- Deep Learning入門:ニューラルネットワーク学習の仕組み
- さらに専門的な内容 ⇒ Neural Network Console - YouTube
その他
- AIプログラマになれる本 - 日経ソフトウェア / サンプルコード1
- 誤差逆伝播法をはじめからていねいに - Qiita
- 機械学習メモ - ブラウザ上でMNISTデータファイルをDrag&Dropで受け取って手書き数字をとりあえず表示する - Qiita
-
直リンクを貼るのはよろしくない気がしたので、リンク先から入手してください。今回参考にしたのは
ai_mook_download.zip\1\Part1\DetectApp
の中にあるC#のソースコードです。(移植するのはライセンス的にまずそうだったので、答え合わせ的な使い方をしました。) ↩