今回のテーマは「生物学的ニューロンと人工ニューロンの違い」です。
まずニューロンとは何か、脳内のニューロンが実際にどのように機能するかを探り、人口ニューロンについて理解していきましょう!
(※)このシリーズはディープラーニング(深層学習)入門と題して全7回のシリーズでお届けしています。初めて御覧になる方はこちらを一度ご覧ください。
【ニューロンとは】
ニューロンは、人間の脳の基本的な計算単位として定義できます。私たちの脳には約1,000億個のニューロンが含まれています。すべてのニューロンは、シナプスと呼ばれる構造を介して相互に接続されています。シナプスは主に、外部環境からの入力の受信、筋肉に運動命令を送信す役割などを担っています。
ニューロンは、樹状突起と呼ばれる枝のような構造を介して他のニューロンから入力を受け取ります。これらの入力は強化または弱められます。つまり、それらは重要度に応じて重み付けされるということですね。
中央の細胞体で重みづけされた情報が合計され、後続の他のニューロンに送信されます。
生物学的ニューロンの図を下に示します。
「重みづけ」という単語が出てきましたが、これをわかりやすくするための例として、あなたが車を買うときのことを考えてみてください。多くの人にとって車を買うのは大きな決断ですが、人によって重要な情報は変わってきます。「かっこくて速い車に乗りたい」という人であれば車の見た目や色、エンジン排気量などの情報が重要になってくるでしょう。その一方で、「最低限の出費で押さえたい」という人にとって重要なのは価格や燃費です。同じ車を見て、まったく同じ種類の情報をもらっても人によって重視する情報は異なります。ニューロンも同じです!
上の例で面白いのはどちらの人も判断材料で「エンジン」の情報に重みを付けています。それはエンジンの性能は車のスピードにも、税金や燃費にも密接に関わってくるからですね。つまり、内容が全く同じでも人によってプラスの重みづけをすることもあればマイナスの重みづけをすることもあるということです。そしてこれも、ニューロンでも同じことが言えます!!
【人工ニューロン】
ある程度生物学的ニューロンのことがわかったので次は人工ニューロンについてみていきましょう。
といっても簡単です!要は上の内容をコンピューターでもわかるように数学的なモデルであらわしてあげればいいだけです。まず先ほどのニューロンを人工的に表すと以下のようになります。ここでバイアスという値が出てきますが今はあまり気にしないでください。
まず、入力された各情報はそれぞれ固有の値で重みづけされ、これまたこの人工ニューロン固有のバイアスが足されます。ここまで見ると以下のようにを表せますね。
このままではまだ線形回帰と同じなので合計された値をさらに活性化関数(または伝達関数)に代入します。これについては詳しく第5回で解説してきますのでとりあえず「関数を決めるんだ」くらいに思っておいてくださいね。
このようにして複数の入力xから一つの出力yを得るわけですね!このyは後続の人工ニューロンに渡されたり全体の結果として出力されたりします。
さて、この例ではニューロン固有の値が「重みづけ」で3個、「バイアス」で1個、合計4個出てきました。この固有の値は一体誰が決めるのでしょうか?
なんとディープラーニングではこの値が自動でプログラムが決めてくれるのです!!
最終的にはどのような方法でこれを行っているか見ていきますが、まずは今回1つしか出てこなかった人工ニューロンを、本当の脳と同じように複数増やしたらどうなるのか見てみましょう!
次回は「人工ニューラルネットワークとその層」と題してさらにディープな世界に足を踏み入れていきます。