iPAS AI 應用規劃師 中級 科目三 機器學習技術與應用

非凸函數最佳化為何容易陷入局部最優解?

原題 03

在訓練非線性模型時,若目標函數為非凸函數(Non-convex Function),演算法在參數更新過程中可能出現多個極值點,導致最佳化結果不穩定。請問此時最可能發生下列哪一種情況?

白話

訓練非線性模型時,如果目標函數的形狀很複雜,有多個高峰和低谷,梯度下降在更新參數時可能不知道哪個低谷才是最低的,結果落在一個「看起來夠低但不是全場最低」的地方,最佳化結果就會不穩定。

問你:在這種情況下,最可能發生哪一種狀況?

點選你的答案。

01 總結

一句話總結

目標函數是非凸函數時,梯度下降最可能遇到的問題是局部最優解(Local Optimum):演算法爬到某個「周圍都比它高」的低點就停下來,不知道外面還有更低的全域最優解。

02 情境

先感受問題:山谷裡走路找最低點

想像台積電的 AI 工程師在訓練一個晶片良率預測的深度神經網路。他把模型的「損失」畫成一張地形圖:

  • 目標是找到地形最低的那個點(全域最小值),損失最小 = 模型最準。
  • 梯度下降就像蒙眼走路:每一步往腳下最陡的方向走下去。

問題是:這張地形圖不是一個簡單的碗形(那叫凸函數),而是像一片丘陵地,有很多大小不一的坑洞。

蒙眼走路的他走進一個小坑,四周都往上,他以為自己到最低點了,停下來。但其實外面還有一個更深的大坑他完全不知道。這個小坑就是「局部最優解」,那個更深的大坑才是「全域最優解」。

03 對照

為什麼非凸問題這麼棘手

  1. 看不到全貌:梯度下降只能看到當前位置的梯度(局部資訊),不能俯瞰整張地圖。
  2. 起點影響終點:從不同起點(不同初始化權重)出發,可能走到不同的局部最優,結果不穩定。
  3. 鞍點陷阱:除了局部最優,還有「鞍點」(某些方向上升,某些方向下降),梯度接近零,訓練停滯。
  4. 無法保證收斂到全域最優:理論上只有凸函數才能保證梯度下降找到全域最小值。
  5. 深度網路特別嚴重:層數越深,損失地形越複雜,局部最優越多,訓練越容易被卡住。
04 解法

為什麼答案是局部最優解

題目明確說了:

  • 目標函數是「非凸函數」:有多個極值點。
  • 演算法在「參數更新過程中可能出現多個極值點」。
  • 「導致最佳化結果不穩定」。

這三個描述直接對應「局部最優解」的定義:演算法找到的解不是全域最佳,而是在某個局部範圍內看起來最好的解,所以結果會因初始化不同而不穩定。

台積電的工程師實際上會用隨機初始化多次、使用 Adam 優化器、加 Dropout、批次訓練等方法來緩解這個問題,但根本上來說,非凸函數就是容易卡在局部最優。

這就是選項 C 講的:局部最優解

技術版:凸函數與非凸函數的差異,以及深度學習的應對策略

最佳化理論(Optimization Theory)是機器學習的數學基礎之一,理解凸函數與非凸函數的差異,直接影響你如何選擇優化器和訓練策略。

凸函數(Convex Function):任意兩點之間的直線段都在函數圖形上方。特性:只有一個最小值(全域最優),梯度下降一定能找到。線性迴歸、邏輯迴歸的損失函數是凸函數。

非凸函數(Non-convex Function):有多個局部最小值。深度神經網路的損失函數幾乎都是非凸函數,因為非線性激活函數(ReLU、Sigmoid)引入了非線性,讓損失地形變得複雜。

深度學習的應對策略:

  • 隨機梯度下降(SGD):每次只用一個批次計算梯度,引入隨機性,有機會跳出局部最優。
  • Momentum:給梯度加慣性,不容易停在淺坑。
  • Adam 優化器:自適應學習率,在不同方向用不同步長,更靈活地穿越複雜地形。
  • 隨機初始化多次:從多個起點出發,取最好的結果。

為什麼出題者要考這題:「局部最優解」是深度學習訓練失敗的常見原因之一,理解它的根源(非凸函數)和緩解方法,是 AI 工程師的基本素養。

05 陷阱

為什麼其他選項是錯的

A梯度消失

字面在說什麼

梯度消失是說:在訓練深層網路時,誤差信號往回傳遞時,梯度值越來越小,接近零,導致淺層的參數幾乎無法更新。

為什麼不對

梯度消失是深層網路的問題,跟函數是否凸沒有直接關係。題目描述的是「多個極值點導致結果不穩定」,這是非凸地形的特性,不是梯度傳遞的問題。

誰會選錯

知道深度神經網路常出問題,直接聯想到「梯度消失」這個經典問題的人。記住:梯度消失的根因是激活函數飽和(如 Sigmoid 兩端趨近零),不是函數非凸性。

B資料過少

字面在說什麼

訓練資料太少,模型沒有足夠的例子學習,結果不可靠。

為什麼不對

題目完全沒有提到資料量的問題,而是在說「目標函數的形狀」和「參數更新過程的極值點」。資料過少是另一個獨立的問題,跟非凸函數最佳化無關。

誰會選錯

看到「不穩定」就聯想到「資料不夠」的人。記住:題目說的「不穩定」是最佳化的結果不穩定,跟資料量多寡完全是兩回事。

D過擬合

字面在說什麼

模型把訓練資料的細節甚至噪音都學進去,在訓練集表現好但測試集差。

為什麼不對

過擬合是模型「學得太精準」的問題,是模型複雜度與資料量的問題,而非最佳化過程的問題。非凸函數導致的是「找不到最優解」,不是「找到但過於精準的解」。這是完全不同的層次。

誰會選錯

聽說「深度模型容易過擬合」就選這個的人。要記住:過擬合是泛化問題,局部最優是最佳化問題。兩者可以同時存在,但題目問的是非凸函數最佳化的特定後果。

06 變形

同個考點下次怎麼變形

變形 1

鞍點(Saddle Point)和局部最優有什麼不同?

直覺

兩者在某些方向上梯度都很小,但性質不同。

答案

局部最優是周圍所有方向都往上(真正的坑)。鞍點是某些方向往上、某些方向往下(像馬鞍),梯度為零但不是極小值。高維空間中鞍點比局部最優更常見,隨機性(SGD 的雜訊)反而有助於逃出鞍點。

變形 2

為什麼凸函數保證找到全域最優,非凸函數不行?

直覺

凸函數「碗形」,往下走一定到底;非凸函數「丘陵形」,往下走可能進任何一個坑。

答案

凸函數的定義保證了「任何局部最優即全域最優」,所以梯度下降無論從哪裡出發都能找到同一個最低點。非凸函數沒有這個保證,初始化位置不同,最終可能停在不同的坑裡。

變形 3

實際訓練深度學習模型時,局部最優解是大問題嗎?

直覺

理論上很嚴重,但工程師好像沒太在怕這個。

答案

研究發現,深度網路中大部分局部最優的品質相近(都夠好),且真正嚴重的問題是鞍點。實務上 Adam、SGD + Momentum 等優化器加上足夠的訓練輪次,通常能找到品質不錯的解,不需要完美的全域最優。

變形 4

隨機初始化如何緩解局部最優問題?

直覺

同一個問題從不同地方出發,有機會找到不同的解。

答案

多次隨機初始化後各自訓練,取最佳結果,可降低卡在差局部最優的機率。不過深度網路參數量大,這個方法計算成本很高,通常只在小模型上使用。

變形 5

梯度消失和局部最優都讓訓練「卡住」,怎麼區分?

直覺

兩者症狀很像:訓練損失不再下降,模型不更新。

答案

梯度消失:梯度值本身非常小(接近機器精度),深層參數完全停止更新,通常可用梯度值監控診斷,解法是換激活函數(ReLU)或加 BatchNorm。局部最優:梯度確實為零(或接近零),但換一個起點重新訓練後損失可能更低,用多次隨機初始化診斷。

07 延伸

想再往下看,這 5 個

出處

iPAS 經濟部產業人才能力鑑定 ・ 114 年第二梯次 iPAS AI 應用規劃師 中級 科目三 機器學習技術與應用 第 3 題

查看官方原文 PDF