我试图理解一篇文章在卷积神经网络中的反向传播
第一层有3 个尺寸为32x32的特征图。第二层有32 个尺寸为18x18的特征图。这怎么可能呢 ?如果将内核5x5的卷积应用于32x32输入,则输出的维度应为 经过 = 经过 .
此外,如果第一层只有 3 个特征图,则第二层应该有3 个特征图的倍数,但32不是3的倍数。
另外,为什么第三层的大小是10x10?应该改为9x9吗?前一层的尺寸是18x18,因此2x2最大池化应该将其减少到9x9,而不是10x10。
我试图理解一篇文章在卷积神经网络中的反向传播
第一层有3 个尺寸为32x32的特征图。第二层有32 个尺寸为18x18的特征图。这怎么可能呢 ?如果将内核5x5的卷积应用于32x32输入,则输出的维度应为 经过 = 经过 .
此外,如果第一层只有 3 个特征图,则第二层应该有3 个特征图的倍数,但32不是3的倍数。
另外,为什么第三层的大小是10x10?应该改为9x9吗?前一层的尺寸是18x18,因此2x2最大池化应该将其减少到9x9,而不是10x10。
其实我猜你在第二部分犯了错误。关键是在CNN
s 中,卷积操作是在体积上完成的。假设输入图像在三个通道中,下一层有 5 个内核,因此下一层将有五个特征图,但卷积操作由具有以下特性的体积卷积组成:每个内核都有其宽度和高度,此外,一个深度。它的深度等于前一层的特征图的数量,这里是图像的通道。看看这里。
这可能是填充与卷积步幅相结合的情况:如果您在第一层的任一侧填充 2 个零并使用 2 的步幅,则最终将得到 18 * 18 * x。输入上的 3 个通道很可能是 RG&B,它们通常被放大到 32 个特征图。
您感到困惑的原因是因为论文中省略了一些参数。假设从第一层到第二层,stride=2,pad=4,32个内核,18=(32+2*4-5)/2-1