第21回LSIデザインコンテスト・イン沖縄  設計仕様書 - 3-3

3-3. アルゴリズム

zi2 (中間層i番目の重み付き入力)と zi3(出力層i番目の重み付き入力) は次のように計算される.

Equation 1

ai2 と ai3 はそれぞれ zi2 と zi3 の活性化関数である. 活性化関数には微分可能かつ正規化可能な関数を使用できる. シグモイド関数を例とすると, ai2 と ai3 は次のように示される.

Equation 2

すべての学習データ(n個)を入力し,全体のコストを計算する. 各学習データのコストは出力層と教師信号の二乗誤差である. 計算方法は以下のとおりである.

Equation 3

コストCの値を使用することにより, 重みwとバイアスbを勾配降下法にて計算できる. パラメータは誤差逆伝搬法(Back Propagation : BP)を用いて, 出力側から入力側に向けて最適化していく.

Equation 4
Neural Network 4

Fig 4 : コスト関数を使った逆誤差伝搬法

δji はFig.4に示す白い丸(ユニット)の誤差を示す. これらの式より,コスト関数のデルタ値を計算することができる. 例えば, ∂C/(∂w121 ) と ∂C/(∂b12 ) は以下のように計算できる.

Equation 5

次の計算式を用いて新しい重みwとバイアスbに更新する.

Equation 6

以降,同じ学習データを入力して,教師信号の値に出力が近似されるまで, コストの計算,およびパラメータ更新を繰り返す. Fig.5にBPのフローチャートを示す.

Neural Network 5

Fig 5 : ニューラルネットワークの逆誤差伝搬法のフローチャート

例題

以下のPDFファイルとzipファイルをダウンロードして例題を見てみよう.


2017/09/11 : zipファイルの新しいヴァージョンをアップロードしました


PDF file:Neural Network example
Zip file:Neural Network source code for Octave version 3.8 (文字コード: UTF-8N)
Zip file:Neural Network source code for Octave version 4.2.x (文字コード: SHIFT-JIS)
<<Back                 Next>>