我使用自己的数据集使用Tensorflow站点上的retrain.py文件来训练模型。然而,在我的第一组图像中,我看到测试准确率为100%,而验证准确率为70%。我看到验证熵在增加,这说明过拟合。我是这个领域的新手,通过在线教程达到了这个阶段。
我还没有启用随机亮度、裁剪和翻转来进行训练。我想知道为什么会有这样的行为?我尝试了一下flower example,它像预期的那样工作。随着我的数据集的增加,交叉熵变得最低而不是增加。
有人能解释一下CNN里面发生了什么吗?

发布于 2019-02-02 13:15:51
您的模型在训练数据上过度拟合。如果它是一个大型模型,您应该考虑使用迁移学习,即在大型数据集(如ImageNet )上训练模型,然后对数据进行微调。您还可以尝试添加某种形式的正则化,以防止过度拟合,特别是Dropout和L2 regularization。
发布于 2019-02-02 13:12:22
这仅仅意味着你的模型过拟合了。过度拟合意味着你的模型不能很好地推广到看不见的数据(即验证数据)。您可以做的是添加某种形式的正则化(通常使用L2)。它的作用是惩罚权重,使其不能获得非常高的值,从而导致过度拟合。这也将对试图拟合异常值的模型产生不利影响,这再次导致更少的泛化和更多的过度拟合。
https://stackoverflow.com/questions/54490150
复制相似问题