Fork me on GitHub

深度学习系列:(七)深度学习中的正则化

本文是对《深度学习》的第七章,正则化方法的简单学习记录。

本文尚未完成。仅供参考。

7.1 参数范式惩罚

对目标模型J添加一个参数范数惩罚$\Omega (\theta)$,限制模型 的学习能力。正则化后的目标函数记为:
$$\tilde{J}(\theta ;X,y) = J(\theta ;X,y) +\alpha \Omega (\theta)$$

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

神经网络情况下,有时候希望对网络的每一层使用单独的惩罚,并分配不同的$\alpha$系数。寻找合适的多个超参数的代价很大,因此为了减少搜索空间,我们会在所以层使用相同的权重衰减。

符号约束说明:向量$w$表示所有应受范数惩罚影响的权重,而向量$\theta$表示所有参数(包括w和无须正则化的参数)。

7.1.1 $L^2$参数正则化

5.2节中已经见过最简单的、最常见的$L^2$参数范数惩罚。其正则项为:
$$\Omega (\theta) = \frac 12 ||w||^2_2$$

令$w^\ast $为未正则化的目标函数取得最小训练误差时的权重向量,即$w^\ast =\text {argmin}_w J(w)$,并在$w^\ast $的邻域对目标函数做二次近似

近似的$\hat J (\theta)$如下:

$$\hat J (\theta) = J (w^\ast) + \frac 12 (w-w^\ast)^TH(w-w^\ast) $$

其中,$H$是$J$在$w^\ast $处计算的Hessian矩阵(关于$w$)。因为$w^\ast $被定义为最优,所以该二次近似中没有一阶项。同样地,因为$w^\ast $是$J$的一个最优点,可以得出$H$是半正定

7.1.2 $L^1$正则化

7.2 作为约束的范数惩罚

7.3 正则化和欠约束问题

7.4 数据集增强

使用更多的数据进行训练。

创建假数据并添加到训练集中。

图像:沿着训练图像每个方向平移几个像素。旋转。缩放。

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

网络输入层注入噪声,

算法性能对比时,应确保算法使用同一 人工设计的数据集增强方案。

7.5 噪声鲁棒性

7.6 半监督学习

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

半监督学习通常是学习一个表示:$h=f(x)$。学习表示的目的是使相同类的样本有类似的表示

无监督学习可以为如何在空间聚集样本提供有用的线索。

模型的构建:生成模型$P(x)$或$P(x,y)$与判别模型$P(y|x)$共享参数,而不用分离无监督和监督部分。
权衡监督模型准则$-\text{log}P(y|x)$和无监督(或生成)模型准则$-\text{log}P(x)$或$-\text{log}P(x,y)$。

生成模型准则表达了对 监督学习问题的特殊形式的先验知识,即$P(x)$的结构通过某种共享参宿的方式连接到$P(y|x)$。

7.7 多任务学习

7.8 提前终止

在训练有足够表示能力甚至会过拟合的大模型时,经常会出现:训练误差随着时间推移逐渐降低但验证集的误差会再次上升。

此时,我们只需要返回验证集误差最低的参数设置。

在每次验证集误差有所改善时,我们存储模型参数的副本。当验证集的误差在事先指定的循环次数内没有进一步改善时,算法就会终止。

这就是提前终止(early stopping)。

两个代价:一是训练步数作为超参数,训练期间需要定期评估验证集。而是需要保持最佳的参数副本。

提前终止是一个不显眼的正则化形式。

提前终止需要验证集,意味着一部分训练数据不能馈送到模型。
为了更好地利用这部分数据,可以在提前终止的首次训练后,进行额外的训练。在第二轮(额外的)训练中,所有的训练数据都被包括在内。

未完待续。

7.9 参数绑定和参数共享

7.10 稀疏表示

7.13 Bagging和其他集成方法

Bagging(bootstrap aggregating)是通过结合几个模型降低泛化误差的技术。

主要想法是分别训练几个不同的模型,然后让所有模型表决测试样例的输出。

这是机器学习的一项常规策略,被称为:模型平均(model averaging)。采用这种策略的技术被称为:集成方法

7.12 Dropout

7.13 对抗训练

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

------ 本文结束感谢您的阅读 ------
坚持原创技术分享,您的支持将鼓励我继续创作!