我们如何分析损失与时代图?

问题描述 投票:1回答:1

我正在训练一种语言模型,每次训练时都会绘制损失与时期的关系。我正在附上两个样本。

image 1

image 2

显然,第二个表现出更好的表现。但是,从这些图表中,我们何时决定停止训练(提前停止)?

我们能否从这些图中了解过度拟合和欠拟合,还是需要绘制额外的学习曲线?

可以从这些图中做出哪些额外的推论?

machine-learning nlp lstm pytorch rnn
1个回答
2
投票

第一个结论显然是第一个模型比第二个模型表现更差,这通常是正确的,只要您使用相同的数据进行验证。在您训练具有不同分裂的模型的情况下,情况可能不一定如此。

此外,回答有关过度拟合/欠拟合的问题:过度拟合的典型图如下所示: Learning curve

所以,在你的情况下,你显然只是达到收敛,但实际上并不适合! (这是个好消息!)另一方面,你可以问问自己,你是否能取得更好的成绩。我假设你正在衰减你的学习率,这可以让你在某种形式的高原上出类拔萃。如果是这种情况,请首先尝试减少学习率,看看是否可以进一步减少损失。 此外,如果你仍然看到一个很长的高原,你也可以考虑提前停止,因为你实际上没有获得更多的改进。根据您的框架,有这样的实现(例如,Keras has callbacks for early stopping,它通常与验证/测试错误相关)。如果验证错误增加(与图像类似),则应考虑使用loweste验证错误作为提前停止的点。我喜欢这样做的一种方法是不时地检查模型,但只有在验证错误得到改善的情况下。 您可以做出的另一个推论是一般的学习速度:它是否太大,您的图形可能会非常“跳跃/锯齿”,而非常低的学习速率只会有一个小的误差下降,而不是指数级腐朽的行为。 你可以通过比较两个例子中前几个时期衰退的陡峭度来看到这种弱的形式,其中第一个时期(学习率较低)需要更长时间才能收敛。

最后,如果您的训练和测试错误相差很远(如第一种情况),您可能会问自己,您是否真正准确地描述或建模问题;在某些情况下,您可能会意识到(数据)分发中存在一些您可能忽略的问题。但是,由于第二个图表更好,我怀疑你的问题就是这种情况。

© www.soinside.com 2019 - 2024. All rights reserved.