【面试大题】CNN 参数计算

问题1 (正向计算)

输入图片大小为200×200,依次经过
一层卷积(kernel size 5×5,padding 1,stride 2),
pooling(kernel size 3×3,padding 0,stride 1),
又一层卷积(kernel size 3×3,padding 1,stride 1)之后,
输出特征图大小为

A、 95
B、 96
C、 97
D、 98

答案:C
解析:
输出特征图尺寸 = ⌊ n + 2 p − f s ⌋ + 1 输出特征图尺寸= \left\lfloor \frac{n + 2p - f}{s} \right\rfloor + 1 输出特征图尺寸=sn+2pf+1
首先我们应该知道卷积或者池化后大小的计算公式,其中,padding指的是向外扩展的边缘大小,而stride则是步长,即每次移动的长度。
这样一来就容易多了,首先长宽一般大,所以我们只需要计算一个维度即可,这样,
经过第一次卷积后的大小为: (200-5+21)/2+1 为99.5,取99
经过第一次池化后的大小为: (99-3)/1+1 为97
经过第二次卷积后的大小为: (97-3+2
1)/1+1 为97

问题2(正向计算)

卷积神经网络的输入图像尺寸为28x28x3,卷积核大小为3x3x3,卷积核的个数为8,卷积步幅Stride=1,填充值padding=1,则输出的特征图尺寸为
A、28 宽、28 高、8 深
B、13 宽、13 高、8 深
C、28 宽、13 高、8 深
D、13 宽、28 高、8 深
答案:A
解析:
输出特征图尺寸 = ⌊ n + 2 p − f s ⌋ + 1 输出特征图尺寸= \left\lfloor \frac{n + 2p - f}{s} \right\rfloor + 1 输出特征图尺寸=sn+2pf+1
其中N为输入图像的宽和高,F为卷积核的宽和高,P为填充值padding,S为卷积核滑动步长stride。

问题3(逆向计算)

在CNN网络中,图A经过核为3x3,步长为2的卷积层,ReLU激活函数层,BN层,以及一个步长为2,核为2*2的池化层后,再经过一个3*3的的卷积层,步长为1,此时的感受野是
A.10
B.11
C.12
D.13
答案:D
解析:
根据上面的公式进行变换,计算感受野的时候不用考虑 padding ,因此 p = 0 p=0 p=0,得到公式:
n o u t = n i n − f s + 1 n_{out} = \frac{n_{in}-f}{s}+1 nout=sninf+1
根据 out = 1 进行逆推:
1 = n 1 − 3 1 + 1 , 得 n 1 = 3        ( C o n v 2 ) 1=\frac{n_1-3}{1}+1, 得n_1 =3 \ \ \ \ \ \ (Conv2) 1=1n13+1,n1=3      (Conv2)
3 = n 2 − 2 2 + 1 , 得 n 2 = 6        ( M a x P o o l ) 3 = \frac{n_2 - 2}{2}+1,得n_2 = 6 \ \ \ \ \ \ (MaxPool) 3=2n22+1,n2=6      (MaxPool)
6 = n 3 − 3 2 + 1 , 得 n 3 = 13        ( C o n v 1 ) 6 = \frac{n_3 - 3}{2}+1,得n_3 = 13\ \ \ \ \ \ (Conv1) 6=2n33+1,n3=13      (Conv1)
因此感受野为13

  • 2
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值