轻量级深度学习网络——MobileNet & MobileNet v2

这篇文章主要讲的是深度学习网络篇中轻量化网络之一的MobileNet和MobileNet v2。在深度学习中轻量化网络有很多方法, 比如说卷积核分解、使用bottleneck结构、用低精度浮点数保存模型、冗余卷积核剪枝和哈弗曼编码等等。MobileNet的主要是在卷积核分解方面做文章,友情提示:MobileNet不是模型压缩技术,而是一种网络形式的优化。下面就进入我们今天的正题——MobileNet & MobileNet v2
MobileNets: Efficient Convolutional Neural Networks for Mobile Vision Applications——MobileNet论文地址
MobileNetV2: Inverted Residuals and Linear Bottlenecks——MobileNet v2论文地址

MobileNet主要从以下四个方面来介绍:

  • MobileNet改变的卷积结构
  • MobileNet的网络结构
  • 两个超参——宽度因子和分辨率因子
  • 更多的实验环节

MobileNet改变的卷积结构

首先声明,并不是从这篇文章开始对卷积进行优化的,在此之前有很多大佬们都对卷积结构进行过优化,比如说我们下面要补充的这篇文章——Factorized Convolutional Neural Networks (论文地址)。至于为什么MobileNet有更多的关注,个人猜测可能效果要更好一些。


先补充一下关于Factorized Convolutional的东西,这样我们理解MobileNet的卷积结构会更轻松。
Factorized Convolutional Neural Networks:因式分解卷积神经网络
我们先来看最最普通的卷积,输入图像(长x宽x通道数): ( h ∗ w ) ∗ M (h * w) * M (hw)M,输出图像(长x宽x通道数): ( h ∗ w ) ∗ N (h * w) * N (hw)N,卷积核大小(3D卷积:长x宽x通道数x数量): [ ( k ∗ k ) ∗ M ] ∗ N [(k * k) * M] * N [(kk)M]N
它的卷积过程如下图:
在这里插入图片描述
经过Factorized Convolutional优化过的bases卷积,输入输出同上,卷积操作被分为两步(这是这篇文章中因式分解卷积的精髓),第一步是将通道分离开来,对于单通道进行3D卷积,生成b个通道数的Feature Map;第二步是将M个b通道数的Feature Map进行卷积数量为N个、卷积大小为1x1xM的卷积操作;
它的卷积过程如下图:
在这里插入图片描述
Factorized Convolutional还有其他方法优化的卷积,比如说基于bases的stacked的卷积结构和拓扑连接等等。有兴趣的伙伴们可以去看论文的原文或者博客,吼吼吼!


看过了Factorized Convolutional以后,我们来看一下MobileNet里面卷积结构。输入和输出同上,卷积同样分为两步,第一步是深度卷积(depthwise convolution),即对输入图像进行数量为M大小为kxkx1的2D卷积;第二步是点态卷积(pointwise convolution),即进行数量为N个大小为1x1xM的卷积进行卷积;
它的卷积过程如下图:
在这里插入图片描述
我们可以用比率来比较优化后和优化前的计算量:
( k ∗ k + N ) ∗ M ∗ h ∗ w [ ( k ∗ k ) ∗ M ] ∗ [ ( h ∗ w ) ∗ N ] = 1 N + 1 k 2 \frac{(k * k + N) * M * h * w}{[(k * k) * M] * [(h * w) * N]} = \frac{1}{N} + \frac{1}{k^2} [(kk)M][

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值