[MobileNet]:Efficient Convolutional Neural Networks for Mobile Vision Applications

论文地址:https://arxiv.org/abs/1704.04861     (Submitted on 17 Apr 2017)

MobileNets: Efficient Convolutional Neural Networks for Mobile Vision Applications

caffe官方实现ConvolutionDepthwise层:https://github.com/BVLC/caffe/pull/5665/files

1.摘要:MobileNets基于depthwise separable convolution搭建轻量级的深度神经网络。引入两个全局超参数在延迟和准确性上进行折中。

这些超参数有助于模型创建者根据问题的约束选择合适的模型大小。MobileNets在各种应用和用例(包括对象检测,细粒分类,人脸属性和大规模地理定位)中有效果。

2.MobileNets架构

(1)Depthwise Separable Convolution

Depthwise分离卷积层由两层组成:depthwise卷积和pointwise卷积。

输入图像大小Df*Df*M,输出图像大小Df*Df*N。

depthwise卷积层对每一个输入通道独立使用单一卷积,卷积核大小Dk*Dk,输出M个特征图。

pointwise卷积层使用N个1*1*M卷积,将depthwise卷积层的输出进行组合。

(2)网络结构

a.第一层卷积使用标准卷积

b.每一卷积层后面都接着BN层和ReLU层(处理最后一个全连接层,后接softmax进行类别预测)

总的网络结构

下采样通过第一层卷积以及某些stride为2的depth wise convolution层实现。

实验中,MobileNet的计算量和参数量统计:

实验中,发现在depthwise层不添加或添加较少的权重正则项比较有效

(3)超参数

a.width multiplier:thinner models

将层的输入和输出的channel 均压缩α倍, α参数取值为1,0.75,0.5,0.25. 可以将计算量和参数量减少α2

 b.resolution multiplier: reduced representation

因子ρ将网络输入的大小降至224,192,160,128,可以将计算量减少ρ2

 

3.实验

(1)MobileNet精度下降1%,计算量和参数大幅下降。

(2)瘦的MobileNet(α=0.75)比浅的MobileNet(5层)在计算量和参数量相差不大的情况下,瘦的MobileNet精度好。

(3)后面作者在一些实际应用方面(细粒度分类、目标检测)与流行网络进行了对比。

 

总的来说,MobileNet是一种旨在不明显降低准确率的前提下显著降低计算量和参数量,提高速度的优秀方法,进行简单二分类测试速度确实较快。

posted @ 2018-03-19 22:59  stay_heart  阅读(383)  评论(0编辑  收藏  举报