【网络优化】MobileNets

转自:http://blog.csdn.net/cv_family_z/article/details/70847482?locationNum=1&fps=1

TensorFlow实现:https://github.com/Zehaos/MobileNet
caffe实现:https://github.com/pby5/MobileNet_Caffe

MobileNets用于手机或嵌入式视觉应用,提出使用depthwise separable convolutions 构造轻量化的深度神经网络,并使用两个全局超参数Width Multiplier和Resolution Multiplier减少参数数量。

模型结构
1. Depthwise Separable Convolution
标准的卷积滤波和特征组合在一步内完成,Depthwise Separable卷积将标准的卷积分解为一个depthwise卷积和一个1*1的pointwise卷积。depthwise卷积对每个输入通道用一个滤波器计算,pointwise卷积使用1*1的卷积组合depthwise的结果。这个分解可以有效降低计算量和模型大小,分解过程如下图所示:
【网络优化】MobileNets_第1张图片
分解前后计算量对比为,分解后计算量降低了8~9倍:
【网络优化】MobileNets_第2张图片
2. 网络结构
MobileNet第一层是全卷积,其余卷积层使用depthwise separable卷积构建,除最后一层,所有层与Batch Norm和ReLU衔接,最后一层输入到softmax层。MobileNet的网络结构为:
【网络优化】MobileNets_第3张图片
下图显示了分解卷积与常规卷积的区别:
【网络优化】MobileNets_第4张图片

MobileNet花费了95%的计算时间在1*1的卷积上,主要参数也在1*1卷积中,其余的参数在全连接层中,如下表所示:
【网络优化】MobileNets_第5张图片
3. 模型瘦身-width乘子α
输入通道数乘子α
4. 降低分辨率-分辨率乘子ρ
降低输入图像或特征图的分辨率,计算量下降ρ2

实验结果
MobileNet与GoogleNet,Vgg16对比,准确度差不多,但参数少很多
【网络优化】MobileNets_第6张图片

物体检测结果,使用Faster-RCNN,SSD框架与VGG,Inception V2对比:
【网络优化】MobileNets_第7张图片

你可能感兴趣的:(深度学习,模型压缩)