FPGA開発日記

FPGAというより、コンピュータアーキテクチャかもね! カテゴリ別記事インデックス https://sites.google.com/site/fpgadevelopindex/

「機械学習と深層学習」をやってみる(6. バックプロパゲーション)

機械学習と深層学習」をやってみる。今回はニューラルネットワークにおけるバックプロパゲーションだ。

機械学習と深層学習 ―C言語によるシミュレーション―

機械学習と深層学習 ―C言語によるシミュレーション―

バックプロパゲーションは、ニューラルネットワークの入力層に対する出力、これが教師データに対してどの程度ずれているかを誤差として計測し、この誤差を最小化するという方式だ。

このため、誤差に対するフィードバックを各パーセプションに実施していき、その誤差を最小化していくという方式になる。詳細は書籍の方を参照されたい。

今回はバックプロパゲーション付きのニューラルネットワークを構成し、多数決論理を学習しパーセプションを更新していく。

github.com

247     0.001037
248     0.001032
249     0.001028
250     0.001023
251     0.001019
252     0.001014
253     0.001010
254     0.001006
255     0.001001
256     0.000997
1.402195 1.814948 1.715402 2.471552 4.175091 4.084850 4.004520 6.197960 1.991619 1.800578 1.997465 2.965208
2.545499
8.116000
3.298762
6.782975

0 1.000000 1.000000 1.000000 0.998858
1 1.000000 1.000000 0.000000 0.988325
2 1.000000 0.000000 1.000000 0.988422
3 1.000000 0.000000 0.000000 0.013654
4 0.000000 1.000000 1.000000 0.988549
5 0.000000 1.000000 0.000000 0.014008
6 0.000000 0.000000 1.000000 0.014104
7 0.000000 0.000000 0.000000 0.001648

f:id:msyksphinz:20170617113634p:plain