您现在的位置: 台岭门户网站 > 文化 > 「网上澳门赌博合法」MobileNets进化史

「网上澳门赌博合法」MobileNets进化史


2020-01-09 11:59:56   【  】    【打印】    【关闭


「网上澳门赌博合法」MobileNets进化史

网上澳门赌博合法,bdtc大会官网:https://t.csdnimg.cn/q4ty

一、mobilenets v1(2017)

论文链接:

https://arxiv.gg363.site/abs/1704.04861

摘要

为了处理移动和嵌入式视觉任务,本文提出了mobilenets模型。mobilenets基于流线型结构设计,利用深度可分离卷积来建立轻量级深度神经网络。mobilenets引入了两个超参数,让我们可以根据不同任务的条件约束,自由选择模型的尺度规模,通过这两个简单的全局超参数,mobilenets在速度和精度两方面实现了很好的均衡。实验证明,作为轻量级深度网络,mobilenets在诸如识别,定位,检测等计算机视觉任务中都具有普适性和有效性。

简介

为了获得更丰富,更多层次的特征,现有的卷积神经网络倾向于在网络宽度,深度方面做文章。这些方法固然提升了网络的性能,但同时也带来了复杂的网络结构和繁琐的参数设置,在算力,速度,存储空间上都有很大的不足,这些缺陷,也阻碍了一些理论上很好的网络架构在真实应用中的项目落地。

为了满足移动和嵌入式视觉任务的需要,mobilenets构造了一种高效的网络架构,同时引入两个超参数,以便构建体量小、延迟低的模型。

背景

mobilenets的设计主要建立在深度可分离卷积的知识上,所以先了解一下深度可分离卷积的思想,对下文mobilenets的理解有帮助。

深度可分离卷积,英文表述是depthwise separable conv。下图是一个典型的深度可分离卷积结构,整体可以分为两大步骤:depthwise conv和pointwiseconv。与传统卷积相比,极大的减少了参数量。具体解释一下这两个步骤:

depthwise conv:按照通道数进行卷积,为每一个通道分配一个卷积核,得到的feature maps的维度为输入通道数。

将第一步得到的feature maps concat起来,进行1x1卷积。得到最终深度可分离卷积的输出。

这样做,参数量是否真的减少了呢?我们可以用一个小模型举例:

输入 feature map:w x h x 5

卷积核:3x3x3(共3个,每个尺寸为3x3的卷积核)

预期输出feature map:w x h x 3

(1)标准卷积:

parameters=3x3x5x3=135

(2)深度可分离卷积:

parameters=3x3x5+1x1x5x3=60

(3)两种卷积参数量对比:

可以看到,即使在卷积核数量很少,输入输出维度相差不大的情况下,参数量也减少了一般以上。如果卷积核数量增加,卷积越复杂,参数减少的效果会越明显。

mobilenet 结构

深度可分离卷积

在背景知识中,我们已经简单的介绍了关于深度可分离卷积的相关内容。mobilenets主要是依托其建立的,本节中,我们用具体的公式进行阐述和理解。

总体而言,深度可分离卷积可以看做是一种分解卷积的形式,它将标准卷积分解为深度卷积和点卷积(1x1卷积)。mobilenets中,在depthwise conv阶段,对于输入特征图的每一个通道都应用一个卷积核,然后在pointwiseconv阶段,利用1x1的卷积将第一步得到的featuremap结合起来,得到最终输出。一个标准卷积在一个步骤中过滤并将输入组合成一组新的输出,而在深度可分离卷积中,将此过程一分为二,首先进行滤波,然后进行合并。这种卷积分解的效果是大大减少了计算量和模型大小。具体可以表示为:

(a) 标准卷积:

下图是标准卷积中的卷积核,共有n个卷积核,每一个卷积核的通道数等于输入feature的通道数

那么标准卷积的输出,可以表示为:

计算成本为:

标准卷积运算的作用是基于卷积核对特征进行滤波,并结合特征得到新的表示。

(b)深度可分离卷积

下图是深度可分离卷积的卷积核和点点卷积部分示意图。深度可分卷积由深度卷积和点卷积构成。使用深度卷积为每个输入通道应用一个卷积核。随后进行一个简单的1×1卷积,mobilenets对两个步骤都使用bn层和relu激活函数。

深度可分离卷积的输出,可以表示为:

计算成本,可以分两步表示:

depthwise conv部分,计算成本为:

pointwise conv部分,计算成本为:

那么,总的计算成本为:

可以比较一下两种卷积的参数量,深度可分离卷积参数:标准卷积参数比值为

其中,n是卷积核的数量,dk 是卷积核尺寸。从中也可以看出,卷积核数量越多,尺寸越大,参数减少量越显著。作者通过实验表明,mobilenet使用3×3深度可分离卷积,相比标准卷积,计算量减少了8到9倍,仅在精度上略有降低。

网络结构和训练

有了深度可分离卷积的基础,本小节主要探讨mobilenets的结构设计和具体训练情况。

下图是mobilenet中一个块的结构,可以看到,相比传统卷积,mobilenet在depthwise conv和pointwise conv后面都加入了bn层和relu层。

有了基本结构之后,我们可以看一下mobilenet主体的结构,如下表所示,s表示步长,用来下采样。

在训练上的要点有:

利用rmsprop优化算法,使用较少的正则化和数据扩充技术,因为小型模型的过拟合问题较少,在深度方向的滤波器上设置很小或没有权值衰减(l2正则化),因为它们的参数很少。

在摘要部分就提到,mobilenets引入了两个超参数,让我们可以根据不同任务的条件约束,自由选择模型的尺度规模,下面就来介绍一下这两个超参数。

width multiplier: thinner models

尽管基础的mobilenet结构已经具备了低延时,模型小的优势。但是有时候一个具体的案例或者应用可能会需要更小型、更快速的网络结构,这个时候,就需要我们根据基础的mobilenets灵活设计,因此,引入了第一个超参数,width multiplier α,宽度参数 α的作用是将每一层的网络变得更thin。对于一个给定的层,输入通道由 mm 变为αm,输出通道由 nn 变为 αn,那么相应的mobilenets的计算成本变为:

α的取值范围为(0,1],通常的取值有1,0.75,0.5和0.25。如果α取1的话,就是基础的mobilenets,如果 αpha <1,就是一个更thin的mobilenets。宽度参数的引入,大大减少了参数量,减少约 α^2。

resolution multiplier: reduced representation

宽度参数α能够让网络变得更thin,除此之外,mobilenets中还引入了第二个超参数,分辨率参数ρ来减少神经网络的计算成本。将分辨率参数应用到包括输入层的每一层网络中。同时应用宽度参数αph和分辨率参数 ρ之后,计算成本变为:

其中,ρ的范围是(0,1],通常通过 ρ的设置使得分辨率变为224,192,160或128。如果 ρ取1,就是基础mobilenets,如果 ρ<1,就是一个分辨率更小的mobilenets。宽度参数的引入,大大减少了参数量,减少约 ρ^2。

由于mobilenets v1是mobilenets系列的开山之作,所以我们介绍的比较详细,接下来的v2和v3,只针对创新点,具体算法和结构进行介绍。

二、mobilenets v2(2018)

论文链接:

http://openaccess.thecvf.com/content_cvpr_2018/html/sandler_mobilenetv2_inverted_residuals_cvpr_2018_paper.html

创新点

linear bottlenecks

在高维空间上,诸如relu这种激活函数能有效增加特征的非线性表达,但是仅限于在高维空间中,如果维度降低,到了低维空间,再加入relu则会破坏特征,如下图所示,当把原始输入维度增加到15或30后再作为relu的输入,输出恢复到原始维度后不会丢失太多的输入信息;相比之下如果原始输入维度只增加到2或3后再加上relu进行非线性转化,输出恢复到原始维度后信息丢失较多。

基于这些结论,作者在mobilenets v2中提出了linear bottlenecks结构,也就是在执行了降维的卷积层后面,不再加入类似relu等的激活函数进行非线性转化,这样做的目的也是尽可能的不造成信息丢失。

inverted residuals

在resnet中,为了构建更深的网络,提出了resnet的另一种形式,bottleneck,结构如下所示,一个bottleneck由一个1x1卷积(降维),3x3卷积和1x1卷积(升维)构成。

但是这种先降维后升维的顺序不太适合mobilenets,因为在mobilenets中的深度可分离卷积中,depthwise conv卷积的层数是输入通道数,本身就比较少,如果跟残差网络中的bottleneck一样,先压缩,后卷积提取,可得到的特征就太少了。因此,本文采取了一种逆向的方法,先升维,卷积,再降维,称为inverted residuals。如下图所示,(a)在残差网络block中,先降维后卷积升维,而在inverted residual block中,先升维,再卷积降维。

网络结构

在mobilenets v2中,基本的结构组成是一个带残差的深度可分离卷积bottleneck。

先回顾一下mobilenets v1的结构,非常的简洁,基于深度可分离卷积,先进行depthwiseconv,再进行pointwise conv。得到最终的输出特征。

而在mobilenets v2中,引入了linearbottlenecks和inverted residuals等结构,可以看到,在原先的基础上,再进行depthwiseconv之间,先进行了一个1x1卷积,用于升维,而且在降维操作后,不再接入relu等非线性激活函数。当且仅当输入输出层维度相同时,才利用shortcut进行连接。因此有下图两种结构

三、mobilenets v3(2019)

*在mobilenets中还有关于网络搜索部分的论述说明,这里不做过多介绍,感兴趣可点击原文阅读。

论文链接:

https://arxiv.gg363.site/abs/1905.02244

mobilenets v1引入深度可分卷积作为传统卷积层的有效替代。深度可分离卷积通过将空间滤波与特征生成机制分离,有效地分解了传统卷积。深度可分卷积由两个独立的层定义:用于空间滤波的轻量级深度卷积和用于生成特征的1x1点卷积,通过独立层的定义,有效地减少了参数量,提升运行效率。

mobilenets v2 引入了linear bottleneck和inverted residual结构,很好的扩展了mobilenets v1,如下图所示,v2由1x1升维、深度卷积和1x1降维组成。当且仅当输入和输出具有相同数量的通道时,才使用residual连接进行连接。这种结构在输入和输出处保持了一种紧凑的表示,同时在内部扩展到高维特征空间,以增加非线性全通道转换的表现力。

在mobilenets的基础上,mnasnet在在bottleneck结构中引入了基于挤压和激励的轻量级注意力模块。进一步对mobilenetsv2进行了扩展。

创新点

mobilenets v3博采众长,使用这些层的组合作为构建块,以构建最有效的模型。如下图所示,综合了以上三种模型的思想:mobilenets v1的深度可分离卷积,mobilenets v2的线性bottleneck和逆残差结构,mnasnet的基于挤压和激励结构的轻量级注意力模型。

激活函数swish

谷歌在2017提出的h-swish是基于swish激活函数的改进,所以先了解一下swish。

(1)表达式:

(2)图像:

(3)优势:swish具备无上界有下界、平滑、非单调的特性。并且swish在深层模型上的效果优于relu。

但是在mobilenets v3中,作者认为在轻量级的架构中,swish会增加运算成本,于是提出了h-swish进行替代。

新的激活函数h-swish

作者认为,可以用一个近似函数逼近swish中的σ部分,减少运行成本。

网络结构

如下图所示,在mobilenets v2使用1×1卷积来构建最后层,能得到更高维的特征空间。在预测时,能提取到更丰富的特征,但是同时也引入了额外的计算成本与延时。

因此,作者的想法是在保留高维,具有丰富特征的前提下,尽量减少时延,具体改进如下图所示,将带有h-wise的1x1层放在平均池化层之后。

自2017年v1版本发布以来,谷歌家的mobilenets系列一直是轻量级网络中的翘楚,经过三个版本的更新迭代,mobilenets早已成为在移动端部署深度卷积网络的代表算法。本文按照时间线,梳理mobilenet三个版本的核心算法思想,并探讨更新过程中的具体改进,希望通过此文,我们能够对mobilenets有一个更清晰直观的了解。

(*本文为ai科技大本营投稿,转载请微信联系1092722531)

2019 中国大数据技术大会(bdtc)再度来袭!豪华主席阵容及百位技术专家齐聚,15 场精选专题技术和行业论坛,超强干货+技术剖析+行业实践立体解读,深入解析热门技术在行业中的实践落地。6.6 折票限时特惠(立减1400元),学生票仅 599 元!

© Copyright 2018-2019 meethilassi.com台岭门户网站 Inc. All Rights Reserved.