轻量级深度学习网络概览

调研了一下最近的一些轻量级网络,列举并简单介绍各个网络的设计思路

PVANET

2016年1月在arxiv网站第一次提交
文章地址:https://arxiv.org/abs/1608.08021
代码链接:https://github.com/sanghoon/pva-faster-rcnn

文章目的是减少网络计算量加快网络的速度,文章采用C.Relu(类似于一个对称的Relu函数)和inception结构(分别如下两图所示),通过减少通道数增加网络层数来加速网络

C.Relu结构如下图所示

pvanet1.png

新的inception结构如下图所示

pvanet2.png

pvanet网络结构如下表所示

pvanet3.png

SqueezeNet

2016年2月在arxiv上第一次提交
文章地址:https://arxiv.org/abs/1602.07360
代码地址:https://github.com/DeepScale/SqueezeNet

该文章对精简网络遵循三个策略:

  1. 使用1*1大小的卷积代替3*3的卷积,这样可以减少网络参数
  2. 减少3*3卷积层的输入通道数,因为一层3*3网络参数个数计算方式为(输入通道数*输出通道数*3*3),减少通道数能够很大程度的减少网络参数
  3. 下采样的操作尽量靠后,一般的网络层后会接激活层,文章认为激活层越大网络精度越高,所以推迟对feature map下采样,可以增加激活层的大小,从而提高网络精度。

通过上述三点文章提出fire module的结构,根据fire module构造出sqeezenet

fire module结构如下图所示

sqeezenet1.png

sqeezenet及其两种变式如下图所示

sqeezenet2.png

Densenet

2016年8月在arxiv上第一次提交,发表于CVPR 2017
文章地址:https://arxiv.org/abs/1608.06993
代码地址:https://github.com/liuzhuang13/DenseNet

文章通过借鉴resenet提出的新的网络结构,网络由多个dense block组成,在dense block中每层的输入是前面所有层的输出concat形成的,这样做有下列优点:

  1. 减轻了vanishing-gradient(梯度消失)
  2. 加强了feature的传递
  3. 更有效地利用了feature
  4. 一定程度上较少了参数数量

Dense block结构如下图所示

densenet1.png

DenseNet结构如下表所示

densenet2.png

Xception

2016年10月在arxiv上第一次提交,发表于CVPR 2017
文章地址:https://arxiv.org/abs/1610.02357
代码地址:https://keras.io/applications/#xception

之所以叫Xception,文章指出是因为灵感来自于inception,网络结构其实和inception没太大关系,主要是该网络使用了depthwise和pointwise的卷积,构建了一个新的网络,在与inception V3相同参数量的情况下获得了比inception V3更好的结果

Xception网络结构如下图所示
其中的SeparableConv就是由depthwise和pointwise的卷积组成

xception1.png

CondenseNet

2017年11月在arxiv上第一次提交
文章地址:https://arxiv.org/abs/1711.09224
代码地址: https:// github.com/ShichenLiu/CondenseNet

文章是对Densenet的改进,在Densenet的基础上引入了group conv,但是对于1*1的卷积采用group conv会导致网络效果下降,文章猜测是因为1*1的输入是由前面所有的输出concat得到的,使用group会导致一些不相关的feature map进行计算,从而使得效果降低,所以对于1*1的卷积文章提出了Learned Group Convolution。

Learned Group Convolution不同于Group convolution的是,它可以自己学习分组,而且在得到分组结果后裁去一些组里面不重要的连接

最后对于整体网络结构不同于Densenet的是,不同的block之间的feature map也相互连接,随着网络的加深增大了growth rate(densenet每层的输出通道数)

下图为densenet与CondenseNet单元结构(block)的对比图
左图为DenseNet的结构,中图为CondenseNet训练的结构,右图为CondenseNet推断(inference)的结构

condensenet1.png

CondenseNet网络的结构示意图如下图所示

condensenet2.png

MobileNets

2017年4月在arxiv上提交
论文地址:https://arxiv.org/abs/1704.04861
代码地址:https://github.com/tensorflow/models/tree/master/research/slim/nets

文章目的:该网络设计的主要目的不是减小网络而是加快网络的计算速度

主要思想是将一个普通的卷积分解为一个depth wise的卷积和一个point wise的卷积

depthwise就是每个通道有一个卷积核,卷积结果不想加是独立的
pointwise就是将通道数转化为最终输出的通道数,这样可以将各个通道的输出结果有个结合的过程

网络还有两个参数控制通道数和feature map的大小可以在程序中进行设置

普通卷积、depthwise卷积、pointwise卷积的区别如下图所示

mobilenet1.png

MobileNets网络结构如下表所示

mobilenet2.png

MobileNetV2

2018年1月在arxiv上第一次提交,发表于CVPR 2018
文章地址:https://arxiv.org/abs/1801.04381
代码地址:https://github.com/tensorflow/models/tree/master/research/slim/nets/mobilenet

文章目的:该网络设计是给手机端使用

网络中继承了mobilenet的depthwise和pointwise的思想,并且采用了resnet中的bottleneck的块结构

该文章残差块称为Inverted residuals,不同于残差网络的残差块,这里残差块里面的通道数是先增后减(先增加通道数可以增加网络容量),而且减少通道数的卷积层是不带relu函数的(文章认为relu会对提取好的特征有一定的损伤)

Inverted residuals结构如下图所示
左图为stride=1,右图为stride=2的Inverted residuals结构

MobileNetV2 1.png

MobileNetV2结构如下表所示

MobileNetV2 2.png

ShuffleNet

2017年7月在arxiv上第一次提交
文章地址:https://arxiv.org/abs/1707.01083

文章目的:文章主要考虑的是网络的计算量,提出高效的网络

文章采用了group convolutions和channels shuffle,采用group convolutions是为了减少计算量,采用channels shuffle是为了防止group convolutions带来的负效应

shuffle的结构
左图为正经group convulution这样的操作会导致输入一直到输出提取的特征都是分离的没有任何交集
中图的操作方式会导致GConv2的输入与Gconv1是强相关的
右图加入了shuffle的结构,这样不同组卷积的结果能够一起参与运算

shufflenet1.png

ShuffleNet Units
左图为正经的resnet结构并将3\times 3的卷积改为depthwise convolution
中图和右图为ShuffleNet Units,其中中图stride=1,右图stride=2

shufflenet2.png

ShuffleNet结构如下图所示

shufflenet3.png

ShuffleNet V2

2018年7月在arxiv上提交,发表在ECCV 2018
文章地址:https://arxiv.org/abs/1807.11164

文章认为现在很多评价网络效率的论文都是只考虑FLOPS,这个一种间接的评价方法,应该直接测试网络的速度,因为相同FLOPS的网络可能因为硬件内存等原因导致网络速度不同

通过一系列的试验,文章总结出四点:

  1. 对于网络的某一层来说,输入与输出通道数相同这样能更高的加速网络的计算速度
  2. 群卷积对网络计算速度有一定影响(在相同的FLOPS下,群卷积的分的越细,即g越大,速度越慢)
  3. 分支越多,网络计算速度越慢
  4. 减少element-wise的操作

ShuffleNet V2 Units结构如下图所示
a、b图为ShuffleNet Units,c、d图为ShuffleNet V2 Units
a\c图stride=1,b\d图stride=2

ShuffleNet V2 1.png

ShuffleNet V2网络结构如下图所示
网络框架和shuffle net基本一样

ShuffleNet V2 2.png

IGCV1

2017年7月在arxiv上第一次提交,发表在ICCV 2017

文章地址:https://arxiv.org/abs/1707.02725

文中提出了新的block来消除冗余的卷积核,认为该结构在相同参数量的情况下相对与普通的卷积网络结构更宽,效果更好

新的block就是group convolution+point wise的结合

IGCV1 block结构如下图所示
primary group convolution就是普通的group convolution
secondary group convolution就是point wise convolution

IGC1.png

IGCV2

2018年4月在arxiv上提交,发表在CVPR 2018

文章地址:https://arxiv.org/abs/1804.06202

来自IGCV1的启发。第一,组卷积能够在保证性能的情况下降低复杂度,减少计算量;第二,组卷积中每组分配两个通道能够达到最佳性能。通过上述两点将V1扩展,不只是将输入分为两组卷积,而是采用交错组卷积。

IGCV2 block结构如下图所示

IGCV2 1.png

IGCV3

2018年6月在arxiv上提交
文章地址:https://arxiv.org/abs/1806.00178
代码地址: https://github.com/homles11/IGCV3

在IGCV2和mobilenetV2基础上提出了新的block,block由point wise conv和group wise组成的一个类Inverted residuals的结构,先增加通道数后减少通道数的操作

IGCV3 block结构如下图所示
下图可以很直观的看出block是先增加通道数后减少通道数

IGCV3 1.png

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,098评论 5 476
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,213评论 2 380
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 149,960评论 0 336
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,519评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,512评论 5 364
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,533评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,914评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,574评论 0 256
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,804评论 1 296
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,563评论 2 319
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,644评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,350评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,933评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,908评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,146评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,847评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,361评论 2 342