我有一个关于 CNN 中两个卷积层之间互连的问题。例如假设我有这样的架构:
输入:28×28
conv1:3 x 3 滤波器,编号。过滤器数量:16
conv2:3 x 3 滤波器,编号。过滤器数量:32
假设图像尺寸没有减小,经过 conv1 后,我们得到的输出为 16 x 28 x 28。所以我们有 16 个特征图。在下一层中,每个特征图连接到下一层意味着如果我们将每个特征图(28 x 28)视为一个神经元,那么每个神经元将连接到所有 32 个过滤器意味着总计
(3 x 3 x 16) x 32 个参数。这两层是如何堆叠或互连的?在人工神经网络的情况下,我们在两层之间有权重。 CNN也有类似的事情吗?一个卷积层的输出如何输入到下一个卷积层?
卷积层的参数个数n
过滤器尺寸k×k
之后f
特征图是
n ⋅ (f ⋅ k ⋅ k + 1)
哪里的+1
来自偏见。
因此每个f
过滤器形状不规则k×k×1
但形状k×k×f
.
一个卷积层的输出如何输入到下一个卷积层?
就像输入被馈送到第一个卷积层一样。没有区别(除了特征图的数量)。
在一个输入特征图上进行卷积
图片来源:https://github.com/vdumoulin/conv_arithmetic
也可以看看:另一个动画
多个输入特征图
它的工作原理是一样的:
- 滤波器具有与输入相同的深度。以前是1,现在多了。
- 您仍然将过滤器滑动到所有 (x, y) 位置。对于每个位置,它给出一个输出。
你的例子
- 第一个卷积层:160 = 16*(3*3+1)
- 第二个卷积层:4640 = 32*(16*3*3+1)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)