1

如果我得到图片中显示的训练和验证错误以改进我的神经网络,有人可以帮助我如何处理分类吗?我试图更早地停止训练,以使验证误差更小,但仍然太高。我得到了 62.45% 的验证准确率,但这太低了。数据集是显示图像中某处(未居中)的对象的图像。如果我使用具有相同数量图像的相同网络,但显示的对象始终以主点为中心,则它的工作效果要好得多,验证准确率为 95%,

在此处输入图像描述

4

1 回答 1

1

在实现神经网络时可以寻找以下内容:

  1. 数据集问题

    i) 检查您输入网络的输入数据是否有意义,以及数据中是否有太多噪音。

    ii) 尝试传递随机输入并查看错误性能是否仍然存在。如果是这样,那么是时候对您的网络进行更改了。

    iii) 检查输入数据是否有适当的标签。

    iv) 如果输入数据没有被打乱并且以特定的标签顺序传递,会对学习产生负面影响。因此,将数据和标签混在一起是必要的。

    v) 减少批次大小并确保批次不包含相同的标签。

    vi) 过多的数据增强不好,因为它具有正则化效果,并且当与其他形式的正则化(权重 L2、dropout 等)结合使用时,可能会导致网络欠拟合。

    vii) 必须根据数据要求对数据进行预处理。例如,如果您正在训练网络进行人脸分类,则应将没有或非常任何背景的图像人脸传递给网络进行学习。

  2. 实施问题

    i) 检查您的损失函数、权重初始化和梯度检查,以确保反向传播以适当的方式工作。

    ii) 在 Tensorboard 等可视化库的帮助下,可视化每一层的偏差、激活和权重。

    iii)尝试使用动态学习率概念,其中学习率随着设计的一组时期而变化。

    iv) 通过添加更多层或更多神经元来增加网络大小,因为它可能不足以捕获其标记的特征。

于 2018-01-11T06:26:53.220 回答