以下のような人向けの記事
・ニューラルネットワークの原理の基本中の基本を知りたい
・ニューラルネットワークを専門外の方にも簡潔に説明したい
http://nnadl-ja.github.io/nnadl_site_ja/chap1.html
ニューラルネットワークと深層学習
-ニューラルネットワークを用いた手書き文字認識
上の無料のオンライン書籍から抜粋し、自分なりによりわかりやすいよう必要最低限の変更を加えたものである。
まず、ニューラルネットワークは人間の脳を模倣したものである。人間の脳の中にはニューロンという神経細胞が千数百億個あり、各ニューロンがシナプスと呼ばれる接合部位によって繋がっている。ニューロンは入力される電気信号の閾値がある一定の量を超えると発火し、シナプスによって次のニューロンに電気信号を出力する。この動作の連続により、脳は信号の伝達を行っている。このニューロンを模倣した人工ニューロンのモデルを図に示す。
この人工ニューロンのひとつにパーセプトロンがある。パーセプトロンは入力が閾値を超えたら、1を出力する。超えなければ0を出力する。
この人工ニューロンがどうやって処理をするのか。以下に例を出す。
あなたが週末のチーズ祭りに行くかどうか(1か0か)、意思決定をしたいとする。そして、あなたの判断に影響を及ぼすファクターは3つあるとする。
①天気は良いか?
②あなたの恋人も一緒に行きたがっているか?
③祭りの会場は駅から近いか?(あなたは自家用車を持っていない)
これら3つのファクターは1か0で表現することができる。例えば、天気が良いなら1、天気が悪ければ0だ。同じく、恋人が行きたがっているなら1、そうでないなら0である。③についても同様である。
次に、ファクターの重要度を「重み」として決める。
あなたはチーズが大好物で、駅から遠かろうが恋人がなんと言おうが、喜んでチーズ祭りに行くつもりだとする。一方あなたはなによりも雨が苦手で、天気が悪かったら絶対に行くつもりがない。人工ニューロンは、このような意思決定を表現できる。ひとつの方法は、以下のような方法だ。
①の重み:6
②の重み:2
③の重み:2
そして、閾値を5とする。以上のパラメータ設定によってあなたの意思決定モデルを実装できた。もう一度、パーセプトロンのモデルを示すと…
このモデルは、
①×(①の重み)+②×(②の重み)+③×(③の重み) > 5 ならば、1を出力する。
ということだ。
このパーセプトロンは天気がよければ必ず1を出力し、天気が悪ければ必ず0を出力する。あなたの恋人の意思や、駅からの距離によって結論が変わることはない。
重みと閾値を変化させることで、様々に異なった意思決定モデルを得ることができる。例えば、閾値を5から3に変える。すると、「祭りに行くべき」と判断する条件は「天気がよい」または「会場が駅から近く、かつあなたの恋人が一緒に行きたがっている」となる。閾値を下げたため、あなたは「より」祭りに行きたがっていることになった。
このように、人工ニューロンは異なる種類の情報を考慮し、重みをつけたうえで判断を下す能力がある。となれば、人工ニューロンを複雑に組み合わせたネットワークなら、かなり微妙な判断も扱えそうであるとわかる。
より複雑なニューラルネットワークの原理についてはこちら
http://qiita.com/jintaka1989/items/3b70b5c5541620536fa2
TensorFlowのチュートリアルを通して、人工知能の原理について学習する