CNN经典分类网络发展历程GoogLeNet、SqueezeNet、ResNet、ResNeXt、DenseNet

本篇博文主要介绍2015年之后出现的经典分类网络的发展历程,前期经典分类网络网上有很多解析,主要包括LeNet、AlexNet、VGG等。
本篇博文主要介绍GoogLeNet、SqueezeNet、ResNet、ResNeXt、DenseNet。
以PPT截图形式进行讲解

一、GoogLeNet

论文题目:Going Deeper with Convolutions
论文链接:https://arxiv.org/abs/1409.4842
参考博文:https://blog.csdn.net/GL3_24/article/details/90406591
CNN经典分类网络发展历程GoogLeNet、SqueezeNet、ResNet、ResNeXt、DenseNet_第1张图片
核心:提出了Inception module
最原始的Inception module(a)的特点是一方面增加了网络的宽度,另一方面也增加了网络对尺度的适应性(通道相加),如果想要提取更高维度的特征,那么网络中的Inception模块会更多,这样就带来了一个很严重的问题-------->巨大的计算量,因为5* 5的卷积的计算量就很大,层数越多计算量就更大。那么就需要一种解决方案进行降维,这就产生了Inception module的升级版Inception module v1 进行降维的版本。降维方法是通过增加1*1卷积。

1*1卷积进行降维的思想来源于NIN

论文题目:Network In Network
论文链接:https://arxiv.org/abs/1312.4400
参考博文:https://blog.csdn.net/GL3_24/article/details/90400956
具体的降维指的是参数的减小,请看下图


由Inception 模型A 到Inception 模型B参数明显减少了。

二、ResNet

论文题目:Deep Residual Learning for Image Recogniton
论文链接:https://arxiv.org/abs/1512.03385
CNN经典分类网络发展历程GoogLeNet、SqueezeNet、ResNet、ResNeXt、DenseNet_第2张图片
随着研究的不断深入,研究界出现了一种共识,那就可以通过增加网络的深度来提高网络的性能,原因很简单:越深的网络提取的特征越抽象,越具有语义信息。
但是,该文章的作者经过对比实验发现,50层的网络比30层的网络效果更差,这就引出了网络退化的问题。那么为了解决该问题,作者提出了一种building block,核心思想就是让层与层之间有了联系,并不是原来那种输入输出,层与层之间互相对立的关系。

三、ResNeXt

论文题目:Aggregated Residual Transformations for Deep Neural Networks
论文链接:https://arxiv.org/pdf/1611.05431.pdf
参考博文:https://blog.csdn.net/GL3_24/article/details/90643094
CNN经典分类网络发展历程GoogLeNet、SqueezeNet、ResNet、ResNeXt、DenseNet_第3张图片
为了进一步提升网络宽度,提升分类结果,提出来了ResNeXt网络。它采用VGG / ResNets的重复层策略,同时以简单,可扩展的方式利用分裂变换合并策略。
上图中的两个block具有相同的复杂度。左边就是ResNet的一个block,右边是基数为32的ResNeXt一个block。
ResNeXt中的block结构是一个单元重复32次然后再相加的结果。每个单元是一个bottleneck结构:先把输入feature map 通过1x1卷积降维到4通道的特征图,然后经过3x3卷积,输出还是4通道(该部分的降维力度比较大,直接从256d到了4d,而ResNet的一个block是从256d降维到了64d),然后再通过1x1卷积进行升维。这个结构叫做32x4d的结构。其中32是ResNeXt引入的新的自由度,称为cardinality。ResNeXt的名字也源于此,X指的就是 neXt dimension。4d代表的是通过1x1卷积之后直接降维到了4通道的特征图。

理解bottleneck architecture
参考博文:https://blog.csdn.net/GL3_24/article/details/90640263
CNN经典分类网络发展历程GoogLeNet、SqueezeNet、ResNet、ResNeXt、DenseNet_第4张图片
这个是针对于网络结构中输入/输出的维度(dimensions)来讲的。
这三层结构是1X1,3X3和1X1卷积,其中1X1层负责减小然后增加(恢复)尺寸,使3X3层成为具有较小输入/输出尺寸的瓶颈。

四、SqueezeNet

论文题目:SqueezeNet: AlexNet-level accuracy with 50x fewer parameters and <0.5MB model size
论文链接:https://arxiv.org/abs/1602.07360

CNN经典分类网络发展历程GoogLeNet、SqueezeNet、ResNet、ResNeXt、DenseNet_第5张图片
从论文题目可以看出来SqueezeNet有三个有点:

  1. AlexNet-level accuracy
  2. 50x fewer parameters
  3. <0.5MB model size
    主要是减少了参数和生成了很小的模型文件,这样对计算机内存要求就降低了,训练起来也很快,很高效。
    使用到的操作手法同样包含1*1卷积进行降维以及下采样。

五、DenseNet

论文题目:Densely Connected Convolutional Networks(CVPR 2017, Best Paper Award)
论文链接:https://arxiv.org/pdf/1608.06993.pdf
参考博文:https://blog.csdn.net/GL3_24/article/details/90478764 (DenseNet网络实践(caffe版))
CNN经典分类网络发展历程GoogLeNet、SqueezeNet、ResNet、ResNeXt、DenseNet_第6张图片
该论文的核心是提出了dense block DenseNet,(有点借鉴ResNet的建立层与层之间联系的思想)核心思想在于建立了不同层之间的连接关系,充分利用了feature,进一步减轻了梯度消失问题,加深网络不是问题,而且训练效果非常好。另外,利用bottleneck layer,Translation layer以及较小的growth rate使得网络变窄,参数减少,有效抑制了过拟合,同时计算量也减少了。

作者:GL3_24
来源:CSDN
著作权归作者所有。转载请联系作者获得授权。

你可能感兴趣的:(CNN)