深度学习中的正则化

在机器学习中,许多策略被显式地设计来减少训练误差(可能也会以增大训练误差为代价)。这些策略被统称为正则化。现在我们回顾几种策略,以创建这些正则化地大型深度模型。

1、参数范数惩罚

通过添加参数范数惩罚,限制模型的学习能力

\widetilde{J}(\theta ;X,y)=J(\theta;X,y)+\alpha \Omega (\theta)

其中\alpha \in [0,\infty )是权衡惩罚项\Omega和标准目标函数J(X;\theta )相对贡献的超参数。

我们通常只对权重做惩罚而不对偏置做正则惩罚

 

L^{2}参数正则化

 

通常又被称为权重衰减。在其他学术圈,L^{2}也被称为岭回归或Tikhonov正则

这个正则化策略通过向目标函数添加一个正则项\Omega (\theta)=\frac{1}{2}\left \| \omega \right \|^{2}_{2}使权重更加接近原点

这样一个模型具有以下总的目标函数:

\widetilde{J}(\omega ;X,y)=\frac{2}{\alpha }\omega ^{T}\omega +J(\omega ;X,y)

L^{2}正则化能让学习算法“感知”到具有较高方差的输入x,因此与输出目标的协方差较小(相对增加方差)的特征的权重将会收缩。

 

L^{1}正则化

 

和上面类似,L^{1}正则化 被定义为

\Omega (\theta )=\left \| \omega \right \|_{1}=\sum _{i}\left | \omega _{i} \right |

正则化的目标函数如下所示:

\widetilde{J}(\omega ;X,y)=\alpha\left \| \omega \right \|_{1}+J(\omega;X,y)

相比L^{2}正则化,L^{1}正则化会产生更稀疏的解,其中最优值的一些参数为0.

这种稀疏性质已经被广泛地用于特征选择机制,可以从特征子集中选择出有意义地特征,化简机器学习问题(LASSO模型)

 

2、作为约束地范数惩罚

考虑经过参数范数正则化的代价函数:

\widetilde{J}(\theta ;X,y)=J(\theta;X,y)+\alpha \Omega (\theta)

我们构造一个广义拉格朗日函数来最小化带约束的函数,即在原视目标函数上添加一系列惩罚项,每个惩罚项是一个被称为KKT乘子的系数以及一个表示约束是否满足的函数之间的乘积。

广义朗格朗日函数:

L(\theta ,\alpha;X,y)=J(\theta;X,y)+\alpha(\Omega(\theta)-k)

我们固定\alpha^{*},把这个问题看成只跟\theta有关的函数:

\theta^{*}=\underset{\theta}{arg min}J(\theta;X,y)+\alpha^{*}\Omega(\theta)

有时候,我们会希望使用显示的限制而不是惩罚。我们可以修改下降算法,使其先计算J(\theta)的下降步,然后将\theta投影到满足\Omega(\theta)<k的最近点。如果我们知道什么样的k使合适的,而不想花时间寻找对应于此k的\alpha值,这回非常有用。

另外,惩罚可能还会导致目标函数非凸而陷入局部极小

最后,因为重投影的显示约束还对优化过程增加了一定的稳定性

 

3、数据集增强

数据集增强对一个具体的分类问题来说是特别有效的方法:对象识别。

数据集增强对语音识别任务也是有效的

 

4、噪声鲁棒性

上面的数据集增强方法中就有一种将噪声作用于输入。对于某些模型而言,向输入添加方差极小的噪声等价于对权重施加范数惩罚。

另一种正则化模型的噪声使用方式是将其加到权重,这项技术主要用于循环神经网络。这可以被解释为关于权重的贝叶斯推断的随机实现

大多数数据集的y标签都有一定错误,错误的y不利于最大化logp(y\mid x)。避免这种情况的一种方法是显式地对标签上地噪声进行建模。标签平滑通过把确切的目标分类从0和1替换成\frac{\varepsilon }{k-1}1-\varepsilon,正则化具有k个输出地softmax函数地模型。

 

5、半监督学习

在半监督学习地框架下,P(x)产生地未标记样本和P(x,y)中地标记样本都用于估计P(y\mid x)或者根据x预测y

 

6、多任务学习

多任务学习是通过合并几个任务中地样例(可以视为对参数施加的软约束)来提高泛化的一种方式。因为共享参数,其统计强度大大提高,并能改善泛化和泛化误差的范围。

 

7、提前终止

当验证集上的误差在事先指定的循环次数内没有进一步改善时,算法就会终止,这种策略被称为提前终止

提前终止需要验证集,这意味着某些训练数据不能被送到模型,为了更好的利用这一额外数据,我们可以在训练完成提前终止的首次训练之后,进行额外的训练。

一个方法是再次初始化模型,然后使用所有的数据再次训练。在这次训练中,我们使用第一轮提前终止确定的最佳步数。

另一个方法是保持从第一轮训练获得的参数,然后使用全部的数据继续训练。我们可以监控验证集的损失函数并继续训练,直到他低于提前终止时的目标值。

 

8、参数绑定和参数共享

参数范数惩罚是正则化参数使其彼此接近的一种方式,而更流行的方法是使用约束:强迫某些参数相等。由于我们将各种模型和模型组件解释为共享唯一的一组参数,这种正则化方法通常被成为参数共享(例如卷积神经网络)

 

9、稀疏表示

上面说权重衰减直接惩罚模型参数。另一种策略是惩罚神经网络中的激活单元,稀疏化激活单元。这种策略间接地对模型施加了复杂惩罚。

 

10、bagging和其他集成方法

bagging是通过结合几个模型降低泛化误差的技术。主要想法是分别训练几个不同的模型,然后让所有模型表决测试样例的输出。这是机器学习中常规策略的一个例子,被称为模型平均。

模型平均奏效的原因是不同的模型通常不会再测试集上产生完全相同的误差

 

11、dropout

dropout提供了正则化一大类模型的方法,计算方便但功能强大。

关于dropout有大量文章描述,本文只作总结不再赘述

 

12、对抗训练

再许多情况下,神经网络在独立同分布的测试集上进行评估已经达到了人类表现。因此,我们自然要怀疑这些模型在这些任务上是否获得了真正的人类层次的理解。有人发现,在精度达到了人类水平的神经网络上通过优化过程故意构造数据点,其上的误差率接近100%,模型在这个输入点的输出与附近的数据点x非常不同。人类观察者不会察觉到原始样本和对抗样本的差异,但是网络会做出非常不同的预测。

对抗训练有助于体现积极正则化与大型函数族结合的力量。也提供了一种实现半监督学习的方法。

 

13、切面距离、正切传播和流形正切分类器

许多机器学习通过假设数据位于低维流形附近来克服维数灾难。

一个利用流行假设 的早期尝试是切面距离算法。它是一种非参数的最近邻算法,其中使用的度量不是欧式距离,而是根据临近流形关于聚集概率的知识导出的。

受相关启发,正切传播算法训练带有额外惩罚的神经网络分类器,使神经网络的每个输出对一直的变化因素是局部不变的

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值