4.3.1 微積分ロードマップ:モデルは損失を下げながら学ぶ
微積分は、モデルがパラメータをどう変えるかを説明します。最初の目標は直感です。変化を測り、より良い方向へ動かし、繰り返します。
まずマップを見る
Section titled “まずマップを見る”
学習の流れです。

| 概念 | AI での最初の意味 |
|---|---|
| 導関数 | 1つの値がどれくらい速く変わるか |
| 勾配 | 多くのパラメータをどの向きに変えるか |
| 勾配降下 | より小さい loss へ向けてパラメータを更新する |
| 連鎖律 | 複数ステップの変化をつなぐ |
| バックプロパゲーション | 多くの勾配を効率よく計算する |
後で loss.backward() と optimizer.step() を見たとき、この章が背景になります。
最小ループを動かす
Section titled “最小ループを動かす”gradient_descent_first_loop.py を作ります。(w - 3)^2 を小さくしながら、数値を 3 に近づけます。
w = 0.0learning_rate = 0.2
for step in range(1, 7): gradient = 2 * (w - 3) w = w - learning_rate * gradient loss = (w - 3) ** 2 print(step, "w=", round(w, 3), "loss=", round(loss, 3))出力:
1 w= 1.2 loss= 3.242 w= 1.92 loss= 1.1663 w= 2.352 loss= 0.424 w= 2.611 loss= 0.1515 w= 2.767 loss= 0.0546 w= 2.86 loss= 0.02数値は 3 に近づき、loss は小さくなります。ニューラルネットワークが大きくなる前の学習イメージはこれです。
このページを終えたら、この evidence card を残します。
- 関数
- 目的関数、損失、導関数、勾配、または連鎖律の式
- 計算
- 数値微分、勾配更新、または backprop の trace
- 出力
- slope、gradient vector、更新されたパラメータ、またはlossの変化
- 失敗確認
- 符号ミス、学習率が大きすぎる、局所的な傾きの誤解、または chain の破損
- 期待される成果
- パラメータがどう変わるかを示す計算 trace
この順番で学ぶ
Section titled “この順番で学ぶ”| 順番 | 読む | まず見ること |
|---|---|---|
| 1 | 4.3.2 導関数 | 変化率 |
| 2 | 4.3.3 偏導関数と勾配 | 複数のパラメータが一緒に変わる |
| 3 | 4.3.4 勾配降下 | 更新ループ、学習率、loss 曲線 |
| 4 | 4.3.5 バックプロパゲーション | 連鎖律、loss.backward() の直感 |
勾配降下がなぜ「loss を計算 -> 勾配を計算 -> パラメータを更新」を繰り返すのか、そして学習率が大きすぎるとなぜ不安定になるのかを説明できれば合格です。
確認の考え方と解説
- 微積分ルートを通過できる目安は、derivative を局所的な変化、gradient を多パラメータの方向、gradient descent を loss を下げる反復更新として説明できることです。
- 証拠として、導関数の図、勾配ベクトル、loss 曲線、手計算と autograd の比較を 1 つずつ残します。
- 最も安全な習慣は、パラメータをこの方向に少し動かすと loss は上がるのか下がるのか、と常に問うことです。