-1

我正在尝试使用卷积神经网络对酒店图像数据进行分类..

以下是一些亮点:

  1. 图像预处理:

    • 转换为灰度
    • 将所有图像调整为相同的分辨率
    • 标准化图像数据
    • 寻找 pca 组件
  2. 卷积神经网络:

    • 输入- 32*32
    • 卷积 - 16 个过滤器,3*3 过滤器大小
    • pooling - 2*2 过滤器大小
    • dropout——以 0.5 的概率下降
    • 全连接 - 256 台
    • dropout——以 0.5 的概率下降
    • 输出 - 8 类
  3. 使用的库:

    • 千层面
    • 不学习

但是,我对测试数据的准确度降低了,只有 28% 左右。

如此低的准确性有什么可能的原因吗?有什么改进建议吗?

提前致谢。

4

2 回答 2

0

在 2012 Imagenet 之后,所有表现良好(最先进)的卷积神经网络都在添加更多的卷积神经网络,他们甚至使用零填充来增加卷积神经网络。

  • 增加卷积神经网络的数量。

有人说 dropout 在 CNN 上没那么有效,但是用起来还不错,但是

  • 您应该降低 dropout 值,您应该尝试一下(可能是 0.2)。

应该分析数据。如果它很低,

  • 您应该使用数据增强技术。

如果您在其中一个标签中有更多数据,

  • 你被不平衡的数据问题困住了。但你现在不应该考虑它。

你可以

  • 应该考虑从 VGG-Net 或其他一些 CNN 进行微调。

另外,不要转换为灰度,在图像到数组的转换之后,你应该只除 225。

我认为你从一些教程(MNIST)中学习了 CNN,你认为你应该把它变成灰度。

于 2017-11-08T03:47:15.127 回答
0

测试数据的准确性低有几个可能的原因,因此如果没有更多的信息和大量的实验,就不可能提供具体的答案。说了这么多,有几点值得一提:

  1. 正如评论中提到的@lejlot,PCA 预处理步骤是可疑的。基本的 CNN 架构被设计为需要最少的预处理,并且图像的基本结构保持完整是至关重要的。这是因为 CNN 需要能够找到有用的空间局部特征。
  2. 为了从图像数据中检测复杂对象,您可能会受益于更多的卷积层。鉴于您所描述的简单架构,很可能它根本不具备处理分类任务所需的表现力。
  3. 此外,您提到您在卷积层之后应用了 dropout。一般来说,我看到的研究表明,dropout 在卷积层上并不是特别有效。我个人建议删除它,看看它是否有任何影响。如果您最终需要对卷积层进行正则化(根据我的经验,这通常是不必要的,因为共享内核通常已经充当了强大的正则化器),您可能会考虑随机池化。
  4. 我能给出的最重要的建议之一是建立一个可靠的机制来衡量模型的质量,然后进行实验。尝试修改架构,然后调整超参数以查看产生最佳结果的方法。特别是,请确保监控训练损失与验证损失,以便您可以确定模型何时开始过度拟合。
于 2016-05-01T15:19:21.553 回答