我正在尝试构建一个包含13000个训练图像和3000个验证图像的11级图像分类器。我正在使用深度神经网络,正在使用mxnet进行训练。训练准确度正在提高并达到80%以上,但验证准确度达到54-57%且不会增加。 这可能是什么问题?我应该增加图像的数量吗?
答案 0 :(得分:25)
这里的问题是,您的网络在某些时候停止学习有用的一般功能,并开始适应您的训练集的特殊性(在结果中过度拟合)。你想“强迫”你的网络继续学习有用的功能,你在这里几乎没有选择:
不幸的是,训练网络的过程很好地概括了很多实验,并且通过一些人工监督对参数空间进行了几乎蛮力的探索(你会看到很多研究工作采用这种方法)。最好为每个参数尝试3-5个值,看看它是否会引导您到达某个地方。
当您将绘图精度/成本/ f1作为迭代次数的函数进行实验并查看其行为时。通常,您会注意到测试集的准确度达到峰值,之后会持续下降。因此,除了良好的架构,正规化,腐败等,您还需要进行大量迭代,以获得最佳结果。
还有一个提示:确保每个训练时期随机化图像的顺序。
答案 1 :(得分:2)
这显然看起来模型过度拟合训练集的情况,因为验证准确性逐步提高,直到它固定在特定值。如果学习率更高,那么你最终会看到验证准确度下降,并且训练集的准确度会提高。
增加训练集的数量是解决此问题的最佳方法。您还可以尝试应用不同的变换(翻转,从稍大的图像中裁剪随机部分)到现有图像集,并查看模型是否学习得更好。