人工知能に関する断創録

人工知能、認知科学、心理学、ロボティクス、生物学などに興味を持っています。このブログでは人工知能のさまざまな分野について調査したことをまとめています。最近は、機械学習、Deep Learning、Kerasに関する記事が多いです。



ニューラルネットの学習

Cでつくるニューラルネットワークという本の1番最初のプログラムを書いて実行してみた。

この例題は赤と赤、白と白を混ぜると色は変わらない。赤と白を混ぜると色が変わるというのをニューラルネットに学習させるというもの。バックプロパゲーション(誤差逆伝播法)によってニューロンの結合重みを変えて学習するみたい。

今までは式だけで実際にプログラムを書いたことはなかったが、実際に実行してみて驚いた。本当に学習できてる!誤り率がだんだん小さくなっていくのが目に見えて分かった。何か楽しいね。

ニューラルネットも何となくGAに似ていると感じた。要するにNNはバックプロパゲーションを行って誤り率がある値を下回るまで学習させる、一方、GAは適合度がある値を超えるまで遺伝的操作を繰り返す。方法が違うだけでアプローチ的には似ているように思った。