我正在学习和试验神经网络,并希望得到更有经验的人对以下问题的意见:
当我在 Keras 中训练自动编码器('mean_squared_error' 损失函数和 SGD 优化器)时,验证损失逐渐下降。并且验证准确性正在上升。到目前为止,一切都很好。
然而,一段时间后,损失不断减少,但准确率突然回落到低得多的低水平。
- 准确率上升非常快并保持高位突然回落是“正常”还是预期的行为?
- 即使验证损失仍在减少,我是否应该以最大准确度停止训练?换句话说,使用 val_acc 或 val_loss 作为指标来监控提前停止?
见图片:
更新:下面的评论为我指明了正确的方向,我想我现在更好地理解了。如果有人可以确认以下内容是正确的,那就太好了:
准确度指标测量 y_pred==Y_true 的百分比,因此仅对分类有意义。
我的数据是真实和二进制特征的组合。准确率图上升非常陡峭然后回落,而损失继续下降的原因是因为在 epoch 5000 左右,网络可能正确预测了 +/- 50% 的二进制特征。当训练继续时,在 12000 轮左右,对真实和二元特征的预测一起得到改善,因此损失减少,但单独对二元特征的预测不太正确。因此准确率下降,而损失减少。