参数范数惩罚

许多正则化方法通过对目标函数 JJ 添加一个参数范数惩罚 Ω(θ)\Omega(\theta),限制模型的学习能力。我们将正则化后的目标函数记为 J~\tilde{J}

J~(θ;X,y)=J(θ;X,y)+αΩ(θ)\tilde{J}(\theta;X,y)=J(\theta;X,y)+\alpha\Omega(\theta)

其中 α[0,)\alpha\in[0,\infty) 是权衡范数惩罚项 Ω\Omega 和标准目标函数 J(X;θ)J(X;\theta) 相对贡献的超参数。将 α\alpha 设为 00 表示没有正则化。 α\alpha 越大,对应正则化惩罚越大。

L2L^2 正则化

这个正则化策略通过向目标函数添加一个正则项 Ω(θ)=12w22\Omega(\theta)=\frac{1}{2}||w||^2_2 ,使权重更加接近原点。在其他学术圈, L2L^2 也被称为岭回归或Tikhonov正则。DNN的 L2L^2 正则化通常的做法是只针对与线性系数矩阵 ww ,而不针对偏倚系数 bb 。我们很容易可以写出DNN的 L2L^2 正则化的损失函数:

J~(w;X,y)=J(w;X,y)+α2w22=J(w;X,y)+α2wTw\tilde{J}(w;X,y)=J(w;X,y)+\frac{\alpha}{2}||w||^2_2=J(w;X,y)+\frac{\alpha}{2}w^Tw

与之对应的梯度为

wJ~(w;X,y)=wJ(w;X,y)+αw\nabla_w\tilde{J}(w;X,y)=\nabla _wJ(w;X,y)+\alpha w

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

wwϵ(αw+wJ(w;X,y))w\gets w-\epsilon(\alpha w+\nabla_wJ(w;X,y))

=w(1ϵα)wϵwJ(w;X,y)= w\gets (1-\epsilon \alpha)w-\epsilon\nabla_wJ(w;X,y)

通过上式我们可以看出,加入权重衰减后会引起学习规则的修改。即在每步执行通常的梯度更新之前先收缩权重向量( (1ϵα)w(1-\epsilon \alpha)w 将权重向量乘以一个常数因子)。 由于 ϵ\epsilonα\alpha 都是大于 00 的数,因此相对于不加正则化的模型而言,正则化之后的模型权重在每步更新之后的值都要更小。

特征影响程度筛选

假设 JJ 是一个二次优化问题(比如采用平方损失函数)时,模型参数可以进一步表示为 w=λiλi+αwi\overline{w}=\frac{\lambda_i}{\lambda_i+\alpha}w_i,即相当于在原来的参数上添加了一个控制因子,其中 λ\lambda 是参数Hessian矩阵的特征值。由此可见

  • λiα\lambda_i\gg \alpha 时,惩罚因子作用比较小。

  • λiα\lambda_i\ll \alpha 时,对应的参数会缩减至 00

如上图,实线椭圆表没有正则化目标的等值线。虚线圆圈表示 L2L^2 正则化项的等值线。在 w~\tilde{w} 点,这两个竞争目标达到平衡。横轴w1w_1表示特征1的权重,纵轴w2w_2表示特征2的权重。

可以看到虚线圆圈很扁,所以当 w1w_1 变化很大时才能进到实线圆圈的内圈,而 w2w_2 变化一点就可以进到实线圆圈的内圈。(方便理解可以看纵轴往右平移很大一块才能碰到内一个实线圆圈;假设横轴在实线最外面圈正下方中点,向上平移一点就碰到内一个实线圆圈。或者是想象 ww^* 带着实线圆圈水平或直移动)从一个实圈到另一个实圈,相当于目标函数值变化。

只有在显著减小目标函数方向上的参数会保留的相对完好。在无助于目标函数减小的方向上改变参数不会显著增加梯度,这种不重要方向对应的分量会在训练过程中因正则化而衰减掉。沿横轴变化时,目标函数变化不大,所以正则化项对该轴具有强烈的影响,正则化项将 w1w_1 拉向零。而目标函数对沿着纵轴的移动非常敏感,对应的特征值较大,表示高曲率,因此,正则化对 w2w_2 位置影响相对较小。

特征离散程度影响

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

(Xwy)T(Xwy)(Xw-y)^T(Xw-y)

我们添加 L2L^2 正则项后,目标函数变为

(Xwy)T(Xwy)+12αwTw(Xw-y)^T(Xw-y)+\frac{1}{2}\alpha w^Tw

这将方程的解从

w=(XTX)1XTyw = (X^TX)^{-1}X^Ty

变成

w=(XTX+αI)1XTyw = (X^TX+\alpha I)^{-1}X^Ty

不加正则项时的解中的矩阵 XTXX^TX 与协方差矩阵 1mXTX\frac{1}{m}X^TX 成正比。 L2L^2 正则项将这个矩阵替换为上式中的 XTX+αIX^TX+\alpha I,这个新矩阵与原来的是一样的,不同的仅仅是在对角加了 α\alpha 。这个矩阵的对角项对应每个输入特征的方差。我们可以看到,L2L^2 正则化能让学习算法“感知”到具有较高方差的输入 xx ,因此与输出目标的协方差较小(相对增加方差)的特征的权重将会收缩。即更离散的特征所占权重将会变小。

L1L^1 正则化

对模型参数 wwL1L^1 正则化被定义为

Ω(θ)=w1=iwi\Omega(\theta) = ||w||_1=\sum\limits_i|w_i|

即各个参数的绝对值之和。正则化的目标函数 J~(w;X,y)\tilde{J}(w;X,y) 如下所示

J~(w;X,y)=J(w;X,y)+αw1\tilde{J}(w;X,y)=J(w;X,y)+\alpha||w||_1

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

wJ~(w;X,y)=wJ(w;X,y)+α sign(w)\nabla_w\tilde{J}(w;X,y)=\nabla_w J(w;X,y)+\alpha \ sign(w)

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

我们可以看到正则化对梯度的影响不再是线性地缩放每个 wiw_i ,而是添加了一项与 sign(wi)sign(w_i) 同号的常数。使用这种形式的梯度之后,我们不一定能到的 J(X,y;w)J(X,y;w) 二次近似的直接算数解(L2L^2正则化可以)

函数解稀疏性影响

相比 L2L^2 正则化, L1L^1 正则化会产生更稀疏的解。此处稀疏性指的是最优值中的一些参数为 00 。如上图所示,正则项等值线与没有正则化目标的等值线在 L1L^1 时更容易在轴上有交点(这两个竞争目标达到平衡),即有特征的系数为 00 (上图中是 w1=0w_1=0 )。

特征影响程度选择

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

L2L^2L1L^1 区别

L1L^1 相对于L2L^2 能够产生更加稀疏的模型,即当 L1L^1 正则在参数 ww 比较小的情况下,能够直接缩减至0。因此可以起到特征选择的作用,该技术也称之为 LASSO。

如果从概率角度进行分析,很多范数约束相当于对参数添加先验分布,其中L2L^2 范数相当于参数服从高斯先验分布; L1L^1 范数相当于拉普拉斯分布。

Last updated