今さら聞けないニューラルネットワークとは
人工知能のキーワードとしてニューラルネットワークという単語がよく出てきますが、ニュートラルネットワークとは一体どういう意味でしょうか。ここではニューラルネットワークについて説明します。
ニューラルネットワークは人の神経細胞のネットワークを模倣したものです。
人の神経細胞のネットワーク
人の脳には千数百個の神経細胞があると呼ばれており、この神経細胞はニューロンとも呼ばれています。この図は人の脳の中のニューロンの接合を模式的に示したものです。
個々のニューロンには入力と出力があります。
入力はこの樹状突起を介して行われます。そして出力はニューロンから長く伸びた軸索を通して行われます。この樹状突起と軸索の接合部はシナプスと呼ばれています。
ニューロン同士の情報のやり取りはシナプスを通して行われます。このようにニューロン同士の接合してそのような接続が無数に行われて巨大なネットワークが脳の中に形成されています。
この人の脳の神経細胞を模倣したものがニューラルネットワークとなります。
ニューラルネットワーク
ここにニューラルネットワークの模式図を示します。
ニューラルネットワークは神経細胞のネットワークを概念的に模倣しています。丸い点が個々のニューロンに相当します。このニューロンに注目してみるとそれぞれが入力と出力を持っていることが分かります。この入力と出力を介してニューロン同士がお互いに接続されてることも分かります。
そしてよく見てみるとこのニューロンは層構造を形成しています。この図では三層の構造となっており、入力層・中間層・出力層と呼ばれています。中間層は隠し層とも呼ばれており、複数の層構造を持つこともできます。
このニューラルネットワークを使うことにより人の脳に近いような複雑な判断をコンピューターに行わせることが可能となります。
ニューロンの概念的な構造
MNISTで用いられている図を用いて、ニューロンの概念的な構造について解説を行います。
x1~x3がそれぞれ入力層のニューロンとなり、y1~y3がそれぞれ出力層のニューロンとなります。中間層を形成するニューロンには重み(w)とバイアス(b)が存在し、それぞれの入力に対して重みを掛け合わせ、バイアスを足したものが中間層となります。この図での中間層のニューロンは3つあり、ソフトマックス関数(softmax)を経由することで、出力層への入力となります。ソフトマックス関数(softmax)は評価関数とよばれ使用するモデルによって異なります。
このように、人の神経細胞を模倣したニューロン同士がお互いに入力と出力を介して、情報の伝達や加工、判断を行うようにしたのが、ニューラルネットワークとなります。