【深度学习】简单易懂,对卷积核层数的理解

在学习卷积神经网时候,本人对代码中的卷积维度变化不是很理解,记录学习过程供参考。

假设有一个卷积核W(3X3X3X2),第一个维度为高度,第二个维度为宽度,第三个维度为通道数,第四个维度为卷积层数。上图展示一下:
【深度学习】简单易懂,对卷积核层数的理解

关于卷积过程中维度的变化:

对于单通道的灰度图卷积很好理解,如4X4的图片用3X3的一个卷积核进行卷积(步长为一),那结果就是2X2的维度;假设卷积核有2层,即为3X3X2,那么卷积出来的结果就是2X2X2。结果的维度就相当于拿卷积核这个“面”在图像里平移,看有多少个这样的“面”。

对于多通道而言,借用上面思维来理解就清晰了,如6X6X3的RGB图片,用3X3X3的卷积核来卷积(同样步长为一),就相当于拿一个3X3X3的正方体(卷积核)在6X6X3的长方体里平移(原图像),得出的结果就是二维的4X4,因为卷积核只需要在图片的第一和第二维平移,第三维度相等无需移动。此时如果卷积核层数为2,即3X3X3X2,那么结果就相当于有两层4X4的结果,即4X4X2。以此类推。
借用网上的图帮助理解:
【深度学习】简单易懂,对卷积核层数的理解

有时前面理解的代码偶尔回过头来看理解就出现偏差,趁现在理解了就记下来了。(#偷笑)
有问题欢迎评论指出。