Оптимизация

Ландшафты потерь нейронных сетей

Вы обучаете нейросеть - loss падает, accuracy растёт. Но почему одна модель обобщается, а другая переобучается, хотя обе достигают нулевого train loss? Почему ResNets учатся стабильнее ванильных сетей? Ответ скрыт в **форме поверхности потерь** - геометрии, которую почти невозможно увидеть в 100M измерениях.

  • **Архитектурный дизайн**: skip connections в ResNet, нормализация в трансформерах - всё это улучшает геометрию ландшафта, делая его более гладким и легче оптимизируемым
  • **Model merging**: знание о mode connectivity позволяет «сливать» несколько обученных моделей в одну без потери качества (Model Soup, SLERP для LLM)
  • **SAM в production**: Google использует SAM для обучения Vision Transformers - явная минимизация резкости даёт +1-2% на ImageNet без изменения архитектуры

Предварительные знания

  • Distributed Optimization
  • Adaptive Optimization Methods

Геометрия ландшафта потерь

Функция потерь нейронной сети - это поверхность в пространстве миллионов параметров. Интуиция из 3D («гора», «долина», «овраг») переносится с трудом, но геометрические концепции остаются: **локальные минимумы**, **максимумы**, **седловые точки**, **плато** и **острые ущелья**.

**Dauphin et al. (2014)** показали: в высоких размерностях «плохих» локальных минимумов (далёких от глобального) практически нет. Большинство критических точек с высоким значением потерь - седловые точки, а не минимумы. Это хорошая новость: SGD и его варианты случайным образом выходят из седловых точек (шум минибатчей добавляет случайное возмущение). Плохих локальных минимумов, в которых застрянет обучение, практически нет - в отличие от представлений 1990-х годов.

Однако **хорошие** (глубокие) локальные минимумы бывают разной формы: острые и плоские. Форма минимума критически важна для **обобщающей способности** модели - это открытие стало одним из центральных в современном понимании deep learning.

Почему в глубоких нейронных сетях с миллионами параметров локальные минимумы встречаются редко?

Седловые точки и побег из них

**Седловая точка** - критическая точка, в которой градиент равен нулю, но которая не является ни минимумом, ни максимумом. Функция убывает в одних направлениях и возрастает в других. Именно с ними - а не с локальными минимумами - реально борются оптимизаторы.

**Детерминированный gradient descent** может застрять на седле на длительное время: градиент мал, шаг мал, выход медленный (зависит от размера собственного значения). **SGD с мини-батчем**: шум аппроксимации градиента добавляет случайное возмущение. Если оно имеет ненулевую проекцию на «отрицательное» направление Hessian - модель начинает «скатываться» вниз. **Теорема (Jin et al., 2017)**: Perturbed SGD сходится к строгим седловым точкам за O(1/ε⁴) шагов в полиномиальное время.

Почему мини-батч SGD быстрее покидает седловые точки, чем полный (batch) gradient descent?

Острые vs плоские минимумы и обобщаемость

Когда оптимизатор находит минимум, важна его **форма**: острый (sharp) минимум - узкая «игла», плоский (flat) минимум - широкая «долина». Эта разница критична для **обобщающей способности** (generalization) модели.

**SAM** (Foret et al., 2021) - оптимизатор, явно минимизирующий резкость минимума. Вместо минимизации f(θ) он минимизирует: `max_{||ε||≤ρ} f(θ + ε)` - наихудшее значение в ρ-шаре вокруг θ Два шага на каждую итерацию: 1. Шаг 1: θ̃ = θ + ρ · ∇f(θ)/||∇f(θ)|| (сдвиг к «наихудшей точке» в окрестности) 2. Шаг 2: θ = θ - α · ∇f(θ̃) (шаг градиента в наихудшей точке) Результат: SAM+SGD стабильно превосходит SGD на ImageNet (+1-2%) и особенно хорош при малых датасетах.

Почему плоский минимум функции потерь обычно лучше обобщается, чем острый?

Визуализация ландшафтов потерь

Как исследователи изучают форму ландшафта в пространстве миллионов параметров? **Li et al. (2018)** предложили метод визуализации через проекцию на два направления с **filter normalization**, позволяющий корректно сравнивать сети разного масштаба.

Открытие **Garipov et al. (2018)** и **Draxler et al. (2018)**: два разных минимума нейросети соединены **кривой нулевых потерь** в пространстве параметров (loss barrier ≈ 0). Метод **Mode Connectivity**: найти кривую c(t) между θ₁ и θ₂ такую, что L(c(t)) ≈ const (низкое) для всех t ∈ [0,1]. Это означает: разные «решения», найденные нейросетью при разных random seed, не такие разные - они соединены в пространстве параметров без больших барьеров.

Зачем в методе визуализации ландшафта потерь (Li et al.) применяется filter normalization?

Ключевые идеи

  • **Геометрия**: в высоких размерностях локальные минимумы редки - доминируют седловые точки; шум SGD помогает их покидать
  • **Резкость**: sharpness = λ_max(∇²f), острые минимумы → плохая обобщаемость, плоские минимумы → хорошая
  • **SAM**: минимизирует max_{||ε||≤ρ} f(θ+ε) - явный поиск плоских минимумов, +1-2% generalization
  • **Визуализация**: filter normalization от Li et al. позволяет сравнивать форму ландшафтов разных архитектур

Связанные темы

Геометрия ландшафта потерь объясняет, почему работают конкретные методы:

  • Адаптивные методы оптимизации — Adam и SGD по-разному навигируют ландшафт - понимание геометрии объясняет их разную обобщаемость
  • Оптимизация при обучении LLM — Warmup, gradient clipping, learning rate schedule - инструменты для навигации по сложному ландшафту потерь LLM
  • Оптимизация в ML — Теоретические основы оптимизации: выпуклость, критические точки, условия Кюна-Таккера

Вопросы для размышления

  • Если бы функция потерь была выпуклой, как бы изменилось обучение нейросетей? Что бы мы потеряли?
  • Почему batch normalization и layer normalization улучшают обучение - можно ли объяснить это через геометрию ландшафта?
  • Mode connectivity показывает, что разные минимумы «соединены». Что это значит для ensembling и model merging?

Связанные уроки

  • ml-09-gradient-descent
Ландшафты потерь нейронных сетей

0

1

Войти