七、深度学习中的正则化

机器学习中的一个核心问题是设计不仅在训练数据上表现好,而且能在新输入上泛化(?)好的算法。在机器学习中,许多策略被显式地设计来减少测试误差(可能会以增大训练误差为代价)。这些策略被统称为正则化。

待补充 141

1 参数范数惩罚

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

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

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

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

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

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

1.1 L 2 L^2 L2参数正则化

权重衰减(weight decay)是最简单且最常见的参数范数惩罚,它表现为 L 2 L^2 L2参数范数惩罚。这个正则化策略通过向目标函
数添加一个正则项 Ω ( θ ) = 1 2 ∥ w ∥ 2 2 \Omega(\theta)=\frac{1}{2}\Vert w\Vert_2^2 Ω(θ)=21w22,使权重更加接近原点(更一般地,我们可以将参数正则化为接近空间中的任意特定点,令人惊讶的是这样也仍有正则化效果,但是特定点越接近真实值结果越好。当我们不知道正确的值应该是正还是负时,零是有意义的默认值。由于模型参数正则化为零的情况更为常见,我们将只探讨这种特殊情况。)。在其他学术圈, L 2 L^2 L2也被称为岭回归或 Tikhonov 正则。

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

J ~ ( w ; X , y ) = α 2 w T w + J ( w ; X , y ) ( 7.2 ) \tilde{J}(w;X,y)=\frac{\alpha}{2}w^Tw+J(w;X,y)\quad\quad\quad\quad(7.2) J~(w;X,y)=2αwTw+J(w;X,y)(7.2)

与之对应的梯度为

∇ w J ~ ( w ; X , y ) = α w + ∇ w J ( w ; X , y ) ( 7.3 ) \nabla_w\tilde{J}(w;X,y)=\alpha w+\nabla_wJ(w;X,y)\quad\quad\quad\quad(7.3) wJ~(w;X,y)=αw+wJ(w;X,y)(7.3)

(?上面的公式推导)

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

w ← w − ϵ ( α w + ∇ w J ( w ; X , y ) ) . ( 7.4 ) w\leftarrow w-\epsilon(\alpha w+\nabla_wJ(w;X,y)).\quad\quad\quad\quad\quad(7.4) wwϵ(αw+wJ(w;X,y)).(7.4)

换一种写法,上式变为:

w ← ( 1 − ϵ α ) w − ϵ ∇ w J ( w ; X , y ) . ( 7.5 ) w\leftarrow(1-\epsilon\alpha)w-\epsilon\nabla_wJ(w;X,y).\quad\quad\quad\quad(7.5) w(1ϵα)wϵwJ(w;X,y).(7.5)

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

我们进一步简化分析,令 w ∗ w^* w为未正则化的目标函数取得最小训练误差时的权重向量,即 w ∗ = arg min ⁡ w J ( w ) w^*=\argmin\limits_{w}J(w) w=wargminJ(w),并在 w ∗ w^* w的邻域对目标函数做二次近似。如果目标函数确实是二次的 (如以均方误差拟合线性回归模型的情况),则该近似是完美的。近似的 J ^ ( θ ) \hat{J}(\theta) J^(θ)如下:

J ^ ( θ ) = J ( w ∗ ) + 1 2 ( w − w ∗ ) T H ( w − w ∗ ) ( 7.6 ) \hat{J}(\theta)=J(w^*)+\frac{1}{2}(w-w^*)^TH(w-w^*)\quad\quad\quad\quad(7.6) J^(θ)=J(w)+21(ww)TH(ww)(7.6)

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

J ^ \hat{J} J^ 取得最小时,其梯度

∇ w J ^ ( w ) = H ( w − w ∗ ) ( 7.7 ) \nabla_w\hat{J}(w)=H(w-w^*)\quad\quad\quad\quad(7.7) wJ^(w)=H(ww)(7.7)

为0.(还是一个问题,这里是怎么推导的?)

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

α w ~ + H ( w ~ − w ∗ ) = 0 ( 7.8 ) \alpha\tilde{w}+H(\tilde{w}-w^*)=0\quad\quad\quad\quad\quad(7.8) αw~+H(w~w)=0(7.8)
( H + α I ) w ~ = H w ∗ ( 7.9 ) (H+\alpha I)\tilde{w}=Hw^*\quad\quad\quad\quad\quad(7.9) (H+αI)w~=Hw(7.9)
w ~ = ( H + α I ) − 1 H w ∗ ( 7.10 ) \tilde{w}=(H+\alpha I)^-1Hw^*\quad\quad\quad\quad\quad(7.10) w~=(H+αI)1Hw(7.10)

(?矩阵什么时候可逆)

α \alpha α 趋向于 0 时,正则化的解 w ~ \tilde{w} w~ 会趋向 w ∗ w^* w。那么当 α \alpha α 增加时会发生什么呢?因为 H H H 是实对称的,所以我们可以将其分解为一个对角矩阵 Λ \Lambda Λ 和一组特征向量的标准正交基 Q Q Q,并且有 H = Q Λ Q T H=Q\Lambda Q^T H=QΛQT(?实对称矩阵的什么性质)。将其应用于式 (7.10) ,可得:

w ~ = ( Q Λ Q T + α I ) − 1 Q Λ Q T w ∗    ( 7.11 ) = [ Q ( Λ + α I ) Q T ] − 1 Q Λ Q T w ∗ ( 7.12 ) = Q ( Λ + α I ) − 1 Λ Q T w ∗ ( 7.13 ) \tilde{w}=(Q\Lambda Q^T+\alpha I)^{-1}Q\Lambda Q^Tw^*\quad\quad\quad\quad\quad\ \ (7.11)\\=[Q(\Lambda+\alpha I)Q^T]^{-1}Q\Lambda Q^T w^*\quad\quad\quad\quad(7.12)\\=Q(\Lambda+\alpha I)^{-1}\Lambda Q^Tw^*\quad\quad\quad\quad\quad\quad\quad(7.13) w~=(QΛQT+αI)1QΛQTw  (7.11)=[Q(Λ+αI)QT]1QΛQTw(7.12)=Q(Λ+αI)1ΛQTw(7.13)

(?)中间推导

我们可以看到权重衰减的效果是沿着由 H H H的特征向量所定义的轴缩放 w ∗ w^* w。具体来说,我们会根据 λ i λ i + α \frac{\lambda_i}{\lambda_i+\alpha} λi+αλi因子缩放与 H H H i i i个特征向量对齐的 w ∗ w^* w的分量(图2.3中有这种缩放的原理)

沿着 H H H特征值较大的方向(如 λ i ≫ α \lambda_i\gg\alpha λiα)正则化的影响较小。而 λ i ≪ α \lambda_i\ll\alpha λiα的分量将会收缩到几乎为零。这种效应如图7.1所示:

在这里插入图片描述

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

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

( X w − y ) T ( X w − y ) ( 7.14 ) (Xw-y)^T(Xw-y)\quad\quad\quad\quad(7.14) (Xwy)T(Xwy)(7.14)

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

( X w − y ) T ( X w − y ) + 1 2 α w T w ( 7.15 ) (Xw-y)^T(Xw-y)+\frac{1}{2}\alpha w^Tw\quad\quad\quad\quad(7.15) (Xwy)T(Xwy)+21αwTw(7.15)

这将普通方程的解从(?):

w = ( X T X ) − 1 X T y w=(X^TX)^{-1}X^Ty w=(XTX)1XTy

变为:

w = ( X T X + α I ) − 1 X T y ( 7.17 ) w=(X^TX+\alpha I)^{-1}X^Ty\quad\quad\quad\quad\quad(7.17) w=(XTX+αI)1XTy(7.17)

式 (7.16) 中的矩阵 X T X X^TX XTX与协方差矩阵 1 m X T X \frac{1}{m}X^TX m1XTX成正比。 L 2 L^2 L2正则项将这个矩阵替换为式 (7.17) 中的 ( X T X + α I ) − 1 (X^TX+\alpha I)^{-1} (XTX+αI)1这个新矩阵与原来的是一样的,不同的仅仅是在对角加了 α \alpha α。这个矩阵的对角项对应每个输入特征的方差。我们可以看到, L 2 L^2 L2正则化能让学习算法 ‘‘感知’’ 到具有较高方差的输入 x x x,因此与输出目标的协方差较小(相对增加方差)的特征的权重将会收缩。(?)

1.2 L 1 L^1 L1参数正则化

对模型参数 w w w L 1 L^1 L1正则化被定义为:

Ω ( θ ) = ∥ w ∥ 1 = ∑ i ∣ w i ∣ ( 7.18 ) \Omega(\theta)=\Vert w\Vert_1=\sum\limits_{i}|w_i|\quad\quad\quad\quad(7.18) Ω(θ)=w1=iwi(7.18)

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

J ~ ( w ; W , y ) = α ∥ w ∥ 1 + J ( w ; X , y ) ( 7.19 ) \tilde{J}(w;W,y)=\alpha\Vert w\Vert_1+J(w;X,y)\quad\quad\quad\quad\quad(7.19) J~(w;W,y)=αw1+J(w;X,y)(7.19)

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

∇ w J ~ ( w ; X , y ) = α s i g n ( w ) + ∇ w J ( w ; X , y ) ( 7.20 ) \nabla_w\tilde{J}(w;X,y)=\alpha sign(w)+\nabla_wJ(w;X,y)\quad\quad\quad\quad(7.20) wJ~(w;X,y)=αsign(w)+wJ(w;X,y)(7.20)

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

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

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

∇ w J ^ ( w ) = H ( w = w ∗ ) ( 7.21 ) \nabla_w\hat{J}(w)=H(w=w^*)\quad\quad\quad\quad\quad(7.21) wJ^(w)=H(w=w)(7.21)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值