Регуляризация модели
Регуляризация модели — набор техник машинного обучения, которые снижают переобучение, штрафуя модель за излишнюю сложность. Помогает модели лучше работать на новых данных, а не только на обучающей выборке.
Что это
Регуляризация модели — это совокупность методов, которые ограничивают сложность обучаемой модели, чтобы она не «заучивала» обучающие данные наизусть, а улавливала реальные закономерности. Технически это достигается добавлением штрафного слагаемого к функции потерь или изменением архитектуры обучения. Без регуляризации модель с большим числом параметров легко достигает почти нулевой ошибки на тренировочном наборе, но показывает плохие результаты на тестовых данных — это и называется переобучением (overfitting).
Зачем это нужно
Проблема переобучения стала особенно острой с ростом глубоких нейросетей: современные модели могут содержать миллиарды параметров и буквально запомнить каждый пример из датасета. Регуляризация появилась как инструментарий ещё в статистике и линейных моделях — метод Ridge-регрессии (L2) был формализован в 1970-х годах Андреем Тихоновым в контексте некорректных задач. В машинном обучении эти идеи переосмыслили: задача стала не просто минимизировать ошибку, а найти баланс между точностью на обучающих данных и обобщающей способностью модели. Без регуляризации даже хорошо спроектированная архитектура может оказаться бесполезной в продакшене.
Как это работает
Основная идея — добавить к стандартной функции потерь (например, MSE или кросс-энтропии) дополнительный штраф, который растёт вместе со сложностью модели. Чем крупнее веса или чем их больше, тем выше штраф. Модель вынуждена искать компромисс: объяснить данные и при этом оставаться «простой». Существуют разные подходы к тому, как именно считать этот штраф.
- L2-регуляризация (Ridge, weight decay) — штраф пропорционален сумме квадратов весов. Веса уменьшаются, но не обнуляются. Используется по умолчанию во многих оптимизаторах, например AdamW.
- L1-регуляризация (Lasso) — штраф пропорционален сумме модулей весов. Часть весов обнуляется полностью, что даёт разреженную модель. Удобно для отбора признаков.
- Elastic Net — комбинация L1 и L2. Применяется, когда признаков много и часть из них коррелирует между собой.
- Dropout — во время обучения случайно «отключает» нейроны с заданной вероятностью (обычно 0.2–0.5). Предложен Хинтоном и коллегами в 2012 году, стал стандартом для нейросетей.
- Early stopping — обучение останавливается, когда ошибка на валидационной выборке перестаёт снижаться, не давая модели переобучиться на поздних эпохах.
- Batch Normalization — нормализует активации внутри слоёв, косвенно выступая регуляризатором за счёт шума в мини-батчах.
Примеры применения
- Кредитный скоринг: логистическая регрессия с L1-регуляризацией автоматически отсеивает незначимые финансовые признаки из сотен переменных.
- Компьютерное зрение: ResNet и VGG используют weight decay (L2) при обучении на ImageNet — без него точность на валидации падает на 2–5%.
- NLP и трансформеры: модели типа BERT и GPT применяют Dropout в слоях внимания и полносвязных блоках, а также weight decay в AdamW.
- Медицинская диагностика: при малом объёме данных (несколько сотен снимков) сильная L2-регуляризация или аугментация данных — единственный способ получить модель, которая работает на новых пациентах.
- Рекомендательные системы: матричная факторизация с L2-штрафом (как в классическом алгоритме SVD++ от Netflix Prize 2009) предотвращает подгонку под редких пользователей.
Связанные понятия
- Переобучение (Overfitting) — проблема, которую регуляризация решает
- Недообучение (Underfitting) — противоположная крайность, к которой ведёт избыточная регуляризация
- Функция потерь (Loss function) — к ней добавляется регуляризационный штраф
- Гиперпараметр λ (lambda) — коэффициент, управляющий силой регуляризации
- Кросс-валидация — используется для подбора оптимального λ
- Байесовская интерпретация — L2 соответствует гауссовскому априорному распределению весов, L1 — распределению Лапласа
Частые ошибки и мифы
Распространённое заблуждение — «чем сильнее регуляризация, тем лучше». На практике слишком большой λ приводит к недообучению: модель становится настолько «скромной», что не может описать даже реальные паттерны в данных. Другая ошибка — применять Dropout к маленьким датасетам с простыми моделями: там он вносит лишний шум и замедляет сходимость без пользы. Наконец, регуляризация не заменяет качественные данные — если в обучающей выборке систематическая ошибка (bias), никакой штраф на веса её не устранит.