为了账号安全,请及时绑定邮箱和手机立即绑定

图片 - CNN 澄清

图片 - CNN 澄清

呼唤远方 2022-05-24 13:13:47
我想澄清一下卷积神经网络中的几点,我正在使用 Keras 在 CNN 中实现图像识别。1 - 减小图像的大小可以帮助模型更快地学习。我读了一些博客,它们将图像大小从 (150,150) 减小到 (32,32) 。2 - 增加编号。层和节点的数量是否有助于提高准确性。我开始在一个 CNN 层训练模型。但是准确率很低。然后我再添加两个 CNN 层,它给出了大约 74 的高精度。之后,我再添加一个层,它在 70 秒的相同范围内给出了准确度。3 - 有没有办法使用 keras 在 CNN 中的每一层之后查看图像。这将有助于研究 CNN 中的图像。谢谢
查看完整描述

2 回答

?
函数式编程

TA贡献1807条经验 获得超9个赞

以下是我对您的问题的意见:

1)在理想的世界中,您应该能够使用适合您需要的大小的相机拍摄任何东西的照片/视频。然而,这种方法并不实用,尽管可以产生相当好的性能。实际上,您提供的无噪音功能越多,您的神经网络就越准确。但是,您将在哪里使用具有如此大相机的网络作为其输入生成器?出于所有实际目的,您使用带有不大于网球大小的镜头的相机。同时,训练尺寸大于 64x64 像素的图像非常昂贵。你几乎买不起带有任何下降神经网络的单个 GPU 的批次 2。同时,这会增加培训时间,您最终可能要等待几天才能完成。

2)更多的层不会产生更好的结果,还有其他方法可以实现。这样做的一个问题是,您拥有的层数越多,您就会面临梯度爆炸或消失的问题。还要确保你正在规范你的数据,提供足够的训练数据,并且它的分布类似于有效/测试集分布。如您所见,神经网络的准确性有很多方面,而这些只是其中的一部分。

3)是的,你可以做到。彻底写完需要一些时间,所以我给你留下了一个来自媒体的链接。它更详细,并具有您需要的内容:

https://towardsdatascience.com/visualizing-intermediate-activation-in-convolutional-neural-networks-with-keras-260b36d60d0


查看完整回答
反对 回复 2022-05-24
?
Qyouu

TA贡献1786条经验 获得超11个赞

让我尝试回答您的疑问。

  1. 减小图像大小有助于模型更快地学习并减少内存需求。150 X 150 像素在单层神经网络中需要更多节点,因此需要更多内存。我不确定 Squashing 与 Center Cropping 的准确性统计数据。

  2. 节点数量的增加可能与准确性的提高没有直接关系。在许多情况下,Bagging 和 Boosting 可以比增加层数更好地提高准确性。辍学是深度神经网络中的一个问题,但适当的数据归一化以及适当的激活函数和足够的训练数据应该有助于提高多层的准确性。

  3. 简短的回答是肯定的。您可以通过在必须定义自己的神经网络的每一层的末尾将特征向量重塑为原始图像形状来做到这一点。


查看完整回答
反对 回复 2022-05-24
  • 2 回答
  • 0 关注
  • 117 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信