深度學習 · 最佳化

梯度下降 Gradient Descent

在迷霧的山上,靠腳下的坡度一步步走向谷底——這就是神經網路「學習」的動作。

沿梯度反方向學習率 η反向傳播BGD·SGD·mini-batch鞍點

💡一句話定義

梯度下降(Gradient Descent)= 沿著損失函數梯度的反方向,一步一步調整參數,讓損失逐漸下降,直到收斂到(局部)最小值。每一步跨多大,由學習率 η 決定。

它是幾乎所有神經網路訓練的核心引擎:損失函數告訴模型「錯多少」,梯度下降負責「往哪個方向改、改多少」。

⛰️用「迷霧下山」來想

你在山上(損失很高),想下到谷底(損失最小),但霧很大看不見路,只能感覺腳下的坡度梯度告訴你現在哪個方向是上坡、有多陡;因為要找最小值,你就往梯度的反方向邁一步。反覆做,就能一路走到谷底。學習率 η 就是你「一步跨多大」。

🎮互動:把球滾到谷底

球在 L = w² 的曲線上。按單步執行看它每次往低處移動;拉學習率滑桿改變步伐大小。試試把學習率調到 0.9 或 1.05,看它怎麼在谷底來回震盪、甚至飛出去。

梯度下降 (Gradient Descent) 視覺化
當前權重 (w) 0.00
梯度 (Gradient) 0.00
損失 (Loss) 0.00
* 提示:試著將學習率調高到 0.9 或 1.05,觀察會發生什麼事。

🧮核心公式

wnew = woldη · (∂L / ∂w)

L = w² 為例,梯度(斜率)就是 ∂L/∂w = 2w。若現在 w=−2.5,梯度是 −5(往左是上坡),於是往反方向(右)走 η·5 的距離,w 就變大、更靠近谷底 0。

🗺️梯度下降 ≠ 反向傳播(易混)

很多人搞混這兩個:反向傳播(Backpropagation)是「畫地圖的過程」——利用連鎖律,從最後一層的誤差一路往回,精確算出每個參數的梯度 ∂L/∂w;梯度下降則是「走路的動作」——拿到梯度後,按公式更新參數。先反向傳播算梯度,再梯度下降走一步,兩者搭配完成一次訓練。

🎚️學習率的影響

學習率 η會發生什麼
太小每步移動極少,收斂非常慢,易卡在平坦區
適中穩定且快速地走向谷底(理想)
太大步伐過大,跨過谷底來回震盪
極大(>臨界)越跳越高、發散,損失飆到無限大
實務:常用學習率排程(先大後小)或自適應優化器(如 Adam)自動調整步伐,兼顧速度與穩定。

📦三種梯度下降:BGD / SGD / mini-batch

差別在每次更新用多少資料來估梯度:

類型每次用的資料特點
批次 BGD全部資料梯度最準、最穩,但每步很慢、吃記憶體
隨機 SGD一筆更新快、能跳出局部,但方向抖、噪音大
小批次 mini-batch一小批(如 32/64)兼顧速度與穩定,深度學習主流

🕳️常見陷阱:鞍點與特徵尺度

🪑鞍點 > 壞局部最小
深度網路是非凸的,但高維空間中卡住多半是鞍點而非糟糕的局部最小;動量、Adam 通常能滑過去。
📐先標準化特徵
特徵尺度差很多時,損失等高線很扁,梯度會鋸齒前進、收斂慢;標準化讓等高線變圓、收斂更快。

自我檢測

Q1. 為什麼是往「梯度的反方向」走?
梯度指向函數上升最快的方向。我們要讓損失下降到最小,所以往它的反方向走,才會下坡。這就是公式裡是「減」η·梯度的原因。
Q2. 學習率太大、太小分別會怎樣?
太小:收斂很慢、易卡平坦區。太大:跨過谷底來回震盪;再大會發散、損失飆升。實務用學習率排程或 Adam 平衡。
Q3. 梯度下降和反向傳播差在哪?
反向傳播用連鎖律「算出」每個參數的梯度(畫地圖);梯度下降拿到梯度後「更新」參數(走路)。先算後走,兩者搭配。
Q4. BGD、SGD、mini-batch 怎麼選?
BGD 用全部資料(準但慢)、SGD 每次一筆(快但抖)、mini-batch 用一小批兼顧兩者,是深度學習主流做法。

🎯重點整理

📝 iPAS 考點提醒

梯度下降與反向傳播是神經網路怎麼學的核心,iPAS 必考(初級科目一觀念、中級科目三)。重點:反向傳播用鏈鎖法則算各參數的梯度,梯度下降沿反方向更新參數、逐步降低損失。易混點:學習率太大震盪或發散、太小收斂慢;批次、隨機(SGD)、小批次三種要分清;高維多為鞍點而非壞局部最小。情境:理解訓練機制、診斷不收斂的原因。

想練情境題與詳解 → AI 學習與考證地圖

❓ 常見問題

梯度下降在做什麼?

沿著損失函數梯度的「反方向」一步步調整參數,讓損失逐漸下降,直到收斂到(局部)最小值。

學習率太大或太小會怎樣?

太大可能在谷底來回震盪甚至發散;太小則收斂很慢、易卡在平坦區。常用學習率排程或自適應優化器(如 Adam)來平衡。

批次、隨機、小批次差在哪?

批次(BGD)用全部資料算一次梯度(穩但慢);隨機(SGD)每次用一筆(快但抖);小批次用一小批,兼顧速度與穩定,是深度學習主流。

會卡在局部最小值嗎?

凸函數只有全域最小;深度網路是非凸、理論上有局部最小與鞍點,但實務上高維以鞍點居多,搭配動量或 Adam 通常能找到夠好的解。

為什麼常要先標準化特徵?

尺度差異大時損失等高線會很扁,梯度下降會鋸齒前進、收斂慢;標準化讓等高線較圓、收斂更快更穩。

🧭 相關主題

← 返回 AI 學習與考證地圖