【入門】誤差逆伝播法①【数値計算】

【入門】誤差逆伝播法①【数値計算】 数値計算
【入門】誤差逆伝播法①【数値計算】

隠れ層から誤差関数までの連鎖律

誤差\(E\)を隠れ層の重み\(W_1\)で微分するにあたって、
間に\(A_2,Z_2,A_1,Z_1\)が居るので、連鎖律は以下になる。

\(
\displaystyle\frac{\partial E}{\partial W_2}=\frac{\partial E}{\partial A_2}\frac{\partial A_2}{\partial Z_2}\frac{\partial Z_2}{\partial A_1}\frac{\partial A_1}{\partial Z_1}\frac{\partial Z_1}{\partial W_1}
\)

当然と言えば当然だが、今までの連鎖律と比べると異様に長い。

それぞれの偏微分を求める。

\(
\displaystyle\frac{\partial E}{\partial A_2}=\frac{1}{2}(A_2-Y)^2=A_2=Y
\)

\(
\displaystyle\frac{\partial A_2}{\partial Z_2}=\sigma^\prime(Z_2)
\)

\(
\displaystyle\frac{\partial Z_2}{\partial A_1}=(W_2 A_1 + b_2)^\prime=W_2
\)

\(
\displaystyle\frac{\partial A_1}{\partial Z_1}=\sigma^\prime(Z_1)
\)

\(
\displaystyle\frac{\partial Z_1}{\partial W_1}=(W_1X+b_1)^\prime=X
\)

連鎖律として組み合わせる。

\(
\displaystyle\frac{\partial E}{\partial W_2}=(A-Y)\sigma^\prime(Z_2)W_2\sigma^\prime(Z_1)X
\)

バイアスの方は途中過程は省略するが以下になる。

\(
\displaystyle\frac{\partial E}{\partial b_2}=(A-Y)\sigma^\prime(Z_2)W_2\sigma^\prime(Z_1)
\)

長い式にはなったが、それぞれはどういう計算になるか分かってるから、
それほど問題にはならないだろう。

まとめ

  • 多層パーセプトロンの重みを決定するための誤差逆伝播法が必要。
  • 誤差逆伝播法の全体像を確認。
  • 出力層の連鎖律と各偏導関数を導出。
  • 隠れ層から誤差関数までの連鎖律を導出。

MATLAB、Python、Scilab、Julia比較ページはこちら

Pythonで動かして学ぶ!あたらしい線形代数の教科書

https://amzn.to/3OE5bVp

ゼロから作るDeep Learning ―Pythonで学ぶディープラーニングの理論と実装

https://amzn.to/3OBiaax

ゼロからはじめるPID制御

https://amzn.to/3SvzuyR

OpenCVによる画像処理入門

OpenCVによる画像処理入門 改訂第3版 (KS情報科学専門書)
◆◆3言語(C言語、C++、Python)対応で、「画像処理の基本」が身につくと、大好評のテキストの改訂版!◆◆ ・OpenCV4.5に対応し、さらにパワーアップ! ・基本アルゴリズムとサンプルプログラムが豊富で、いますぐできる! ・理論と...

恋する統計学[回帰分析入門(多変量解析1)] 恋する統計学[記述統計入門]

https://amzn.to/3STAe2i

Pythonによる制御工学入門

https://amzn.to/3uskuK5

理工系のための数学入門 ―微分方程式・ラプラス変換・フーリエ解析

https://amzn.to/3UAunQK

コメント

タイトルとURLをコピーしました