前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >5分钟,不仅精通MobileNet系列网络,更能...

5分钟,不仅精通MobileNet系列网络,更能...

作者头像
灿视学长
发布2021-07-07 10:30:39
5200
发布2021-07-07 10:30:39
举报
文章被收录于专栏:灿视学长

MobileNet系列盘点(科研灵感也可借鉴)

大家好,周末愉快!

今天是团队中的

BJWang

给大家带来的,关于

MobileNet

系列文章的梳理。

本文主要是从直观感受上,了解下每一个网络有哪些新模块的设计,具体的原理与代码,可以扫码去相对应的

git

中看更详细的内容。

我们可以先看下其相对应的跨界应用,再来一步步看

Mobile
Net

系列的大作!:

相关运用

  • 图像去噪

其中的Mobilnet提出的

Separable
Convolution

Pointwise
Convolution

在别的领域中也做出了相对应的贡献,如图像去雨滴,图像去雾,图像去雨线领域中的一篇

NAS-Net

的主要创新点就是使用这俩轻量级的卷积操作,搭建了多维度的

Attention

操作,得到更好的效果。

  • 生成对抗网络领域 使用了
Depthwise
Separable
Convolution

来优化其生成图像的速度~

  • 超分辨率领域 针对参数量的问题,引入
Depthwise
Separable
Convolution

来优化参数量。同时增加多个模块,来增加模块间的信息流动。

  • 图像分割领域 实时的分割网络,引入了
Depthwise
Separable
Convolution

来搭建

BackBone

  • 其他领域 总体来说,
Mobile
Net

系列网络,对于实时参数量这块的影响,还是蛮大的,催发了不少论文,各位可以一起先学习下整个Mobile Net系列网络哦~

老铁们!奥利给!看文章之前,先关注下咱哈!同时我们准备了《百面计算机视觉第三版》的Github地址,建议收藏!

技术汇总

《百面计算机视觉汇总》

点击文末阅读原文,跳转到《百面第三版》Github地址,欢迎STAR!

MobileNet系列算法之V1

更详细文章,可扫码观看:

MobileNet

-

V1

网络是由

google

团队在

2017

年提出的,专注于移动端或者嵌入式设备中的轻量级

CNN

网络。相比传统卷积神经网络,在准确率小幅降低的前提下大大减少模型参数与运算量。

其主要亮点有两个:

  • 采用
Depthwise
Separable
Convolution

大大降低了计量量。

  • 增加超参数
α

β

来控制网络模型。

Depthwise
Separable
Convolution

深度可分卷积是由

DW

卷积和

PW

卷积组合而来,一般来说

DW

卷积用于提取特征,

PW

用于降低或者升高

channel

的维度。

Depthwise
Separable
Convolution

如下图

1

中左上角所示为传统卷积方式,即卷积核的

channel

是等于输入特征矩阵的

channel

,而输出特征矩阵的

channel

是等于卷积核的个数。

如下图

1

中右下角所示为

Depthwise
Converlution

Depthwise
Converlution

是将单个卷积核应用于每个输入通道,例如输入的特征为

RGB

三个通道,对应的

Depthwise
Converlution

就有三个卷积核分别去和

R

G

B

通道做计算,得到三个输出特征,更进一步看,

Depthwise
Converlution

的输出

channel

和输入

channel

是相等的。

1
Depthwise
Converlution

和传统卷积计算过程

Pointwise
Convolution

如下图

2

所示,其实

PW

卷积就是普通的卷积而已,只不过卷积核大小为1。通常

DW

卷积和

PW

卷积是放在一起使用的,先使用

DW

卷积提取特征,再使用

PW

卷积做通道维度的变换,二者合起来叫做

Depthwise
Separable
Convolution

(深度可分卷积)。

2
Pointwise
Convolution

计算过程

超参数设计

Mobilenet
v1

原论文中,还提出了两个超参数,一个是

α

一个是

ρ

其中参数

α

,称为宽度因子。使用超参数

ɑ

DW

卷积核的个数以及

PW

卷积核的个数进行等比例缩小。因此其计算量变为:

{D_K}

·

{D_K}

·

ɑ
M

·

{D_F}

·

{D_F}

+

ɑ
M

·

ɑ
N

·

{D_F}

·

{D_F}

这里的

ɑ

∈(

0

1

], 这里的

ɑ

值分别取了

1

0.75

0.5

0.25

。当

ɑ

=

1

时即为上面的

MobileNet

结构。

如下图

3

是分别采用不同的

α

值对应的精确度、计算量和参数量,

α

值越小,对应的精度越低,但其计算量和参数量也会越少。用户可以根据不同的场景来选择不同的

α

参数。

3

不同α值下的模型参数量、计算量以及精度


第二个参数

ρ

,称为分辨率因子。超参数

ρ

用来降低空间分辨率。用法和

ɑ

一样。因此其计算量变为:

{D_K}

·

{D_K}

·

ɑ
M

·

ρ
{D_F}

·

ρ
{D_F}

+

ɑ
M

·

ɑ
N

·

ρ
{D_F}

·

ρ
{D_F}

。这里

ρ

∈(

0

1

]。因此空间分辨率变为了

224

192

160

128

,能够降低计算量,但无法降低参数量。

如下图4所示为分别采用不同的

ρ

值对应的精确度、计算量和参数量。随着

ρ

值降低,模型精度和计算量都在减少,但参数量并没有减少。

4

不同ρ值下的模型参数量、计算量以及精度

MobileNet 系列算法之 V2

更详细文章,可扫码观看 :

针对

MobileNet

-

V1

中出现的

Depthwise

部分的卷积核容易废掉,即卷积核参数大部分为零的问题,

Google

团队在

2018

年提出

MobileNet

-

V2

,相比于

MobileNet

-

V1

网络,准确率更高,模型更小。

其主要亮点有两个:

  • 使用了
Inverted
Residuals

(倒残差结构)

  • 使用了
Linear
Bottlenecks

Inverted
Residuals

区别于传统卷积采用先降维再升维度,

MobileNet

-

V2

中的

Inverted
Residuals

采用先升维再降维的方式,来保证

DW

深度卷积能够在高纬度上进行计算。

1
Inverted
Residuals

和传统残差对比

Linear
Bottlenecks

作者提出

ReLU

将会导致的信息损耗,因此将

ReLU

替换成线性激活函数。当然了并不是将所有的

ReLU

函数都替换为线性激活函数,而是将

Inverted
Residuals

(倒残差结构)中的最后一个

Relu6

激活函数换成线性激活函数。并对于

stride

=

1

并且输入和输入的

shape

相同的

Bottlenecks

采用了

Resnet

的思想使用

shortcuts

操作增加跳跃连接,减缓梯度传播时造成的梯度弥散。

2
Linear
Bottlenecks

MobileNet

系列算法之

V3

更详细文章,可扫码观看:

MobileNet
v3

同样是由谷歌于

2019

年提出的。在

v2

网络的基础上,

v3

主要有以下四个亮点,其中第一点的

NAS

在本文不做讨论:

  • 使用
NAS

神经架构搜索确定网络结构

v2

block

基础上引入

Squeeze
and
Excitation

结构

  • 使用h-swish激活函数
  • 重新设计耗时层结构

Squeeze
and
Excitation
MobileNet
v3

采用了通道注意力机制,简单来说就是在

MobileNet

-

V2

的倒残差结构中加入

SE

模块,对

3

×

3

卷积层后输出的特征矩阵采用两个全连接层来计算出特征矩阵每一个通道的“重要度”,然后给每个通道乘以相应的重要度得到一个全新的特征矩阵。如下如图

1

中红色框所示。

1
Squeeze
and
Excitation

模块

h

-

swish

激活函数

swish

激活函数的基础上,作者对其进行了改进,提出了

h

-

swish

激活函数。表达式如下:

h-swish(x)=x·\frac{ReLU6(x+3)}{6}

重新设计耗时层结构

1、作者经过实验证明第一层的

bneck

使用

16

个卷积核和使用

32

个卷积核的精度是一样,而使用

16

个卷积核自然是可以提升推理速度。如下图

2

中所示,第一个

bneck

的采用

16

个卷积核。

2

2、精简

Last
Stage

:如下图

3

中所示,上半图为原始

Last
Stage

结构,经过作者实验后采用下图下半部分的网络结构来精简

Last
Stage

可以保证精度几乎不变的情况下,将单图推理性能提升

11%

(减少约

7ms

)。

3

精简

Last
Stage

- END -

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-06-05,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 灿视学长 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • MobileNet系列盘点(科研灵感也可借鉴)
    • 相关运用
      • MobileNet系列算法之V1
        • 超参数设计
      • MobileNet 系列算法之 V2
        • 重新设计耗时层结构
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档