尽早停止验证损失或准确性?


10

我目前正在训练神经网络,我无法决定使用哪种方法来实现我的“早期停止”标准:验证损失或在验证集上计算出的诸如准确性/ f1score / auc /之类的指标。

在我的研究中,我发现捍卫这两种观点的文章。Keras似乎默认不接受验证损失,但是对于相反的方法,我也遇到了令人信服的答案(例如here)。

是否有人指示何时最好使用验证损失以及何时使用特定指标?

Answers:


6

TLDR;监控损失而不是准确性

我将回答我自己的问题,因为我认为收到的答案没有抓住重点,并且某天某人可能遇到相同的问题。

首先,让我快速澄清一下,在训练神经网络时使用早期停止是完全正常的(请参阅Goodfellow等人的《深度学习》一书中的相关章节,大多数DL论文以及keras的EarlyStopping回调文档)。

现在,关于要监视的数量:宁愿损失多于准确性。为什么?损失量化了模型对预测的确定性(在正确的类别中基本上具有接近1的值,在其他类别中具有接近0的值)。准确性仅说明正确预测的数量。同样,使用硬性预测而不是概率的任何度量都有相同的问题。

显然,无论最终选择什么指标,都必须在验证集而不是训练集上进行计算(否则,您完全会失去首先使用EarlyStopping的意义)


如果值在0到1之间,则cross_entropy损耗比MSE或更好MAE。请查看本文的总结部分,以及有关stats这篇文章
Esmailian '19

@Esmailian不是优先事项;对于分类问题,MSE和MAE根本不合适。
desertnaut

4

我认为,这是主观的且针对特定问题的。您应该将头脑中最重要的因素用作驱动指标,因为这可能使您决定如何更好地关注模型。

人们可以计算出的大多数指标在许多方面都是相关/相似的:例如,如果您使用MSE进行损失,然后记录MAPE(平均平均百分比误差)或简单的损失,它们将为您提供可比较的损失曲线。L1

例如,如果您要在报告中/向老板等报告F1分数(并假设这是他们真正关心的),则使用该指标最有意义。例如,F1分数考虑到精度召回率,即它描述了两个更细粒度的指标之间的关系。

综合考虑这些因素,除了正常损失外,计算分数可能对概述很有帮助,并且可以查看在训练迭代过程中如何优化最终指标。这种关系也许可以让您更深入地了解问题,

通常最好尝试几种选择,但是,针对验证损失进行优化可能会使训练运行更长的时间,最终可能还会产生更好的F1得分。精确度和召回率可能会在一些局部最小值附近摇摆,从而产生几乎静态的F1得分-因此您将停止训练。如果您已经针对纯损失进行了优化,则可能记录了足够的损失波动,从而可以进行更长的训练。


为什么使用验证损失比使用指标可以使培训时间更长?另外,您能否详细说明两个选择之间的区别?您是否看到使用度量而不是损失是个坏主意的情况?
qmeeus

@ id-2205-请参阅我编辑的答案。
n1k31t4

有趣的一点!我目前正在使用准确性来提前停止,但是我将尝试使用验证损失。我希望培训过程不会发生任何变化!谢谢您的回答
qmeeus

1

我目前正在训练神经网络,我无法决定使用哪种方法来实现我的“早期停止”标准:验证损失或在验证集上计算出的诸如准确性/ f1score / auc /之类的指标。

如果您正在训练深层网络,强烈建议您不要使用提前停止。在深度学习中,这不是很习惯。取而代之的是,您可以采用其他技术(例如辍学)来很好地概括。如果您坚持这样做,则选择标准取决于您的任务。如果数据不平衡,则必须使用F1分数并在交叉验证数据中对其进行评估。如果您有平衡的数据,请尝试对交叉验证数据使用准确性。其他技术在很大程度上取决于您的任务。

我强烈建议您找到一个非常适合您数据的模型,然后再采用辍学方法。这是人们用于深度模型的最习惯的事情。


2
我也在使用辍学。但是,我找不到为什么不应使用提前停车的原因……
qmeeus

尽早停止尝试解决学习和泛化问题。另一方面,辍学只是试图克服泛化问题。
媒体

1
您没有回答我的问题...我不否认辍学是有用的,应该用来防止过拟合,这一点我完全同意。我的问题是:为什么说ANN不应该使用提前停止?(比照您的第一句话:如果您正在训练一个深层网络,我强烈建议您不要使用早停。)
qmeeus

你读了我的最后评论吗?它完全可以回答您的问题。这是公关的名言。Ng在他的深度学习课程第二门课程中。后一种情况是较容易的任务,因为它不会同时解决多个任务。
媒体

3
为了找到它并找到正确的超参数集,出于上述原因,我采用了一种有向停止的有向网格搜索方法。但是,只要我选择了最终模型并进行训练,我就不会使用提前停车。感谢您的有趣的讨论和建议
qmeeus
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.