ひとつ前に戻る

ニューラルネットワーク自作入門を理解したい

プログラムの内容

プログラムの中身を見ると大きく三つの部分からできていることが分かりました。
①ニューラルネットワークの初期化、②ニューラルネットワークの学習、③ニューラルネットワークへの照会
①ニューラルネットワークの初期化 行っていること
 入力層、隠れ層、出力層のノード数の設定
 入力層から隠れ層及び隠れ層から出力層への重み設定
②ニューラルネットワークの学習 行っていること
 ③ニューラルネットワークの照会で行っていることに加えて下記
  最終出力と目標値の誤差を計算
  上記より1.入力層と隠れ層の間の重みを更新
      2.隠れ層と出力層の間の重みを更新
③ニューラルネットワークへの照会 行っていること
 隠れ層に入ってくる信号の計算(入力信号と重みを掛け算したものを足し込み)
 上記のものにシグモイド関数を適用し、隠れ層からの出力にする
 出力層に入ってくる信号の計算(隠れ層からの出力と重みを掛け算したものを足し込み)
 上記のものにシグモイド関数を適用し、最終出力となる

 やっていることは大体これだけでした。
 これが分かったとき、「ああこれがニューラルネットワークでやっていることなのだ。」と理解しました。

 つまり、①出力の計算としては、信号と重みを掛け算して、足し込んで、シグモイド関数を適用する。
 ②学習としては、最終出力と正解を比較してそこから重みを更新していく
ということです。

  ひとつ前に戻る