神经网络中的规范化

发布于:2025-07-13 ⋅ 阅读:(13) ⋅ 点赞:(0)

规范化的引入

        增加训练样本的数量是⼀种减轻过度拟合的⽅法。还有其他的⼀下⽅法能够减轻过度拟合的 程度吗?⼀种可⾏的⽅式就是降低⽹络的规模。然⽽,⼤的⽹络拥有⼀种⽐⼩⽹络更强的潜⼒, 所以这⾥存在⼀种应⽤冗余性的选项。

        幸运的是,还有其他的技术能够缓解过度拟合,即使我们只有⼀个固定的⽹络和固定的训练 集合。这种技术就是规范化。

        本节,我会给出⼀种最为常⽤的规范化⼿段——有时候被称为权 重衰减(weightdecay)或者L2规范化。L2规范化的想法是增加⼀个额外的项到代价函数上, 这个项叫做规范化项。下⾯是规范化的交叉熵:                                        

        , 也就是

        使用了规范化之后的效果:

        显然,规范化的使⽤能够解决过度拟合的问题。⽽且,准确率相当⾼了,最⾼处达到了87.1%, 相较于之前的82.27%。因此,我们⼏乎可以确信在400迭代期之后持续训练会有更加好的结果。 看起来,经实践检验,规范化让⽹络具有更好的泛化能⼒,显著地减轻了过度拟合的影响。

为何规范化可以帮助减轻过度拟合

        通常的说法是:⼩的权重在某种程度上,意味着更低的复杂性,也就对数据给出 了⼀种更简单却更强⼤解释,因此应该优先选择;

        现在给⼀个简单的数据集,我们为其建⽴模型:

                ​​​​​​​        

        这⾥我们其实在研究某种真实的现象,和表⽰真实的数据。我们的⽬标是训练⼀个模型来预测y关于x的函数。

现在,图中有⼗个点,我们就可以找到唯⼀的9阶多项式来拟合; 

        

        ​​​​​​​        

        哪个是更好的模型?哪个更可能是真的?还有哪个模型更可能泛化到其他的拥有同样现象的 样本上?

       在科学中,⼀种观点是我们除⾮不得已应该追随更简单的解释。当我们找到⼀个简单模型似 乎能够解释很多数据样本的时候,我们都会激动地认为发现了规律!总之,这看起来简单的解 决仅仅会是偶然出现的不⼤可能。我们怀疑模型必须表达出某些关于现象的内在的真理。

         从这个⻆度看,多项式模型仅仅是学习到了局部噪声的影响效果。所以尽管多是对于这些特定的数据点表现得很好。模型 最终会在未知数据上的泛化上出现问题,所以噪声线性模型具有更强⼤的预测能⼒。

        让我们从这个观点来看神经⽹络。假设神经⽹络⼤多数有很⼩的权重,这最可能出现在规范 化的⽹络中。更⼩的权重意味着⽹络的⾏为不会因为我们随便改变了⼀个输⼊⽽改变太⼤。这 会让规范化⽹络学习局部噪声的影响更加困难。

        相对的,规范化⽹络学习去对整个训练集中经常出现的证据进⾏反应。对⽐看:

  • ⼤权重的⽹络可能会因为输⼊的微⼩改变⽽产⽣⽐较⼤的⾏为改变。
  • 所以⼀个⽆规范化的⽹络 可以使⽤⼤的权重来学习包含训练数据中的噪声的⼤量信息的复杂模型。
  • ​​​​​​​简⾔之,规范化⽹络 受限于根据训练数据中常⻅的模式来构造相对简单的模型,⽽能够抵抗训练数据中的噪声的特性影响。
  • 我们的想法就是这可以让我们的⽹络对看到的现象进⾏真实的学习,并能够根据已经 学到的知识更好地进⾏泛化。

        我们应当时时记住这⼀点,规范化的神经⽹络常常能够⽐⾮规范化的泛化能⼒更强, 这只是⼀种实验事实(empiricalfact)。现在还没有⼀个⼈能够发展出⼀整套具有说服⼒的关于规范化可以帮助⽹络泛化的理论解释。

        实际上,我们的⽹络已经⽐我们预先期望的要好⼀些了。拥有100个隐藏元的⽹络会有接近 80,000 个参数。我们的训练集仅仅有50,000幅图像。这好像是⽤⼀个80,000阶的多项式来拟合 50,000 个数据点。我们的⽹络肯定会过度拟合得很严重。但是,这样的⽹络实际上却泛化得很 好。为什么?这⼀点并没有很好地理解。这⾥有个猜想13:梯度下降学习的动态有⼀种⾃规范化 的效应。这真是⼀个意料之外的巧合,但也带来了对于这种现象本质⽆知的不安。不过,我们还 是会在后⾯依照这种实践的观点来应⽤规范化技术的。神经⽹络也是由于这点表现才更好⼀些。

规范化的其他技术

 L1规范化

这个⽅法是在未规范化的代价函数上加上⼀个权重绝对值的和。

        ​​​​​​​        

凭直觉地看,这和L2规范化相似,惩罚⼤的权重,倾向于让⽹络优先选择⼩的权重。

根据该公式进一步推演,得出:

        

在两种情形下,规范化的效果就是缩⼩权重。这符合我们的直觉,两种规范化都惩罚⼤的权重。 但权重缩⼩的⽅式不同。在L1规范化中,权重通过⼀个常量向0进⾏缩⼩。在L2规范化中,权 重通过⼀个和w成⽐例的量进⾏缩⼩的。

弃权

弃权(Dropout)是⼀种相当激进的技术。和L1、L2规范化不同,弃权技术并不依赖 对代价函数的修改。⽽是,在弃权中,我们改变了⽹络本⾝。

        例如,如果我们训练了五个⽹络,其中三个把⼀个数字 分类成“3”,那很可能它就是“3”。另外两个可能就犯了错误。这种平均的⽅式通常是⼀种强 ⼤(尽管代价昂贵)的⽅式来减轻过度拟合。原因在于不同的⽹络可能会以不同的⽅式过度拟 合,平均法可能会帮助我们消除那样的过度拟合。

        那么这和弃权有什么关系呢?启发式地看,当我们弃权掉不同的神经元集合时,有点像我们 在训练不同的神经⽹络。所以,弃权过程就如同⼤量不同⽹络的效果的平均那样。不同的⽹络 会以不同的⽅式过度拟合了,所以,弃权过的⽹络的效果会减轻过度拟合。   

⼈为扩展训练数据     

        这看起来到了后⾯结束的地⽅,增加仍旧明显。这表明如果我们使⽤⼤量更多的训练数据 ——不妨设百万或者⼗亿级的⼿写样本,⽽不是仅仅50,000个——那么,我们可能会得到更好 的性能,即使是⽤这样的简单⽹络。


网站公告

今日签到

点亮在社区的每一天
去签到