补丁/内核的大小如何影响卷积网络的结果?

Jua*_*ano 3 machine-learning image-recognition neural-network conv-neural-network

我在家里用 tensorflow 玩卷积神经网络(顺便说一句,我已经完成了 udacity 深度学习课程,所以我有理论基础)。当运行卷积时,补丁的大小有什么影响?当图像更大/更小时,这种尺寸是否必须改变?

我做的练习之一涉及图像的 CIFAR-10 数据库(32x32 像素),然后我使用了 3x3 的卷积(填充为 1),得到了不错的结果。

但是现在我想玩比那个更大的图像(比如 100x100),我应该让我的补丁更大吗?我要保留它们 3x3 吗?此外,使补丁真正大有什么影响?(比如 50x50)。

通常我会直接在家里测试这个,但是在我的电脑上运行这个有点慢(没有 nvidia GPU!)

所以这个问题应该总结为

  1. 当我的输入图像更大/更小时,我应该增加/减少补丁的大小吗?
  2. 增加/减少我的路径大小有什么影响(在性能/过度拟合方面)?

mal*_*oro 5

如果你不使用 padding,更大的内核使得下一层的神经元数量会更小。

示例:大小为 1x1 的内核为下一层提供相同数量的神经元;大小为 NxN 的内核在下一层只给出一个神经元。

较大内核的影响:

  • 计算时间更快,内存占用更小
  • 丢失了很多细节。想象一下 NxN 输入神经元,内核大小也是 NxN,那么下一层只给你一个神经元。丢失很多细节会导致欠拟合。

答案:

  1. 这取决于图像,如果您需要图像中的大量细节,则无需增加内核大小。如果你的图片是 1000x1000 像素的大版 MNIST 图片,我会增加内核大小。
  2. 较小的内核会给你很多细节,它会导致你过拟合,但较大的内核会给你很多细节,它会导致你欠拟合。您应该调整模型以找到最佳尺寸。有时,应考虑时间和机器规格

如果您使用 padding,则可以进行调整,使卷积后的结果神经元相同。我不能说它会比不使用填充更好,但是与使用较小的内核相比,仍然会丢失更多细节