バックナンバーはこちら。
https://www.simulationroom999.com/blog/compare-matlabpythonscilabjulia4-backnumber/
はじめに
単純パーセプトロンに対する逆伝播についての話。
合成する関数を書き出してみる。
登場人物
博識フクロウのフクさん
イラストACにて公開の「kino_k」さんのイラストを使用しています。
https://www.ac-illust.com/main/profile.php?id=iKciwKA9&area=1
エンジニア歴8年の太郎くん
イラストACにて公開の「しのみ」さんのイラストを使用しています。
https://www.ac-illust.com/main/profile.php?id=uCKphAW2&area=1
【再掲】逆伝播を想定した単純パーセプトロンの構成
単純パーセプトロンの逆伝播を考えるにあたって、
一連の合成関数を出してみよう。
まずは前回の構成を再掲する。
まぁ、これを見るだけでも複数の関数が合成されてそうなのはわかるね。
一連の合成関数
先ほどの構成をブロック図として書き出したのが以下になる。
あれ?
入力が\(W\)?
\(W\)って入力じゃなくて重みだよね?
調整したいのは入力じゃなくて重み。
だから、単純パーセプトロンの学習における入力は重みと見なしてる感じだな。
なるほど、
言われてみるとそうだ。
そして、さきほどの合成関数を数式で表現するとこうなるな。
合成関数
\(E=SSE(\sigma(f(W)))\)
そのまんまだね。
各関数
そして、各関数を書き出す。
誤差関数
\(
\displaystyle E=\frac{1}{2}\sum_{i=1}^n(A-Y)^2
\)
活性化関数
\(
A=\sigma(X)
\)
入力と重みの内積
\(
Z=f(W)=
\begin{bmatrix}
w_1&w_2&b
\end{bmatrix}
\begin{bmatrix}
x_1\\
x_2\\
1
\end{bmatrix}
\)
この関数の合成がさっきの合成関数ってことになるのか。
あとは、合成関数の微分こと連鎖律を考えていくことになる。
まとめ
まとめだよ。
- 一連の合成関数について書き出し。
- 合成関数を構成する各数式を書き出し。
- 誤差関数、活性化関数、入力と重みの内積。
バックナンバーはこちら。
Pythonで動かして学ぶ!あたらしい線形代数の教科書
ゼロから作るDeep Learning ―Pythonで学ぶディープラーニングの理論と実装
ゼロからはじめるPID制御
OpenCVによる画像処理入門
恋する統計学[回帰分析入門(多変量解析1)] 恋する統計学[記述統計入門]
Pythonによる制御工学入門
理工系のための数学入門 ―微分方程式・ラプラス変換・フーリエ解析
コメント