sam_post
SAM: почему плоские минимумы лучше острых
@fminxyz Series 19, Post 2 — 27 августа 2026
Adam находит минимум. Но минимум бывает разным.
Острый минимум: маленький сдвиг θ → большой рост loss. Чуть изменились данные — и модель сломалась.
Плоский минимум: маленький сдвиг θ → маленький рост loss. Модель устойчива к вариациям данных.
Оба могут иметь train loss ≈ 0. Но test accuracy у плоского — лучше.
SAM (Sharpness-Aware Minimization):
Стандартная оптимизация: min_θ L(θ)
SAM: min_θ max_{||ε||≤ρ} L(θ+ε)
Найди наиболее острую точку в окрестности радиуса ρ — и шагни туда вниз.
Два шага за итерацию:
- Найти worst-case возмущение:
ε̂ = ρ · ∇L(θ) / ||∇L(θ)|| - Шагнуть по градиенту из возмущённой точки:
θ -= η · ∇L(θ + ε̂)
Результаты:
- ResNet-50 CIFAR-10: SGD 93.2% → SAM 94.4% (+1.2%)
- BERT fine-tuning: AdamW 85.1% → SAM 86.3%
- ViT ImageNet: SAM стабильно даёт +0.4–0.5%
Цена: 2× медленнее (два forward pass). Но качество того стоит.
Практика: SAM + AdamW = best default для transfer learning и fine-tuning. Особенно полезен когда мало данных (меньше train set → острее минимумы у SGD).
Связь с theory: PAC-Bayes bounds объясняют, почему плоская кривизна → лучший generalization gap.
→ Завтра: Muon — что если учесть геометрию самого пространства весов?