首页 > 解决方案 > 卷积神经网络性能的奇怪模式

问题描述

我正在学习 VGG,我对以下性能图感到震惊:

在此处输入图像描述

我的问题是这样的:看图表,似乎先是快速增长,然后逐渐放缓。这对我来说很有意义,因为损失越小,改进模型就越困难。但是,在 50、75 和 100 纪元附近也有 3 次突然下降。我很好奇为什么所有型号都会同时出现这种下降和反弹?是什么原因造成的?

预先感谢您的任何帮助。

标签: pythonperformancemachine-learningstatisticsconv-neural-network

解决方案


这是复杂模型训练中的常见观察。例如,经典的 CNN 表现出这种行为:AlexNet 和 GoogleNet 在他们的训练模式中有两个 drop-and-improve 中断。这是模型整体学习特性的一个非常复杂和有机的效果。

过于简单化......即使拓扑看起来很平滑,大多数模型也存在固有的学习瓶颈。该模型会学习一段时间,直到后面的层在反向支持期间适应良好……直到学习遇到瓶颈之一,输入驱动和反馈中的一些干扰往往会阻碍训练早期层的进一步实际进展。这表明在那些较低层的学习中存在一些错误的假设,这些假设现在在上层中遇到了一些统计现实。

训练过程的自然运行迫使一些早期层的混乱回到了稍微稳定的晚期层——一种有机的辍学效应,尽管随机性较小。后期层中的一些“学习”内核被证明是不正确的,并且重新打乱了它们的权重。由于这种辍学,模型的准确性会暂时降低,但很快就会比以前学习得更好,如图所示。

我无法预测给定拓扑何时以及如何发生这种情况。我个人的希望是,它原来是拓扑中固有的某种谐波共振,比如封闭空间中的音频共振,或者许多动物身上的斑点/条纹。


推荐阅读