如果我得到图片中显示的训练和验证错误以改进我的神经网络,有人可以帮助我如何处理分类吗?我试图更早地停止训练,以使验证误差更小,但仍然太高。我得到了 62.45% 的验证准确率,但这太低了。数据集是显示图像中某处(未居中)的对象的图像。如果我使用具有相同数量图像的相同网络,但显示的对象始终以主点为中心,则它的工作效果要好得多,验证准确率为 95%,
问问题
83 次
1 回答
1
在实现神经网络时可以寻找以下内容:
数据集问题:
i) 检查您输入网络的输入数据是否有意义,以及数据中是否有太多噪音。
ii) 尝试传递随机输入并查看错误性能是否仍然存在。如果是这样,那么是时候对您的网络进行更改了。
iii) 检查输入数据是否有适当的标签。
iv) 如果输入数据没有被打乱并且以特定的标签顺序传递,会对学习产生负面影响。因此,将数据和标签混在一起是必要的。
v) 减少批次大小并确保批次不包含相同的标签。
vi) 过多的数据增强不好,因为它具有正则化效果,并且当与其他形式的正则化(权重 L2、dropout 等)结合使用时,可能会导致网络欠拟合。
vii) 必须根据数据要求对数据进行预处理。例如,如果您正在训练网络进行人脸分类,则应将没有或非常任何背景的图像人脸传递给网络进行学习。
实施问题:
i) 检查您的损失函数、权重初始化和梯度检查,以确保反向传播以适当的方式工作。
ii) 在 Tensorboard 等可视化库的帮助下,可视化每一层的偏差、激活和权重。
iii)尝试使用动态学习率概念,其中学习率随着设计的一组时期而变化。
iv) 通过添加更多层或更多神经元来增加网络大小,因为它可能不足以捕获其标记的特征。
于 2018-01-11T06:26:53.220 回答