【问题标题】:What is the difference between different kernel sizes(1x1, 3x3, 5x5) in a convolution neural network? [closed]卷积神经网络中不同的内核大小(1x1、3x3、5x5)有什么区别? [关闭]
【发布时间】:2019-10-12 17:20:04
【问题描述】:
我正在使用 cnn 进行图像分类,我想了解 cnn 的 conv 层中 1x1、3x3、5x5 大小的内核之间的区别。每个内核的效果、用途、优点和缺点。何时使用哪个内核大小。内核的大小取决于数据的类型,还是数据的大小。
【问题讨论】:
标签:
machine-learning
deep-learning
computer-vision
conv-neural-network
【解决方案1】:
让我们将内核大小分为大小两部分,小的为 1x1、3x3 和大的为 5x5。
现在两种内核之间的各种比较如下:
-
感受野:小内核将具有较小的感受野,这意味着它会同时查看很少的像素,而大内核将查看更大的视场。这反过来意味着由小内核提取的特征将是高度局部的,而从大内核提取的特征将是通用的并分布在整个图像中。
-
提取的信息量:小内核会提取小的复杂特征,而大内核会提取更简单的特征。大内核提取的特征量将大大少于小内核。
-
关于网络:
- 小内核会导致图像尺寸的缓慢减小,从而使网络变深,而大内核会非常快地减小图像的大小。小内核中的权重共享优于大内核。例如:两个 3x3 内核中的权重数量 = 3x3 + 3x3 = 18,而 5x5 中的权重数量为 25。
-
内存:由于较小的内核往往会使网络更深,因此需要更多的内存,而较大的网络往往会使网络更小,因此需要的内存更少。
因此 3x3 内核是 1x1、3x3 和 5x5 内核中的一种流行选择,用于减小图像尺寸和捕获邻域信息。但这可能不适用于所有数据集,对于不同的数据集,您将不得不尝试不同的内核大小,看看哪一个最适合您。但是,是的,要了解您要在图像中捕获的功能的复杂性这一事实。
可能有用的注释:
- 1x1 卷积在图像降维方面具有重要意义。你可以在这里阅读:https://iamaaditya.github.io/2016/03/one-by-one-convolution/
- 如果您使用图像大小的内核(大内核),它将作为密集/全连接层工作。