優化與訓練
學習曲線(learning curve)
/ LUR-ning kurv /
學習曲線,是一張「模型表現如何隨訓練推進而變化」的圖——它是機器學習中被盯得最多的診斷工具。它最常見的樣子,是縱軸畫損失(或準確率),橫軸畫訓練時間,並且訓練集和驗證集各畫一條。把這兩條曲線放在一起讀,你一眼就能看出訓練是順利、卡住,還是出了岔子,遠在你白白耗掉幾小時之前。
曲線的形狀會講故事。如果兩條都下降並貼得很近地穩定下來,訓練是健康的。如果訓練那條一路下降,驗證那條卻走平、隨後回升,你就跨進了過擬合——模型在死記。如果兩條都高高地平在那裡不肯降,你就是欠擬合——模型太弱,或學習率不對,或它還需要更多訓練。一條參差不齊、向上爆炸的曲線,通常意味著學習率太高了。
還有第二種相關的含義:學習曲線也可以畫「表現隨訓練資料量的變化」,把訓練時間固定住。這個版本回答一個務實、省錢的問題——「再多收集些資料真的有用嗎,還是我們已經到了那個點,多給樣本幾乎也撬不動指針了?」無論哪一種含義,學習曲線的價值都在於:它把一個看不見的過程,變成一張你能據以行動的圖。
同一張圖上兩條曲線。藍色的訓練損失線穩穩地滑到0.05。橙色的驗證損失線在第20輪降到0.30,隨後明顯地爬回0.45。第20輪之後那道越拉越大的縫隙,是過擬合再清楚不過的標記——也是該在第20輪停下的提示。
訓練與驗證之間越拉越大的縫隙,是過擬合被畫了出來。
永遠要畫驗證曲線,而不是只畫訓練曲線。一條漂亮、不停下降的訓練損失,單看幾乎說明不了什麼——真相藏在它與驗證之間那道縫隙裡。
又稱
另見