参与11月更文挑战的第16天,活动详情查看:2021最后一次更文挑战
接模型泛化的补充“平滑性”。
平滑性,即函数不应该对其输入的微小变化敏感。
也就是说一个好的模型需要对输入数据的扰动鲁棒。分为以下两个方面。
1. 使用有噪音的数据等价于Tikhonov正则
1995年,克里斯托弗·毕晓普证明了具有输入噪声的训练等价于Tikhonov正则化[Neural Networks for Pattern Recognition
]
《深度学习》第七章的7.5写:对于某些模型而言,向输入添加方差极小的噪声等价于对权重施加范数惩罚(Bishop,1995a, b)。
-
Tikhonov正则化(吉洪诺夫正则化)
作为最小二乘方法的代价函数 的改进, Tikhonov于 1963 年提出使 用正则化最小二乘代价函数
式中 称为正则化参数 (regularization parameters)。
-
也就是说对输入添加极小的噪声可以认为和 正则化是一样的。也就是上一节的内容,见:动手学深度学习4.5 正则化 权重衰退推导 - 掘金 (juejin.cn)
2. 丢弃法:在层之间加入噪音
在一般情况下,噪声被添加到隐藏单元时鲁棒性会更加强大。向隐藏单元添加噪声就是Dropout算法的主要发展方向。
在2014年,斯里瓦斯塔瓦等人[Dropout: a simple way to prevent neural networks from overfitting
]结合毕晓普的想法,并将其应用于到网络的内部层之间。在训练过程中,在计算后续层之前向网络的每一层注入噪声。他们意识到,当训练一个有多层的深层网络时,注入噪声只会在输入-输出映射上增强平滑性。
这种方法之所以被称为dropout ,因为我们从表面上看是在训练过程中丢弃(drop out)一些神经元。 在整个训练过程的每一次迭代中,dropout包括在计算下一层之前将当前层中的一些节点置零。
在每次训练迭代中,产生扰动点 。并要求 。
在标准dropout正则化中,通过按保留(未丢弃)的节点的分数进行归一化来消除每一层的偏差。如下所示:
根据设计,期望值保持不变,即 。
比如:
实践中的dropout:
当我们将dropout应用到隐藏层,以 的概率将隐藏单元置为零时,结果可以看作是一个只包含原始神经元子集的网络。在下图中,删除了 和 。因此,输出的计算不再依赖于 或 ,并且它们各自的梯度在执行反向传播时也会消失。这样,输出层的计算不能过度依赖于 的任何一个元素。
《退学率》
《动手学深度学习》系列更多可以看这里:《动手学深度学习》 - LolitaAnn的专栏 - 掘金 (juejin.cn)
笔记还在更新中…………