正则化作用
- 当模型复杂度过高时可能会导致过拟合,即模型学到了训练集上的一些非全局的特征,导致随着训练的进行训练误差逐渐较小但是验证误差不在减小反而增大。正则化用于解决过拟合问题,主要的正则化方法包括L1、L2正则化,Dropout,Early stopping,数据增强等。
- 正则化方法的外在表现是在模型训练过程中对模型的参数进行特定的约束。
L1、L2正则化
- L1和L2正则化使用的方法是在损失函数中加一项正则化项,即 损失函数 = 损失项 + 正则项。损失项比如MSE或者交叉熵等。
- 当使用L2正则时正则项为\(\frac{\lambda}{2}\sum_ww^2\),其中\(\lambda\)是超参数,用来调整惩罚的力度。L2正则化也称作权重衰减,它使得所有权重都趋向零衰减。
- 当使用L1正则化时,正则项为\(\lambda\sum_w|w|\),一样地,\(\lambda\)是超参数。L1正则化使得权重有等于0的倾向,因此L1正则化可以起到特征选择的作用。
- L1、L2作用原理:训练数据中的非全局特征或噪声点通常需要比较大的权重值w来拟合,在L2正则化中,权重值随着迭代衰减,将所有权重都变得很小,因此对每个神经元的依赖很小,以此忽略噪声点减小过拟合。在L1正则化中,通过另某些权值为0,实现了自动的特征选择,去掉那些非全局特征。L1、L2都是通过减小权重w,使某些(与非全局特征相关)神经元的作用变小甚至去掉该神经元,从而降低网络复杂度来缓解过拟合。
Dropout
- 是深度学习中常用的正则化方法,其原理是在模型训练过程中,每次迭代时都随机丢弃一些节点,并删除输入输出该节点的连线,丢弃节点的比例是超参数。
- 需要注意的是在推理阶段要去掉Dropout,不然对于同一个输入的两次推理结果可能不同。
- dropout作用原理
** 可以认为dropout实现了一种参数共享的bagging形式,用于对bagging集成进行近似,是一种隐式的集成方法,能够训练评估指数级数量的神经网络。通过对每一层节点的随机丢弃,导致在每一轮迭代时候的模型架构都是不同的,因此也就得到了很多个不同的子分类器。
** dropout减少了神经元之间的共适应关系,由于dropout的存在导致两个神经元不一定同时在同一轮迭代中出现,这样权值的跟新不再依赖于有固定关系的隐含节点的共同作用,阻止了某些特征只有在其它特征存在的情况下才有效果的情况,迫使模型去学习更加鲁棒的特征。
数据增强
- 本质上是扩充数据集,也算是一种暴力的正则化方法吧。比如torch中的torch.transform模块中的内容,可以对图像进行随机裁剪,翻转等。向输入中添加噪声也是一种数据增强的手段,进一步地,可以向神经网络每一层的神经元输入中加入噪声,相当于在不同抽象层次上进行了数据增强。
- dropout操作也可以看作是与噪声相乘构建新输入的过程。
Early stopping
- 由于在模型训练过程中刚开始肯定是欠拟合的,慢慢地才会拟合,然后过拟合。所以只要能够在过拟合之前停止训练即可。
- 提前终止的策略一般用在表示能力足够的大模型上。
- 提前终止的缺点是需要定期(评估间隔n)在验证集上评估模型,当每次得到更好的结果时将当前的模型参数存储下来。当模型连续p(patience)次在验证集上的评估性能没有改善时则停止训练。
- 提前终止可以认为是一种超参数选择方式,这里的超参数是训练次数。
参数绑定与参数共享
参数绑定
- 当两个任务A和B,输入分布和输入分布都是稍有不同,那么我们可以判断这两个模型对应的参数应该相似。如果我们已经训练好了modelA,那么在训练modelB的时候可以加一项惩罚项,比如\(w^A\)和\(w^B\)之间的欧式距离(\(w^A\)减\(w^B\)的差的2范数)。比如先用无监督学习方式训练了modelA,然后用modelB的参数与modelA匹配。
参数共享
- 这里的参数共享与多任务学习的参数共享不是一个意思,后者是强制两个模型共享一部分参数,通常是共享底层的某些特征提取部分。而这里的参数共享指的是同一个模型中某些组件的参数是共享的。
- 最典型的例子即卷积神经网络。比如图像识别时,一个猫的不管在图像中的哪个位置,我们应该能使用相同的detector探测到猫,因此在卷积神经网络中是用同一个卷积核来扫描输入中的不同部分。这种正则化也防止了过拟合,即防止模型在猫处于左上时能识别,处于右下则识别不出来的情况。
bagging与集成方法
- bagging通过结合多个模型来降低泛化误差。主要思路是分别训练几个模型,然后采用投票策略来决定最终的输出。这种方式被称为模型平均。模型平均奏效的原因是不同模型通常不会在测试集上产生完全相同的误差。bagging通常通过有放回重采样的方式来获取不同的训练集训练不同模型。
- 即使在同一个数据集上训练,神经网络也能找到足够多的不同解,因为神经网络权重随机初始化的差异,小批量的随机选择,超参数的差异等等通常使得不同模型具有部分独立的误差。
- 不是所有集成方法都能起到正则化的作用,比如boosting并不能正则化。
对抗训练
- 这里的对抗训练不是指GAN架构,而是通过对样本x进行微小变动,构造出对抗样本,通常原样本x与对抗样本非常相似,但是模型会对其做出不同的分类预测。通过在对抗样本上训练使得模型能够正确对其做出预测。这也算是减少过拟合吧,不做深究。
切面距离、正切传播和流形正切分类器
posted @
2022-04-15 17:37
肖肖凯
阅读(
341)
评论()
收藏
举报