在AlexNet中,图像数据是3*224*224。
第一卷积层用96个大小为11*11*3的核对图像进行滤波,步长为4个像素。
我对第一层的输出神经元计数有疑问。
在我看来,输入是224*224*3=150528,那么输出应该是55*55*96=290400
但在论文中,他们描述了输出是253440
如何计算这一层神经元的数量?
发布于 2017-04-10 16:40:13
看起来输入大小是227x227,没有填充。我也认为他们在论文中提到的是一个错误。请看一下这个链接。
http://cs231n.github.io/convolutional-networks/
它提到:
,Krizhevsky等人。赢得2012年ImageNet挑战赛的架构接受大小为227x227x3的图像。在第一卷积层,它使用感受野大小为F=11,步长为S=4,没有零填充P=0的神经元。由于(227 - 11)/4 +1= 55,并且由于卷积层具有深度K=96,因此卷积层输出体积的大小为55x55x96。这个体积中的每个55_55_96神经元都连接到输入体积中大小为11x11x3的区域。此外,每个深度列中的所有96个神经元都连接到输入的相同11x11x3区域,但当然具有不同的权重。有趣的是,如果你阅读了实际的论文,它声称输入的图像是224x224,这肯定是不正确的,因为(224 - 11)/4 +1显然不是整数。这让ConvNets历史上的许多人感到困惑,人们对发生了什么知之甚少。我个人最好的猜测是Alex使用了3个额外像素的零填充,而他在论文中没有提到。
发布于 2016-10-24 09:04:25
我也相信这是作者的错误,我在the courseware of stanford cs231n中找到了一个证明,在第10页和第11页,你可以发现第一个卷积的输出大小是290400。
https://stackoverflow.com/questions/36733636
复制相似问题