深度學習中的優化技巧 - 臨界點 (Critical Point)
在深度學習的優化(Optimization)過程中,當我們發現 Training loss 不再下降,且對結果不滿意時,往往是因為參數更新遇到了「臨界點」。

臨界點的定義與種類
當參數對 Loss 的微分(Gradient)為零時,參數會停止更新,這些點統稱為 臨界點 (Critical Point)。臨界點主要包含以下三種:
- 局部最小值 (Local Minima):四周的 Loss 都比該點高,沒有路可以走。
- 局部最大值 (Local Maxima):四周的 Loss 都比該點低。
- 鞍點 (Saddle Point):梯度為零,但不是最高也不是最低點。其形狀像馬鞍,在某些方向 Loss 較高,但在其他方向 Loss 較低。
重要觀念: 當訓練停下來時,不要隨便說卡 在 Local Minima,因為 Saddle Point 同樣會讓梯度為零,且後者仍有路可走。
數學判別法:利用 Hessian 矩陣
由於神經網路非常複雜,我們無法得知完整的 Error Surface 形狀,但可以用泰勒級數近似 (Taylor Series Approximation) 來得知特定參數 附近的 Loss Function 形狀。
-
泰勒級數近似公式: 。
- (Gradient): 一次微分的向量。在臨界點時 ,因此該項消失。
- (Hessian): 二次微分的矩陣,存放的是 對參數的二次偏微分。
-
根據 Hessian 的特徵值 (Eigenvalue) 判斷地貌:
- 所有特徵值皆為正 (Positive Definite): 代表該點是 Local Minima。
- 所有特徵值皆為負 (Negative Definite): 代表該點是 Local Maxima。
- 特徵值有正有負: 代表該點是 Saddle Point。
![]() | ![]() |
|---|---|
| 只需考察 H 的特徵值 | 從 eigen value 判斷 |
逃離鞍點 (Escaping Saddle Point)
如果卡在鞍點,雖然梯度為零,但只要利用 Hessian 矩陣的 特徵向量 (Eigenvector) 就能找到讓 Loss 變小的路。
- 方法: 找出負的特徵值 () 及其對應的特徵向量 。
- 更新方式: 沿著 的方向更新參數 (

