Dropout — метод регуляризации, при котором часть нейронов временно отключается во время обучения, чтобы предотвратить переобучение модели.
Определение
Dropout — это техника регуляризации, при которой на каждом шаге обучения случайная доля нейронов в слое временно исключается из вычислений. Отключённые нейроны не участвуют ни в прямом проходе, ни в обратном распространении ошибки.
Поскольку каждый шаг обучения использует разные подмножества нейронов, модель не фиксируется на отдельных признаках и не подстраивается под шум в данных. Это уменьшает переобучение и улучшает обобщающую способность.
Как работает
Dropout действует как стохастическое обнуление активаций. Механизм включает два режима:
- во время обучения — случайный процент нейронов отключается с вероятностью p;
- во время инференса — нейроны не отключаются, а их активации масштабируются для компенсации dropout.
Ключевые элементы:
- маски dropout — бинарные матрицы, определяющие, какие нейроны активны;
- p-dropout — вероятность отключения (обычно 0.1–0.5);
- scale-инвариантность — на инференсе активации умножаются на (1 — p), чтобы сохранить распределение значений.
Dropout фактически обучает ансамбль моделей, каждая из которых использует свою конфигурацию активных нейронов. На инференсе они «усредняются» в виде единой сети.
Где применяется
- Полносвязные слои в крупных моделях.
- Рекуррентные архитектуры (с модифицированными вариантами, такими как variational dropout).
- Трансформеры — в attention-блоках и feed-forward слоях.
- Дообучение моделей на малых наборах данных.
- Регуляризация больших моделей при ограниченных тренировочных данных.
Практические примеры использования
При обучении трансформеров dropout применяется в attention-модулях и позиционных feed-forward блоках для стабилизации обучения и снижения переобучения.
В задачах классификации с небольшим датасетом dropout помогает модели не заучивать шум — отключение случайных нейронов заставляет её использовать более универсальные признаки.
При дообучении на новых доменах dropout предотвращает ситуацию, когда модель слишком сильно адаптируется под ограниченную новую выборку и теряет качество на старых данных.
В RNN и LSTM-архитектурах используются модифицированные версии dropout, чтобы сохранить стабильность через время.
Преимущества и ограничения
- Плюс: снижает переобучение.
- Плюс: работает как ансамбль моделей.
- Плюс: легко внедряется во все основные архитектуры.
- Плюс: совместим с большинством оптимизаторов.
- Минус: увеличивает время обучения из-за стохастичности.
- Минус: может замедлять сходимость.
- Минус: требует настройки вероятности dropout.
- Минус: в некоторых архитектурах (например, больших трансформерах) слишком высокий порог снижает качество.
Связанные термины
- Реgularization
- Weight decay
- Batch normalization
- Overfitting
- AdamW
- Ensembling
- Variational dropout