我是神经网络的新手,我不知道如何准确地将我得到的结果解释为验证损失的结果。我正在尝试使用tensorflow对图像进行分类。如果我在每个历元之后绘制我得到的结果,我会得到以下结果:在此处输入图像描述
我的训练准确性和验证准确性提高了,我的训练损失减少了,但验证损失有一些小问题,尽管它下降了,但与训练损失不太接近。
我应该如何解释?我不理解验证损失中的变化。验证损失没有像训练损失那样减少,这是否意味着我有过度拟合?
(以防万一,我正在做25个时期,批量:128,学习率:0.0001,训练/验证分割:0.4(
感谢的帮助
验证损失的激增并不罕见,尤其是在早期。通常,过度拟合是指训练损失减少,但验证损失平稳期随后开始增加的情况。通常,训练精度通常高于验证精度,训练损失低于验证损失。您可以做一些事情来帮助改善验证损失。如果模型过于拟合,则添加缺失层,或者如果有多个隐藏的密集层,则最初只使用1,然后在训练精度较差的情况下添加更多。模型越不复杂,过度拟合的可能性就越小。使用可调节的学习率也有帮助。Keras回调ReduceLROnPlateau可以设置为监控验证损失,并在损失未能减少时降低学习率。文档在这里。使用回调ModelCheckpoint以最低的验证损失保存模型,并使用该模型对测试集进行预测。文档在这里。