花书读书笔记(六)-深度学习中的正则化

全部笔记的汇总贴:《深度学习》花书-读书笔记汇总贴

《深度学习》PDF免费下载:《深度学习》

一、参数范数惩罚

许多正则化方法通过对目标函数 J J J添加一个参数范数惩罚 Ω ( θ ) \varOmega(\theta) Ω(θ),限制模型(如神经网络、线性回归或逻辑回归)的学习能力。我们将正则化后的目标函数记为 J ^ \hat J J^ J ^ ( θ ; X , y ) = J ( θ ; X , y ) + α Ω ( θ ) \hat J(\theta;X,y)=J(\theta;X,y)+\alpha\varOmega(\theta) J^(θ;X,y)=J(θ;X,y)+αΩ(θ)
其中 α ∈ [ 0 , ∞ ) \alpha\in[0,\infty) α[0,)是权衡范数惩罚项 Ω \varOmega Ω和标准目标函数 J ( X ; θ ) J(X;\theta) J(X;θ)相对贡献的超参数。将 α \alpha α设为 0 表示没有正则化。 α \alpha α越大,对应正则化惩罚越大。

  1. L 2 L^2 L2正则化
  2. L 1 L^1 L1正则化

二、作为约束的范数惩罚

构造一个广义lagrange函数来最小化带约束的函数。 L ( θ , α ; X , y ) = J ( θ ; X , y ) + α ( Ω ( θ ) − k ) L(\theta,\alpha;X,y)=J(\theta;X,y)+\alpha(\Omega(\theta)-k) L(θ,α;X,y)=J(θ;X,y)+α(Ω(θ)k)
这个约束问题的解有下式给出 θ ∗ = arg min ⁡ θ max ⁡ α , α ≥ 0 L ( θ , α ) \theta^*=\argmin_\theta\max_{\alpha,\alpha\ge0}L(\theta,\alpha) θ=θargminα,α0maxL(θ,α)

我们可以固定 α ∗ \alpha^* α,把这个问题看作只与 θ \theta θ有关的函数: θ ∗ = arg min ⁡ θ L ( θ , α ∗ ) = arg min ⁡ θ J ( θ ; X , y ) + α ∗ Ω ( θ ) \theta^*=\argmin_\theta L(\theta,\alpha^*)=\argmin_\theta J(\theta;X,y)+\alpha^*\varOmega(\theta) θ=θargminL(θ,α)=θargminJ(θ;X,y)+αΩ(θ)

三、正则化和欠约束问题

大多数形式的正则化能够保证应用于欠定问题的迭代方法收敛。

可以使用 Moore-Penrose 求解欠定线性方程,需要用到前面讲到的伪逆的定义。

四、数据集增强

让机器学习模型泛化得更好的最好办法是使用更多的数据进行训练。

数据集增强对一个具体的分类问题来说是特别有效的方法:对象识别。图像是高维的并包括各种巨大的变化因素,其中有许多可以轻易地模拟。

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

在比较机器学习基准测试的结果时,考虑其采取的数据集增强是很重要的。通常情况下,人工设计的数据集增强方案可以大大减少机器学习技术的泛化误差。

五、噪声鲁棒性

鲁棒性是指一个系统或组织有抵御或克服不利条件的能力。

另一种正则化模型的噪声使用方式是将其加到的权重。这项技术主要用于循环神经网络。

六、半监督学习

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

七、多任务学习

多任务学习是通过合并几个任务中的样例(可以视为对参数施加的软约束)来提高泛化的一种方式。额外的训练样本以同样的方式将模型的参数推向泛化更好的方向,当模型的一部分在任务之间共享时,模型的这一部分更多地被约束为良好的值(假设共享是合理的),往往能更好地泛化。

  1. 具体任务的参数(只能从各自任务的样本中实现良好的泛化)。
  2. 所有任务共享的通用参数(从所有任务的汇集数据中获益)。

八、提前终止

当训练有足够的表示能力甚至会过拟合的大模型时,我们经常观察到,训练误差会随着时间的推移逐渐降低但验证集的误差会再次上升。我们可以认为提前终止是非常高效的超参数选择算法。

提前终止是一种非常不显眼的正则化形式,它几乎不需要改变基本训练过程、目标函数或一组允许的参数值。这意味着,无需破坏学习动态就能很容易地使用提前终止。

九、参数绑定和参数共享

我们经常想要表达的一种常见依赖是某些参数应当彼此接近。考虑以下情形:我们有两个模型执行相同的分类任务(具有相同类别),但输入分布稍有不同。

正则化一个模型(监督模式下训练的分类器)的参数,使其接近另一个无监督模式下训练的模型(捕捉观察到的输入数据的分布)的参数。这种构造架构使得许多分类模型中的参数能与之对应的无监督模型的参数匹配。

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

CNN通过在图像多个位置共享参数来考虑这个特性。相同的特征(具有相同权重的隐藏单元)在输入的不同位置上计算获得。参数共享显著降低了CNN模型的参数数量,并显著提高了网络的大小而不需要相应地增加训练数据。

十、稀疏表示

当然 L 1 L^1 L1惩罚是使表示稀疏的方法之一。其他方法还包括从表示上的Student-t 先验导出的惩罚 (Olshausen and Field, 1996; Bergstra, 2011)和KL 散度惩罚 (Larochelle and Bengio, 2008a) 有利于表示元素约束于单位区间上。

含有隐藏单元的模型在本质上都能变得稀疏。

十一、Bagging和其他集成方法

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

模型平均(model averaging)奏效的原因是不同的模型通常不会在测试集上产生完全相同的误差。

不同的集成方法以不同的方式构建集成模型。例如,集成的每个成员可以使用不同的算法和目标函数训练成完全不同的模型。

模型平均是一个减少泛化误差的非常强大可靠的方法。

十二、Dropout

Dropout提供了正则化一大类模型的方法,计算方便但功能强大。在第一种近似下,Dropout可以被认为是集成大量深层神经网络的实用Bagging方法。

  • 在Bagging的情况下,所有模型都是独立的。
  • 在Dropout的情况下,所有模型共享参数,其中每个模型继承父神经网络参数的不同子集。

十三、对抗训练

我们可以通过对抗训练(adversarial training)减少原有独立同分布的测试集的错误率——在对抗扰动的训练集样本上训练网络。

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

切面距离算法是一种非参数的最近邻算法,其中使用的度量不是通用的欧几里德距离,而是根据邻近流形关于聚集概率的知识导出的。

正切传播算法训练带有额外惩罚的神经网络分类器,使神经网络的每个输出 f ( x ) f(x) f(x)对已知的变化因素是局部不变的。

正切传播与数据集增强密切相关。正切传播也涉及到双反向传播和对抗训练,双反向传播正则化使Jacobian矩阵偏小,而对抗训练找到原输入附近的点,训练模型在这些点上产生与原来输入相同的输出。

形正切分类器无需知道切线向量的先验。编码器可以估算流形的切向量,使用这种技术来避免用户指定切向量。

下一章传送门:花书读书笔记(七)-深度模型中的优化

猜你喜欢

转载自blog.csdn.net/qq_41485273/article/details/112851363