Mobile-Efficient Convolutional Neural Network for Mobile Vision Applications

摘要

MobileNet网络是一种针对移动端以及嵌入式视觉应用的轻量网络结构,作者来自Google。其贡献在于使用深度可分离卷积1x1卷积代替传统的2d图像卷积,来构造轻型权重深度神经网络。在资源和准确率的权衡方面做了大量的实验并且相较于其他在ImageNet分类任务上著名的模型有很好的表现。

网络由来

  • 网络小型化方法:
    (1)卷积核分解:将一般的卷积操作分解成深度卷积和1x1的点卷积方式。
    (2)使用bottleneck结构,以SqueezeNet为代表。
    (3)以低精度浮点数保存,例如Deep Compression。
    (4)冗余卷积核剪枝及哈弗曼编码。
  • 传统3D图像卷积:
    传统的3D图像卷积指的是一个多通道的图像(假设图像通道数为M,C>1) 和N个KxK的卷积核(这N个卷积核互不相同)做卷积,即深度神经网络中的卷积层所作的事情。卷积的流程是:
    (1)对于其中一个卷积核,分别与图像的每个通道做2d图像卷积,M个通道得到M个卷积结果;
    (2)对这M个卷积结果按元素求和,得到一张求和结果;
    (3)对N个卷积核中的每个核,重复步骤(1)-(2),即得到一个通道为N的卷积结果,即featuremap。
    该过程的计算量为:((K x K x H x W) x M )x N
    在这里插入图片描述
  • 深度可分离卷积
    深度可分离卷积(depthwith conv) 实际上就是传统3D卷积过程中的步骤(1),将1个卷积核分别与每个通道进行卷积,得到M个卷积结果
    在这里插入图片描述
  • 1X1卷积
    1x1卷积最初来自于Network in Network 网络,主要用于通道压缩上,即改变特征图的通道数,后也用来代替全连接层以减少计算量。
    对于一个通道数为M的图像,N个1x1卷积的计算量为:((1 x 1 x H x W) x M) x N
    在这里插入图片描述
  • MobileNet方案
    对于一个标准的卷积操作,可用一个深度可分离卷积核一个1x1卷积替代,其计算量为:
    (K x K x H x W) x M + ((1 x 1 x H x W) x M) x N = H x W x (K x K + N) x M

相比与标准的卷积操作,其计算量减少量为:
(H x W x M x (K x K + N) )/(H x W x K x K x M x N) = 1/N + 1/(K x K)

参考文章:

MobileNets:Efficient Convolutional Neural Networks for Mobile Vision Applications

CNN模型之MobileNet

MobileNet网络的理解

之后将研读MobileNetV2
大家可参考以下大神的文章:
轻量级网络–MobileNetV2论文解读

MobileNetV2深度解析

Tensorflow MobileNetV2的目标检测测试

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值