LeNet

LeNet一般指LeNet-5,是Yann LeCun再多次研究后于1998年提出的卷积神经网络结构。

LeNet-5是用来处理手写字符的识别问题,总共有7层。其结构如下

LeNet-5的网络细节如下:

AlexNet

AlexNet被认为是计算机视觉领域最有影响力的论文之一,它刺激了更多使用卷积神经网络和GPU来加速深度学习的论文出现。截至2022年,AlexNet论文已被引用超过105287次。

网络设计 AlexNet包含八层。前五层是卷基层,之后是最大池化层,最后三层是全连接层。使用ReLU激活函数。

网络结构

AlexNet的网络细节如下:

VGGNet

VGG是牛津的Visual Geometry Group组于2014年提出的网络结构。该网络是在ILSVRC 2014上的相关工作,主要证明了增加网络深度能够在一定程度上影响网络最终的性能。

VGG原理 VGG中,使用3个3x3卷积核来代替7x7卷积核,使用2个3x3卷积核来代替5x5卷积核,这样做的目的是在保证相同感受野的条件下,提升了网络深度。而增加网络深度过程中引入的多层非线性层帮助学习到更复杂的模式,在一定程度上提升了神经网络的效果。

VGG网络结构

VGG网路细节

上图是VGG各种网络的网络结构。

  • VGG16包含了13个卷积层和3个全连层,如上图的网络D。
  • VGG19包含了16个卷积层和3个全连层,如上图的网络E。

VGG优缺点

  • 主要贡献是增加了网络深度
  • 优点:网络结构简洁,整个网络使用同样大小的卷积核尺寸(3x3) 和最大池化尺寸(2x2)。
  • 缺点:最后三个FC层计算量巨大,耗费更多资源

GoogLeNet

GoogLeNet是Google于2014年推出的基于Inception模块的深度神经网络模型,并在随后的两年中一直改进,形成InceptionV2, InceptionV3,Inception V4等版本。

Inception-V1 Inception是把多个卷积或池化操作,放在一起组装成一个网络模块,设计神经网络时以模块为单位去组成整个网络结构。Inception结构如下图所示:

如上图所示,Inception Module结构组成有四个成分:1x1 conv, 3x3 conv, 5x5 conv, 3x3 maxpooling. 最后对四个成分运算结果进行通道上组合。Inception Module的核心思想是:利用不同大小的卷积核实现不同尺度的感知,最后进行融合,可以得到图像更好的表征。

另外图中的1x1 conv 有两种,一种蓝色底,一种黄色底,其中黄色底1x1 conv是用来进行压缩降维的。因为使用Inception结构,利用上多尺度卷积后,网络变宽了,计算量变大了;需要减少参数量来减少计算量,所以在Inception v1中加入了黄色底 1x1 conv来进行降维。黄色底1x1 conv 叫做 pointwise conv.

GoogLeNet网络结构

GoogLNet网络有22层深(加上pool层,有27层深),由于全连接层参数多,计算量大,容易过拟合,所以GoogLNet没有采用LeNet,AlexNet,VGG三层全连接结构,在Inception模块之后使用Average Pool和Dropout方法,同时达到防止过拟合和降维的作用。

辅助分类器: 为了利用中间层抽象的特征,在某些中间层中添加含有多层的分类器。GoogLNet网络中加入了两个辅助分类器,作用有两点:一是为了避免梯度小时,用于向前传导梯度。反向传播时如果有一层求导为0,链式求导结果为0.二是将中间某一层输出作用作分类,起到模型融合作用。

GoogLeNet网络细节

ResNet

深度学习网络的深度对最后分类和识别的效果有很大影响,但我们把网络设计的很深时,网络在训练时,梯度消失的现象会越来越明显。为了解决这一问题,何恺明于2015年提出了ResNet,深度残差网络。ResNet,全称Deep residual network,网路中通过引入residual block解决了当CNN网络深度很深时网络学习退化的问题。ResNet的提出是CNN图像史上一件里程碑事件。

残差块:Residual Block

非常深的网络很难训练,存在梯度消失和梯度爆炸问题,学习skip connection它可以从某一层获得激活,然后迅速反馈给另外一层甚至更深层,利用skip connection可以构建残差网络ResNet来训练更深的网络,ResNet网络时由残差模块构建的。

ResNet网络结构

ResNet网络细节

总结

    1. 本文梳理了从CNN开山之作 LeNet,到目前被广泛应用在科研,工业界的ResNet。可以看出深度神经网络朝着越来越深的方向发展。
    1. AlexNet作为现代CNN网络的开端,奠定了目前使用的CNN网络的基本架构。从AlexNet,到VGG,GooGleNet,再到ResNet,网络均分成5层(以feature map的size来做区分)。且都经过5次下采样,feature map size的大小变换为:
224x224 -> 112x112 -> 56x56 -> 28x28 -> 14x14 -> 7x7
    1. 纵向比较,个人觉得这里面 AlexNet, VGG, ResNet 是三个最具创造性的网络。(LeNet有点确实久远)
    1. GoogLeNet 中的 Inception 后续会演化出 Xception,以及我们能在MobileNet中看到一些影子。
    1. 从CNN网络的发展,也能看出,技术都是通过不断迭代,一步步演化出来。