在每个时期,我都会得到训练的准确性,最后是验证的准确性。验证准确性始终大于训练准确性。
当我对真实的测试数据进行测试时,我得到了很好的结果,但是我想知道我的模型是否过拟合。我希望一个好的模型的val损失能以与训练损失相似的方式收敛,但这不会发生,而且val损失有时会波动到非常大的值,这让我感到担忧。
我确实尝试了一些带有步骤调度程序的优化器(adam,sgd,adagrad),还尝试了pytorch的pleateu,我使用了步长等,但是它并没有真正的帮助,也没有剪切渐变。
答案 0 :(得分:1)
每个时期的训练损失通常根据整个训练集进行计算。
通常在验证集的一个小批量上计算每个时期的验证损失( ),因此噪声较大是正常的。
解决方案:您可以报告不同时期的验证损失的指数移动平均值,以减少波动。
因为您的验证精度不低于训练精度,所以它不是过拟合的。实际上,由于您的验证准确性>训练准确性,听起来您的模型不合适。