バックナンバーはこちら。
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による制御工学入門
理工系のための数学入門 ―微分方程式・ラプラス変換・フーリエ解析
コメント