MobileNet v1算法解读

论文地址:MobileNets: Efficient Convolutional Neural Networks for Mobile Vision Applications

1、简介

Mobilenet v1是Google于2017年发布的网络架构,旨在充分利用移动设备和嵌入式应用的有限的资源,有效地最大化模型的准确性,以满足有限资源下的各种应用案例。

2、网络结构

2.1Depthwise Separable Convolution

MobileNet v1的核心为深度可分离卷积。fig2分别展示了标准卷积、深度可分离卷积(Depthwise convolution)以及Pointwise Convolution。

深度可分离卷积简单来说是每个channel层独自进行卷积操作,输入为DF*DF*M,输出为DF*DF*M,kernal为DK*DK*1。

每个channel计算量为DK*DK*DF*DF,总计算量为DK*DK*DF*DF*M。

深度可分离卷积没有融合各个channel之间特征,因此对depthwise输出层通过1*1卷积(pointwise)进行线性融合,产生新特征。

pointwise层输入为DF*DF*M,kernal为1*1*M,输出通道为N,最终输出为DF*DF*N,因此计算量为DF*DF*M*N

而标准卷积计算量为:DK*DK*DF*DF*M*N。

因此Depthwise Separable convolutions with Depthwise and Pointwise layers与标准卷积计算量之比如如所示:

可见MobileNet v1采用的这种Depthwise Separable convolutions极大减小了计算量。

2.2网络结构

MobileNet v1整个网络结构如表一所示。

2.3模型宽度乘子与分辨率乘子

模型宽度乘子α取值为:0.25,0.5,0.75,1。

α用于改变输入channel M为αM,输出chanel N为αN。因此Depthwise Separable convolutions计算量变为:

DK · DK · αM · DF · DF + αM · αN · DF · DF

分辨率乘子ρ ∈ (0, 1],输入分辨率为224, 192, 160 or 128。ρ=1时,输入分辨率为224*224,改变ρ的大小,从而输入分辨率变为ρ*224.

3.实验

表4对比Depthwise Separable convolutions与全连接层在ImageNet上的准确率以及计算量与参数量。

表5比较窄一些的网络结构与浅一些的网络结构。

表6比较不同宽度乘子下,模型性能。

表7比较不同分辨率乘子下模型性能。

表12是人脸属性分类领域的比较结果。

表13是目标检测方面的对比。 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值