提前終止----正則化的一種方式

訓(xùn)練誤差會隨著時間的推移逐漸降低但驗證集的誤差會再次上升,這種現(xiàn)象幾乎一定會發(fā)生。這意味著我們只要返回使驗證集誤差最低的參數(shù)設(shè)置,就可以獲得驗證集誤差更低的模型(并且因此有希望獲得更好的測試誤差)。在每次驗證集誤差有所改善后,當(dāng)驗證集上的誤差在事先指定的循環(huán)次數(shù)內(nèi)沒有進(jìn)一步改善時,算法就會終止。


超參數(shù)的訓(xùn)練


超參數(shù)在驗證集上具有 U 型性能曲線。很多控制模型容量的超參數(shù)在驗證集上都是這樣的 U 型性能曲線 。在提前終止的情況下,我們通過控制擬合訓(xùn)練集的步數(shù)來控制模型的有效容量。大多數(shù)超參數(shù)的選擇必須使用高代價的猜測和檢查過程,我們需要在訓(xùn)練開始時猜測一個超參數(shù),然后運(yùn)行幾個步驟檢查它的訓(xùn)練效果。 ‘‘訓(xùn)練時間’’ 是唯一只要跑一次訓(xùn)練就能嘗試很多值的超參數(shù)。通過提前終止自動選擇超參數(shù)的唯一顯的代價是訓(xùn)練期間要定期評估驗證集。在理想情況下,這可以并行在與主訓(xùn)練過程分離的機(jī)器上,或獨(dú)立的 CPU,或獨(dú)立的 GPU 上完成。如果沒有這些額外的資源,可以使用比訓(xùn)練集小的驗證集或較不頻繁地評估驗證集來減小評估代價,較粗略地估算取得最佳的訓(xùn)練時間。

提前終止的訓(xùn)練策略

提前終止無需破壞學(xué)習(xí)動態(tài)就可以實現(xiàn)。提前終止需要有驗證集,一般有兩個訓(xùn)練的步驟:

提前終止 為什么具有正則化的效果

想象用學(xué)習(xí)率 ? 進(jìn)行 τ 個優(yōu)化步驟(對應(yīng)于 τ 個訓(xùn)練迭代)。我們可以將 ?τ 作為有效容量的度量。假設(shè)梯度有界,限制迭代的次數(shù)和學(xué)習(xí)速率能夠限制從θ0 到達(dá)的參數(shù)空間的大小,如圖 7.4 所示。在這個意義上, ?τ 的效果就好像是權(quán)重衰減系數(shù)的倒數(shù)。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

推薦閱讀更多精彩內(nèi)容