mobilenet

mobilenet 在速度、模型大小上做了优化,并保持精度基本不变。

mobilenet_第1张图片


mobilenet 采用了depthwise separable convolutions(L. Sifre. Rigid-motion scattering for image classification, 2014. 1, 3) 的思想,在用3x3(或更大尺寸)卷积的时候并不对通道进行融合,而是采用depthwise(或叫channelwise)和1x1 pointwise的方法进行分解卷积。如下图

mobilenet_第2张图片

计算量从降低为


整个mobilenet的架构如下图

mobilenet_第3张图片

为了更好地控制计算量,mobilenet引入Width Multiplier和Resolution Multiplier分别对网络进行瘦身和降低分辨率。

在图片分类任务上其大致的效果如下

mobilenet_第4张图片

mobilenet_第5张图片


在更多任务上的比较见作者文章: https://arxiv.org/pdf/1704.04861.pdf

有tensorflow的实现: https://github.com/tensorflow/models/blob/master/slim/nets/mobilenet_v1.md

caffe也有人实现: https://github.com/shicai/MobileNet-Caffe, 他是通过caffe 的group参数来实现channelwise的操作的,由于实现的问题和cuda/cudnn对其支持得不好,训练起来十分慢。前向预测时在CPU上的耗时大概是googlenet的70%。

你可能感兴趣的:(深度学习)