在AlexNet中,图片数据为3*224*224
。
第一个卷积层使用大小为11*11*3
的96个内核过滤图像,步长为4个像素。
我怀疑第一层的输出神经元数量。
在我看来,输入为224*224*3=150528
,那么输出应为55*55*96=290400
但在论文中,他们描述的输出是253440
我不知道如何计算这层神经元的数量。
有人可以帮助我吗?谢谢!
答案 0 :(得分:1)
似乎输入大小为227x227,没有填充。我也认为他们在论文中提到的是一个错误。看看这个链接。
http://cs231n.github.io/convolutional-networks/
它提到了以下信息。
Krizhevsky等人。在2012年赢得ImageNet挑战的架构接受了大小[227x227x3]的图像。在第一个卷积层上,它使用了具有感受野大小F = 11,步幅S = 4且没有零填充P = 0的神经元。由于(227-11)/ 4 + 1 = 55,并且由于Conv层的深度为K = 96,因此Conv层输出体积的尺寸为[55×55×96]。该体积中的55 * 55 * 96个神经元中的每一个连接到输入体积中大小为[11×11×3]的区域。此外,每个深度列中的所有96个神经元都连接到输入的相同[11x11x3]区域,但当然具有不同的权重。另外,如果您阅读实际纸张,它声称输入图像是224x224,这肯定是不正确的,因为(224 - 11)/ 4 + 1显然不是整数。这让ConvNets历史上的许多人感到困惑,对发生的事情知之甚少。我最好的猜测是Alex使用了3个额外像素的零填充,而他在论文中没有提到。
答案 1 :(得分:0)
我也相信这是作者的错误,我在the courseware of stanford cs231n找到了一个证据,在第10页和第11页,你可以发现第一个转换的输出大小是290400。