MATLAB,Python,Scilab,Julia比較 第4章 その41【多変量関数の連鎖律⑤】

MATLAB,Python,Scilab,Julia比較 第4章 その41【多変量関数の連鎖律⑤】 数値計算
MATLAB,Python,Scilab,Julia比較 第4章 その41【多変量関数の連鎖律⑤】

バックナンバーはこちら。
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

【再掲】多変量関数の連鎖律を把握するための知識

太郎くん
太郎くん

とりあえず多変量関数の連鎖律を把握するための知識を再掲。

  • 合成関数(済)
  • 合成関数の微分(連鎖律)(済)
  • 多変数関数の連鎖律
  • 学習データの多入力による暗黙的関数追加
フクさん
フクさん

今回は多変数関数の連鎖律を元にニューラルネットワークを意識した場合の話になる。

ニューラルネットワーク的な感じで関数構成を書き直す

太郎くん
太郎くん

多変量関数の連鎖律をニューラルネットワークで想定した場合に少し厄介な話が前回あったけど?

フクさん
フクさん

まずは、想定関数構成を見せよう。

ニューラルネットワークを想定した場合の多変量関数の連鎖律の構成、∂z1/∂w1、∂z2・∂w1、∂z1/∂w2、∂z2・∂w2、∂A/∂z1、∂A/∂z2、A
太郎くん
太郎くん

前回の図に似てはいるけど、入力がそれぞれの関数に入ってる感じが違う点かな?

フクさん
フクさん

そうだね。
よって、連鎖律の経路が少し複雑になる。
加えて、ニューラルネットワークの場合、動かしたい値は入力ではなく、重みの方。
よって、重みが連鎖律に於ける入力になる。

太郎くん
太郎くん

言いたいことはわかるけど、確かに少し難解になったな・・・。

フクさん
フクさん

と言っても基本的な考え方は変わらない。

ニューラルネットワーク的な感じで関数構成の連鎖律を数式で

フクさん
フクさん

先ほどの関数構成を元に連鎖律を書き出すと以下になる。

\(
\begin{eqnarray}
\displaystyle \frac{A}{w_1}=\frac{A}{z_1}\frac{z_1}{w_1}+\frac{A}{z_2}\frac{z_2}{w_1}\\
\displaystyle \frac{A}{w_2}=\frac{A}{z_1}\frac{z_1}{w_2}+\frac{A}{z_2}\frac{z_2}{w_2}\\
\end{eqnarray}
\)

フクさん
フクさん

\(w_1,w_2\)ともに\(z_1,z_2\)の経路を通るので、
それぞれの経路の連鎖律を合成すればOKだ。

太郎くん
太郎くん

合計するだけでいいの?

フクさん
フクさん

うん。
それぞれの変化が求まるから、変化の合計がトータルの変化だから。

太郎くん
太郎くん

なるほど。そういう考え方か。

フクさん
フクさん

これがニューラルネットワークを想定した場合の多変量関数の連鎖律になる。

まとめ

フクさん
フクさん

まとめだよ。

  • ニューラルネットワークを想定した場合の多変量関数の連鎖律について説明。
    • 入力から見た際の関数の伝達ルートが複数になる。
    • 変化させたいのは入力ではなく重み。

バックナンバーはこちら。

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

https://amzn.to/3OE5bVp

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

https://amzn.to/3OBiaax

ゼロからはじめるPID制御

https://amzn.to/3SvzuyR

OpenCVによる画像処理入門

https://amzn.to/498ZUgK

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

https://amzn.to/3STAe2i

Pythonによる制御工学入門

https://amzn.to/3uskuK5

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

https://amzn.to/3UAunQK

コメント

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