Регуляризация

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

(Различия между версиями)
Перейти к: навигация, поиск

Artyom Savov (Обсуждение | вклад)
(Новая: {{well|Статья написана с использованием LLM '''DeepSeek V3''' и проверена участником ~~~~}} {{TOCright}} '''Регуляризация''...)
К следующему изменению →

Версия 12:58, 26 июня 2026

Статья написана с использованием LLM DeepSeek V3 и проверена участником Artyom Savov 16:58, 26 июня 2026 (MSD)


Содержание

Регуляризация (англ. regularization) — совокупность методов в машинном обучении, направленных на уменьшение переобучения (англ. overfitting) модели и повышение её обобщающей способности. Основная идея состоит в наложении дополнительных ограничений на обучаемый алгоритм, что не позволяет ему идеально подстраиваться под шум и случайные флуктуации обучающей выборки. Регуляризация реализуется путём добавления штрафного слагаемого к функции потерь, явного изменения архитектуры модели или модификации процесса оптимизации.

Мотивация и связь с теорией обобщения

Классическая дилемма смещения и дисперсии (англ. bias-variance tradeoff) утверждает, что чрезмерно сложная модель имеет низкое смещение, но высокую дисперсию, что проявляется как переобучение. Регуляризация уменьшает эффективную сложность модели, чаще всего за счёт введения априорных предположений о распределении параметров (например, о близости к нулю). В теории статистического обучения (англ. statistical learning theory) регуляризация напрямую связана с минимизацией эмпирического риска с контроля сложности (англ. structural risk minimization), что позволяет получить более узкие границы обобщения[1].

Явная регуляризация: штрафные добавки к функции потерь

Наиболее распространённый подход — добавление к эмпирическому риску J(\theta) (например, MSE или кросс-энтропии) штрафного члена R(\theta), умноженного на коэффициент регуляризации \lambda > 0:

\mathcal{L}(\theta) = J(\theta) + \lambda R(\theta).

L2-регуляризация (гребневая регрессия, весовая деградация)

При L2-регуляризации (англ. L2 regularization), известной также как гребневая регрессия (англ. ridge regression) в линейных моделях, штраф пропорционален квадрату L2-нормы вектора весов w (без учёта свободного члена):

R(\theta) = \|w\|_2^2 = \sum_{i} w_i^2.

Данный метод заставляет веса оставаться малыми, но не приводит к их обнулению. В глубоком обучении этот же принцип часто называют весовой деградацией (англ. weight decay), поскольку градиентный шаг эквивалентен умножению весов на множитель (1 - \eta \lambda) на каждой итерации. Исторически метод восходит к работам А. Н. Тихонова по некорректно поставленным задачам[1] и был популяризован в статистике Хоэрлом и Кеннардом[1].

L1-регуляризация (LASSO)

При L1-регуляризации (англ. L1 regularization) штрафуется сумма абсолютных значений весов:

R(\theta) = \|w\|_1 = \sum_{i} |w_i|.

В линейной регрессии этот метод известен как LASSO (англ. least absolute shrinkage and selection operator)[1] за авторством Р. Тибширани. Выпуклая, но негладкая природа штрафа приводит к тому, что оптимум часто лежит на осях координат — часть весов становится точно равной нулю. Таким образом L1-регуляризация автоматически выполняет отбор признаков (англ. feature selection).

Elastic Net

Elastic Net (англ. elastic net regularization) объединяет L1- и L2-штрафы с помощью смешивающего параметра \alpha \in [0,1][1]:

R(\theta) = \alpha \|w\|_1 + (1 - \alpha) \|w\|_2^2.

Метод сохраняет разреживающие свойства LASSO, но лучше работает при сильной корреляции признаков, когда LASSO склонен выбирать лишь один из группы скоррелированных признаков.

L0-регуляризация

L0-регуляризация (англ. L0 regularization) наказывает непосредственно количество ненулевых параметров, то есть использует «псевдонорму» \|w\|_0 = \# \{ i : w_i \ne 0 \}. Минимизация L0-штрафа соответствует задаче отбора наилучшего подмножества признаков (англ. best subset selection) и приводит к максимально разреженным моделям. Однако данная задача является NP-трудной в общем случае из-за комбинаторной природы, и на практике её решают приближёнными методами.

Популярной непрерывной заменой L0 выступает L1-регуляризация (выпуклая релаксация). Более точные приближения основаны на невыпуклых штрахах (SCAD, MCP) или на явной стохастической оптимизации L0-нормы. В глубоких нейронных сетях L0-регуляризацию можно реализовать через вентильные переменные, обучение которых позволяет динамически обнулять структурные элементы (нейроны или целые каналы)[1]. Такой подход сочетает разреживающий эффект с непрерывной оптимизацией.

Байесовская интерпретация

С точки зрения байесовского вывода (англ. bayesian inference), максимизация апостериорной вероятности (англ. MAP estimation) эквивалентна минимизации регуляризованной функции потерь. L2-регуляризация соответствует гауссовскому априорному распределению на веса w \sim \mathcal{N}(0, \sigma^2 I), а L1 — распределению Лапласа w \sim \text{Laplace}(0, b). Параметр \lambda обратно пропорционален дисперсии априорного распределения. Elastic Net можно представить как комбинацию гауссовского и лапласовского априорных распределений.

Эквивалентность с задачей с ограничением и условия ККТ

Регуляризованную задачу \min_\theta J(\theta) + \lambda R(\theta) можно рассматривать как лагранжиан задачи условной минимизации:

\min_\theta J(\theta) при условии R(\theta) \le t,

где t \ge 0 — некоторый порог. При определённых условиях регулярности (например, выпуклости) по теореме Каруша–Куна–Таккера (англ. KKT) существует такое значение \lambda \ge 0, что решение условной задачи совпадает с решением штрафной задачи, и множитель Лагранжа \lambda играет роль коэффициента регуляризации[1]. Эта связь объясняет поведение регуляризаторов: например, ограничение в виде L1-нормы задаёт ромбовидную допустимую область, пересечение которой с линиями уровня функции потерь часто происходит в вершинах, что порождает разреженные решения.

Регуляризация в глубоком обучении

В глубоких нейронных сетях переобучение становится особенно острым из-за огромного числа параметров. Наряду с классическими L1/L2-штрафами, были разработаны специализированные методы.

Dropout

Dropout (англ. dropout) — стохастический метод, предложенный Сриваставой и др.[1]. Во время каждой итерации обучения каждый нейрон (кроме выходных) временно исключается из сети с вероятностью p (обычно 0.2–0.5). Это заставляет сеть не полагаться на отдельные нейроны и может рассматриваться как усреднение экспоненциально большого ансамбля подсетей. На этапе предсказания выпадения отключаются, а веса масштабируются на коэффициент 1-p (или используется эквивалентное инвертированное масштабирование на обучении).

Другие варианты включают Spatial Dropout (выпадение целых карт признаков в свёрточных сетях), DropBlock (выпадение непрерывных блоков) и DropConnect (обнуление отдельных связей, а не целых нейронов).

Пакетная нормализация как неявная регуляризация

Пакетная нормализация (англ. batch normalization)[1] изначально предназначена для ускорения обучения, но также демонстрирует регуляризующий эффект. Стохастичность, вносимая оценкой среднего и дисперсии по мини-пакету, действует подобно лёгкому шуму, сглаживая целевую функцию и снижая переобучение.

Аугментация данных

Аугментация данных (англ. data augmentation) — неявный способ регуляризации, расширяющий обучающую выборку путём случайных, но семантически инвариантных преобразований: повороты, отражения, обрезка в изображениях, шум, изменение высоты тона в аудио, замена синонимов в тексте и т.д. К аугментациям относят и специальные техники смешивания, такие как Mixup[1] (линейная интерполяция пар входов и их меток) и CutMix (замена прямоугольной области одного изображения на фрагмент другого).

Label Smoothing

Label Smoothing (англ. label smoothing) заменяет one-hot целевые вероятности y_k на сглажённые: y_k^{LS} = y_k (1 - \alpha) + \alpha / K, где K — число классов. Это предотвращает излишнюю самоуверенность модели и улучшает калибровку вероятностей, действуя как регуляризатор[1].

Ранняя остановка

Ранняя остановка (англ. early stopping) — прекращение обучения, когда ошибка на валидационной выборке перестаёт уменьшаться. В линейных моделях с квадратичной функцией потерь ранняя остановка эквивалентна L2-регуляризации с определённым \lambda[1]. В глубоких сетях это простой и эффективный способ предотвратить переобучение без модификации функции потерь.

Современные методы и направления исследований

AdamW: разделение весовой деградации и адаптивного обучения

Классическое применение L2-регуляризации в адаптивных оптимизаторах (англ. Adam) ведёт к тому, что весовая деградация перестаёт быть эквивалентной чистому L2-штрафу. AdamW[1] исправляет это, реализуя весовую деградацию непосредственно как вычитание \lambda w из параметров, отдельно от градиента функции потерь. Такой подход часто улучшает обобщение.

Sharpness-Aware Minimization (SAM)

Метод SAM[1] стремится найти параметры, лежащие в широких минимумах поверхности потерь, поскольку известно, что плоские минимумы лучше обобщают. SAM минимизирует не только значение потерь, но и их максимальное значение в окрестности параметров, что может интерпретироваться как особая форма неявной регуляризации.

Stochastic Depth и DropPath

В очень глубоких архитектурах (например, ResNet) применяют Stochastic Depth — случайное исключение целых слоёв или блоков во время обучения. Это можно рассматривать как расширение Dropout на уровень архитектурных компонентов.

Феномен двойного спуска и роль регуляризации

Классическая U-образная кривая зависимости ошибки от сложности модели была переосмыслена в контексте современных перепараметризованных сетей. Двойной спуск (англ. double descent)[1] показывает, что после достижения порога интерполяции (где модель идеально запоминает обучающие данные) ошибка на тесте может вновь уменьшаться. В этой области явная регуляризация (L2, dropout) часто не обязательна или даже вредна, а основную роль играет неявная регуляризация, индуцированная алгоритмом оптимизации (англ. implicit bias градиентного спуска).

Выбор гиперпараметров регуляризации

Ключевой параметр \lambda (или p у Dropout) обычно настраивается по сетке или с помощью байесовской оптимизации с использованием кросс-валидации (англ. cross-validation). Оценка обобщающей способности должна проводиться на отложенном тестовом множестве, не участвовавшем ни в обучении, ни в валидации.

Заключение

Регуляризация остаётся одним из центральных понятий машинного обучения, эволюционируя от аналитических штрафов в линейных моделях до неявных механизмов в глубоких сетях. Правильное понимание и выбор методов регуляризации критически важны для построения надёжных и обобщающих моделей.

См. также

Научная литература