2.2.4 バックプロパゲーション〜後向き演算2〜

つぎに中間層の結合荷重の更新についてみていきましょう。
中間層の結合荷重の修正量ΔWjiも、 誤差EをWjiで偏微分することで求められます。

出力層の結合荷重を更新するときは、k番目の出力Okだけに 注目すればよかったのですが、 中間層の結合荷重を更新するときはn個の出力すべてが関係します。

つまり、出力O1からOnまでのn個を引数とする 合成関数Eを偏微分することになります。

この偏微分をおこなうには連鎖律 というものを使います。連鎖律をもちいると、 中間層の結合荷重の修正量ΔWjiを求める式は次のようになります。

これなら、すべての出力の変化が考慮されている正しい式になります。 ではこの式を計算していくことにしましょう。 はじめの2つの偏微分は、前のページにでてきたので省略します。

ネット値Uiを中間層の出力Hjで偏微分します。

中間層の出力Hjをネット値Tjで偏微分します。

ネット値Tjを結合荷重Wjiで偏微分します。

よって、修正量ΔWjiをあらわす式は以下のようになります。

このようにして出力層の結合荷重の修正量ΔWjiを求めることができます。

ここで1つ気をつけておかなければならないことがあります。 それはBPはローカルミニマムに陥りやすいということです。 最急降下法のところで見たように、 BPでは初期設定によってはローカルミニマムに陥り、 うまく答がでないこともあります。

それでは、バックプロパゲーション学習で、先ほどのXOR問題をもう1度解いてみましょう。

自分で学習データを設定して試したい場合はこちらのシミュレーションをしてみましょう。


Copyright(c) Iwata-Lab. N.I.T. All rights reserved.