ディープラーニングG検定の勉強中 その25(全微分と合成関数)

ディープラーニングG検定まで1ヶ月を切りました。
いよいよ試験に向けてということで、問題集に取り組んでみて、とりあえずは1周しました。
公式テキストの読了から日が経っていたことから、正答率は6~7割程度でした。
このままだと合格は厳しいので、間違っていたところを復習して、10月中には正答率が9割以上になるように頑張ります。

それとJDLAの推薦図書も読んでいます。
手始めに「人工知能は人間を超えるか  ディープラーニングの先にあるもの」を読了しました。
ディープラーニングの歴史と概要と未来について分かりやすく書かれてました。これを要約したものが公式テキストという感じです。
あとは、AI白書(2019)も暇があるときに読んでいます。かなりボリュームのある本なので、こちらは読めるところまで読む、というところでしょうか。


という感じで、今回も
書籍「最短コースでわかるディープラーニングの数学」の内容に沿って勉強してみました。

今回は、全微分と合成関数について見ていきます。

参考サイト
アタリマエ!(行列のかけ算のやり方まとめ。例題から分かる行列の積の考え方)


図1のようなパーセプトロンに、

図1
4-4-1.png

入出力層の他に中間層(隠れ層)がある場合は、関数を微分した結果を使ってさらに微分して出力することになります。これは合成関数の考え方と同じです。

合成関数の微分は、式1となりますが、

式1
4-4-2.png

この式と、多変数関数の全微分

式2 全微分の公式
4-4-3.png

を組み合わせて図1のパーセプトロンについて、ノード x1についての出力結果を出します。


図1の入力層のノードは、x1, x2, x3で、その仮出力先が u1とu2、最終的な出力層が L なので、これを式3で表します。

式3
4-4-4.png

入力層のノード x と重み w の内積は式4なので、

式4
4-4-6.png

これを計算することで、中間層全体の値が算出されます。

式5
4-4-7.png

式6
4-4-8.png

これを中間層のノードごとに書き換えると、式7になります。

式7 青い部分はx1 以外の変数なので偏微分のときに「定数」とみなします。
4-4-9.png


次に、各中間層のノードから、出力層の内積を算出する場合ですが、パーセプトロンでは入力層とその重みで算出した結果(今回はx1の偏微分)を使うので(つまりは合成関数)、式8の計算となります。

式8
4-4-10.png

これで計算が終わりましたので、各算出内容を全微分の合成関数の公式である式9に当てはめます。

式9
4-4-5.png

上記の各算出結果を微分して当てはめると、式10となるので、

式10
4-4-11.png

これを計算して式11となります。

式11 ノード x1 の 出力結果
4-4-12.png

なお、式9を多変数関数の一般式にすると式12となります。

式12
4-4-13.png


次に、中間層のノードが1つの場合について、見ていきます。

図2
4-4-14.png

中間層の変数が1つ(1次元)の場合はこれをスカラーと言います。
このスカラーでの合成関数は式13となります。

式13
4-4-15.png

これをノード x1 について算出する式は式14となります。

式14
4-4-16.png

具体的に計算してみると、式15、16となり、

式15
4-4-17.png

式16
4-4-18.png

この算出結果を式17のように当てはめると、

式17
4-4-19.png

式18の出力結果となります。

式18
4-4-20.png

式18を多変数関数に一般化したものが式19となります。

式19
4-4-21.png


今回は理解するのに時間がかかりました。でも、実際に計算してみると、なぜそうなるのかが分かったので良かったです。
ベクトル・行列の積についても再度確認できたのも良かったです。

ブログ気持玉

クリックして気持ちを伝えよう!

ログインしてクリックすれば、自分のブログへのリンクが付きます。

→ログインへ

なるほど(納得、参考になった、ヘー)
驚いた
面白い
ナイス
ガッツ(がんばれ!)
かわいい

気持玉数 : 0

この記事へのコメント