深度学习中的正则化

在机器学习中,会有许多策略来减小测试误差,但这些策略可能会引起训练误差的增大,这些策略被统称为正则化策略。在深度学习的背景下,大多数正则化策略都是对估计进行正则化。估计的正则化通常是以偏差的增加换取方差的减少,一个有效的正则化就是能显著减少方差而不过度增加偏差。现在我们回顾一下几种策略

1. 参数范数惩罚

许多正则化方法通过对目标函数$J$添加一个参数范数惩罚项$\Omega (\theta)$,限制模型的学习能力。正则化后的目标函数变为$\overline{J}$:
$$
\overline{J}(\theta; X, y) = J(\theta; X, y) + \alpha\Omega(\theta)
$$
$\alpha​$是惩罚项系数,$\alpha​$系数越大,对应正则化惩罚越大。

在本节中,我们关注各种范数惩罚对模型的影响。在讨论之前,我们需要特别说明一下,在神经网络中,参数包括每一层仿射变换的权重和偏置,我们通常只对权重做惩罚而不对偏置做正则惩罚。

  • $L_{2}$参数正则化

    这个正则化策略通过向目标函数添加一个正则项$\Omega(\theta)=\frac{1}{2}||\omega||_{2}^2$,使权重更加接近原点,我们通过研究正则化后目标函数的梯度,观察权重衰减的正则化表现。这里我们假定没有偏置参数,因此$\theta$就是$\omega$,则我们目标函数为:
    $$
    \overline{J}(\omega; X, y) = \frac{\alpha}{2}\omega^T\omega + J(\omega; X, y)
    $$
    相应的梯度为:
    $$
    \nabla_\omega\overline{J}(\omega; X, y) = \alpha\omega + \nabla_\omega J(\omega; X, y)
    $$
    使用单步梯度下降更新权重,执行以下更新:
    $$
    \omega\leftarrow(1-\epsilon\alpha)\omega-\epsilon\nabla_\omega J(\omega; X, y)
    $$
    我们可以看到,加入权重衰减后会引起学习规则的修改,即在每步执行梯度更新之前先收缩权重向量。H是$\omega​$处于最优时对应的Hessian矩阵,正则化的“微观”表现就是,沿着H特征值较大的方向正则化的影响较小。即:只有在显著减小目标函数方向上的参数会保留得相对完好。在无助于目标函数减小的方向(对应Hessian 矩阵较小的特征值)上改变参数不会显著增加梯度。这种不重要方向对应的分量会在训练过程中因正则化而衰减掉。

  • $L_{1}$参数正则化

    对模型参数$\omega$的$L_{1}$正则化被定义为:
    $$
    \Omega(\theta)=||\omega||_1=\sum_i{|\omega_i|}
    $$
    这时的正则化目标函数$\overline{J}(\omega; X, y)​$为:
    $$
    \overline{J}(\omega; X, y) = \alpha||\omega||_1+J(\omega; X, y)
    $$
    对应的梯度为:
    $$
    \nabla_\omega\overline{J}(\omega; X,y)=\alpha sign(\omega)+\nabla_\omega J(\omega;X,y)
    $$
    其中$sign(\omega)​$只是简单地取$\omega​$各个元素的正负号。

    相比$L_{2}$正则化,$L_{1}$正则化会产生更稀疏的解,$L_{1}$正则化有可能通过足够大的$\alpha$实现稀疏。$L_{1}$正则化被广泛应用与特征选择。

2. 作为约束的范数惩罚

在原始目标函数上添加一系列惩罚项,每个惩罚项是一个被称为KKT乘子的系数以及一个表示约束是否满足的函数之间的乘积。

3. 数据集增强

数据集增强对一个具体的分类问题来说是特别有效的方法:对象识别。图像是高维的并包括各种巨大的变化因素,其中有许多可以轻易地模拟。即使模型已使用卷积和池化技术对部分平移保持不变,沿训练图像每个方向平移几个像素的操作通常可以大大改善泛化。许多其他操作如旋转图像或缩放图像也已被证明非常有效。

在神经网络的输入层注入噪声(Sietsma and Dow, 1991) 也可以被看作是数据增强的一种方式。对于许多分类甚至一些回归任务而言,即使小的随机噪声被加到输入,任务仍应该是能够被解决的。然而,神经网络被证明对噪声不是非常健壮(Tang and Eliasmith, 2010)。改善神经网络健壮性的方法之一是简单地将随机噪声添加到输入再进行训练。

4. 噪声鲁棒性

对于某些模型而言,向输入添加方差极小的噪声等价于对权重施加范数惩罚(Bishop, 1995a,b)。在一般情
况下,注入噪声远比简单地收缩参数强大,特别是噪声被添加到隐藏单元时会更加强大。

另一种正则化模型的噪声使用方式是将其加到权重,这项技术主要用于RNN,这种形式的正则化鼓励参数进入权重小扰动对输出相对影响较小的参数空间区域。换句话说,它推动模型进入对权重小的变化相对不敏感的区域,找到的点不只是极小点,还是由平坦区域所包围的极小点。

1
本文内容摘取自《Deep Learning》,部分内容有所修改