Регуляризация L2 (L2 Regularization)
Метод регуляризации в машинном обучении, направленный на предотвращение переобучения модели путём добавления к функции потерь штрафа, пропорционального квадрату величины весов модели.
Суть регуляризации L2 можно пояснить на бытовой аналогии.
Представьте, что вы учите ребёнка рисовать прямые линии. Если дать ему полную свободу, он может начать вырисовывать мельчайшие детали и «переусердствовать» с точностью, из‑за чего линии станут неровными и неестественными. Чтобы этого избежать, вы мягко корректируете его движения, не позволяя слишком сильно отклоняться от прямой. В контексте нейросетей регуляризация L2 действует как такая «мягкая корректировка»: она не даёт весам модели стать слишком большими, удерживая их в разумных пределах и тем самым сохраняя обобщающую способность модели.
Исторически регуляризация как концепция возникла в ответ на одну из ключевых проблем машинного обучения — переобучение. Когда модель слишком сложна или имеет слишком много параметров по отношению к объёму обучающих данных, она начинает «запоминать» обучающую выборку вместо того, чтобы выявлять общие закономерности. Первые систематические подходы к регуляризации начали разрабатываться в 1970–1980‑х годах в рамках статистики и теории оценивания, а затем были адаптированы для нейронных сетей. Регуляризация L2, также известная как ридж‑регуляризация (ridge regression), стала одним из стандартных инструментов в арсенале ML‑инженеров наряду с L1‑регуляризацией.
Отличие L2‑регуляризации от L1
L2 добавляет к функции потерь штраф, равный сумме квадратов весов, умноженной на коэффициент регуляризации $\lambda$. Это приводит к тому, что веса модели «сжимаются» к нулю, но редко становятся строго нулевыми. В результате модель сохраняет все признаки, но с уменьшенной силой влияния.
L1 добавляет штраф, равный сумме абсолютных значений весов. Это может приводить к обнулению некоторых весов, фактически исключая соответствующие признаки из модели. L1‑регуляризация часто используется для отбора признаков (feature selection).
Отличие регуляризации от других методов борьбы с переобучением
- дропаут (dropout) — случайное «выключение» нейронов во время обучения;
- аугментация данных (data augmentation) — искусственное увеличение объёма обучающей выборки;
- уменьшение сложности модели (например, сокращение числа слоёв или нейронов).
Применение регуляризации L2
Регуляризация L2 широко применяется в различных моделях и архитектурах:
- в линейных моделях (логистическая регрессия, линейная регрессия) как ридж‑регуляризация;
- в нейронных сетях любого типа — от простых полносвязных до сложных свёрточных (CNN) и рекуррентных (RNN);
- в задачах классификации и регрессии, где важно сохранить все признаки, но избежать чрезмерной подгонки под обучающие данные.
Примеры использования
- в библиотеке scikit‑learn параметр
alphaв классахRidgeиLogisticRegressionотвечает за коэффициент L2‑регуляризации; - в фреймворках глубокого обучения (TensorFlow, PyTorch) L2‑регуляризацию можно задать через параметр
weight_decayпри настройке оптимизатора (например,torch.optim.Adam).
