基礎知識指南

提前停止

早期停止是一種正規化技術,當保留的驗證資料的效能停止改善時,該技術會停止模型訓練。

概述

早期停止是一種正規化技術,當保留的驗證資料的效能停止改善時,該技術會停止模型訓練。它可以透過一個簡單的規則來防止計算浪費和過度擬合。

Early Stopping 位於核心人工智慧工具包中。當你理解它時,其他人工智慧主題就變得更容易評估和比較。

深入探討

當你訓練神經網路時,訓練集誤差不斷下降,但在某個時刻,模型開始記住噪音而不是學習模式。驗證誤差遵循 U 形:它下降,達到最小值,然後隨著過度擬合的出現而攀升。提前停止在每個 epoch 後觀察驗證指標(損失、準確度、F1),並在一定數量的 epoch 內無法改進時停止,稱為耐心。至關重要的是,您保留最好時期的權重,而不是最後時期的權重。它是最便宜的正則化形式之一,因為它不需要額外的懲罰項,並且有效地限制了權重偏離其初始化的距離,其本質類似於 L2 正則化。

技術洞察

實作追蹤最佳驗證分數和計數器。每個時期,如果指標改善超過 min_delta 閾值,則保存檢查點並重置計數器;否則你就增加它。當計數器達到耐心極限時,訓練停止並恢復最佳檢查點。耐心以穩健性與總訓練時間的噪音驗證曲線為代價,並且通常與學習率和批量大小一起調整。

掌握提前停止

早期停止是一種正規化技術,當保留的驗證資料的效能停止改善時,該技術會停止模型訓練。它可以透過一個簡單的規則來防止計算浪費和過度擬合。 Early Stopping 位於核心人工智慧工具包中。當你理解它時,其他人工智慧主題就變得更容易評估和比較。為了建立深入的理解,請將提前停止視為一種操作模型,而不是單一功能:定義期望的結果,澄清假設,並將系統可以可靠地執行的操作與仍需要專家判斷的操作分開。

在實踐中,使用提前停止的強大團隊首先建立強大的概念模型,然後將這些模型對應到實際的生產限制。他們記錄明確的成功標準,根據實際數據和工作流程進行測試,並根據觀察到的失敗模式而不是一次性基準測試勝利進行迭代。這就是理論理解轉變為跨產品、政策和營運的持久能力的地方。

它可以幫助您將清晰的技術聲明與行銷語言分開。同時,不同的團隊可能會以不同的方式使用相同術語,因此請儘早定義範圍。最具彈性的方法是將實驗速度與治理規則結合:運行試點、捕獲證據、發布決策日誌,並隨著模型行為、使用者期望和監管要求的發展不斷更新保障措施。

戰略影響

它可以幫助您將清晰的技術聲明與行銷語言分開。

它可以幫助您將清晰的技術聲明與行銷語言分開。在高品質部署中,這會轉化為可衡量的操作規則、所有權邊界和定期審查儀式,以便團隊可以增強信心,而不是擴大模糊性。

在花費金錢或時間之前,您可以提出更好的實施問題。

在花費金錢或時間之前,您可以提出更好的實施問題。在高品質部署中,這會轉化為可衡量的操作規則、所有權邊界和定期審查儀式,以便團隊可以增強信心,而不是擴大模糊性。

具有共同理解的團隊可以做出更好的產品、政策和學習決策。

具有共同理解的團隊可以做出更好的產品、政策和學習決策。在高品質部署中,這會轉化為可衡量的操作規則、所有權邊界和定期審查儀式,以便團隊可以增強信心,而不是擴大模糊性。

提前停止的未來

提前停止仍然是幾乎所有訓練流程中的預設設置,但其角色正在改變。透過在大規模語料庫上針對單一時期訓練非常大的模型,經典的基於時期的停止被對代幣預算和學習率計劃的監控所取代。預計與自動超參數搜尋、多指標標準和預算感知調度程序的更緊密整合,這些調度程序決定何時繼續訓練不再證明其計算和碳成本是合理的。

現實世界的實施

Keras EarlyStopping 回調,耐心 = 10 監視影像分類器上的 val_loss 和 Restore_best_weights = True

當驗證 AUC 平穩時停止梯度增強樹 (XGBoost Early_stopping_rounds) 以避免添加無用的樹

一旦驗證 F1 停止上升,就停止對 BERT 情緒模型進行微調,從而節省 GPU 時間

Kaggle 競爭對手使用驗證折疊提前停止並選擇日誌損失最低的檢查點

實施模式

提前停止的實踐

Keras EarlyStopping 回調,其中 Patient=10 監視影像分類器上的 val_loss 和 Restore_best_weights=True。

Keras EarlyStopping 回調,在影像分類器上使用 Patient=10 監控 val_loss 和 Restore_best_weights=True 團隊在預先定義品質閾值、為邊緣情況保留人工升級路徑並隨著時間的推移追蹤生產力增益和錯誤成本時,通常會獲得更好的結果。

提前停止的實踐

當驗證 AUC 平穩時停止梯度增強樹 (XGBoost Early_stopping_rounds) 以避免添加無用的樹。

當驗證 AUC 達到穩定狀態時停止梯度提升樹 (XGBoost Early_stopping_rounds),以避免添加無用的樹 當團隊預先定義質量閾值、為邊緣情況保留人工升級路徑並隨著時間的推移跟踪生產力增益和錯誤成本時,通常會獲得更好的結果。

提前停止的實踐

一旦驗證 F1 停止上升,就停止對 BERT 情緒模型進行微調,節省 GPU 時間。

一旦驗證 F1 停止上升,就停止對 BERT 情緒模型進行微調,從而節省 GPU 時間 當團隊預先定義品質閾值、為邊緣情況保留人工升級路徑並隨著時間的推移跟踪生產力增益和錯誤成本時,通常會獲得更好的結果。

提前停止的實踐

Kaggle 競爭對手使用驗證折疊提前停止並選擇日誌損失最低的檢查點。

Kaggle 競爭對手使用驗證折疊來提早停止並選擇日誌損失最低的檢查點。當團隊預先定義品質閾值、為邊緣情況保留人工升級路徑並追蹤一段時間內的生產力增益和錯誤成本時,通常會獲得更好的結果。

風險與防護欄

!

不同的團隊可能會以不同的方式使用相同術語,因此請儘早定義範圍。

!

基準測試可能看起來很強大,但實際效能卻參差不齊。

!

忽視數據品質和評估計劃通常會產生脆弱的結果。

實施路線圖

1

從您需要的結果的簡單語言定義開始。

從您需要的結果的簡單語言定義開始。將每個步驟視為證據門:如果不符合標準,則暫停推出,縮小差距,然後再擴大使用。

2

在測試之前選擇一種成功指標和一種失敗條件。

在測試之前選擇一種成功指標和一種失敗條件。將每個步驟視為證據門:如果不符合標準,則暫停推出,縮小差距,然後再擴大使用。

3

使用代表性資料運行小型試點,而不是完善的演示集。

使用代表性資料運行小型試點,而不是完善的演示集。將每個步驟視為證據門:如果不符合標準,則暫停推出,縮小差距,然後再擴大使用。

4

記錄早期停止在哪些方面有幫助以及哪些更簡單的方法更好。

記錄早期停止在哪些方面有幫助以及哪些更簡單的方法更好。將每個步驟視為證據門:如果不符合標準,則暫停推出,縮小差距,然後再擴大使用。

不斷探索