訓(xùn)練誤差會(huì)隨著時(shí)間的推移逐漸降低但驗(yàn)證集的誤差會(huì)再次上升,這種現(xiàn)象幾乎一定會(huì)發(fā)生竿滨。這意味著我們只要返回使驗(yàn)證集誤差最低的參數(shù)設(shè)置状您,就可以獲得驗(yàn)證集誤差更低的模型(并且因此有希望獲得更好的測(cè)試誤差)。在每次驗(yàn)證集誤差有所改善后王带,當(dāng)驗(yàn)證集上的誤差在事先指定的循環(huán)次數(shù)內(nèi)沒(méi)有進(jìn)一步改善時(shí),算法就會(huì)終止。
超參數(shù)的訓(xùn)練
超參數(shù)在驗(yàn)證集上具有 U 型性能曲線桑嘶。很多控制模型容量的超參數(shù)在驗(yàn)證集上都是這樣的 U 型性能曲線 。在提前終止的情況下躬充,我們通過(guò)控制擬合訓(xùn)練集的步數(shù)來(lái)控制模型的有效容量逃顶。大多數(shù)超參數(shù)的選擇必須使用高代價(jià)的猜測(cè)和檢查過(guò)程讨便,我們需要在訓(xùn)練開(kāi)始時(shí)猜測(cè)一個(gè)超參數(shù),然后運(yùn)行幾個(gè)步驟檢查它的訓(xùn)練效果以政。 ‘‘訓(xùn)練時(shí)間’’ 是唯一只要跑一次訓(xùn)練就能?chē)L試很多值的超參數(shù)霸褒。通過(guò)提前終止自動(dòng)選擇超參數(shù)的唯一顯的代價(jià)是訓(xùn)練期間要定期評(píng)估驗(yàn)證集。在理想情況下盈蛮,這可以并行在與主訓(xùn)練過(guò)程分離的機(jī)器上废菱,或獨(dú)立的 CPU,或獨(dú)立的 GPU 上完成眉反。如果沒(méi)有這些額外的資源昙啄,可以使用比訓(xùn)練集小的驗(yàn)證集或較不頻繁地評(píng)估驗(yàn)證集來(lái)減小評(píng)估代價(jià),較粗略地估算取得最佳的訓(xùn)練時(shí)間寸五。
提前終止的訓(xùn)練策略
提前終止無(wú)需破壞學(xué)習(xí)動(dòng)態(tài)就可以實(shí)現(xiàn)梳凛。提前終止需要有驗(yàn)證集,一般有兩個(gè)訓(xùn)練的步驟:
提前終止 為什么具有正則化的效果
想象用學(xué)習(xí)率 ? 進(jìn)行 τ 個(gè)優(yōu)化步驟(對(duì)應(yīng)于 τ 個(gè)訓(xùn)練迭代)梳杏。我們可以將 ?τ 作為有效容量的度量韧拒。假設(shè)梯度有界,限制迭代的次數(shù)和學(xué)習(xí)速率能夠限制從θ0 到達(dá)的參數(shù)空間的大小十性,如圖 7.4 所示叛溢。在這個(gè)意義上, ?τ 的效果就好像是權(quán)重衰減系數(shù)的倒數(shù)劲适。