问题:
1、对于5*5和两个3*3的计算量,我们可以比较一下。
2、我们假设输入图像大小是5*5*1,最终都需要将其变成1*1*1.
3、那么对于5*5的核(暂时用1个),我们的总参数是25,总的乘法计算数为1*5*5*1=25;
4、而对于3*3的核(用1个),我们总参数是2*3*3=18.总的乘法计算数:
4.1 5*5*1->3*3*1: 乘法计算数目为 1*3*3*3*3*1=81次。
4.2 3*3*1->1*1*1: 乘法计算数目为 1*3*3*1*1*1=9次
4.3 总共是90次(超多)
但是,计算机读内存的速度比计算乘法的速度慢多了,所以我们宁愿多算几次,也不要多读一点内存数据。
因此,虽然3*3的卷积核计算量较大,但是参数数目较5*5少很多,在用3*3卷积核参与卷积运算时计算机的处理速度会快很多。该优化方法在早期的VGG网络中很常见。而且,使用2个3*3替换一个5*5使得网络的深度(层数)增加,非线性表达特征的能力就会增强。