设输入图像尺寸为W * W * 3,卷积核尺寸为F,步幅为S,Padding使用P,共有M个卷积核,则经过该卷积层后输出的图像尺寸为:
[(W-F+2P)/S + 1 ] * [(W-F+2P)/S + 1] * M
这里的[x]代表对x进行下取整
注意:共有M个卷积核,比如第一个卷积核对图像进行卷积,由于图像共有3个通道,其实,这个卷积核就相当于有3个F * F大小的不相同的卷积模板分别对3个通道做卷积再逐相加,形成一个feature map,并不是只有一个F*F大小的卷积核分别对3个通道做卷积再相加(考虑一下,假如只有一个F * F大小的卷积核分别对3个通道做卷积再相加,那不就相当于3个通道直接相加,再和这个卷积核进行卷积吗?这样显然丢失了许多有用信息和重要特征啊!)
设输入图像尺寸为W * W * 3,卷积核尺寸为F,步幅为S(池化时,例如最大池化或平均池化,S的大小通常小于等于F,使每个区域没有重叠),池化一般化不用padding,也没有类似于卷积核个数的概念(所以经过pooling后,一般化channel不变,变的只是每个channel的大小),则经过该池化层后输出的图像尺寸为:
[(W-F)/S + 1 ] * [(W-F)/S + 1] * 3
这里的[x]代表对x进行下取整
设当前层输入特征图尺寸为W * W * X,卷积核尺寸为F,步幅为S,Padding使用P,共有M个卷积核,则该卷积层的参数个数为:
(F * F * X+1) * M(一个feature map共享一个bias) = F * F * X * M(卷积核参数个数)+ M(bias参数个数)
注:池化层没有参数(平均池化,最大池化)图像卷积的过程如下,可以看到bias的个数就是卷积核的个数,即经过卷积后的feature map的数量:
第一项是乘法运算数,第二项是加法运算数,因为n个数相加,要加n-1次,所以不考虑bias,会有一个-1,如果考虑bias,刚好中和掉,括号内变为: 全连接层:
1.I=input neuron numbers, O=output neuron numbers.2.一个MAC算2个operations。不考虑bias时有-1,有bias时没有-1。分析同理,括号内是一个输出神经元的计算量,总共有O个输出神经元。