よく使う微分規則——冪関数、指数と対数
前の章で導関数の意味を理解し、この章では実際の計算を身につけます。AIで最もよく使われる3種類の関数の微分規則を覚えれば、ほとんどの場面に対応できます。
基本関数の導関数早見表
| 関数 f(x) | 導関数 f'(x) | AIで登場する場面 |
|---|---|---|
| \( c \)(定数) | \( 0 \) | バイアス項を微分するとき、定数は消えます |
| \( x^n \) | \( nx^{n-1} \) | MSE損失における \( x^2 \) |
| \( e^x \) | \( e^x \) | Sigmoid、Softmax |
| \( \ln x \) | \( \frac{1}{x} \) | 交差エントロピー損失 |
四則演算の微分法則
| 法則 | 公式 |
|---|---|
| とと差 | \( (f \pm g)' = f' \pm g' \) |
| 積 | \( (fg)' = f'g + fg' \) |
| 定数倍 | \( (cf)' = cf' \) |
最も重要な導関数の1つ:\( (e^x)' = e^x \)——指数関数の導関数はそれ自身に等しい。
この性質により、指数関数は微分方程式やディープラーニングのいたるところに現れます。
身近な例
微分規則を学ぶのは料理の包丁さばきを学ぶようなものです——各規則が基本の技術であり、組み合わせればどんなレシピも扱えます。
\( (e^x)' = e^x \) は変わらない材料のようなものです:どのように加工しても、常に元のままです。
数学的定義
冪関数の微分:次数を1減らし、元の指数を掛ける
\[ \frac{d}{dx} x^n = n x^{n-1} \]これは最も基本的な微分公式です。例えば \( (x^2)' = 2x \)、\( (x^3)' = 3x^2 \) です。
MSE損失の \( (y - \hat{y})^2 \) は冪関数であり、これを微分すると \( 2(y - \hat{y}) \) が得られます。
指数関数の微分:導関数は自分自身
\[ \frac{d}{dx} e^x = e^x \]これは数学の中で最もユニークな関数の1つです。e^x の導関数はやはり e^x——何回微分しても、常に元のままです。
この性質により、e^x は Sigmoid関数 \( \sigma(x) = 1/(1+e^{-x}) \) や Softmax に繰り返し登場します。
対数関数の微分
\[ \frac{d}{dx} \ln x = \frac{1}{x} \]交差エントロピー損失の log 項の微分にはこれを使います。対数関数と指数関数の導関数は互いに逆数の関係にあります——両者は互いに逆関数です。
和差の法則
\[ (f \pm g)' = f' \pm g' \]和の導関数 = 導関数の和。微分操作はプラス記号とマイナス記号を「通り抜けて」、各項をそれぞれ微分できます。
積の法則
\[ (f \cdot g)' = f' \cdot g + f \cdot g' \]積の導関数 ≠ 導関数の積。正しくは「1つ目の導関数×2つ目 + 1つ目×2つ目の導関数」です。
この法則は逆伝播で頻繁に登場します——\( w \cdot x \) の w に関する偏微分を計算するときに、積の法則を使います。
これら3種類の関数と3つの法則を組み合わせれば、AIにおける大多数の関数の導関数を求めることができます。
例えば Sigmoid の導関数 \\( \\sigma'(x) = \\sigma(x)(1-\\sigma(x)) \\) は、商の法則、指数関数の微分、連鎖律を総合のに用いたものです。
Pythonで実際に試す
例
x = sp.Symbol('x')
funcs = {'x^3': x**3, 'e^x': sp.exp(x), 'ln(x)': sp.log(x),
'x^2 + 3x + 5': x**2 + 3*x + 5}
print("=== 記号微分の検証 ===")
for name, f in funcs.items():
print(f"f(x)={name:15s} → f'(x)={sp.diff(f, x)}")
# 積の法則
f = x**2 * sp.exp(x)
print(f"\n(x^2 · e^x)' = {sp.diff(f, x)}")
# 連鎖律:(2x+1)^3 の導関数
g = (2*x + 1)**3
print(f"((2x+1)^3)' = {sp.diff(g, x)}")
AIでの応用シーン
逆伝播における勾配計算
ニューラルネットワークの各層はこれらの基本的な微分規則に関わります。線形層 y = Wx + b をパラメータ W で微分する際は積の法則を使い、b で微分する際は定数の導関数が0であることを使います。
Sigmoid活性化関数の導関数の導出
\( \sigma(x) = 1/(1+e^{-x}) \) を商の法則で微分すると \( \sigma'(x) = \sigma(x)(1-\sigma(x)) \) が得られます。この簡潔な形式は逆伝播での計算が非常に高速です——順伝播時に既に計算済みの \( \sigma(x) \) の値だけが必要で、指数を計算し直す必要がありません。
Softmax + 交差エントロピーの組み合わせ勾配
Softmax は指数、総和、除算を含むため、単独での微分は複雑です。しかし交差エントロピー損失と組み合わせると、勾配は見事に \( \hat{y} - y \)(予測 - 正解ラベル)にまで簡略化されます——これはディープラーニングで最もエレガントな導関数の簡略化の1つであり、分類タスクで Softmax+CE が標準となる根本的な理由です。
その他の発展