MobileNetV1论文解析: Efficient Convolutional Neural Networks for Mobile Vision Applications

MobileNets(v1): —移动视觉应用的高效卷积神经网络

在这里插入图片描述

论文结构

  1. 摘要:介绍移动计算背景,提出MobileNet模型,在移动端部器复杂神经网络。

  2. 相关介绍:神经网络正确率与高效的矛盾,提出构建小型,低延时,易融合框架。

  3. PriorWork:轻量网络分类及不足MobileNet设计思想。

  4. MobileNet Architecture:深度可分离卷积,MobileNet内部结构,宽度分辨率超参数设计。

  5. Experiments:验证深度可分离卷积,超参数设置及MobileNets结构在不同视觉任务上的表现。

  6. 结论:总结与进行展望。

摘要总结

  1. 提出了针对于移动和嵌入式视觉应用的高效神经网络MobileNets
  2. 深度可分离卷积为主体构建网络结构
  3. 引入两个全局超参数实现准确率与延时性平衡(深度超参数,分辨率超参数
  4. 详实的实验验证了MobileNets的高效性

在这里插入图片描述

MobileNets的整体结构

在论文中给出了整体网络结构的模型示意图:我们将dw和s1看作一个整体作为深度可分离卷积,每一个组合包括两层来组成。

1 + 13 x 2 + 1 (只算全连接层) =28

整个的结构包括28个卷积层组成。

在这里插入图片描述

整个模型的卷积块的特点可以包括以下的几个部分:

  1. 引入深度可分离卷积,将普通卷积替换为深度卷积点卷积

  2. 除第一个卷积层和最后全连接层之外,所有卷积层后都有BN,ReLU相连

在这里插入图片描述

整个降采样的操作并没有采用池化的操作来完成,而是通过设计降采样步长来完成最终的操作的。

n + 2 p − f s + 1 × n + 2 p − f s + 1 \frac{n+2 p-f}{s}+1 \times \frac{n+2 p-f}{s}+1 sn+2pf+1×sn+2pf+1

输入信息:224×224x3 输出信息:1x1x1024

深度可分离卷积 — Depthwise Separable Convolution

普通形式的卷积情况分析:

  • 输入特征F:DF x DF x M
  • 卷积核K:Dk x Dk x M x N
  • 输出特征G:DF x DF x N

在这里插入图片描述
输入和输出之间的连接是一个较为稀疏的连接方式,而通道数之间的连接则是属于密集的连接方式。

在这里插入图片描述
总结:卷积核channel=输入特征矩阵channel。输出特征矩阵channel=卷积核个数

深度可分离卷积的情况分析:

同样也是:

  • 输入特征F:DFxDFxM
  • 输出特征G:DFxDFxN

卷积过程:

  1. 深度卷积:深度卷积都是通道数为一的卷积核,负责一个通道
  2. 点卷积:逐点卷积卷积核大小为1×1xM,每次卷积一个像素的区域(需要的是N个1x1xM的卷积核)

DW卷积—Depthwise Conv

在这里插入图片描述

卷积核channel=1 输入特征矩阵channel=卷积核个数=输出特征矩阵channel

PW卷积—Pointwise Conv

在这里插入图片描述

通过这两个卷积之后的输出达到的结构是完全相同的。

参数量的分析

标准卷积的计算量

在这里插入图片描述

论文中给出了标准卷积的整体的一个计算公式:

G k , l , n = ∑ i , j , m K i , j , m , n ⋅ F k + i − 1 , l + j − 1 , m \mathbf{G}_{k, l, n}=\sum_{i, j, m} \mathbf{K}_{i, j, m, n} \cdot \mathbf{F}_{k+i-1, l+j-1, m} Gk,l,n=i,j,mKi,j,m,nFk+i1,l+j1,m

参数量 G也就是K卷积核 i j 位置下的第m个通道,n代码的是有n个卷积核,ij表示的是像素的位置:

在这里插入图片描述

D K ⋅ D K ⋅ M ⋅ N ⋅ D F ⋅ D F D_{K} \cdot D_{K} \cdot M \cdot N \cdot D_{F} \cdot D_{F} DKDKMNDFDF

深度可分离卷积的计算量

论文中给出了深度卷积(DW)的整体的一个计算公式:

G ^ k , l , m = ∑ i , j K ^ i , j , m ⋅ F k + i − 1 , l + j − 1 , m \hat{\mathbf{G}}_{k, l, m}=\sum_{i, j} \hat{\mathbf{K}}_{i, j, m} \cdot \mathbf{F}_{k+i-1, l+j-1, m} G^k,l,m=i,jK^i,j,mFk+i1,l+j1,m

在这里插入图片描述

Depthwise convolution is extremely efficient relative to standard convolution. However it only filters input chan-nels, it does not combine them to create new features. So an additional layer that computes a linear combination of the output of depthwise convolution via 1 × 1 convolution is needed in order to generate these new features.

深度卷积相对于标准卷积非常有效。 然而,它仅过滤输入通道,不会将它们组合起来创建新功能。 因此,需要一个额外的层来通过 1 × 1 卷积计算深度卷积输出的线性组合,以生成这些新特征。

显然我们的pw卷积的计算公式为:

M ⋅ N ⋅ D F ⋅ D F M \cdot N \cdot D_{F} \cdot D_{F} MNDFDF

综上:我们的深度可分离卷积的整个的参数计算量就为:

在这里插入图片描述

在这里插入图片描述
通过将卷积表示为过滤和组合的两步过程,我们可以减少以下计算:

D K ⋅ D K ⋅ M ⋅ D F ⋅ D F + M ⋅ N ⋅ D F ⋅ D F D K ⋅ D K ⋅ M ⋅ N ⋅ D F ⋅ D F = 1 N + 1 D K 2 \begin{aligned} & \frac{D_{K} \cdot D_{K} \cdot M \cdot D_{F} \cdot D_{F}+M \cdot N \cdot D_{F} \cdot D_{F}}{D_{K} \cdot D_{K} \cdot M \cdot N \cdot D_{F} \cdot D_{F}} \\ = & \frac{1}{N}+\frac{1}{D_{K}^{2}} \end{aligned} =DKDKMNDFDFDKDKMDFDF+MNDFDFN1+DK21

理论上普通卷积计算量是DW+PW的8到9倍

在这里插入图片描述
通过实验也可以看出相比较于VGG16网络我们的MobileNet网络的准确率只有一点下降,但运算量确实之前的1/32 .

MobileNets超参数

  • 宽度超参数
  • 分辨率超参数

宽度超参数-Width Multiplier

  • 为了构造更小型,更实时的网络模型满足实际应用需求

  • 引入宽度超参数α统一规范每层的特征输入输出维度,α∈(0.1],常设为1,0.75,0.5,0.25

    • input channel:M—>aM output channel:N—>aN

D K ⋅ D K ⋅ M ⋅ D F ⋅ D F + M ⋅ N ⋅ D F ⋅ D F ⟶ D K ⋅ D K ⋅ α M ⋅ D F ⋅ D F + α M ⋅ α N ⋅ D F ⋅ D F D_{K} \cdot D_{K} \cdot M \cdot D_{F} \cdot D_{F}+M \cdot N \cdot D_{F} \cdot D_{F} \longrightarrow D_{K} \cdot D_{K} \cdot \alpha M \cdot D_{F} \cdot D_{F}+\alpha M \cdot \alpha N \cdot D_{F} \cdot D_{F} DKDKMDFDF+MNDFDFDKDKαMDFDF+αMαNDFDF

算力消耗约减少为原来的α2

分辨率超参数 - Resolution Multiplier

  • 为了继续减少算力消耗引入分辨率超参数p统一规范特征表示的分辨率大小,p∈(0.11通常跟随输入图像分辨率间接得到。

  • Feature size: DFx DF—>pDFx pDF

在这里插入图片描述

算力消耗约减少为原来的p2

通过论文中给出的图表数据可以更近一步的感受到,使用了两个超参数之后,更进一步的减少了计算量

在这里插入图片描述
但导致了准确率的一点下降。
在这里插入图片描述

不足:depthwise部分的卷积核容易费掉,即卷积核参数大部分为零。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

总有人会抬头看见月亮

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值