詳細解釋
區域最小值(Local Minimum)是函數在局部範圍內的最低點,但不是整個函數的全局最低點。在非凸優化中,優化算法可能陷入其中。
數學定義:
- 對於f(x),在點x*處:
- 存在鄰域N,使得對於所有x∈N,f(x*) ≤ f(x)
- 全局最小值:對於所有x,f(x*) ≤ f(x)
在神經網絡中的情況:
- 損失函數有無數局部最小值
- 大量實證研究:不同初始化找到的局部最小值性能相似
- 良好局部最小值:泛化性能接近全局最小值
- 寬泛vs尖銳:寬泛最小值通常泛化更好
與鞍點的區別:
- 局部最小值:所有方向梯度向上(Hessian正定)
- 鞍點:某些方向向上,某些向下(Hessian不定)
- 鞍點在高維更常見
跳出局部最小值的方法:
- 隨機初始化:多次運行選最佳
- 動量:累積速度越過障礙
- 噪聲注入:模擬退火、隨機梯度噪聲
- 學習率調度:大學習率探索,小學習率精細調整
- 多開始點:從不同起點優化
理論觀點:
- 過參數化:現代網絡參數遠多於樣本,局部最小值接近全局
- 損失景觀:高維空間中「好」的局部最小值連通
- 盆地平坦性:寬泛盆地對優化友好
實踐建議:
- 不必過度擔心陷入壞局部最小值
- 專注於驗證集性能而非訓練損失
- 使用標準優化實踐通常足夠
- 若訓練不穩定,嘗試不同初始化或架構
區域最小值是理論問題,實踐中深度學習似乎能找到好解。