ニューラルネットワークとは?
ニューラルネットワークモデルは、ニューロンモデルを単位として構築されます。
ニューロンモデルは脳の神経細胞(ニューロン)の動きから考案されたモデルで、その動きは大きく分けると2つになります。
①他の神経細胞から電気パルスを受け取る。
②受け取った電気パルスの合計が閾値を超えるとパルスを出力する。
ニューロンモデルは数学的に上記2つの動きを再現します。
では、具体的に数学的モデルとして説明します。
上図の四角形は入力値、円形がニューロンを表しています。
入力値xは実数値をとり、各入力の重み付け和aを計算します。
a = w0x0 + w1x1 + w2x2
入力総和aは活性化関数によって出力値yに変換し、次のニューロンに渡されます。
活性化関数は一般に以下のような関数が使用されます。
また、損失関数は目的関数とも呼ばれ、出力yと教師データとの誤差を学習パラメータとして使用するために必要な関数です。最終的な学習結果で最小にすべき値を出力します。
これは最小二乗法でいうところの誤差関数であり、確率モデルでいうところ交差エントロピー誤差にあたります。
特にシグモイド関数&交差エントロピー誤差を使用した場合、上図のニューロンモデルは最尤推定・交差エントロピー誤差(2)で紹介した学習手法と等価です。
このニューロンモデルをいくつもつなげたネットワークのことをニューラルネットワークモデルと呼び、その層を2層、3層と重ねた物が一般に深層学習と呼ばれています。
ニューラルネットワークモデルは活性化関数、損失関数、ネットワークの構成をうまく組み合わせることで高い精度を実現します。
また、ネットワーク構成によって、名称やできることが変わっています。
今後の記事ではそういったニューラルネットワークモデルを少しずつご紹介できればと考えています。