微分 — 「瞬間の変化」をつかまえる

車のスピードメーターは「いまこの瞬間の速さ」を表示します。でも速さ=距離÷時間で、瞬間の時間は0秒…0では割れないはず。このパラドックスを解決する道具が微分です。ズーム・割線・導関数の3つのアニメで、「瞬間の変化率」を目で見て納得します。

1. 微分は「瞬間の変化率」

平均の変化率なら簡単です。2時間で120km進んだら平均60km/h。これは「2点のあいだ」の変化率で、割り算1回で求まります。

でもスピードメーターが指すのは1点(いまこの瞬間)の速さ。素直に計算しようとすると「進んだ距離0 ÷ 経過時間0」になってしまい、手が止まります。

微分のアイデアはこうです — 瞬間を直接計算するのではなく、測る間隔をどんどん縮めていったときの「行き先」として瞬間の変化率を定義する。グラフのことばで言えば、曲線に1点で触れる接線の傾きを求めることに当たります。

その前にまず、「なめらかな曲線は拡大すると直線に見える」という微分の大前提を体感しましょう。

2. ズームすれば直線 — なめらかさの正体

地球は丸いのに、足元の地面は平らに見えます。巨大な円も、うんと拡大すれば直線と区別がつかないからです。実は x² や sin x のようななめらかな曲線はすべて同じ性質を持っています。1点をどんどん拡大してみましょう。

ズーム実験 — どんな曲線もまっすぐになる?
左=全体、右=オレンジの点のまわりの拡大図。x² も sin x も、倍率を上げるとやがて「まっすぐ」と判定されます。ところが |x| を選んで x₀ = 0(角の上)に合わせると、何倍にしてもV字のまま。角から少しずらす(x₀ = 0.5 など)と、そこはなめらかなので直線になります。
POINT — 微分可能 = ズームすると直線に見える 拡大したときに見えてくるその直線こそ接線であり、その傾きが微分係数 f'(x₀)。「なめらか(微分可能)」とは、グラフの見た目の話ではなく「どの点も拡大すれば直線とみなせる」という性質のこと。
注意 — 尖った点では微分できない |x| の角(x = 0)では、左から見ると傾き −1、右から見ると +1 で、接線の傾きが1つに決まらない。つまりその点では微分できない。ちなみに深層学習で定番の ReLU も角を持つ関数で、実装では「角では傾き0(または1)とする」という約束で乗り切っている。

3. 割線から接線へ — 「瞬間」は極限でつかまえる

傾きを計算するには2点が必要です。そこで、注目する点 P のそばにもう1点 Q を取り、2点を結ぶ直線(割線)の傾きをまず計算します。P と Q の横の間隔を h とすると、割線の傾きは (f(x₀+h) − f(x₀)) / h。あとは h をどんどん小さくして、Q を P に滑り寄せていくだけです。

割線が接線に変わる瞬間 — f(x) = x²
オレンジ=2点を通る割線、緑の点線=本当の接線。h のスライダーを 2 から 0.001 まで縮めると、Q が P に吸い寄せられ、割線の傾きの数値が f'(x₀) にぴったり収束していきます。x₀ を動かして別の点でも試してみてください。
f'(x) = limh→0 ( f(x+h) − f(x) ) / h 割線の傾きの「行き先」が微分係数。f(x) = x² なら ((x+h)² − x²)/h = 2x + h となり、h→0 で f'(x) = 2x

4. 導関数 — 「傾き」もまた関数になる

微分係数 f'(x₀) は点ごとに決まる1つの数です。それなら、すべての点で傾きを測って記録すれば、新しい関数 f'(x) ができるはず。これが導関数です。下のデモでは、点が曲線の上を走りながら接線の傾きを測り、下の段にその記録をリアルタイムで描いていきます。

導関数のライブ描画 — 接線の傾きを記録していく
上段=f(x)とオレンジの接線、下段=傾きの記録(導関数 f'(x))。山頂・谷底(接線が水平になる場所)で、下の f'(x) がちょうど 0 を横切ることに注目。x² の記録は直線 2x に、sin x の記録は cos x の形になります。ex は微分しても自分自身と同じ形!
一歩先へ — 傾き0でも山頂とは限らない x³ を選んで x = 0 を見ると、傾きは0なのに山頂でも谷底でもなく「登り坂の踊り場」(停留点)。つまり「極値なら f' = 0」は言えるが、逆は言えない。機械学習の損失関数にも、傾き0なのに最小ではない場所(鞍点)が無数にあり、最適化アルゴリズムはそこで足止めを食うことがある。

5. まとめ — 機械学習は微分で「降りる方向」を知る

POINT — 損失を減らす方向を教えるコンパス 機械学習では、モデルの「間違いの大きさ」を損失関数で測り、それを微分して「どちらに動けば損失が減るか」を知る。傾きが正なら左へ、負なら右へ — この小さな一歩を何万回も繰り返すのが学習の正体。実際に動く様子は機械学習の「勾配降下法」で。