神经网络正则化三重奏:Weight Decay, Dropout, 和LayerNorm

发布于:2025-09-02 ⋅ 阅读:(18) ⋅ 点赞:(0)

正则化是机器学习中防止模型过拟合、提升泛化能力的核心技术。Weight Decay、Dropout和LayerNorm是三种最常用的方法,但它们的工作原理和首要目标截然不同。下面的流程图揭示了它们的核心区别与联系:

模型训练的核心挑战
过拟合 (Overfitting)
训练不稳定/梯度问题
显式约束
隐式扰动
Weight Decay
L2惩罚项
限制模型复杂度
Dropout
随机丢弃神经元
打破共适应,类似集成
内部协变量偏移 ICS
归一化与稳定化
Layer Normalization
规范层激活值分布
稳定训练,加速收敛

尽管目标有交叉,但三者的工作原理截然不同。下面我们进行详细的解析。

1. Weight Decay (权重衰减) - 模型复杂度的约束者

  • 要解决的核心问题: 模型过于复杂,学习到了数据中的噪声和异常点,导致泛化能力差。
  • 工作原理: 它是一种显式正则化方法,通过直接修改损失函数来工作。它在原始损失函数(如交叉熵)上增加了一个惩罚项(通常是所有权重的平方和,即L2范数),鼓励模型参数趋向于更小的值。
    • 最终损失函数:L′(θ)=L(θ)+λ2∥θ∥22L'(\theta) = L(\theta) + \frac{\lambda}{2} \|\theta\|_2^2L(θ)=L(θ)+2λθ22
    • 其中,λ\lambdaλ 是超参数,控制惩罚力度。λ\lambdaλ 越大,模型越简单。
  • 效果: 约束了模型的函数空间,迫使模型学习更平滑、更简单的函数,从而有效防止过拟合。
  • 实践提示:
    • 在优化器中(如SGD、AdamW)直接设置 weight_decay 参数。
    • 注意: 对于Adam优化器,应使用 AdamW 来实现真正的权重衰减,否则效果可能不理想。
    • 常见值范围在 1e-21e-5 之间,需要仔细调优。

2. Dropout (随机失活) - 神经元共适应的破坏者

  • 要解决的核心问题: 神经元之间的“共适应”(Co-adaptation),即某些神经元过度依赖于其他特定神经元的存在,导致模型过于脆弱和 specialized,泛化能力弱。
  • 工作原理: 它是一种隐式正则化方法,在训练阶段的每次前向传播中,随机将一层中一定比例(如50%)的神经元输出置零(“丢弃”)。每次迭代都丢弃不同的神经元子集。
    • 训练时: 激活值需要除以保留概率(如 /0.8),以确保数据尺度大致不变( inverted dropout)。
    • 测试时: 不使用Dropout,所有神经元都参与计算,无需缩放。
  • 效果:
    • 防止过拟合: 打破神经元间的复杂依赖关系,迫使每个神经元都能独立地学到有用的特征。
    • 模型集成: 相当于训练了指数多个共享参数的子网络,并在测试时将这些“模型”集成为一个强大的预测模型。
  • 实践提示:
    • 通常作为一层网络添加在激活函数之后(如 nn.Dropout(p=0.5))。
    • 丢弃率 p 是超参数,隐藏层通常从 0.5 开始尝试,输入层可以更低(如 0.10.2)。
    • 在模型容量大、数据量小的情况下效果尤其明显。

3. Layer Normalization (层归一化) - 训练过程的稳定器

  • 要解决的核心问题: 内部协变量偏移(Internal Covariate Shift, ICS)——由于前面层参数的更新,导致当前层输入数据的分布发生剧烈变化,使得训练变得困难,需要更小的学习率和谨慎的参数初始化。
  • 工作原理: 它不改变损失函数,也不改变网络结构,而是改变数据的分布。它对单个样本在某一层的所有神经元激活值进行标准化,使其均值为0,方差为1,然后再进行缩放和平移。
    • 公式:对于输入 xxx,计算 μ=1H∑i=1Hxi\mu = \frac{1}{H}\sum_{i=1}^{H} x_iμ=H1i=1Hxi, σ=1H∑i=1H(xi−μ)2+ϵ\sigma = \sqrt{\frac{1}{H}\sum_{i=1}^{H} (x_i - \mu)^2 + \epsilon}σ=H1i=1H(xiμ)2+ϵ
    • 标准化和变换:yi=γxi−μσ+βy_i = \gamma \frac{x_i - \mu}{\sigma} + \betayi=γσxiμ+β
    • 其中 γ\gammaγβ\betaβ 是可学习的参数,用于恢复模型的表达能力。
  • 效果:
    • 稳定训练,加速收敛: 大大减轻了ICS问题,允许使用更大的学习率。
    • 改善梯度流动: 缓解梯度消失/爆炸问题。
    • 对批次大小不敏感: 其计算不依赖批次内其他样本,因此在NLP(序列长度不一)、小批次等场景中表现稳定,这是它相对于BatchNorm的巨大优势。
    • 间接正则化: 其带来的训练稳定性间接有助于模型找到更优的解,但正则化效果是其副作用,并非主要目的。
  • 实践提示:
    • 在Transformer和RNN中无处不在。
    • 通常放在残差连接之前(Pre-LNLayerNorm -> Sublayer -> Add)或之后(Post-LN),Pre-LN通常是更稳定、更主流的现代选择。

总结与协同使用

特性 Weight Decay Dropout LayerNorm
核心角色 约束者 破坏者 稳定器
主要目标 降低模型复杂度 打破神经元共适应 稳定训练,加速收敛
工作阶段 训练与测试 仅训练 训练与测试
机制 修改损失函数 随机丢弃神经元 标准化激活值
超参数 衰减系数 λ\lambdaλ 丢弃率 p 通常无需调参

在现代深度架构(如Transformer)中,三者完美协同:

  1. LayerNorm 是每个子层(自注意力、前馈网络)的基石,用于稳定训练。
  2. Dropout 被广泛添加在注意力权重计算后、前馈网络的激活函数后,用于防止过拟合
  3. Weight Decay (通常通过AdamW优化器) 在整个训练过程中约束所有参数,确保模型的简洁性。

它们从不同维度共同作用,造就了强大、稳定且泛化能力极强的现代深度学习模型。


网站公告

今日签到

点亮在社区的每一天
去签到