深度学习中的正则化(一)

Posted by RAIS on 2020-07-19
  • 本文首发自公众号:RAIS,点击直接关注。

前言

本系列文章为《Deep Learning》读书笔记,可以参看原书一起阅读,效果更佳。本文我们聊一聊深度学习中的正则化。

深度学习中的正则化

一般来说,深度学习所要做的事情是用已有的训练集训练一个网络模型,然后针对新的数据给出预测,我们期望我们的模型在训练集和测试集上都有良好的表现,但是有的时候两者不可兼得。一种情况是在训练集上表现很好,在测试集上表现不好或表现一般;另一种情况是在训练集上表现不好或表现一般,在测试集上表现很好。相比较而言我们更倾向于后者,因为这是我们训练模型的目的。

为什么会出现这种情况,难道不是应该训练集上表现的越好在测试集上表现越好吗?不是的,我们在前面的文章中分析过,过度的拟合一个训练集往往会放大哪些没有那么重要的向量或因素,过拟合会导致泛化能力的下降,正则化就是为了减小测试误差的,虽然有的时候可能会以增大训练误差为代价,但是这是值得的,这些策略统称为正则化。下面给出一个简单的非严谨的正则化定义:

正则化:减小泛化误差而不是训练误差所做的对算法的修改

我们经常会对估计进行正则化,估计的正则化采取的方式是以偏差的增大来换取方差的减小,尤其是显著的减小方差而较小的增大偏差往往是我们追求的目标。接下来我们就分别分析介绍一下正则化的策略。

正则化的策略

参数范数惩罚

$$
\widetilde{J}(θ; X, y) = J(θ; X, y) + αΩ(θ), α∈[0, ∞)
$$

α 是惩罚参数,当 α 为 0 时代表没有惩罚;Ω 是范数惩罚项;J 为目标。神经网络中,参数包括每一层的仿射变换的权重和偏置,我们只对权重做惩罚。

L2 正则化(权重衰减)

感知有较高方差输入,与输出目标协方差较小的特征的权重会收缩。

$$
目标函数:\widetilde{J}(θ; X, y) = J(θ; X, y) + \frac{α}{2}w^Tw,Ω(θ)=\frac{1}{2}||w||^2_2
\\
梯度:\nabla_w\widetilde{J}(θ;X,y)=αw+\nabla_wJ(θ;X,y)
\\
单步梯度下降更新权重:w\leftarrow w-\epsilon(αw+\nabla_wJ(θ;X,y))
$$

L1 正则化

$$
目标函数:\widetilde{J}(θ; X, y) = J(θ; X, y) + α||w||_1
\\
梯度:\nabla_w\widetilde{J}(θ;X,y)=αsign(w)+\nabla_wJ(θ;X,y)
$$

总结

本文描述了正则化策略中最常见的一种,参数范数惩罚,并介绍了 L2 和 L1 两种最常见的范数惩罚策略。

  • 本文首发自公众号:RAIS,点击直接关注。