完整講解與原文對照 / Full explanation and source comparison
收斂準則:優化演算法什麼時候該喊停
梯度下降和其他數值優化方法一樣,不能無限跑下去——需要收斂準則(convergence criteria)來決定「夠好了,可以停」。以下是幾種常用判斷方式:
1. 梯度范數夠小
看更新後梯度的 范數是否小於門檻 :
其中 是很小的正數。直覺來自一階最優性條件:在局部最優點 處,——梯度為零代表「沒有下降方向了」。
⚠️ 非凸陷阱:在非凸設定下,這個準則可能讓你停在鞍點(saddle point)——梯度也是零,但不是真正的最低點。深度學習 loss 地形鞍點很多,實務上要搭配其他準則或技巧。
2. 目標函數(cost)變化夠小
看連續兩步的 loss 差值是否夠小:
意思是「再迭代也降不了多少了」,適合 loss 已經磨到很平的情況。
3. 梯度本身的變化夠小
也可以看梯度向量前後兩步的差:
梯度不再大幅改變,代表優化方向趨於穩定。
4. 達到最大迭代次數
最簡單也最常用:預先設好最大迭代次數(max iterations),到了就停。深度學習訓練通常用 epoch 數或 step 數來控制,本質上就是這一條——不管有沒有「數學上收斂」,時間到了就停,拿當前的 當結果。
口語小結
| 準則 | 白話意思 | 注意事項 |
|---|---|---|
| 梯度范數 | 「坡度夠平了」 | 非凸可能卡在鞍點 |
| cost 變化 | 「loss 降不動了」 | 可能還沒到真正最優 |
| 梯度變化 | 「方向穩定了」 | 較少單獨使用 |
| 最大迭代次數 | 「時間到,收工」 | 深度學習最常用 |
實務上常常組合使用:例如「loss 連續 N 步變化小於 或 跑滿 100 epoch 就停」。kp4 會看到線搜索版梯度下降在內層調步長、外層檢查收斂的完整流程。
教授祕笈:什麼時候該宣布到站
同學,KP-2 把你蒙眼送上山,沿最陡反方向一步步走。問題立刻變成:什麼時候該宣布到站? 主線比喻就是火車進站——司機不能無限開下去,但也不能把「坡度暫時為零」誤認成終點站。收斂準則(convergence criteria)就是那套進站廣播。
先把任務講成一句人話
數值優化不會自己憑空知道已經站在谷底。它需要幾條「夠好了,可以停」的規矩:坡夠平、高度幾乎不變、方向不再大改,或單純時間到了收工。深度學習訓練設幾個 epoch 就停,本質上就是最後這一條。
鷹架式:先直覺,再符號
直覺:宣布到站,不是因為你看見谷底,而是因為儀表板說「差不多了」。 四種常用儀表如下。
第一種看梯度的 范數夠不夠小。動機來自一階最優性條件:真正的局部最優點 處,坡度必須是零,
所以實務上改成 。第二種看連續兩步的高度差:,意思是再走也降不了多少。第三種看梯度本身前後差夠不夠小,方向趨於穩定。第四種最土也最常用:預先設好最大迭代次數,到點就停,拿當前的 交差。
真的算一遍:兩套儀表會吵架
繼續用 ,,取 、、門檻 :
| 梯度范數? | cost 變化? | |||||
|---|---|---|---|---|---|---|
| — | 否 | — | ||||
| 否 | 否 | |||||
| 否 | 否 | |||||
| 否 | 是 |
第三步之後,cost 變化 ,高度儀表已經喊「到站」;但梯度范數 還遠大於 ,坡度儀表說「繼續開」。同一班車,兩套廣播各講各的。
先留一個反轉
更麻煩的是:坡度儀表顯示零,你興奮地宣布抵達谷底——結果那可能只是鞍點(saddle point)。非凸地形上,鞍點的梯度也是零,但它是山口不是谷底:一邊上坡、一邊下坡。深度學習的損失地形鞍點多得很,只靠 停表,等於把「隧道口的平緩路面」當成終點站。
換個場景,自己找出同一條路
把進站換成「煎牛排」。你可以看中心溫度夠不夠(梯度范數)、連續兩分鐘上色幾乎不變(cost 變化)、火候方向穩了(梯度變化),或計時器響了就起鍋(最大迭代)。請你把上表的 改成 ,自己判斷「梯度范數」會在第幾步先亮綠燈——數字不同,判準結構相同。實務上常常組合使用:例如 loss 連續 步變化小於 ,或 跑滿 個 epoch 就停。KP-4 的線搜索會在內層調步長,外層仍用這套準則檢查收斂。
大家最容易在這裡搞混
第一個誤解:梯度為零等於找到全域最低點。錯,那只是一階必要條件;非凸時可能是鞍點,連局部最低都未必。第二個誤解:訓練一定要等到數學上「真正收斂」。深度學習幾乎從不這麼做,最常見的是預設 epoch/step 數到了就停。
跨知識點掛勾
這些準則接在 KP-2 的更新規則後面:會走,也要會停。後面隨機梯度下降的「看起來還在抖」更不能只看單步梯度范數。記住:儀表會吵架,所以實務常同時看好幾塊表。
換句話重述
宣布到站有四種廣播:坡夠平、高度幾乎不變、方向穩定、或時間到了收工;非凸時梯度為零可能只是鞍點,深度學習最常用的是最大迭代次數。
一句話收尾: 宣布到站看儀表,別把鞍點山口當成谷底終點站。