概念界定
正则化是一大类用于约束模型学习行为的方法,目标是降低过拟合风险、改善泛化能力,或者让模型更符合某些先验偏好。L1/L2 范数正则只是正则化中的一种,属于“参数正则化”。
更一般地说,只要某种方法不是单纯让训练集 loss 更低,而是在训练过程中加入额外约束、噪声、惩罚、结构限制或数据处理,以避免模型学到脆弱规律,都可以从广义上看作正则化。
背景与问题
模型容量越大,越有能力拟合训练数据中的细节,包括真正有用的规律,也包括噪声、重复、偏见和偶然模式。如果只追求训练集 loss 最低,模型可能在训练数据上表现很好,但在新数据上表现变差,这就是过拟合风险。
大模型虽然依赖海量数据,过拟合形式和小模型不完全一样,但仍然需要正则化思想:数据清洗、去重、weight decay、dropout、label smoothing、KL 约束、早停、对齐目标等,都会影响模型是否学到更稳健的行为。
定义与记号
最经典的正则化形式是在任务损失外加入正则项:
L_total = L_task + λ R(θ)其中:
L_task是原始任务损失,例如交叉熵。R(θ)是正则项,用来惩罚某些不希望出现的参数形态或模型行为。λ是正则强度,控制任务损失和正则项之间的权衡。
L2 正则
L2 正则惩罚参数平方和:
R(θ) = ||θ||_2^2 = Σ_i θ_i^2总损失为:
L_total = L_task + λ ||θ||_2^2它倾向于让权重不要变得过大,从而降低模型对某些特征的极端依赖。
L1 正则
L1 正则惩罚参数绝对值之和:
R(θ) = ||θ||_1 = Σ_i |θ_i|L1 更容易推动部分参数接近 0,因此常与稀疏性相关。
直观解释
正则化可以理解为“给模型加规矩”。没有正则时,模型只关心如何降低训练 loss;加入正则后,模型还要遵守额外偏好。
例如:
- L2 正则偏好较小、较平滑的权重。
- L1 正则偏好更稀疏的参数。
- Dropout 要求模型不要过度依赖某些神经元。
- 数据去重要求模型不要靠记住重复样本获益。
- KL 约束要求新模型不要偏离参考模型太远。
所以,范数正则是正则化的一种具体形式,而不是正则化的全部。
正则化的主要类型
参数正则化
直接约束参数本身。
- L2 正则 / weight decay:惩罚过大的权重。
- L1 正则:鼓励稀疏参数。
- 参数范数约束:限制参数整体尺度。
结构正则化
通过网络结构或训练时随机机制限制模型依赖。
- Dropout:训练时随机置零部分激活。
- Stochastic depth:随机跳过某些层。
- 参数共享:减少自由参数数量。
数据正则化
通过改变或清理训练数据改善泛化。
- 数据增强。
- 数据去重。
- 数据过滤。
- 数据混合比例控制。
在大模型里,数据去重和过滤非常重要,因为重复数据可能让模型记忆训练样本,而不是学到泛化规律。
目标正则化
在训练目标中加入额外约束。
- Label smoothing:让目标分布不要过于 one-hot。
- KL penalty:限制当前模型分布偏离参考模型。
- 辅助 loss:加入额外任务或约束。
RLHF 中常见的 KL 惩罚就是目标正则化的例子:
reward_total = reward_model_score - β KL(π_θ || π_ref)它防止策略模型为了追求 reward 而过度偏离原始语言模型。
训练过程正则化
通过训练流程本身控制泛化或稳定性。
- Early stopping:验证集不再提升时停止训练。
- Learning rate decay:训练后期降低更新幅度。
- Gradient clipping:限制异常梯度更新。
这些方法不一定都在数学上写成 λR(θ),但都体现了“不要让模型以不稳定或不泛化的方式优化训练目标”的思想。
L2 正则和 Weight Decay 的关系
在普通 SGD 中,L2 正则和 weight decay 关系非常接近。
如果损失为:
L_total = L_task + λ ||θ||_2^2那么 L2 正则项对参数的梯度是:
∇(λ ||θ||_2^2) = 2λθSGD 更新会变成:
θ = θ - η(∇L_task + 2λθ)也就是每次更新时除了任务梯度,还会把参数往 0 拉一点。这看起来就像权重衰减。
但在 Adam 这类自适应优化器中,把 L2 正则直接加到梯度里,会被 Adam 的自适应缩放影响,因此它和真正的 weight decay 不再完全等价。AdamW 的关键就是把 weight decay 从梯度更新中解耦出来。
基本性质
- 正则化是一个大类,不只包括 L1/L2 范数正则。
- 正则化的核心是加入约束或偏好,降低模型学到脆弱模式的风险。
- 正则化过弱可能过拟合,过强可能欠拟合。
- 大模型中的正则化常常体现在数据、目标、结构和训练配方中,而不只是损失里的范数项。
- 不同正则化方法约束的是不同对象:参数、激活、数据、分布或训练过程。
示例
假设一个模型在训练集中遇到大量重复样本。如果不做数据去重,模型可能通过记忆这些重复内容降低训练 loss。数据去重并没有显式加入 λR(θ),但它减少了模型靠记忆重复样本获益的机会,因此可以看作广义正则化。
再如 RLHF 中,如果只最大化 reward model 分数,模型可能学到奇怪的高 reward 文本。加入 KL penalty 后,模型必须在“提高 reward”和“不偏离参考语言模型太远”之间折中,这也是正则化思想。
常见误解
- 误解:正则化只包括 L2 或范数惩罚。
- 正确理解:L1/L2 是参数正则化,正则化还包括 dropout、数据增强、数据去重、label smoothing、KL 约束、early stopping 等。
- 误解:正则化一定会提高训练集表现。
- 正确理解:正则化常常会让训练 loss 更高,但可能改善泛化和稳定性。
- 误解:大模型数据足够多,所以不需要正则化。
- 正确理解:大模型仍然需要数据去重、weight decay、目标约束和训练配方来控制记忆、偏移和不稳定行为。
- 误解:weight decay 和 L2 正则永远完全一样。
- 正确理解:在 SGD 中二者关系接近;在 Adam 中需要 AdamW 这种解耦实现。
相关概念
- AdamW 与 Weight Decay — 大模型训练常用参数正则形式。
- Dropout — 随机失活正则化。
- Label Smoothing — 目标分布平滑。
- KL 散度 — 分布约束和对齐中的正则项。
- 训练数据工程 — 数据处理也影响泛化。