テクニカルガイド
シャープネスを意識した最小化
Sharpness-Aware Minimization (SAM) は、単に低損失を追求するのではなく、近傍の重み全体にわたって低損失、つまりフラットな最小値を追求する最適化手法です。
このガイドを聴くAIによるナレーション · ~2 min
概要
Flatter minima tend to generalize better, so SAM often improves test accuracy and robustness without changing the model architecture.
ディープダイブ
標準的なトレーニングでは、重み空間内の単一点での損失が最小限に抑えられますが、同じトレーニング損失を持つ 2 つのソリューションは、まったく異なる動作をする可能性があります。「鋭い」最小値は、小さな重みの摂動が損失を急上昇させる狭い谷に位置しますが、「フラット」の最小値は摂動を許容し、通常は目に見えないデータに対してより適切に一般化します。 2020 年に Google 研究者によって導入された SAM は、これを明確にしています。各ステップで、まず損失を最大化する近くの重みの摂動 (小さい半径 rho 内) (最悪の場合の近傍) を見つけ、次に元の重みを更新してその摂動点での損失を削減します。この最小-最大目標により、均一に低い領域に向けて最適化が推進され、画像分類およびそれ以降の一般化が著しく向上します。
現実世界の実装
プレーンな SGD の代わりに SAM を使用してトレーニングすることで、ImageNet 上の Vision Transformer と ResNet の精度を向上させます。
フラット最小値は破損したラベルを記憶する可能性が低いため、ラベル ノイズに対する堅牢性が向上します。
SAM を使用して事前トレーニングされた言語モデルを微調整して、小規模な下流データセットをより適切に一般化します。
バニラ SAM の 2 倍のコンピューティング コストが高すぎる場合は、ESAM または LookSAM バリアントを使用します。
シャープネスを意識した最小化の未来
SAM は、その最大の弱点であるコンピューティングの 2 倍化を狙った一連のフォローアップを生み出しました。これには、ESAM、LookSAM などの効率的なバリアント、および重みのサブセットのみを変動させるメソッドや数ステップごとに SAM を適用するメソッドなどがあります。アダプティブ SAM (ASAM) は、スケール不変になるように半径を再パラメータ化します。研究者は、フラットネスがなぜ役立つのか、そしてそれをどのように測定するのかについて正確に議論し続けており、シャープネスを意識したアイデアは、大規模な言語モデルの微調整や、分布の変化に対する堅牢性の向上に広がっています。
実践する
なぜそれが重要なのか
- 費用と予算. アーキテクチャの決定により、パフォーマンスと運用コストが何年にもわたって推進されます。
- より明確な判決. 技術教育は、チームが最新のスタックだけでなく、適切なスタックを選択するのに役立ちます。
- 品質管理. より良いエンジニアリングの選択により、本番環境での信頼性に関するインシデントが減少します。
気をつけてください
- 1 つのベンチマークを最適化すると、より広範なシステムの弱点が隠れる可能性があります。
- インフラストラクチャとメンテナンスのコストは過小評価されがちです。
- システムが複雑になるにつれて、セキュリティと可観測性のギャップが拡大する可能性があります。
次のステップ
- 実装前にレイテンシ、品質、コストの目標を定義します。
- 現実的な負荷とデータ条件でのベンチマーク。
- エラー、ドリフト、ユーザーへの影響を計測器で監視します。
- スケーリングの前に、ロールバックとインシデント対応のパスを準備します。
探検を続けましょう
よくある質問
What is Sharpness-Aware Minimization?
Sharpness-Aware Minimization (SAM) は、単に低損失を追求するのではなく、近傍の重み全体にわたって低損失、つまりフラットな最小値を追求する最適化手法です。平坦な最小値はより一般化する傾向があるため、SAM は多くの場合、モデル アーキテクチャを変更せずにテストの精度と堅牢性を向上させます。
SAM はどのような最小値を見つけようとしますか?
SAM は平坦な最小値をターゲットとします。これは、小さな重みの変動下でも損失が低く維持されるため、目に見えないデータに対してより適切に一般化される傾向があるためです。
標準の SAM ステップには何回の前後パスが必要ですか?
SAM は勾配を計算して最悪の場合の近くの点を見つけてから、そこにある別の勾配を更新します。これには通常の約 2 倍のコストがかかります。
SAM の半径ハイパーパラメータ rho は何を制御しますか?
Rho は、最悪の場合の近傍を見つけるために「上昇」ステップがどこまで移動するかを設定し、SAM が求める平坦な領域の大きさを定義します。
各反復における SAM の 2 つのステップの最初のものは何ですか?
SAM は、まず半径 rho 内の重みを損失を最大化する方向に摂動させ、次にそこで計算された勾配を使用して元の点から下降します。
SAM がラベル ノイズに対する堅牢性を向上させることが多いのはなぜですか?
ノイズの多いラベルを記憶するには、通常、シャープで狭い最小値が必要です。 SAM は平坦な領域を優先することにより、その過剰適合に抵抗します。