深度学习网络结构发展

经典网络结构

LeNet5

由两个卷积层,两个池化层,两个全连接层组成。卷积核都是5×5,stride=1,池化层使用maxpooling

在这里插入图片描述

AlexNet

模型共八层(不算input层),包含五个卷积层、三个全连接层。最后一层使用softmax做分类输出

AlexNet使用了ReLU做激活函数;防止过拟合使用dropout和数据增强;双GPU实现;使用LRN

在这里插入图片描述

VGG

全部使用3×3卷积核的堆叠,来模拟更大的感受野,并且网络层数更深。VGG有五段卷积,每段卷积后接一层最大池化。卷积核数目逐渐增加。

在这里插入图片描述

inception v1(由多个inception v1模块组成)

GoogLeNet就是从减少参数的角度来设计网络结构的。GoogLeNet通过增加网络宽度的方式来增加网络复杂度,使用不同大小的卷积核意味着不同的感受野。在大卷积核前增加一个1*1卷积减少参数量。

inception v2

在v1的基础上加入batch normalization技术,在tensorflow中,使用BN在激活函数之前效果更好;将5×5卷积替换成两个连续的3×3卷积,使网络更深,参数更少

Inception-v3

核心思想是将卷积核分解成更小的卷积,如将7×7分解成1×7和7×1两个卷积核,使网络参数减少,深度加深

Inception-v4

引入了ResNet,使训练加速,性能提升。但是当滤波器的数目过大(>1000)时,训练很不稳定,可以加入activate scaling因子来缓解

Xception

Xception网络是由inception结构加上depthwise separable convlution(深度可分离卷积),再加上残差网络结构改进而来。

MobileNet V1

使用depthwise separable convolutions。首先是一个3x3的标准卷积,s2进行下采样。然后就是堆积深度可分离卷积,并且其中的部分深度卷积会利用s2进行下采样。然后采用平均池化层将feature变成1x1,根据预测类别大小加上全连接层,最后是一个softmax层。整个网络有28层,其中深度卷积层有13层。
在这里插入图片描述

MobileNet V2

相比v1有三点不同:1.引入了残差结构;2.在dw之前先进行1×1卷积增加feature map通道数,与一般的residual block是不同的;3.pointwise结束之后弃用ReLU,改为linear激活函数,来防止ReLU对特征的破环。这样做是因为dw层提取的特征受限于输入的通道数,若采用传统的residual block,先压缩那dw可提取的特征就更少了,因此一开始不压缩,反而先扩张。但是当采用扩张-卷积-压缩时,在压缩之后会碰到一个问题,ReLU会破环特征,而特征本来就已经被压缩,再经过ReLU还会损失一部分特征,应该采用linear

在这里插入图片描述
在这里插入图片描述

MobileNet V3

互补搜索技术组合:由资源受限的NAS执行模块集搜索,NetAdapt执行局部搜索;网络结构改进:将最后一步的平均池化层前移并移除最后一个卷积层,引入h-swish激活函数,修改了开始的滤波器组。

V3综合了v1的深度可分离卷积,v2的具有线性瓶颈的反残差结构,SE结构的轻量级注意力模型。

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

EffNet

EffNet是对MobileNet-v1的改进,主要思想是:将MobileNet-1的dw层分解层两个3×1和1×3的dw层,这样 第一层之后就采用pooling,从而减少第二层的计算量。EffNet比MobileNet-v1和ShuffleNet-v1模型更小,进度更高。

在这里插入图片描述
在这里插入图片描述

EfficientNet

研究网络设计时在depth, width, resolution上进行扩展的方式,以及之间的相互关系。可以取得更高的效率和准确率。

在这里插入图片描述

ResNet

VGG证明更深的网络层数是提高精度的有效手段,但是更深的网络极易导致梯度弥散,从而导致网络无法收敛。经测试,20层以上会随着层数增加收敛效果越来越差。ResNet可以很好的解决梯度消失的问题(其实是缓解,并不能真正解决),ResNet增加了shortcut连边。

在这里插入图片描述

ResNeXt

基于ResNet和Inception的split+transform+concate结合。但效果却比ResNet、Inception、Inception-ResNet效果都要好。可以使用group convolution。一般来说增加网络表达能力的途径有三种:1.增加网络深度,如从AlexNet到ResNet,但是实验结果表明由网络深度带来的提升越来越小;2.增加网络模块的宽度,但是宽度的增加必然带来指数级的参数规模提升,也非主流CNN设计;3.改善CNN网络结构设计,如Inception系列和ResNeXt等。且实验发现增加Cardinatity即一个block中所具有的相同分支的数目可以更好的提升模型表达能力。

在这里插入图片描述
在这里插入图片描述

DenseNet

DenseNet通过特征重用来大幅减少网络的参数量,又在一定程度上缓解了梯度消失问题。

在这里插入图片描述

SqueezeNet

提出了fire-module:squeeze层+expand层。Squeeze层就是1×1卷积,expand层用1×1和3×3分别卷积,然后concatenation。squeezeNet参数是alexnet的1/50,经过压缩之后是1/510,但是准确率和alexnet相当。

在这里插入图片描述

ShuffleNet系列

V1

![在这里插入图片描述](https://img-blog.csdnimg.cn/20200612163826714.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQzNjQxNjAw,size_16,color_FFFFFF,t_70)通过分组卷积与1×1的逐点群卷积核来降低计算量,通过重组通道来丰富各个通道的信息。Xception和ResNeXt在小型网络模型中效率较低,因为大量的1×1卷积很耗资源,因此提出逐点群卷积来降低计算复杂度,但是使用逐点群卷积会有副作用,故在此基础上提出通道shuffle来帮助信息流通。虽然dw可以减少计算量和参数量,但是在低功耗设备上,与密集的操作相比,计算、存储访问的效率更差,故shufflenet上旨在bottleneck上使用深度卷积,尽可能减少开销。

在这里插入图片描述
V2

使神经网络更加高效的CNN网络结构设计准则:

输入通道数与输出通道数保持相等可以最小化内存访问成本

分组卷积中使用过多的分组会增加内存访问成本

网络结构太复杂(分支和基本单元过多)会降低网络的并行程度

element-wise的操作消耗也不可忽略

在这里插入图片描述

SENet

在这里插入图片描述

SKNet

在这里插入图片描述
转载:https://blog.csdn.net/weixin_43876801/article/details/102886491

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值