GoogleNet 如何实际处理减少过拟合的问题?

人工智能 神经网络 卷积神经网络 文件 过拟合
2021-11-15 11:36:41

今天我正在阅读 Andrew Ng 的关于Inception 网络的教程。他说GoogLeNet的隐藏层在预测方面也很好,并且它具有某种正则化效果,因此可以减少过度拟合。我也搜索了这个主题,并试图通过阅读GoogLeNet 论文来弄清楚。但我不满意。

谁能详细给我任何数学直觉或推理?

1个回答

在任何神经网络中过度拟合的主要原因是模型中有太多不受限制的可训练自由度。类似于 dropout 的方法减少了每次训练运行时的神经元数量,这实际上意味着拥有更小的网络。另一方面在l1l2正则化,一个添加到损失函数的术语,它限制了每次运行时计算的总损失。所以我们试图通过这种正则化来最小化的不仅仅是大号, 但大号+l1*F(w)(例如)。

我从那篇论文中了解到,辅助输出是同时做的:关键是在自身内部构建相同初始网络的较小版本,并使用从中获得的损失作为对最终损失函数的约束。论文中描述的完整模型本质上是 3 个独立的模型:第一个是具有 3 个 inception 模块的网络,第二个具有 6 个模块,最后一个具有 9 个模块。计算损失时,辅助输出的结果加到总数中体重减轻0.3。让我们这样写:

大号=0.7*大号9+0.3*(大号6+大号3).

这里大号3大号6表示在第一个和第二个输出计算的损失,并且大号9是在网络的最终输出计算的损失。

这是我们希望在训练期间最小化的功能。但是在进行评估时,辅助输出被丢弃,只使用最终的 softmax 层。与在训练期间使用 dropout 但使用完整模型进行预测的想法没有太大不同。