深度学习中几个经典网络架构的简单介绍

前言先简单说一下CNN一些经典案例和 ImageNet 图像分类竞赛的历年冠军(深度学习网络发展史):

神经网络 年份 标签 作者
LeNets 1998年 CNN开山之作 纽约大学
AlexNet 2012年 ImageNet冠军 多伦多大学 Hinton团队
ZFNet 2013年 ImageNet冠军 纽约大学
GoogLeNet 2014年 ImageNet冠军 Inception模块 谷歌
VGG 2014年 ImageNet亚军 VGG-16和VGG-19 牛津大学
NiN 2014年 Network in Network(网中网) GAP(全局平均池化) 新加坡国立大学
ResNet 2015年 ImageNet冠军 残差网络 何凯明团队 微软亚院
Wide ResNet 2016年 增加残差中卷积核数量(宽度) 谢尔盖·扎戈鲁科
Squeeze Net 2016年 轻量级网络 压缩参数量 斯坦福大学 伯克利大学
SENet 2017年 ImageNet冠军 SE模块 momenta + 牛津大学 胡杰
ResNext 2017年 Resnet + Inception Saining Xie团队
DenseNet 2017年 CVPR最佳论文 Dense模块 康奈尔大学 清华大学
FractalNet 2017年 分形网络 Gustav Larsson团队
MobileNets 2017年 轻量级 Group卷积和Depthwise Seperable卷积 谷歌
NASNet 2018年 神经架构搜索 强化学习 谷歌

深度学习中几个经典网络架构的简单介绍

一、Alexnet

Alexnet是2012年 ImageNet 竞赛的冠军网络,论文是《ImageNet Classification with Deep Convolutional Neural Networks》,作者是多伦多大学的Alex Krizhevsky等人。

AlexNet有60 million个参数和65000个 神经元,五层卷积,三层全连接网络,最终的输出层是1000通道的softmax。
深度学习中几个经典网络架构的简单介绍
上面的图是整个网络的架构,论文中提到这两部分网络是分别对应两个GPU,只有到了特定的网络层后才需要两块GPU进行交互,这种设置完全是利用两块GPU来提高运算的效率,其实在网络结构上差异不是很大,所以下面这幅图分为上下两个部分的网络。
深度学习中几个经典网络架构的简单介绍
深度学习中几个经典网络架构的简单介绍

二、VGG

VGG是2014年的网络,2014年 ImageNet 竞赛的亚军(冠军是GoogLeNet)。作者是牛津大学计算机视觉组(Visual Geometry Group)和Google DeepMind公司的研究员一起。论文《Very Deep Convolutional Networks for Large-Scale Image Recognition》。论文主要针对卷积神经网络的深度对大规模图像集识别精度的影响,主要贡献是使用很小的卷积核(3×3)构建各种深度的卷积神经网络结构,并对这些网络结构进行了评估,最终证明16-19层的网络深度,能够取得较好的识别精度。 这也就是常用来提取图像特征的VGG-16和VGG-19。

VGG有 vgg-16 和 vgg-19,16层(主流版本)和19层,为什么不做17层,18层,20层呢?或者为什么不直接做到100层?理论上网络越深越好,但因为在实验上,随着卷积层的增加,不一定再提取的特征都有意义,效果不一定好,最终效果出来的是16层和16层,其他的网络效果没有他们两个好。也就是如果神经网络越来越深,这个神经网络可能会出现退化(degradation) 的现象。这里说的“退化”是指网络层级加深后,训练的准确率却可能出现饱和的现象。解决方案是2015年何凯明大神提出来的 Resnet 残差网络,它可以同等映射,下面会有简单的介绍。

VGG可以看成是加深版的 AlexNet ,整个网络由卷积层和全连接层叠加而成,和AlexNet不同的是,VGG中使用的都是小尺寸的卷积核(3×3)。

深度学习中几个经典网络架构的简单介绍

深度学习中几个经典网络架构的简单介绍

三、Resnet

Resnet是2015年 ImageNet 比赛的冠军(计算机视觉首次超越人类视觉),它一下子将网络深度提升到152层,将错误率降到了3.57,在图像识别错误率和网络深度方面,比往届比赛有了非常大的提升。作者是何凯明等大神,论文是《Deep Residual Learning for Image Recognition》。ResNet 的 Res 也是 Residual 的缩写,它的用意在于基于残差学习,让神经网络能够越来越深,准确率越来越高。

Resnet模型与VGG网络相比,有更少的滤波器和更低的复杂度。Resnet的34层基准有36亿FLOP(乘加),仅是VGG-19(196亿FLOP)的18%。

建议大家把 Resnet 作为一个特征提取网络,而不是一个分类网络,对于一个网络是分类还是回归,决定的是这个网络的损失函数和最后面的层是怎么连的。Resnet常见的有50层和101层,可以用于物体检测,分类的,检索的等等,是个通用的经典网络。
深度学习中几个经典网络架构的简单介绍
深度学习中几个经典网络架构的简单介绍
捷径连接通常会跳过 1 个或者多个层,在 ResNet 中快捷连接直接运用了 identity mapping,意思就是将一个卷积栈的输入直接与这个卷积栈的输出相加。

ResNet 采用的是用 1x1 的卷积核去应对维度的变化,通过 1x1 的卷积核去对输入进行升维和降维。1x1 的卷积核让整个残差单元变得更加细长,这也是 bottleneck 的含义,更重要的是参数减少了。

深度学习中几个经典网络架构的简单介绍
深度学习中几个经典网络架构的简单介绍
深度学习中几个经典网络架构的简单介绍
ResNet 的起始是从一个常规的比较浅的网络上探求加层的过程。作者对 VGG-19 进行仿制与改造,得到了一个 34 层的 plain network,然后又在这个 34 层的 plain network 中插入快捷连接,最终形成了一个 34 层的 residual network。

ResNet 本身层级越多准确率越高。残差块的质量比数量更重要。

参考:
深入理解AlexNet网络:https://blog.csdn.net/luoluonuoyasuolong/article/details/81750190
经典神经网络 ResNet 论文解读:https://blog.csdn.net/briblue/article/details/83544381