【花书阅读笔记】第七章:深度学习中的正则化 Part I

【花书阅读笔记】第七章:深度学习中的正则化 Part I

参数范数惩罚

许多正则方法是对目标函数 J J 添加了一个惩罚范数 Ω ( θ ) \Omega(\theta)
J ~ ( θ ; X , y ) = J ( θ ; X , y ) + α Ω ( θ ) \tilde{J}(\boldsymbol{\theta} ; \boldsymbol{X}, \boldsymbol{y})=J(\boldsymbol{\theta} ; \boldsymbol{X}, \boldsymbol{y})+\alpha \Omega(\boldsymbol{\theta})
其中 α [ 0 , ) \alpha \in[0, \infty) 是权衡范数惩罚项 Ω \Omega 和标准目标函数 J ( X ; θ ) J(X ; \theta) 相对贡献的超参数。 将 \alpha 设为 0 表示没有正则化。 α \alpha 越大,对应正则化惩罚越大。

在探究不同范数的正则化表现之前,我们需要说明一下,在神经网络中,参数包括每一层仿射变换的权重和偏置,我们通常只对权重做惩罚而不对偏置做正则惩罚。

L 2 L^{2} 参数正则化

**权重衰减(weight decay)**的 L 2 参数范数惩罚:

通过向目标函数添加一个正则项 Ω ( θ ) = 1 2 w 2 2 \Omega(\boldsymbol{\theta})=\frac{1}{2}\|\boldsymbol{w}\|_{2}^{2} ,使权重更加接近原点。

这样一个模型具有以下总的目标函数:
J ~ ( w ; X , y ) = α 2 w w + J ( w ; X , y ) \tilde{J}(\boldsymbol{w} ; \boldsymbol{X}, \boldsymbol{y})=\frac{\alpha}{2} \boldsymbol{w}^{\top} \boldsymbol{w}+J(\boldsymbol{w} ; \boldsymbol{X}, \boldsymbol{y})
与之对应的梯度为
w J ~ ( w ; X , y ) = α w + w J ( w ; X , y ) \nabla_{w} \tilde{J}(\boldsymbol{w} ; \boldsymbol{X}, \boldsymbol{y})=\alpha \boldsymbol{w}+\nabla_{w} J(\boldsymbol{w} ; \boldsymbol{X}, \boldsymbol{y})
使用单步梯度下降更新权重,即执行以下更新:
w w ϵ ( α w + w J ( w ; X , y ) ) \boldsymbol{w} \leftarrow \boldsymbol{w}-\epsilon\left(\alpha \boldsymbol{w}+\nabla_{w} J(\boldsymbol{w} ; \boldsymbol{X}, \boldsymbol{y})\right)
每步执行通常的梯度更新之前先收缩权重向量(将权重向量乘以一个常数因子)

w = arg min w J ( w ) \boldsymbol{w}^{*}=\arg \min _{\boldsymbol{w}} J(\boldsymbol{w})

则假设目标函数是二次的,比如以均方误差作为拟合的线性回归情况,近似的 J ^ ( θ ) \hat{J}(\theta)
J ^ ( θ ) = J ( w ) + 1 2 ( w w ) H ( w w ) \hat{J}(\boldsymbol{\theta})=J\left(\boldsymbol{w}^{*}\right)+\frac{1}{2}\left(\boldsymbol{w}-\boldsymbol{w}^{*}\right)^{\top} \boldsymbol{H}\left(\boldsymbol{w}-\boldsymbol{w}^{*}\right)
其中 H  是  J  在  w  处计算的 Hessian 矩阵 (关于  w ) \left.\boldsymbol{H} \text { 是 } J \text { 在 } \boldsymbol{w}^{*} \text { 处计算的 Hessian 矩阵 (关于 } \boldsymbol{w}\right) 。 因为 w w^{*} 是 J 的一个最优点,我们可以得出 H 是半正定的结论。

J ^ \hat{J} 在取最小值附近的梯度是
w J ^ ( w ) = H ( w w ) \nabla_{w} \hat{J}(\boldsymbol{w})=\boldsymbol{H}\left(\boldsymbol{w}-\boldsymbol{w}^{*}\right)
为了研究惩罚项的影响, 我们在(6)中添加权重衰减的梯度,我们使用变量 ω ~ \tilde{\omega} 表示此时的最优点:
α w ~ + H ( w ~ w ) = 0 ( H + α I ) w ~ = H w w ~ = ( H + α I ) 1 H w \begin{array}{c} \alpha \tilde{\boldsymbol{w}}+\boldsymbol{H}\left(\tilde{\boldsymbol{w}}-\boldsymbol{w}^{*}\right)=0 \\ (\boldsymbol{H}+\alpha \boldsymbol{I}) \tilde{\boldsymbol{w}}=\boldsymbol{H} \boldsymbol{w}^{*} \\ \tilde{\boldsymbol{w}}=(\boldsymbol{H}+\alpha \boldsymbol{I})^{-1} \boldsymbol{H} \boldsymbol{w}^{*} \end{array}
当 \alpha 趋向于 0 时,正则化的解 w ~ \tilde{w} 会趋向 w w^{*}

因为 H H 对称,所以可以分解,于是有 H = Q Λ Q \boldsymbol{H}=\boldsymbol{Q} \boldsymbol{\Lambda} \boldsymbol{Q}^{\top} ,可得:
w ~ = ( Q Λ Q + α I ) 1 Q Λ Q w = [ Q ( Λ + α I ) Q ] 1 Q Λ Q w = Q ( Λ + α I ) 1 Λ Q w \begin{aligned} \tilde{\boldsymbol{w}} &=\left(\boldsymbol{Q} \boldsymbol{\Lambda} \boldsymbol{Q}^{\top}+\alpha \boldsymbol{I}\right)^{-1} \boldsymbol{Q} \boldsymbol{\Lambda} \boldsymbol{Q}^{\top} \boldsymbol{w}^{*} \\ &=\left[\boldsymbol{Q}(\boldsymbol{\Lambda}+\alpha \boldsymbol{I}) \boldsymbol{Q}^{\top}\right]^{-1} \boldsymbol{Q} \boldsymbol{\Lambda} \boldsymbol{Q}^{\top} \boldsymbol{w}^{*} \\ &=\boldsymbol{Q}(\boldsymbol{\Lambda}+\alpha \boldsymbol{I})^{-1} \boldsymbol{\Lambda} \boldsymbol{Q}^{\top} \boldsymbol{w}^{*} \end{aligned}
由此我们可以看到, H H 的特征值被缩放到原来的 λ i λ i + α \frac{\lambda_{i}}{\lambda_{i}+\alpha} 倍。

所以沿着 H 特征值较大的方向 (如 λ i α ) \left.\lambda_{i} \gg \alpha\right) 正则化的影响较小。而 λ i α \lambda_{i} \ll \alpha 的分量将 会收缩到几乎为零。这种效应如图所示。

在这里插入图片描述

扫描二维码关注公众号,回复: 11512382 查看本文章

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

线性回归的例子

添加了 L 2 L^2 正则之后,线性回归的代价函数变为了
( X w y ) ( X w y ) + 1 2 α w w (\boldsymbol{X} \boldsymbol{w}-\boldsymbol{y})^{\top}(\boldsymbol{X} \boldsymbol{w}-\boldsymbol{y})+\frac{1}{2} \alpha \boldsymbol{w}^{\top} \boldsymbol{w}
于是方程的解变为:
w = ( X X + α I ) 1 X y \boldsymbol{w}=\left(\boldsymbol{X}^{\top} \boldsymbol{X}+\alpha \boldsymbol{I}\right)^{-1} \boldsymbol{X}^{\top} \boldsymbol{y}
L 2 正则化能让学习算法 ‘‘感知’’ 到具有较高方差的输入 x,因与输出目标的协方差较小(相对增加方差)的特征的权重将会收缩。

L1 参数正则化

对模型参数 w 的 L 1 正则化被定义为:
Ω ( θ ) = w 1 = i w i \Omega(\boldsymbol{\theta})=\|\boldsymbol{w}\|_{1}=\sum_{i}\left|w_{i}\right|
于是我们得到的目标函数为:
J ~ ( w ; X , y ) = α w 1 + J ( w ; X , y ) \tilde{J}(\boldsymbol{w} ; \boldsymbol{X}, \boldsymbol{y})=\alpha\|\boldsymbol{w}\|_{1}+J(\boldsymbol{w} ; \boldsymbol{X}, \boldsymbol{y})
对应梯度为:
w J ~ ( w ; X , y ) = α sign ( w ) + w J ( w ; X , y ) \nabla_{w} \tilde{J}(w ; \boldsymbol{X}, \boldsymbol{y})=\alpha \operatorname{sign}(\boldsymbol{w})+\nabla_{\boldsymbol{w}} J(\boldsymbol{w} ; \boldsymbol{X}, \boldsymbol{y})
其中 sign ( ω ) \text{sign}(\omega) 是取 ω \omega 各个元素正负号。

考虑简单的具有二次代价函数的线性模型,梯度为:
w J ^ ( w ) = H ( w w ) \nabla_{w} \hat{J}(\boldsymbol{w})=\boldsymbol{H}\left(\boldsymbol{w}-\boldsymbol{w}^{*}\right)

我们可以将 L 1 正则化目标函数的二次近似分解成关于参数的求和:
J ^ ( w ; X , y ) = J ( w ; X , y ) + i [ 1 2 H i , i ( w i w i ) 2 + α w i ] \hat{J}(\boldsymbol{w} ; \boldsymbol{X}, \boldsymbol{y})=J\left(\boldsymbol{w}^{*} ; \boldsymbol{X}, \boldsymbol{y}\right)+\sum_{i}\left[\frac{1}{2} H_{i, i}\left(w_{i}-w_{i}^{*}\right)^{2}+\alpha\left|w_{i}\right|\right]
我们将进一步简化假设Hessian是对角的,即 H = diag ( [ H 1 , 1 , , H n , n ] ) \boldsymbol{H}=\operatorname{diag}\left(\left[H_{1,1}, \ldots, H_{n, n}\right]\right) ,其中每个 H i , i > 0 H_{i, i}>0 .

如下列形式的解析解(对每一维 i)可以最小化这个近似代价函数:
w i = sign ( w i ) max { w i α H i , i , 0 } w_{i}=\operatorname{sign}\left(w_{i}^{*}\right) \max \left\{\left|w_{i}^{*}\right|-\frac{\alpha}{H_{i, i}}, 0\right\}
对每个 i , i, 考虑 w i > 0 w_{i}^{*}>0 的情形 , 会有两种可能结果 :

  1. w i α H i , i w_{i}^{*} \leq \frac{\alpha}{H_{i, i}} 的情况。正则化后目标中的 w i w_{i} 最优值是 w i = 0 w_{i}=0_{\circ} 这是因为在方向 i i J ( w ; X , y ) J(\boldsymbol{w} ; \boldsymbol{X}, \boldsymbol{y}) J ^ ( w ; X , y ) \hat{J}(\boldsymbol{w} ; \boldsymbol{X}, \boldsymbol{y}) 的贡献被抵消, L 1 L^{1} 正则化项将 w i w_{i} 推至 0

  2. w i > α H i , i w_{i}^{*}>\frac{\alpha}{H_{i, i}} 的情况。在这种情况下,正则化不会将 w i w_{i} 的最优值推至 0 , 0, 而仅仅 在那个方向上移动 α H i , i \frac{\alpha}{H_{i, i}} 的距顏。

w i < 0 w_{i}^{*}<0 的情况与之类似,但是 L 1 L^{1} 惩计项使 w i w_{i} 更接近 0 (  增加  α H i , i ) 0\left(\text { 增加 } \frac{\alpha}{H_{i, i}}\right) 或者为 0 0_{\circ}

相比L2, L1 产生的正则化更为稀疏(sparse), 次数稀疏表示L1有更多参数为0.

数据集增强

让机器学习模型泛化得更好的最好办法是使用更多的数据进行训练。当然,在实践中,我们拥有的数据量是很有限的。解决这个问题的一种方法是创建假数据并添加到训练集中。

对象识别

图像是高维的并包括各种巨大的变化因素,其中有许多可以轻易地模拟。即使模型已使用卷积和池化技术(第九章)对部分平移保持不变,沿训练图像每个方向平移几个像素的操作通常可以大大改善泛化。许多其他操作如旋转图像或缩放图像也已被证明非常有效。但必须小心的是如同6,9,对象的变化会导致类别变化。

多任务学习

多任务学习 (Caruana, 1993) 是通过合并几个任务中的样例(可以视为对参数施加的软约束)来提高泛化的一种方式。

以大大改善泛化。许多其他操作如旋转图像或缩放图像也已被证明非常有效。但必须小心的是如同6,9,对象的变化会导致类别变化。

多任务学习

多任务学习 (Caruana, 1993) 是通过合并几个任务中的样例(可以视为对参数施加的软约束)来提高泛化的一种方式。

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/ArchibaldChain/article/details/107670412