Эвристики для ускорения сходимости: Dropout, ResNet, BatchNorm

Материал из MachineLearning.

Версия от 18:26, 12 июля 2026; Artem Mukovnin (Обсуждение | вклад)
(разн.) ← Предыдущая | Текущая версия (разн.) | Следующая → (разн.)
Перейти к: навигация, поиск
Статья написана с использованием LLM GPT-4 и проверена участником Artem Mukovnin 22:26, 12 июля 2026 (MSD)


Эвристики для ускорения сходимости: Dropout, ResNet, BatchNorm — три ключевых метода, которые революционизировали обучение глубоких нейронных сетей в 2010-х годах. Эти техники решают фундаментальные проблемы обучения глубоких архитектур: переобучение, взрыв и затухание градиентов, а также низкую скорость сходимости.

Содержание

Dropout

Dropout (метод отключения нейронов) — техника регуляризации, предложенная Джеффри Хинтоном в 2012 году. Во время обучения случайные нейроны временно «отключаются» с вероятностью p (обычно 0.5 для полносвязных слоёв), что предотвращает ко-адаптацию признаков и снижает переобучение.

Принцип работы

На каждом шаге обучения:

  • Каждый нейрон независимо сохраняется с вероятностью p или обнуляется с вероятностью 1-p
  • Во время инференса все нейроны активны, но их выходы умножаются на p (или делятся на p во время обучения)
  • Это создаёт эффект обучения ансамбля из 2^n подсетей

Преимущества

Batch Normalization

Batch Normalization (пакетная нормализация, BatchNorm) — метод, предложенный Сергеем Иоффе и Кристианом Сегеди в 2015 году, который нормализует активации каждого слоя по мини-батчу, стабилизируя и ускоряя обучение.

Принцип работы

Для каждого мини-батча:

  1. Вычисляются среднее μ и дисперсия σ² активаций
  2. Активации нормализуются: x̂ = (x - μ) / √(σ² + ε)
  3. Применяется масштабирующий сдвиг: y = γx̂ + β, где γ и β — обучаемые параметры

Преимущества

  • Позволяет использовать более высокий темп обучения
  • Снижает чувствительность к инициализации весов
  • Работает как слабая форма регуляризации
  • Ускоряет сходимость в 10-15 раз

Проблемы

  • При малом размере батча статистики ненадёжны
  • В RNN применяется сложнее (используется Layer Normalization)

ResNet

ResNet (Residual Network, остаточная сеть) — архитектура глубокой нейронной сети с пропускающими соединениями, предложенная Каем Хе и коллегами в 2015 году. Позволила обучать сети глубиной в сотни и тысячи слоёв.

Остаточные блоки

Вместо обучения функции H(x) сеть обучает остаточную функцию:

  • F(x) = H(x) - x
  • Выход блока: y = F(x) + x

Пропускающее соединение (skip connection) передаёт вход x напрямую к выходу, позволяя градиентам течь без искажений через множество слоёв.

Преимущества

Вариации

  • ResNet v2: BatchNorm и ReLU перед свёрткой (pre-activation)
  • DenseNet: каждый слой соединён со всеми последующими
  • Highway Networks: пропуски с обучаемыми воротами

Сравнение методов

Метод Год Основная проблема Механизм
Dropout 2012 Переобучение Случайное отключение нейронов
BatchNorm 2015 Нестабильность распределения активаций Нормализация по мини-батчу
ResNet 2015 Затухание градиентов Пропускающие соединения

Комбинирование методов

В современных архитектурах все три техники используются вместе:

  • ResNet-блоки с BatchNorm после каждой свёртки
  • Dropout применяется перед полносвязными слоями или в свёрточных сетях с вероятностью 0.2-0.5
  • Data augmentation для дополнительного снижения переобучения

Практические рекомендации

  1. BatchNorm: использовать по умолчанию в свёрточных сетях
  2. Dropout: добавлять перед плотными слоями (p=0.5) или в свёрточных (p=0.2-0.3)
  3. ResNet: выбирать для задач, требующих глубины >20 слоёв
  4. Размер батча: для BatchNorm оптимально 32-256
  5. Порядок слоёв: Conv → BatchNorm → ReLU → Dropout

См. также

Литература

  1. Hinton G. et al. Dropout: A Simple Way to Prevent Neural Networks from Overfitting // JMLR. 2014.
  2. Ioffe S., Szegedy C. Batch Normalization: Accelerating Deep Network Training by Reducing Internal Covariate Shift // ICML. 2015.
  3. He K. et al. Deep Residual Learning for Image Recognition // CVPR. 2016.
Личные инструменты