みんなのAI
機械学習プレイグラウンド
読み込み中…

学ぶ

Ch.08

方向微分と勾配:多次元空間で最も急な傾き

チャプター別 数学図

チャプターを選ぶと、下の図がそのチャプターの内容に切り替わります。中級数学の流れを一覧で確認できます。

方向微分と勾配: 登るべき道を見つける

等高線地図では 勾配 ∇f\nabla f∇f は等高線と直角で、いちばん急な上り坂を指します。方向微分 DufD_{\mathbf{u}} fDu​f は「u\mathbf{u}u 方向に一歩進むとどれだけ登るか」で、∇f\nabla f∇f と u\mathbf{u}u の内積 ∇f⋅u\nabla f \cdot \mathbf{u}∇f⋅u 一行で求めます。

図の見方: 赤・黄=誤差の大きい峰、青・紫=誤差の小さい谷。黒い線=誤差を減らす下り(勾配降下)、紫矢印=その場でいちばん急な上り(∇f\nabla f∇f)。
濃い霧で一歩先も見えない探検家が、険しい山脈のいちばん深い谷—誤差が最小の最適な場所—を目指す姿を想像してください。地形は目に見えず、足裏で感じる傾きだけを頼りに下らなければなりません。AIが大量のデータで賢くなる学習は、この危うい登山とまったく同じです。予測を外すたびに生じる誤差(損失)は巨大な三次元の山脈を形づくります。
その場で「今いる所から東へ行くとどれだけ急か?」を教える指標が方向微分です。周囲360度のあいだで「いちばん急な上り坂はどちらか?」を誤りなく指し示す奇跡のコンパスが勾配 ∇f\nabla f∇f です。本章では微積分の花と呼ばれる勾配が、いかにAIの道しるべとなり複雑な誤差の山を無事に下らせるかを、地形図の比喩で深く案内します。

方向微分と勾配: 登るべき道を見つける

1. 多変数関数と等高線: 三次元の地形を二次元で読む
平らな二次元地図でも、うねる等高線があれば峰と窪んだ谷が分かります。線がぎゅっと詰まれば汗をかく急崖、広がれば歩きやすいなだらかな平地です。AIが学習で計算する誤差(損失)も変数が多く、同様の巨大で険しい多次元の山脈になります。数学のレンズでその見えない等高線を読み、誤差が急に盛り上がっているか安定して下がっているかを直感できます。
2. 偏微分: 東西南北のうち一方向だけ掘る傾き
険しい山の中腹で立ち止まります。「他の方向はすべて無視し、ただ真東(xxx軸方向)に一歩だけ進んだら傾きは?」「真北(yyy軸方向)だけ歩けば上りか下りか?」—一つの軸方向だけ選び、その傾きだけを取り出すのが偏微分です。∂f∂x\frac{\partial f}{\partial x}∂x∂f​ のように丸い記号で書き、一方向だけの狭いがら測定ですが、すべての計算の基礎です。
3. 方向微分: 顔を向けたまさにその道の傾き
探検家は必ずしも東西南北だけ歩く必要はありません。北東30度、南西へ斜めに—360度自由に向きを決められます。選んだ方向へわずかに一歩進んだとき、地形がどれだけ急に高低するかの瞬間的な変化率が方向微分 DufD_{\mathbf{u}} fDu​f です。今立っている所で、自由に顔を向けた小道の体感の傾きと考えてください。
4. 勾配: いちばん恐ろしい上り坂を指す奇跡のコンパス
周囲360度のうち、頂上へ向かういちばん恐ろしく急な上り坂の方向は一つだけです。xxx方向とyyy方向の傾きをまとめ一つの矢印(ベクトル)にしたものが勾配 ∇f\nabla f∇f です。この矢印は常に等高線をいちばん短く横切る直角方向へ伸びます。向きは最も急な上り坂、長さはその坂がどれだけ急か(最大傾き)を数値で示します。
5. 内積と勾配の不思議な関係
見ている任意の方向の傾きを求めるたびに重い計算をやり直す必要はありません。最高のコンパスである勾配と、進みたい方向ベクトルを内積するだけで、その方向の傾きが出ます。核心は Duf=∇f⋅uD_{\mathbf{u}} f = \nabla f \cdot \mathbf{u}Du​f=∇f⋅u です。勾配とまったく同じ方向を向いて歩けば、そこで世界一急な上り坂を正面に歩いていることになります。
一行要約: 損失の山脈を等高線地図のように読み、任意方向の傾きは Duf=∇f⋅uD_{\mathbf{u}} f = \nabla f \cdot \mathbf{u}Du​f=∇f⋅u、最大上りは ∇f\nabla f∇f、一歩の下りは wk+1=wk−η∇L\mathbf{w}_{k+1}=\mathbf{w}_k-\eta\nabla Lwk+1​=wk​−η∇L。
AIを賢くする訓練(最適化)は、巨大な山脈のいちばん深く穏やかな谷の底—誤差が最小の状態—を目指す険しい旅です。データと重みが数十万に増えると、山脈は数百万次元の想像を超える地形になります。こんな濃霧の中、目隠しで無闇に歩けば一生谷を見つけられません。
そのとき勾配 ∇L\nabla L∇L は一筋の光のような奇跡のナビです。今いる所で誤差が最も爆発的に増える恐ろしい上り坂を正確に指すからです。AIはその指の真逆に向きを変え、一歩ずつ静かに下るだけでよいのです。この数学的コンパスがなければ深層学習の学習自体が不可能で、無数の重みはどう変えるべきか道を失い永遠にさまようでしょう。
1. 深層学習の止まらない心臓、勾配降下法
方向と傾きの概念は、AIを完成させる唯一の偉大なアルゴリズム・勾配降下法に集約されます。wk+1=wk−η∇L(wk)\mathbf{w}_{k+1} = \mathbf{w}_k - \eta \nabla L(\mathbf{w}_k)wk+1​=wk​−η∇L(wk​) という核心式は、AIが歩を進める生きた原理です。∇L\nabla L∇L は「いちばん急な上り坂」、マイナス記号は「上りの真逆の下り坂へ慎重に下る」という意志です。
学習率 η\etaη は探検家の歩幅です。大きすぎると谷を飛び越え反対の峰へ落ち、蟻のように小さすぎると底に着く前に学習時間が終わります。実戦ではこの歩幅を環境に合わせ細かく調整することが成功を左右します。
2. 目で確かめる損失曲面の可視化
最新のデータサイエンスや論文では、色鮮やかな3Dの山や濃淡の等高線ヒートマップがよく登場します。億単位を超える未知の重みを、目で見える2〜3次元に圧縮して誤差の曲面を描き、学習がどれだけ滑らかかを確かめます。勾配コンパスに従う下りの道がヒートマップ上でジグザグに不安定か、そりのように滑らかに下るかを目で診断します。
三つの式:
① Duf=∇f⋅uD_{\mathbf{u}} f = \nabla f \cdot \mathbf{u}Du​f=∇f⋅u(u\mathbf{u}u は単位)。
② ∇f\nabla f∇f は等高線に直角・最大上り。
③ wk+1=wk−η∇L\mathbf{w}_{k+1}=\mathbf{w}_k-\eta\nabla Lwk+1​=wk​−η∇L(マイナスと η\etaη)。手順は ∇f\nabla f∇f → u\mathbf{u}u 正規化 → 内積。
  • 用語方向微分
  • 意味u\mathbf{u}u 方向の傾き
  • 用語勾配
  • 意味最大上り ∇f\nabla f∇f
  • 用語核心式
  • 意味Duf=∇f⋅uD_{\mathbf{u}} f = \nabla f \cdot \mathbf{u}Du​f=∇f⋅u
  • 用語等高線
  • 意味∇f\nabla f∇f は直角;接線では傾き0
  • 用語勾配降下
  • 意味wk+1=wk−η∇L\mathbf{w}_{k+1}=\mathbf{w}_k-\eta\nabla Lwk+1​=wk​−η∇L
  • 用語平坦
  • 意味∇f≈0\nabla f\approx\mathbf{0}∇f≈0 → 候補点
用語意味
方向微分u\mathbf{u}u 方向の傾き
勾配最大上り ∇f\nabla f∇f
核心式Duf=∇f⋅uD_{\mathbf{u}} f = \nabla f \cdot \mathbf{u}Du​f=∇f⋅u
等高線∇f\nabla f∇f は直角;接線では傾き0
勾配降下wk+1=wk−η∇L\mathbf{w}_{k+1}=\mathbf{w}_k-\eta\nabla Lwk+1​=wk​−η∇L
平坦∇f≈0\nabla f\approx\mathbf{0}∇f≈0 → 候補点
① ∇f\nabla f∇f から。
② u\mathbf{u}u は単位か。
③ Duf>0D_{\mathbf{u}} f>0Du​f>0 は上り。
④ η\etaη 大きすぎ/小さすぎ注意。

解き方の例

例1 — 定義 f=x2+y2f=x^2+y^2f=x2+y2、(1,1)(1,1)(1,1) の ∇f\nabla f∇f と大きさは? → (2,2)(2,2)(2,2)、222\sqrt{2}22​。

例2 — 方向 単位 u=(1/2,0)\mathbf{u}=(1/\sqrt{2},0)u=(1/2​,0) の DufD_{\mathbf{u}} fDu​f? → 2\sqrt{2}2​(内積公式)。

例3 — 最大 単位 u\mathbf{u}u で DufD_{\mathbf{u}} fDu​f 最大は? → 方向は ∇f\nabla f∇f、値は ∥∇f∥\|\nabla f\|∥∇f∥。

例4 — 等高線 等高線の接線で DufD_{\mathbf{u}} fDu​f? ∇f\nabla f∇f? → 接線で 0、∇f\nabla f∇f は等高線に垂直。

例5 — 勾配降下 L=w12+w22L=w_1^2+w_2^2L=w12​+w22​、w=(2,1)\mathbf{w}=(2,1)w=(2,1)、η=0.25\eta=0.25η=0.25 の次の w\mathbf{w}w? → (1,0.5)(1,0.5)(1,0.5)。

例6 — 学習停滞 損失が下がらないとき? → ∇L≈0\nabla L\approx\mathbf{0}∇L≈0 の平坦部(極値·鞍点候補)の可能性。

演習

f(x,y)=x2+xy+y2f(x,y)=x^2+xy+y^2f(x,y)=x2+xy+y2 の原点における ∇f\nabla f∇f は?
1 / 5