论文下载地址:https://arxiv.org/abs/1704.04861
Caffe复现地址:https://github.com/shicai/MobileNet-Caffe
Mobilenet发布在2017年的CVPR。
Mobilenet这篇论文是Google针对手机等嵌入式设备提出的一种轻量级的深层神经网络,取名为MobileNets。个人感觉论文所做工作偏向于模型压缩方面,核心思想就是卷积核的巧妙分解,可以有效减少网络参数。
Mobilenet可以应用于多个领域:目标检测,分类,跟踪等诸多领域。用于移动和嵌入式视觉应用。
下面主要讲述了MobileNet这篇论文的核心:卷积核的巧妙分解来加速运算,有效的减少网络参数。
MobileNet网络结构:
1.深度可分解卷积(核心所在):
将一个标准的卷积操作分为:深度卷积和点卷积。
如图所示:
![](https://img-blog.csdn.net/20180812185554900?watermark/2/text/aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2RvbmtleV8xOTkz/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70)
(a)为标准卷积:计算量为:Dk*Dk*M*N*Dh*Dh Dk表示的是卷积核 M表示的是通道数 N表示的是卷积核的个数 Dh表示的是输入图片的大小。
(b)深度卷积(c)点卷积,表示的是深度可分解卷积。
(b)的计算量:Dk*Dk*M*1*Dh*Dh
(c)的计算量:1*1*M*N*Dh*Dh
深度可分解卷积的计算总量是:b+c
通过比较普通卷积和深度可分解卷积的计算量可以得出:a/(b+c)= 1/N+1/Dk^2 由于Mobilenet使用了3*3的卷积所以在1/8到1/9之间。也就是说计算量减少了接近9倍。同时准确率下降的很少。
![](https://img-blog.csdn.net/20180812191032989?watermark/2/text/aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2RvbmtleV8xOTkz/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70)
Mobilenet的网络结构,图中可以看出网络大多数时间都用在了1*1卷积的计算上,参数也占了74.59%。
为了构建更小,更少计算量的网络作者引入了宽度乘数和分辨率乘数:
宽度乘数:改变输入和输出的通道数减少特征图的数量来减少计算。
![](https://img-blog.csdn.net/2018081219124492?watermark/2/text/aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2RvbmtleV8xOTkz/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70)
分辨率乘数:顾名思义就是通过减小输入图片的大小来起到减少计算。
![](https://img-blog.csdn.net/20180812191923998?watermark/2/text/aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2RvbmtleV8xOTkz/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70)
实验结果:
![](https://img-blog.csdn.net/20180812192054236?watermark/2/text/aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2RvbmtleV8xOTkz/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70)
以上就是Mobilenet的核心知识点。