| この記事の要点 |
|---|
|
本稿は AI / 機械学習に必要な微積分 の入門です。AI の学習プロセスは「誤差を微分して、勾配方向にパラメータを少し動かす」の繰り返しなので、微積分が中核にあります。
なぜ AI に微積分が必要なのか
AI モデルの学習は、ほぼ例外なく以下のループです。
| ステップ | やっていること |
|---|---|
| 1. 順伝播 (Forward) | 入力からモデルの予測値を計算 |
| 2. 損失計算 | 予測値と正解の誤差(損失 Loss)を計算 |
| 3. 逆伝播 (Backward) | 損失を各パラメータで偏微分(勾配を計算) |
| 4. パラメータ更新 | 勾配の反対方向に少しだけパラメータを動かす |
3 と 4 がまさに微積分。この更新を何百万回も繰り返すことでモデルが賢くなります。
最低限おさえる概念
| 概念 | 意味 | AI での使われ方 |
|---|---|---|
| 微分 (derivative) | 関数のある点での接線の傾き | 1 パラメータの最適化 |
| 偏微分 (partial derivative) | 多変数関数を 1 変数だけで 微分 | 各パラメータの寄与を測る |
| 勾配 (gradient) | すべての偏微分を並べたベクトル ∇f | パラメータを動かす方向 |
| 連鎖律 (chain rule) | 合成関数 f(g(x)) の微分 = f\'(g(x)) · g\'(x) | 多層ネットの勾配計算(バックプロパゲーション) |
| 勾配降下法 (Gradient Descent) | 勾配の反対方向にパラメータを更新 | ほぼ全ての学習アルゴリズムの土台 |
| ヤコビ行列 (Jacobian) | ベクトル → ベクトル関数の偏微分行列 | 多次元の連鎖律 |
| ヘシアン (Hessian) | 2 階偏微分の行列 | 2 次最適化(Newton 法など) |
| テイラー展開 | 関数を多項式で局所近似 | 最適化アルゴリズムの理論基盤 |
| 積分 (integral) | 面積・確率の合計 | 期待値・確率密度の周辺化 |
勾配降下法とは(一番大事)
パラメータ w を、損失 L(w) が小さくなる方向に少しずつ動かすアルゴリズムです。
| 式 | 意味 |
|---|---|
w ← w - η · ∇L(w) | w を勾配 ∇L の反対方向に、学習率 η ぶんだけ動かす |
これだけで ニューラルネットも線形回帰もロジスティック回帰も学習できるのが、勾配降下法の強力さです。
| 派生手法 | 違い |
|---|---|
| SGD (確率的勾配降下法) | 全データではなくランダムな 1 サンプル / ミニバッチで勾配を近似 |
| Momentum | 過去の勾配方向に慣性を持たせる(坂を転がるイメージ) |
| AdaGrad / RMSProp | パラメータごとに学習率を自動調整 |
| Adam | Momentum + RMSProp。現代の事実上の標準 |
連鎖律とバックプロパゲーション
ニューラルネットは 関数の合成 (L = f3(f2(f1(x)))) なので、L を w で微分するには連鎖律が必要です。
|
例: L = (y - σ(w·x))² |
これを各層ごとに後ろから順番に計算するのが バックプロパゲーション (誤差逆伝播) です。手で書くと辛いですが、PyTorch / TensorFlow の 自動微分が中で全部やってくれます。
自動微分(autograd)の実装例
|
import torch |
学習のステップ
| 段階 | 学ぶ内容 |
|---|---|
| 1. 微分の意味 | 「接線の傾き = 一瞬の変化率」が直感的に分かる |
| 2. 多変数の偏微分 | 2 変数関数の偏微分が計算できる |
| 3. 連鎖律 | 合成関数の微分を 外から内へ 連鎖律で求められる |
| 4. 勾配降下法 | 勾配の反対方向に動かすと最小化できると分かる |
| 5. 自動微分 | PyTorch の backward() が連鎖律を自動でやっていると分かる |
つまずきやすいポイント
- 勾配の符号: 損失を減らしたいので勾配の反対方向に進む。プラスマイナスを間違えると損失が爆発する
- 学習率 η の大きさ: 大きすぎると発散、小さすぎると収束が遅い
- 勾配消失: ディープなネットで勾配が 0 に近づく問題(sigmoid 多用、ReLU で改善)
- 勾配爆発: 反対に勾配が大きくなりすぎる問題(勾配クリッピング、層正規化で対処)
- 局所最適解: 勾配降下法は大域最適とは限らない場所で止まる。ただし高次元では実用上問題になりにくい(鞍点が主な障害)
使える教材・ライブラリ
| 種類 | 名前 |
|---|---|
| 教科書(日本語) | 「マセマ 微分積分 キャンパス・ゼミ」 / 「ヨビノリ たくみ: 大学微分積分」 |
| 動画 | 3Blue1Brown 「Essence of Calculus」(直感重視で秀逸) |
| AI 視点の教材 | 「ゼロから作る Deep Learning」(斎藤康毅) — バックプロパゲーションを Python で実装 |
| 自動微分ライブラリ | PyTorch / TensorFlow / JAX(autograd) |
関連
- 親: AI に必要な数学
- 姉妹: ディープラーニング / 機械学習
- 応用: ファインチューニング / Transformer
子ページはありません
人気ページ
- 1 Eclipseで「サーバーに追加または除去できるリソースがありません。」の原因と対処法
- 2 tomcat の起動 / 停止ログと catalina.log・catalina.out の違い
- 3 JavaScript で base URL を取得する方法|window.location.origin
- 4 YouTube Data API v3 エラー一覧|403・400・404 の原因と対処
- 5 Laravel エラー一覧|500/Blade/DB 接続/ルーティングの代表エラー
- 6 3Dグラフィックスのソフト一覧|Blender・Metasequoiaと用途別の選び方
- 7 Spring Frameworkのアノテーション一覧
- 8 【Spring】@Valueアノテーションとは
- 9 CATALINA_HOME の確認方法 (Linux / Mac)
- 10 【Spring】@Autowiredアノテーションとは
最近更新/作成されたページ
- Visual Studio「デザイナーを表示できません」エラーの原因と対処 2026-10-28 12:06:00
- SSH 認証に失敗しました。再試行してください の対処 2026-10-28 12:06:00
- SSH2 秘密鍵の読み込みに失敗しました の原因と対処 2026-10-28 12:06:00
- TeraTerm のよくあるエラーと対処法完全ガイド — Connection refused / 2026-10-28 12:06:00
- Visual Studio エラー一覧|コンパイルエラー・警告の確認方法と対処 2026-10-28 11:39:57
- Whitelabel Error Page の原因と消し方|Spring Boot のエラーページ 2026-10-28 11:39:57
- Eclipseで「サーバーに追加または除去できるリソースがありません。」の原因と対処法 2026-10-28 11:39:57
- SQL WHERE 句完全ガイド 2026-10-28 11:39:57
- SQL JOIN 完全ガイド (INNER/LEFT/RIGHT/FULL OUTER) 2026-10-28 11:39:57
- tomcat の起動 / 停止ログと catalina.log・catalina.out の違い 2026-10-28 10:24:23
- Tomcat の起動確認方法 5 つ|localhost:8080・ポート・プロセス・ログ 2026-10-28 10:24:23
- Oracle 19c COMMITの使い方: 暗黙コミット・自動確定・応答不明時の確認 2026-10-28 09:59:09
- Oracle 19c DELETE文|削除対象の確認・COMMIT前の判断・ROLLBACKの条件 2026-10-28 09:59:09
- Oracle 19c INSERT文|INSERT ALL・SELECT・RETURNINGとMERGEの使い分け 2026-10-28 09:59:09
- Oracle 19cのトランザクション制御|COMMIT・ROLLBACK・分離レベルと接続設定 2026-10-28 09:59:09