乐读窝

深度学习

乐读窝 > 文学理论 > 深度学习

7.1 参数范数惩罚

书籍名:《深度学习》    作者:伊恩.古德费洛



正则化在深度学习的出现前就已经被使用了数十年。线性模型,如线性回归和逻辑回归,可以使用简单、直接、有效的正则化策略。

许多正则化方法通过对目标函数J添加一个参数范数惩罚,限制模型(如神经网络、线性回归或逻辑回归)的学习能力。我们将正则化后的目标函数记为:

其中α∈[0,∞)是权衡范数惩罚项Ω和标准目标函数相对贡献的超参数。将α设为0表示没有正则化。α越大,对应正则化惩罚越大。

当我们的训练算法最小化正则化后的目标函数时,它会降低原始目标J关于训练数据的误差并同时减小在某些衡量标准下参数θ(或参数子集)的规模。选择不同的参数范数Ω会偏好不同的解。在本节中,我们会讨论各种范数惩罚对模型的影响。

在探究不同范数的正则化表现之前,需要说明一下,在神经网络中,参数包括每一层仿射变换的权重和偏置,我们通常只对权重做惩罚而不对偏置做正则惩罚。精确拟合偏置所需的数据通常比拟合权重少得多。每个权重会指定两个变量如何相互作用。我们需要在各种条件下观察这两个变量才能良好地拟合权重。而每个偏置仅控制一个单变量。这意味着,我们不对其进行正则化也不会导致太大的方差。另外,正则化偏置参数可能会导致明显的欠拟合。因此,我们使用向量w表示所有应受范数惩罚影响的权重,而向量θ表示所有参数(包括w和无须正则化的参数)。

在神经网络的情况下,有时希望对网络的每一层使用单独的惩罚,并分配不同的α系数。寻找合适的多个超参数的代价很大,因此为了减少搜索空间,我们会在所有层使用相同的权重衰减。



7.1.1 L2参数正则化


在第5.2节中我们已经看到过最简单而又最常见的参数范数惩罚,即通常被称为权重衰减(weight  decay)的L2参数范数惩罚。这个正则化策略通过向目标函数添加一个正则项,使权重更加接近原点(1)。在其他学术圈,L2也被称为岭回归或Tikhonov正则。

我们可以通过研究正则化后目标函数的梯度,洞察一些权重衰减的正则化表现。为了简单起见,我们假定其中没有偏置参数,因此θ就是w。这样一个模型具有以下总的目标函数:

与之对应的梯度为

使用单步梯度下降更新权重,即执行以下更新:

换种写法就是

我们可以看到,加入权重衰减后会引起学习规则的修改,即在每步执行通常的梯度更新之前先收缩权重向量(将权重向量乘以一个常数因子)。这是单个步骤发生的变化。但是,在训练的整个过程会发生什么呢?

我们进一步简化分析,令为未正则化的目标函数取得最小训练误差时的权重向量,即,并在的邻域对目标函数做二次近似。如果目标函数确实是二次的(如以均方误差拟合线性回归模型的情况),则该近似是完美的。近似的如下

其中H是J在处计算的Hessian矩阵(关于w)。因为被定义为最优,即梯度消失为0,所以该二次近似中没有一阶项。同样地,因为是J的一个最优点,我们可以得出H是半正定的结论。

当取得最小时,其梯度

为0。

为了研究权重衰减带来的影响,我们在式(7.7)中添加权重衰减的梯度。现在我们探讨最小化正则化后的。我们使用变量表示此时的最优点:

当α趋向于0时,正则化的解会趋向。那么当α增加时会发生什么呢?因为H是实对称的,所以我们可以将其分解为一个对角矩阵Λ和一组特征向量的标准正交基Q,并且有。将其应用于式(7.10),可得

我们可以看到权重衰减的效果是沿着由H的特征向量所定义的轴缩放。具体来说,我们会根据因子缩放与H第i个特征向量对齐的的分量。(不妨查看图2.3,回顾这种缩放的原理)。

沿着H特征值较大的方向(如)正则化的影响较小。而的分量将会收缩到几乎为零。这种效应如图7.1所示。

图7.1 L2(或权重衰减)正则化对最佳w值的影响。实线椭圆表示没有正则化目标的等值线。虚线圆圈表示L2正则化项的等值线。在点,这两个竞争目标达到平衡。目标函数J的Hessian的第一维特征值很小。当从水平移动时,目标函数不会增加得太多。因为目标函数对这个方向没有强烈的偏好,所以正则化项对该轴具有强烈的影响。正则化项将w1拉向零。而目标函数对沿着第二维远离的移动非常敏感。对应的特征值较大,表示高曲率。因此,权重衰减对w2的位置影响相对较小

只有在显著减小目标函数方向上的参数会保留得相对完好。在无助于目标函数减小的方向(对应Hessian矩阵较小的特征值)上改变参数不会显著增加梯度。这种不重要方向对应的分量会在训练过程中因正则化而衰减掉。

目前为止,我们讨论了权重衰减对优化一个抽象通用的二次代价函数的影响。这些影响具体是怎么和机器学习关联的呢?我们可以研究线性回归,它的真实代价函数是二次的,因此我们可以使用相同的方法分析。再次应用分析,我们会在这种情况下得到相同的结果,但这次我们使用训练数据的术语表述。线性回归的代价函数是平方误差之和:

我们添加L2正则项后,目标函数变为

这将正规方程的解从

变为

式(7.16)中的矩阵与协方差矩阵成正比。L2正则项将这个矩阵替换为式(7.17)中的,这个新矩阵与原来的是一样的,不同的仅仅是在对角加了α。这个矩阵的对角项对应每个输入特征的方差。我们可以看到,L2正则化能让学习算法“感知”到具有较高方差的输入x,因此与输出目标的协方差较小(相对增加方差)的特征的权重将会收缩。



7.1.2 L1正则化


L2权重衰减是权重衰减最常见的形式,我们还可以使用其他的方法限制模型参数的规模。一个选择是使用L1正则化。

形式地,对模型参数w的L1正则化被定义为

即各个参数的绝对值之和(2)。接着我们将讨论L1正则化对简单线性回归模型的影响,与分析L2正则化时一样不考虑偏置参数。我们尤其感兴趣的是找出L1和L2正则化之间的差异。与L2权重衰减类似,我们也可以通过缩放惩罚项Ω的正超参数α来控制L1权重衰减的强度。因此,正则化的目标函数如下所示

对应的梯度(实际上是次梯度):

其中sign(w)只是简单地取w各个元素的正负号。

观察式(7.20),我们立刻发现L1的正则化效果与L2大不一样。具体来说,我们可以看到正则化对梯度的影响不再是线性地缩放每个wi;而是添加了一项与sign(wi)同号的常数。使用这种形式的梯度之后,我们不一定能得到二次近似的直接算术解(L2正则化时可以)。

简单线性模型具有二次代价函数,我们可以通过泰勒级数表示。或者我们可以设想,这是逼近更复杂模型的代价函数的截断泰勒级数。在这个设定下,梯度由下式给出

同样,H是J在处的Hessian矩阵(关于w)。

由于L1惩罚项在完全一般化的Hessian的情况下,无法得到直接清晰的代数表达式,因此我们将进一步简化假设Hessian是对角的,即,其中每个。如果线性回归问题中的数据已被预处理(如可以使用PCA),去除了输入特征之间的相关性,那么这一假设成立。

我们可以将L1正则化目标函数的二次近似分解成关于参数的求和:

如下列形式的解析解(对每一维i)可以最小化这个近似代价函数:

对每个i,考虑的情形,会有两种可能结果:

(1)的情况。正则化后目标中的wi最优值是wi=0。这是因为在方向i上的贡献被抵消,L1正则化项将wi推至0。

(2)的情况。在这种情况下,正则化不会将wi的最优值推至0,而仅仅在那个方向上移动的距离。

的情况与此类似,但是L1惩罚项使wi更接近0(增加)或者为0。

相比L2正则化,L1正则化会产生更稀疏(sparse)的解。此处稀疏性指的是最优值中的一些参数为0。和L2正则化相比,L1正则化的稀疏性具有本质的不同。式(7.13)给出了L2正则化的解。如果我们使用Hessian矩阵H为对角正定矩阵的假设(与L1正则化分析时一样),重新考虑这个等式,会发现。如果不是零,那么也会保持非零。这表明L2正则化不会使参数变得稀疏,而L1正则化有可能通过足够大的α实现稀疏。

由L1正则化导出的稀疏性质已经被广泛地用于特征选择(feature  selection)机制。特征选择从可用的特征子集选择出有意义的特征,化简机器学习问题。著名的LASSO(Tibshirani,1995)(Least  Absolute  Shrinkage  and  Selection  Operator)模型将L1惩罚和线性模型结合,并使用最小二乘代价函数。L1惩罚使部分子集的权重为零,表明相应的特征可以被安全地忽略。

在第5.6.1节,我们看到许多正则化策略可以被解释为MAP贝叶斯推断,特别是L2正则化相当于权重是高斯先验的MAP贝叶斯推断。对于L1正则化,用于正则化代价函数的惩罚项与通过MAP贝叶斯推断最大化的对数先验项是等价的(并且权重先验是各向同性的拉普拉斯分布(式(3.26))):

因为是关于w最大化进行学习,我们可以忽略logα−log  2项,因为它们与w无关。