深度卷积神经网络结构演变

笔者所写博文皆为自己浏览学习之后的心得或笔记,想与读者共同学习进步,欢迎指导交流。若内容有不当或侵权,请联系笔者修改或删除。致谢!
今天看到一篇来自公众号讲解深度卷积神经网络结构的文章,获益匪浅,结合之前的笔记,自己做一个总结便于查询,笔者主要是提出各个网络的创新点等,具体的概念博文中不作解释,有更多更好详细的讲解。即本文旨在了解网络结构的变化演进。
先贴连接:深度卷积神经网络演化历史及结构改进脉络-40页长文全面解读
还有一篇讲Inception家族:一文概览Inception家族的「奋斗史」
首先放一张图:在这里插入图片描述
上图表示的即为当前(…不清楚图源及作图时间,至少是在17年之后)流行的网络结构的综览图,其中横坐标表示一次前向计算需要的计算量,纵坐标表示准确率(一个共同指标),圆的大小表示所含参数的多少。因此根据图像可以看出,越往左上的圆越小的模型应当效果更好,但根据任务选择模型时仍应该多加考虑。

一、LeNet 1989

个人认为的深度卷积神经网络的始祖(虽然图上没有),1989年由LeCun大牛提出,被用于手写字符(数字)的识别,确立了卷积神经网络的基础结构,包括卷积层,池化层,激活函数(tanh函数),全连接层,损失函数采用了均方误差即欧式距离的均值,权重由随机数初始化,训练梯度采用了反向传播算法。
提出了权值共享和特征图像的概念,权值共享即一个卷积核对上层图像(特征图)进行卷积的权值参数不变,即以同样的参数处理整张图像;特征图像…字面意思,使用卷积核进行卷积后得到的图像称为特征图像。

注:LeNet是指由LeCun提出的在当时新颖的卷积神经网络的总称,并不只有一个,主要就是应用在数字识别,第一个广为流传的网络结构为LeNet-5

结构图:在这里插入图片描述

二、AlexNet 2012

第一次使用ReLU激活函数,提出了Dropout,提出数据增强扩大训练集,提出了局部相应归一化LRN(现在基本不用),提出了重叠池化。

结构图:
在这里插入图片描述

三、ZFNet 2013

提出通过反卷积方法进行卷积网络可视化的方法,可以了解到图像“学”到了什么。以此改进,在AlexNet基础上取得了更好的成果。

四、VGGNet 2014

提出使用很小的卷积核来代替大的卷积核,大量使用3*3卷积,这样使得每层参数更少,在相同复杂度下能做到更深的网络;去掉了LRN,实验发现其作用不明显。

结构图:在这里插入图片描述

从左至右每一列代表着深度增加的不同的模型,从上至下代表模型的深度,其中conv<滤波器大小>-<通道数>

五、GoogleNet 2014

即Inception-V1网络,致力于解决增大深度或宽度带来的计算问题,和参数过多带来的过拟合问题。提出了Inception模块;使用了1*1卷积核(作用:升维降维);尝试去除参数海量的全连接层,由平均池化代替。后两者借鉴了NIN(Network In Network的思想,感兴趣可以一观)

Inception模块图:
在这里插入图片描述

六、ResNet 2015

目的是为了解决退化问题(:随着网络层数的增多,与过拟合不同,在训练集和测试集上的准确率达到一定值都下降,梯度问题;另外一种解释是可以残差模块去除当前特征冗余的杂质,使得特征细化),提出了残差结构如下图。后来的分析表明残差网络并不是一个单一的超深网络,而是多个网络指数级的隐式集成,由此引入了多样性的概念。

残差结构:在这里插入图片描述

接下来是一些基于GoogleNet-Inception-Like网络改进系列,包括ResNet

七、Inception - V2 2015

1.基于GoogleNet进行了改进,加入了BN层
2.局部用 3X3 卷积代替了 5X5 卷积(VGG的思想)

八、Inception - V3 2015

1.最重要的改进:卷积核的分解

对卷积进行非对称分解:7 X 7 → 1 X 7 + 7 X 1; 3 X 3 → 1 X 3 + 3 X 1
作用:既减少了参数,又增加了深度,加深了网络的非线性

2.对优化算法的改进

①改进了参数优化方法,即学习率的问题,AdaGrad → RMSProp
② 采用了Label Smoothing 策略,是一种正则化的方法(降低了过拟合程度)

模块结构图:
在这里插入图片描述

九、Inception - V4 2016

相较V3,变得更深

十、Xception

是针对Inception - V3的另一种改进,主要采用Depthwise Separable Convolition替换掉V3中的卷积操作:具体为在卷积操作时,将学习空间相关性核学习通道间相关性分离开。这样也会在基本不增加复杂度的前提下提高效果。

网络结构:在这里插入图片描述

十一、Inception - Resnet V1/V2 2016

基于Inception-V3 和 Inception-V4及残差网络的思想的融合,提出了两个模型

Inception - Resnet V2的网络结构:
在这里插入图片描述

十二、NASNet 通过强化学习自动产生结构

十三、WRN (Wide Residual Network)2016

提出的原因:认为残差网络较深时,并不能保证能有效更新每个残差模块,基于此想法,作者想要将细深的网络变为宽浅(…还没仔细理解)

WRN模块:
在这里插入图片描述

十四、ResNext 2016

提出原因:对于网络的改进,传统的方法主要时增加深度或者增加宽度(通道数),但都会大大增加设计难度和复杂度
方法:同时基于思想,以及Inception的split-transform-merge思想,提出了该扩展性较强的网络。提到了一个名词cardinality(基数),个人理解即一个模块中同时并列多少个子网络(增加分支)。
结论:Cardinality越大越好,且在同样的复杂度下,比增加深度和宽度效果要好

在这里插入图片描述

十五、DenseNet

对小数据结果较好,特征图会传到网络后面的所有层。

结构图:
在这里插入图片描述

十六、MobileNet及ShuffleNet

用于嵌入式设备,牺牲较少的精度换取减少大量的计算。

总结:对卷积神经网络结构的改进主要在卷积层,而改进方法主要有有以下几种:卷积核小型化(参数减少),1x1卷积(升降维),Network In Network,Inception机制,卷积分解(Factorization),反卷积运算(实验可用以调参);最近一个平常的操作就是加入了注意力机制,包括通道注意力、空间注意力,感兴趣的小伙伴可以查一些资料如SE-Net等。此外,对网络结构其他部分常用的方法要理解透彻,例如优化器的各种优化方法,激活函数损失函数的选择等,读者可以自己详读开篇的文章。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值