改善神经网络的学习

时间:2018-01-06 07:51:19

标签: neural-network classification conv-neural-network validationerror

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

enter image description here

1 个答案:

答案 0 :(得分:1)

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

  1. 数据集问题

    i)检查您输入网络的输入数据是否有意义并且数据中是否存在太多噪音。

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

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

    iv)如果输入数据没有洗牌并以特定的标签顺序传递,则会对学习产生负面影响。因此,必须将数据和标签混合在一起。

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

    vi)太多的数据增加并不好,因为它具有正则化效果,并且当与其他形式的正则化(权重L2,辍学等)相结合时,可能导致网络不足。

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

  2. 实施问题

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

    ii)借助可视化库(如Tensorboard)可视化每个图层的偏差,激活和权重。

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

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