Bengio《Deep Learning》读书笔记
在机器学习中,许多策略被显式地设计来减少测试误差(可能会以增大训练误差为代价),这些策略被统称为正则化,是一种旨在减少泛化误差而不是训练误差的对学习算法的修改。在深度学习的背景下,大多数正则化策略是对估计进行正则化,以偏差的增加换取方差的减少。
神经网络虽然号称万能近似,但是并不能保证训练算法能够学习到这个函数,既可能找不到正确的参数,也可能因为过拟合而选择错误的参数。所以找到合适规模的模型也不一定能解决模型训练的问题,更多的场景中需要训练一个适当正则化的大型模型。
1、参数范数惩罚
1.1 L2参数正则化
由上述公式可知,加入权重衰减后相当于在每步梯度更新前先收缩权重向量。
下图展示了L2正则化对于最佳w值的影响,目标函数对于第一维方向的移动并不敏感,而对第二维方向的移动比较敏感。由于正则化的加入,只有在显著减小目标函数方向上的参数会保留的相对完好,在无助于目标函数减小的方向上对应的分量会在训练过程中因正则化而衰减掉。具体来说权重衰减的效果是沿着由H的特征向量所定义的轴缩放w,具体来说,是根据
来缩放与H第i个特征向量对齐的w的分量。
1.2 L1正则化
带有L1惩罚的代价函数可以用下式来最小化:
对于较小的wi,L1正则化会将wi推至0,。
与L2正则化相比,L1正则化会产生更稀疏的解,而不只是缩小w的值。
2、正则化和欠约束问题
机器学习中许多线性模型都依赖于对矩阵XTX的求解,当数据生成分布在一些方向上确实没有差异时,或因为例子较少(相对特征维度)而在一些方向上没有观察到方差时,这个矩阵就是奇异的。正则化的形式可以保证这个矩阵可逆。
同样,正则化也能保证应用于欠定问题的迭代方法收敛。当似然的斜率等于权重衰减的系数时,权重衰减将阻止梯度下降继续增加权重的大小。
3、 噪声鲁棒性
对于某些模型而言,向输入添加方差极小的噪声等价于对权重施加范数惩罚。在一般情况下,注入噪声远比简单地收缩参数强大,特别是噪声被添加到隐藏单元时会更加强大。另一种正则化模型的噪声使用方式是将其加到权重,权重上的噪声相当于鼓励参数进入权重小扰动对输出相对影响较小的参数空间区域。或者说,推动模型进入对权重小的变化相对不敏感的区域,找到的点不只是极小点,还是由平坦区域包围的极小点。
此外,由于数据集的标签都具有一定错误,可以对标签上的噪声进行建模。入label smoothing的方法把分类目标从0和1替换为更平滑的形式。以防止模型追求确切概率而不影响模型学习正确分类。
4、多任务学习
多任务学习是通过合并几个任务中的样例(可以视为对参数施加的软约束)来提高泛化的一种方式。当模型的一部分被多个额外的任务共享时,这部分将被约束为良好的值(如果共享合理),通常会带来更好的泛化能力。
因为共享参数,其统计强度可大大提高(共享参数的样本数量相对于单任务模式增加的比例),并能改善泛化和泛化误差的范围。当然,仅当不同的任务之间存在某些统计关系的假设是合理(意味着某些参数能通过不同任务共享)时才会发生这种情况。
5、提前终止
主要用于解决训练有足够的表示能力甚至会过拟合的大模型时出现的误差会随着时间的推移逐渐降低但验证集的误差会再次上升的情况。提前终止的正则化效果主要来源于其限制了迭代的次数和学习速率从而能够限制从初始化参数能够到达的参数空间的大小。
6、Bagging和其他集成方法
Bagging(bootstrap aggregating)是通过结合几个模型降低泛化误差的技术。分别训练几个不同的模型,然后让所有模型表决测试样例的输出。模型平均奏效的原因是不同的模型通常不会再测试集上产生完全相同的误差。
具体来说,bagging设计构造k个不同的数据集,每个数据集从原始数据集中重复采样构成,和原始数据集具有相同数量的样例。神经网络中随机初始化的差异、小批量的随机选择、超参数的差异或不同输出的非确定性往往使不同成员具有部分独立的误差。
7、Dropout
Dropout可以被认为是集成大量深层神经网络的实用Bagging方法。Dropout比其他标准的计算开销小的正则化更有效,也可以与其他形式的正则化合并,得到进一步的提升。计算方便和不怎么限制适用的模型或训练过程是Dropout的两个显著优点。但Dropout也存在一些缺点,作为一个正则化技术,Dropout减少了模型的有效容量,为了抵消这种影响,我们必须增大模型规模。同时Dropout的使用也需要更多训练算法的迭代次数。此外,在只有极少的训练样本可用时,Dropout不会很有效。也就是说大样本集和大模型是Dropout的鲜明特征。
也可以把Dropout理解为共享隐藏单元的集成模型。这意味着无论其他隐藏单元是否在模型中,每个隐藏单元必须都能够表现良好。
Dropout的另一个重要方面是噪声是乘性的。如果是固定规模的加性噪声,那么加了噪声的整流线性隐藏单元可以简单地学会使hi变得很大(使加性噪声变得不显著)。乘性噪声不允许这样病态地解决噪声鲁棒的问题。
8、对抗训练
人类观察者不会察觉原始样本和对抗样本之间的差异,但是网络会做出不同的预测。在对抗扰动的训练集样本上训练网络可以减少原有独立同分布的测试集的错误率。一种说法是对抗样本的主要原因之一是过度线性。