说我有一个{strong> 2 CNN
的{{1}}。要消耗 25x25 layers
像素的图片,则RGB
的{{1}} = 50,first layer
= 5x5 , filter-size
= 1x1 kernel size
= 0x0 。并且stride
具有相同的参数,除了padding
= 100 。现在,我知道second layer
中的filter-size
的尺寸为 21x21x3 (×3 是由于Activation Map
造成的)。这意味着我有 50 1st layer's pass
个 21x21x3 ,是通过在输入图片上应用 50 个不同的RGB
创建的。
我的问题是针对activation maps
的,因为我的filters
= 100 的意思是{{ 1}}以second pass
的形式通过filter-size
的 100 activation maps
,因此在layer 1
处我总共 100x50 filters
或 50 second layer
在通过之前被融合到一个单元中,这样receptive fields
仅产生 100 < / strong> second pass
还在吗?
答案 0 :(得分:1)
您在这里有点误解。而不是保留输入图像的尺寸(在您的情况下为3,因为是RGB),所以它确实使跨所有图像进行卷积。意味着卷积运算符C
对于大小为x
的特定图像区域5x5x3
的输出将仅仅是一个值,而不是大小为1x3
的向量。
激活图(我喜欢称其为特征图)然后简单地暗示您有多少个不同的卷积滤波器,因此可以堆叠尽可能多的“输出尺寸”。在您的示例中,输出将不是21x21x3
,而是21x21x50
。
对于下一层,您将类似地输入(假设您使用的是相同的内核大小)5x5x50
,然后再次仅生成一个值。这次,您有100个输出堆栈,因此结果大小为17x17x100
。