技術指南

銳利度感知最小化

銳利度感知最小化(SAM)是一種最佳化方法,它不僅尋求低損失,而且尋求整個權重鄰域的低損失-平坦的最小值。

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

概述

Flatter minima tend to generalize better, so SAM often improves test accuracy and robustness without changing the model architecture.

深入探討

標準訓練最大限度地減少了權重空間中單一點的損失,但是具有相同訓練損失的兩個解決方案可能表現得非常不同:「尖銳」最小值位於狹窄的山谷中,其中微小的權重擾動會導致損失激增,而「平坦」最小值則可以容忍擾動,並且通常可以更好地推廣到看不見的數據。 Google 研究人員於 2020 年推出的 SAM 明確了這一點。在每一步中,它首先找到使損失最大化的附近權重擾動(在小半徑 rho 內)——最壞情況的鄰居——然後更新原始權重以減少該擾動點的損失。這種最小-最大目標將優化推向一致低的區域,從而在影像分類及其他方面產生明顯更好的泛化。

技術洞察

每個 SAM 步驟都是兩次通過。首先,計算當前權重下的梯度,並在梯度方向上採取大小為 rho 的「上升」步驟,以到達最壞情況附近的點。其次,計算該擾動點的梯度並用它來更新原始權重。半徑 rho 控制您要防範的鄰域大小。成本大約是每步兩次向前向後傳遞,這使得計算量增加了一倍——這是主要的實際缺點。

戰略影響

成本與預算

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

更明確的決策

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

品質管控

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

清晰度感知最小化的未來

SAM 催生了一系列後續產品,旨在解決其最大的弱點,即雙倍計算:ESAM、LookSAM 等高效變體,以及僅擾動權重子集或每隔幾步應用 SAM 的方法。自適應 SAM (ASAM) 將半徑重新參數化為尺度不變。研究人員繼續爭論為什麼平坦度有幫助以及如何測量它,而銳利度意識的想法正在傳播到微調大型語言模型並提高對分佈變化的穩健性。

現實世界的實施

透過使用 SAM 而非普通 SGD 進行訓練,提升 ImageNet 上的 Vision Transformer 和 ResNet 準確性。

提高對標籤雜訊的穩健性,因為平坦最小值不太可能記住損壞的標籤。

使用 SAM 微調預訓練語言模型,以便在小型下游資料集上獲得更好的泛化能力。

當普通 SAM 的雙倍計算成本過於昂貴時,請使用 ESAM 或 LookSAM 變體。

風險與防護欄

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

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

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

實施路線圖

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 Sharpness-Aware Minimization 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

下一步指南

DenseNet 和密集連接

常見問題

What is Sharpness-Aware Minimization?

銳利度感知最小化(SAM)是一種最佳化方法,它不僅尋求低損失,而且尋求整個權重鄰域的低損失-平坦的最小值。較平坦的最小值往往具有更好的泛化能力,因此 SAM 通常可以在不改變模型架構的情況下提高測試準確性和穩健性。

SAM 試著找出什麼樣的最小值?

SAM 的目標是平坦最小值,因為在較小的權重擾動下保持較低的損失往往可以更好地推廣到看不見的數據。

標準 SAM 步驟需要多少次前後傳球?

SAM 計算一個梯度來找到最壞情況的附近點,然後更新另一個梯度—大約是通常成本的兩倍。

SAM 中半徑超參數 rho 控制什麼?

Rho 設定「上升」步驟移動多遠以找到最壞情況的鄰居,定義 SAM 尋找的平坦區域有多大。

SAM 每次迭代的兩個步驟中的第一個步驟是什麼?

SAM 首先在損失最大化的方向上擾動半徑 rho 內的權重,然後使用在那裡計算的梯度從原始點下降。

為什麼 SAM 通常可以提高對標籤雜訊的穩健性?

記住嘈雜的標籤通常需要尖銳、狹窄的最小值;透過偏好平坦區域,SAM 可以防止過度擬合。