技術指南

隨機權重平均

隨機權重平均 (SWA) 對訓練後期的幾個點的模型權重進行簡單平均,而不是僅保留最終快照。

閱讀時間約2分鐘最後更新

概述

This cheap trick often lands the model in a flatter, wider region of the loss landscape, which tends to generalize noticeably better on unseen data.

深入探討

SWA 由 Izmailov、Wilson 及其同事於 2018 年提出,它利用了這樣的觀察結果:具有恆定或週期性學習率的 SGD 不會收斂到一個點 - 它會圍繞一個寬闊、平坦的山谷的邊緣反彈。 SWA 沒有選擇這些嘈雜的停止點之一,而是在最後的 epoch 中運行中等高的(通常是恆定的或循環的)學習率,並對它訪問的權重(通常是每個 epoch)進行平均。平均權重更靠近平坦區域的中心。由於批量歸一化統計資料是針對特定權重計算的,因此 SWA 需要對資料進行額外的前向傳遞,以重新計算平均模型的 BN 運行平均值和變異數。成本基本上是免費的,並且在影像分類器和其他分類器之間的準確性增益是一致的。

技術洞察

SWA 保持每個週期更新的運行平均值 w_SWA = (n·w_SWA + w_i)/(n+1),而即時 SGD 模型以相對較大的學習率不斷探索。權重空間中的平均近似於函數空間中的一個整體,但在推理時只需要一個模型,而不是很多。關鍵機制是平坦最小值對於權重擾動具有穩健性,因此訓練/測試損失表面保持對齊,從而減少泛化差距。

戰略影響

成本與預算

多年來,架構決策決定著效能和營運成本。

更明確的決策

技術教育幫助團隊選擇正確的堆疊,而不僅僅是最新的堆疊。

品質管控

更好的工程選擇可以減少生產中的可靠性事故。

隨機權重平均的未來

SWA 催生了諸如 SWA-Gaussian (SWAG) 之類的變體,以降低貝葉斯不確定性,而平均思想現在支撐著廣泛應用於擴散模型、自監督學習和大型模型預訓練中的指數移動平均技巧。預計體重平均仍將是訓練食譜中預設的“免費午餐”,研究將其擴展到合併獨立訓練的模型(模型湯)並改進校準和原始準確性。

現實世界的實施

提高 CIFAR 和 ImageNet 上 ResNet 和 DenseNet 影像分類器的測試準確性,無需額外的推理成本。

SWAG(SWA-高斯)透過單次訓練產生安全敏感預測的校準不確定性估計。

權重 EMA 穩定擴散影像產生器(如穩定擴散)中的取樣網路。

透過對多個微調檢查點進行平均來建立“模型湯”,以提高穩健性,而無需重新訓練。

風險與防護欄

優化一項基準測試可以隱藏更廣泛的系統弱點。

基礎設施和維護成本常常被低估。

隨著系統變得更加複雜,安全性和可觀察性差距可能會擴大。

實施路線圖

1

在實施之前定義延遲、品質和成本目標。

2

在實際負載和資料條件下進行基準測試。

3

儀器監控錯誤、漂移和使用者影響。

4

在擴展之前準備回滾和事件回應路徑。

不斷探索

Free newsletter

Get the daily AI briefing

Three verified AI stories every weekday morning, written in plain English. Free forever, no ads.

One email each weekday. Unsubscribe in one click. We never sell or share your address.

Test yourself

Take the Stochastic Weight Averaging quiz

Instant feedback on every answer, and a shareable certificate with a verifiable ID once you pass a course.

開始測驗

Support free AI education. AI Understanding is a 501(c)(3) nonprofit — no ads, no paywall, ever. Make a donation

下一步指南

權重初始化

常見問題

What is Stochastic Weight Averaging?

隨機權重平均 (SWA) 對訓練後期的幾個點的模型權重進行簡單平均,而不是僅保留最終快照。這種廉價的技巧通常會使模型處於更平坦、更廣泛的損失區域中,這往往能夠更好地對未見過的數據進行泛化。

隨機權重平均的實際平均值是多少?

SWA 對訓練最後階段在多個檢查點收集的模型參數(權重)進行平均,而不是預測或梯度。

為什麼SWA傾向於提高泛化能力?

平均將解決方案移向損失表面平坦區域的中心,並且平坦最小值可以更好地概括,因為訓練和測試損失保持一致。

對於使用批量歸一化的網絡,SWA 需要什麼額外步驟?

由於 BN 統計數據取決於特定權重,因此平均模型需要額外傳遞一次資料來重新計算運行平均值和變異數。

SWA 平均階段通常會使用什麼學習率行為?

SWA 保持適度較高的恆定或循環學習率,因此 SGD 繼續探索寬闊的平坦區域,然後對其點進行平均。

與傳統的 N 個模型整合相比,SWA 的推理成本如何?

SWA 將許多檢查點折疊成平均權重集,因此推理成本與單一模型而不是 N 相同。