前章までで (xn)′=nxn−1 が手に入りました。でも実際の関数は xsinx や sin(3x) のように部品の組み合わせでできています。組み合わせの微分規則(いわば微分の文法)は3つだけです。
触ってみる — 積の法則は長方形
f(x)⋅g(x) を「縦 g、横 f の長方形の面積」だと思ってください。スライダーで x を動かすと、面積の増え方が2つの帯に分解されて見えます。
面積 = f(x)⋅g(x)。x が少し進むと、縦帯 f′⋅g⋅dx と横帯 f⋅g′⋅dx が増える。角の小さな灰色(f′g′dx2)は dx→0 で消える — これが積の法則です。
同じ積の法則を、今度は x の動きから離れて、長方形の「増えた面積の帳簿」として見ます。先ほどの図が関数の変化を追う見方なら、これは f と g の長さそのものが少し伸びたときの分解です。
元の長方形
fg=6.00右の帯
gdf=1.20上の帯
fdg=1.20角
dfdg=0.24 増えた面積は gdf+fdg+dfdg=2.64、新しい面積は (f+df)(g+dg)=8.64 です。
df と dg が十分小さいと、角 dfdg は一次の部分 gdf+fdg=2.40 よりさらに小さくなります。
種明かし
x が dx 進むと、横が f′dx 伸び、縦が g′dx 伸びます。面積の増分は:
縦帯f′gdx+横帯fg′dx+角(無視できる)f′g′dx2
dx→0 で角は消え、積の法則が残ります:
(fg)′=f′g+fg′
商の法則 (gf)′=g2f′g−fg′ は、積の法則を f=gf⋅g に適用すれば導けます(暗記は1つでいい)。
連鎖律 — 速さの掛け算
合成 y=f(g(x)) の微分は変化率の掛け算です:
dxdy=dudy⋅dxdu
第10章のパイプ図を思い出してください。x が動くと中間変数 u が g′ 倍速で動き、u が動くと y が f′ 倍速で動く。直列につないだ速さは掛け算です。それだけです。たとえば y=sin(3x) なら、中身が3倍速なので y′=3cos(3x)。
機械学習の誤差逆伝播は、この掛け算を何百層も続けているだけです。
理解チェック
y=(x2+1)3 を微分してください。
答えを見る
外の速さ 3u2 × 中の速さ 2x で、y′=3(x2+1)2⋅2x=6x(x2+1)2。展開してから微分しても同じ答えになりますが、計算量が段違いです。
もう1問: x2⋅x3 の微分を、積の法則と「先に x5 にまとめる」方法の両方で計算すると一致するでしょうか?
答えを見る
一致します(5x4)。積の法則: 2x⋅x3+x2⋅3x2=2x4+3x4=5x4。道具が違っても答えは同じです。検算にも使えます。
式で確かめる
動かして掴んだ感覚を、式と言葉で確かめます。間違えても、ヒントと解説で戻れます。
確認 1 / 3
積の法則 (fg)′ はどれですか?
確認 2 / 3
連鎖律を使って y=(x2+1)3 を微分したとき、x=1 での値はいくつですか?
確認 3 / 3
y=sin(3x) の x=0 での微分係数はいくつですか?