チラ裏備忘録

情報整理

微分の連鎖律(チェインルール)

機械学習誤差逆伝播法に出てくる微分の連鎖律が多変数になるとイメージしづらくなるので適当メモ。

1変数の場合

z = (3x + 5)^3
の時、

z = t^3\\
t = 3x+5
と置き換え、以下のように微分する。

\frac{\partial z}{\partial x} = \frac{\partial z}{\partial t} \frac{\partial t}{\partial x} = 3t^2 \cdot 3 = 9(3x + 5)^2

多変数の場合(長くなるので具体的な計算は省略)


f(u_1, u_2, u_3)\\
u_i(x)\quad(i = 1, 2, 3)
である時、fx偏微分すると、

\frac{\partial f}{\partial x} = \frac{\partial f}{\partial u_1}\frac{\partial u_1}{\partial x} + \frac{\partial f}{\partial u_2}\frac{\partial u_2}{\partial x} + \frac{\partial f}{\partial u_3}\frac{\partial u_3}{\partial x}
となる。
一般化すると、
f(u_1, u_2, ..., u_n)で、u_i(x)\quad(i = 1, 2, ..., n)の時、\frac{\partial f}{\partial x}は、以下のようになる。

\frac{\partial f}{\partial x} = {\displaystyle\sum_{j=1}^{n}} \frac{\partial f}{\partial u_j}\frac{\partial u_j}{\partial x}
つまり、冒頭の合成関数の微分の積のような項がn個できるというわけですね。

説明

 \frac{\partial f}{\partial x} は「xをほんの少し変化させた時に、Lがどれだけ変化するか」を表す。
また、xを変化させるということは、当然xの関数であるuも影響を受けて変化する。
そのため、xuに与える影響を加味したn項の総和が勾配となるのですね。