ニューロンの演算例

Deep Learning

ニューロン(神経細胞)の電気的なはたらきをモデル化したものとして、次の図に表すものがディープラーニングでは広く使われている。

ニューラルネットワークを構成するニューロンの数や、ニューラルネットワークに入力するデータの数などの条件により、各ニューロンの入力信号の数は変わる。

また、ディープラーニングでは各ニューロンの出力はどれも0~1の間の小数で扱う。ニューラルネットワークに入力するデータそのものも「正規化」により0~1の小数に変換してから入力する場合が多い。入力するデータの正規化により、ディープラーニングによる識別精度が上がったりするけど、ここではまだ割愛しておく。

ニューロンの計算例をひとつあげてみよう。

次のようなニューロンを考える。

  • 入力は3つ
  • 各入力に掛け算する定数はそれぞれ0.2, 0.8, -0.4
  • バイアスに掛け算する定数は-0.1
  • 活性化関数としてステップ関数(下図)を用いる。

ニューロンの演算の流れはこんな感じ。

このとき、ニューロンへの3つの入力がそれぞれ、0.3, 1.0, 0.6だとすると、下図のような流れの演算になり、出力信号1.0が出力される。(ステップ関数はx=0.52のとき、y=1.0なので、ニューロンの出力信号は1.0となる。)

もう1パターン入力してみる。入力がそれぞれ0.4, 0.0, 0.9だとすると、下図のようになる。出力信号は0.0である。(ステップ関数はx=-0.36のとき、y=0.0なので、ニューロンの出力信号は0.0となる。)

以上のように演算して出した出力信号はそのニューロンの役割(後述)によりそのままそのニューラルネットワークの出力になるか、または次のニューロンへの入力信号となる。