如何在训练神经元网络 (CNN) 时解释严重的准确度损失?

数据挖掘 美国有线电视新闻网 准确性 辍学 时代
2022-03-13 13:20:53

在约 38 个 epoch 之后如何解释急剧的精度损失?也许应该在 CNN 网络中添加更多的 dropout?

训练与测试准确性

(x 轴显示 epoch 的数量)

1个回答

可能有几个原因:

  • 数值稳定性问题 + 过拟合。某些神经激活或某些权重会继续单调增加/减少,直到某些函数(例如softmax)遇到数值稳定性问题。当您的网络正在记忆而不是正确学习时,可能会发生这种情况。

  • 学习率不当。一个定义良好的学习算法通常会随着训练的进行而逐渐降低其学习率。如果这不能正常工作,或者您使用的恒定学习率太大,则某些激活或权重可能会爆炸。

由于上述两个原因,您可能希望在训练期间打印每层的激活值和权重的最小值和最大值。如果某些东西看起来像爆炸(即达到类似的东西10E+38),您需要检查一下。还要监视是否有任何值变为NaN或无穷大。

  • 代码中用于计算准确性或绘图的错误。您可能需要手动检查预测标签和地面实况标签,以确认您的算法在 epoch 38 之后是否表现不佳。