訓練與最佳化

過度擬合

當模型把訓練資料學得太好——連同其中的隨機雜訊與怪癖——以致在新的、沒見過的資料上表現變差時,就是過度擬合。經典的比喻是一個死背去年考題標準答案、卻不理解科目的學生:對看過的題目完美無缺,對任何新題目則束手無策。過擬合的模型實際上背下了訓練集,而非學到通則,所以它亮眼的訓練準確率是個海市蜃樓,無法轉移到真正重要的測試上。

明顯的特徵是訓練與驗證表現之間隨時間擴大的落差。訓練早期,訓練損失與驗證損失一起下降。在過擬合開始時它們分道揚鑣:訓練損失持續朝零下降,而驗證損失觸底後開始回升。即使訓練損失仍在改善,那條上升的驗證曲線正是典型的診斷——模型此刻正把容量花在擬合只存在於訓練集裡的雜訊。

過度擬合是與欠擬合相反的失敗,分辨它們能告訴你該怎麼做。欠擬合(高偏差)是模型太簡單或訓練不足,連訓練模式都抓不到,因此訓練與驗證表現都差且接近;補救之道是更多容量、更多訓練或更好的特徵。過度擬合(高變異)是模型相對於資料太過靈活,因此訓練表現優異但驗證落後;補救之道是約束模型或餵它更多資訊。這就是偏差—變異權衡:靈活度太少會欠擬合,太多會過擬合,而技藝在於找到中庸。

補救之道基本上就是本領域工具箱的其餘部分:取得更多訓練資料(最強的修正);施加資料擴增以模擬更多資料;加入正則化(權重衰減、丟棄法);縮小模型或用提早停止來限制模型能多麼專精於訓練集;以及在資料稀少時使用遷移學習。一個重要的現代但書:教科書「參數越多總是越過擬合」的圖像並不完整。極度過參數化的深度網路即使完美擬合訓練資料後仍常泛化良好——即「雙重下降(double descent)」現象——所以單憑容量並不決定過擬合;資料、正則化與最佳化全都重要。

一個微妙的過擬合來源是資料切分之間的資訊洩漏:拿測試集來調超參數,或讓同一張影像的擴增副本同時落入訓練與驗證集,會讓模型看起來比實際好。務必保留一個真正未碰過的測試集,並只在它上面回報一次結果。

又稱
overfithigh variance