为什么MobileNet v2比v1深度更深,但是参数量和速度反而减少

MobileNet v2基础结构中增加的升维PW卷积,可以将通道数扩大到较高的维度。
在卷积的计算过程中,参数量计算公式为CinKhKw*Cout,可以看出在卷积核固定的情况下,通道数越多,参数量也就越大。
MobileNet v1使用的可分离卷积,将Cin和Cout的乘法分离为两个较小因子乘法的和,因此减少了参数量,但其基于VGG16的网络结构,在深层512(包括重复5次的卷积层)以及1024通道的运算仍然具有很大的参数量。
比较
MobileNet v2带来的改进是纺锤形Block,将一个卷积操作继续分解为三个乘法的和,这样一来使得每个Block之间可以以较小的通道数[24 32 64-96 160-320]进行传递,二来在Block中升维[144 192 384-576 960-1920]可以学习到更多特征。将CONV1x1层的参数数量和计算量直接减小若干倍(论文中6倍),轻微增加DWCONV3x3的通道数以保证的网络容量。
二者详细的参数量计算比较如下:

MobileNet v1:

v1

每一层的参数(只计算卷积核和全连接神经元):

输入尺寸参数量备注
3x3x3x32224,224,3864----
dw 3x3x32112,112,32288----
pw 1x1x32x64112,112,322048----
dw 3x3x64112,112,64576----
pw 1x1x64x12856,56,648192----
dw 3x3x12856,56,1281152----
pw 1x1x128x12856,56,12816384----
dw 3x3x12856,56,1281152----
pw 1x1x128x25628,28,12832768----
dw 3x3x25628,128,2562304----
pw 1x1x256x25628,28,25665536----
dw 3x3x25628,28,2562304----
pw 1x1x256x51214,14,256131072----
dw 3x3x51214,14,5124608x5
pw 1x1x512x51214,14,512262144x5
dw 3x3x51214,14,5124608----
pw 1x1x512x10247,7,512524288----
dw 3x3x10247,7,10249216----
pw 1x1x1024x10247,7,10241048576----
fc 1024x10001,1,10241024000----
All\42090884.2M

MobileNet v2:

v2

每一层的参数(只计算卷积核和全连接神经元):

输入尺寸参数量备注
3x3x3x32224,224,3864----
dw 3x3x32112,112,32288----
pw 1x1x32x16112,112,32512----
pw 1x1x16x(16x6)112,112,161536x2
dw 3x3x(16x6)112,112,(16x6)864x2
pw 1x1x(16x6)x2456,56,(16x6)2304x2
pw 1x1x24x(24x6)56,56,243456x3
dw 3x3x(24x6)28,28,(24x6)1296x3
pw 1x1x(24x6)x3228,28,(24x6)4608x3
pw 1x1x32x(32x6)28,28,326144x4
dw 3x3x(32x6)28,28,(32x6)1728x4
pw 1x1x(32x6)x6428,28,(32x6)12288x4
pw 1x1x64x(64x6)28,28,6424576x3
dw 3x3x(64x6)14,14,(64x6)3456x3
pw 1x1x(64x6)x9614,14,(64x6)36864x3
pw 1x1x96x(96x6)14,14,9655296x3
dw 3x3x(96x6)7,7,(96x6)5184x3
pw 1x1x(96x6)x1607,7,(96x6)92160x3
pw 1x1x160x(160x6)7,7,160153600x1
dw 3x3x(160x6)7,7,(160x6)8640x1
pw 1x1x(160x6)x3207,7,(160x6)307200x1
1x1x320x12801,1,320409600----
1x1x1280x10001,1,12801280000----
All\29584402.96M

由于只计算了卷积层参数,和论文3.4M的参数量有所出入(怀疑论文是把最后一个Block算了两遍?还是计入了BN等层参数?)

把v1和v2重复量最多的结构和尺寸相同的结构拿出来比较:

输入尺寸参数量备注
v1 dw 3x3x51214,14,5124608x5
v1 pw 1x1x512x51214,14,512262144x5
v2 pw 1x1x32x(32x6)28,28,326144x4
v2 dw 3x3x(32x6)28,28,(32x6)1728x4
v2 pw 1x1x(32x6)x6428,28,(32x6)12288x4
v2 dw 3x3x(64x6)14,14,(64x6)3456x3
v2 pw 1x1x(64x6)x9614,14,(64x6)36864x3
v2 pw 1x1x96x(96x6)14,14,9655296x3

可以看到v2其实是把每个block固定成纺锤形的同时也变瘦了,通道数没有扩展到v1的大尺度,而且由于分离1x1卷积的存在,参数量都比v1要小。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值