resNet网络简单理解

1 几种出名的DL骨干网络

(1)LeNet5,1998

卷积神经网络的开山之作,LeCun提出(DL三巨头图灵奖获得者之一另两个:Geoffrey Hinton、Yoshua Bengio)

当时用于解决手写数字识别的视觉任务。当年美国大多数银行就是用它来识别支票上面的手写数字的,它是早期卷积神经网络中最有代表性的实验系统之一。自那时起,CNN的最基本的架构就定下来了:卷积层、池化层、全连接层(7层)。

LeCun Y, Bottou L, Bengio Y, et al. Gradient-based learning applied to document recognition[J]. Proceedings of the IEEE, 1998, 86(11): 2278-2324.

resNet网络简单理解_第1张图片

  后面,10多年来,由于计算机性能限制,DL发展缓慢。

(2)AlexNet,2012

AlexNet是2012年ILSVRC竞赛冠军(ImageNet Large Scale Visual Recognition Challenge), ImageNet,2009,李飞飞团队制作)。

AlexNet是Hinton和他的学生Alex Krizhevsky设计的,AlexNet中包含了几个比较新的技术点,首次在CNN中成功应用了ReLU、Dropout等Trick。同样受限于当时的硬件设备,AlexNet在GPU粒度都做了设计,当时的GTX 580只有3G显存,为了能让模型在大量数据上跑起来,作者使用了两个GPU并行,并对网络结构做了切分。

Jia, D. ,  Wei, D. ,  Socher, R. ,  Li, L. J. ,  Kai, L. , &  Li, F. F. . (2009). ImageNet: A large-scale hierarchical image database. (pp.248-255).

Krizhevsky A, Sutskever I, Hinton G E. Imagenet classification with deep convolutional neural networks[C]//Advances in neural information processing systems. 2012: 1097-1105.

resNet网络简单理解_第2张图片

(3)GoogLeNet,2014

Google团队2014年提出,当年ImageNet竞赛冠军。一直从Inception v1到v4。引入稀疏特性和将全连接层转换成稀疏连接。在inception结构中,大量采用了1x1的矩阵,卷积后经过ReLU激活函数。另外,据说起名为“GoogLeNet”而非“GoogleNet”,是为了向早期的LeNet致敬。

深度方面:层数更深,文章采用了22层,为了避免上述提到的梯度消失问题,GoogLeNet巧妙的在不同深度处增加了两个loss来保证梯度回传消失的现象。

度方面:采用了Inception结构,这是一种网中网(Network In Network)的结构,即原来的结点也是一个网络。

Szegedy C ,  Liu W ,  Jia Y , et al. Going Deeper with Convolutions[J]. IEEE Computer Society, 2014.

resNet网络简单理解_第3张图片

(4)VGGNet,2014

当年ImageNet竞赛的亚军,最出名的是vgg16和vgg19两个网络。VGGNet由牛津大学计算机视觉组合和Google Deep Mind公司研究员一起研发的深度卷积神经网络。它探索了卷积神经网络的深度和其性能之间的关系,通过反复堆叠3*3的小型卷积核和2*2的最大池化层,成功的构建了16~19层深的卷积神经网络。是目前为止,VGGNet依然被用来提取图像的特征。多数实验表明,VGG模型在多个迁移学习任务中的表现要优于googLeNet。而且,从图像中提取CNN特征,VGG模型是首选算法。它的缺点在于,参数量有140M之多,需要更大的存储空间。VGG的特点:小卷积核(3*3),小池化核(2*2),层数更深特征图更宽等等。

Simonyan K ,  Zisserman A . Very Deep Convolutional Networks for Large-Scale Image Recognition[J]. Computer Science, 2014.

resNet网络简单理解_第4张图片

(5)ResNet,2015

Resnet, 何凯明等提出,当年imagenet竞赛冠军。详见第2节。

2016,基于Resnet提出DenseNet,继续跨层增加短连接。

(6)其他几种轻量级网络

SqueezeNet、MobileNet、ShuffleNet、Xception等四种轻量级骨干网络。其中MobileNet系列比较流行和效果更佳。它是Google提出的可用于移动端模型,其核心是采用了可分解的深度级可分离卷积depthwise separable convolution),其不仅可以降低模型计算复杂度,而且可以大大降低模型大小。

从2017年开始,mobileNet持续更新V1-->V3.

Howard A G ,  Zhu M ,  Chen B , et al. MobileNets: Efficient Convolutional Neural Networks for Mobile Vision Applications[J].  2017.

2 详解介绍 --- ResNet网络

ResNet,深度残差学习,何凯明等2015年提出,当年imagenet竞赛冠军。He K ,  Zhang X ,  Ren S , et al. Deep Residual Learning for Image Recognition[J]. IEEE, 2016.

(1)退化问题

前面系列DL骨干网络,随着网络的加深,出现了训练集准确率下降,错误率上升的现象,就是所谓的“退化”问题。作者提到这并非过拟合,因为56层的训练误差也很高。相反,这是由于模型深层且复杂时,SGD的优化变得更加困难,梯度消失和其他优化遇到难题。这导致模型达不到好的学习效果。ResNet就是针对这个问题应运而生的。

resNet网络简单理解_第5张图片

 (2)残差学习

基本思想是引入了能够跳过一层或多层的“shortcut connection”(短连接,捷径),如下图所示,即图中的“弯弯的弧线”。

resNet网络简单理解_第6张图片

resNet网络简单理解_第7张图片

     ResNet中提出了两种mapping:一种是identity mapping(恒等映射),另一种是residual mapping(残差映射)。最后的输出为y=F(x)+x,identity mapping指的是自身,也就是x,而residual mapping残差,指的就是y-x=F(x)。参考网络里边,需要拟合这个偏差F(x)这个简单的加法并不会给网络增加额外的参数和计算量,同时却能够大大增加模型的训练速度,提高训练效果,并且当模型的层数加深时,反向传播的时候,短链接有助于更快的将梯度进行一个回传。这个简单的结构能够很好的解决退化问题。

resNet网络简单理解_第8张图片

图 对VGG19进行resnet改造的部分block

其中虚线部分是纬度不一致,需要对shortcut下采样进行额外处理。一般是pad或者conv1*1卷积处理。比如需要将w16->8下采样的时候,按照w1,s1,p0 按照公式:

                                     w’ = (w+2p-k)/2s +1= (16+0-1)/2 +1 取整为8

在后边对w大,h较小的文本数据数据中,可以在多处resnet的需要下采样的时候,block中s = (2,1)代替原来(1,1),达到对h保留,对w降维的目的。

Resnet的block块一般有两种: resnet50以上的用后者。现在resnet按照结构深度不用,有18, 34, 50, 101, 152, 200等六种骨干网络。

resNet网络简单理解_第9张图片

你可能感兴趣的:(深度学习,人工智能,深度学习)