AlexNet、ZFNet、VGG、GoogleNet、 ResNet神经网络解析

1 AlexNet、ZFNet、VGG、GoogleNet、 ResNet神经网络解析

1.1综述

ImageNet大规模视觉识别挑战赛(ImageNet Large Scale Visual Recognition Challenge,ILSVRC)

  • 计算机视觉领域最具有权威性的学术竞赛之一
  • 由斯坦福大学李飞飞教授主导制作,其中包含了超过1400万张全尺寸的有标记图片
  • ILSVRC从ImageNet数据集中抽取子集作为竞赛数据
    AlexNet、ZFNet、VGG、GoogleNet、 ResNet神经网络解析_第1张图片

1.2AlexNet

AlexNet:2012年ImageNet大规模视觉识别挑战赛冠军,精度提升超过10个百分点。
AlexNet验证了深度卷积神经网络的高效性。
主要贡献:

  • 提出了一种卷积层加全连接层的卷积神经网络结构
  • 首次使用ReLU函数作为神经网络的激活函数
  • 首次提出Dropout正则化来控制过拟合
  • 使用加入动量的小批量梯度下降算法加速了训练过程的收敛
  • 利用了GPU的并行计算能力,加速了网络的训练与推断
    AlexNet、ZFNet、VGG、GoogleNet、 ResNet神经网络解析_第2张图片
    AlexNet、ZFNet、VGG、GoogleNet、 ResNet神经网络解析_第3张图片
    层数统计说明:
  • 计算网络层数时仅统计卷积层与全连接层
  • 池化层与各种归一化层都是对他们前面卷积层输出的特征图进行后处理,不单独算作一层

AlexNet共8层,5个卷积层和3个全连接层

CONV1

96个11x11卷积核(卷积核的深度由输入图片的深度决定),步长为4,没有零填充。
问题:输入227x227x3大小的图像,输出特征图个数及尺寸为多少?
计算方法见博客
尺寸:(227-11)/4+1=55
个数:96
问题:这层有多少个参数?
参数:(11x11x3+1)x96=35k

  • 第一个卷积层提取了96种结构的响应信息,得到了96个特征响应图
  • 特征图每个元素经过ReLU函数操作后输出

MAX POOL1

窗口大小为3x3,步长为2(重叠有助于对抗过拟合)
作用:降低特征图尺寸,对抗轻微的目标偏移带来的影响。
输出尺寸:(55-3)/2+1=27
特征图个数:96
参数个数:0

NORM1(局部响应归一化层)

作用:

  • 对局部神经元的活动创建竞争机制
  • 响应比较大的值变得相对更大
  • 抑制其他反馈较小的神经元
  • 增强模型的泛化能力
    后来的研究表明:更深的网络中该层对分类性能的提升效果并不明显,且会增加计算量与存储空间。

CONV2

256个5x5卷积核,步长为1,使用零填充p=2

问题:输入27x27x96大小的特征图组,输出特征图个数及尺寸为多少?
尺寸:(27-5+2x2)/1+1=27
个数:256

CONV3、CONV4

384个3x3卷积核,步长为1,使用零填充p=1
问题:CONV3输入13x13x256大小的特征图组,输出特征图个数及尺寸为多少?
尺寸:(13-3+2x1)/1+1=13
个数:384

CONV5

256个3x3卷积核,步长为1,使用零填充p=1

FC6、FC7、FC8

MAX POOL3的输出为6x6x256的特征响应图组
全连接神经网络分类器
FC6期望输入:向量(将6x6x256的特征响应图展开成为列向量9216x1)
重要说明:

  • 用于提取图像特征的卷积层以及用于分类的全连接层是同时学习的
  • 卷积层和全连接层在学习过程中会相互影响,相互促进
    重要技巧:
  • Dropout策略防止过拟合
  • 使用加入动量的随机梯度下降算法,加速收敛
  • 验证集损失不下降时,手动降低10倍的学习率
  • 采用样本增强策略增加训练样本数量,防止过拟合
  • 集成多个模型,进一步提高精度

AlexNet、ZFNet、VGG、GoogleNet、 ResNet神经网络解析_第4张图片

  • AlexNet分布于两个GPU,每个GPU各有一半神经元
  • CONV1、CONV2、CONV4、CONV5仅使用在同一GPU的前层网络输出的特征图作为输入
  • CONV3、FC6、FC7、FC8拼接前一层所有的特征图,实现神经网络的跨GPU计算

AlexNet卷积层在做什么?

  • 从数据中学习对于分类有意义的结构特征
  • 描述输入图像中的结构信息
  • 描述结果存储在256个6x6的特征响应图中

1.3ZFNet

在AlexNet的结构上没有做多大改进。

  • AlexNet是用两块GPU的稀疏连接结构,而ZFNet只用了一块GPU的稠密链接结构
  • 将第一个卷积层的卷积核大小改为7x7
  • 将第二、第三个卷积层的卷积步长都设置为2
  • 增加了第三、第四个卷积层的卷积核的个数

AlexNet和ZFNet在进入第一层卷积时进行去均值操作:将样本所有图像的均值计算出来的均值向量作为均值

1.4VGG

AlexNet、ZFNet、VGG、GoogleNet、 ResNet神经网络解析_第5张图片
VGG16

  • 13个卷积层与3个全连接
  • 分为5段conv1…conv5,每一段中卷积层的卷积核的个数均相同
  • 所有卷积层均采用3x3的卷积核及ReLU激活函数
  • 所有的池化层都采用最大池化,其窗口大小为2x2,步长为2
  • 经过一次池化操作,其后卷积层的卷积核个数就增加一倍,直至512
  • 全连接层中也使用了Dropout策略
    贡献:
  • 使用尺寸更小的3x3卷积核串联来获得更大的感受野
  • 放弃使用11x11和5x5这样的大尺寸卷积核
  • 深度更深、非线性更强,网络参数更少
  • 去掉了AlexNet中的局部响应归一化层
    VGG在进入第一层卷积时进行去均值操作:将样本所有图像像素点的RGB均值计算出来作为均值。
    AlexNet、ZFNet、VGG、GoogleNet、 ResNet神经网络解析_第6张图片
    AlexNet、ZFNet、VGG、GoogleNet、 ResNet神经网络解析_第7张图片
    AlexNet、ZFNet、VGG、GoogleNet、 ResNet神经网络解析_第8张图片
    AlexNet、ZFNet、VGG、GoogleNet、 ResNet神经网络解析_第9张图片
    AlexNet、ZFNet、VGG、GoogleNet、 ResNet神经网络解析_第10张图片

1.5GoogleNet

AlexNet、ZFNet、VGG、GoogleNet、 ResNet神经网络解析_第11张图片
AlexNet、ZFNet、VGG、GoogleNet、 ResNet神经网络解析_第12张图片
AlexNet、ZFNet、VGG、GoogleNet、 ResNet神经网络解析_第13张图片
AlexNet、ZFNet、VGG、GoogleNet、 ResNet神经网络解析_第14张图片
AlexNet、ZFNet、VGG、GoogleNet、 ResNet神经网络解析_第15张图片
AlexNet、ZFNet、VGG、GoogleNet、 ResNet神经网络解析_第16张图片
AlexNet、ZFNet、VGG、GoogleNet、 ResNet神经网络解析_第17张图片
AlexNet、ZFNet、VGG、GoogleNet、 ResNet神经网络解析_第18张图片
AlexNet、ZFNet、VGG、GoogleNet、 ResNet神经网络解析_第19张图片
AlexNet、ZFNet、VGG、GoogleNet、 ResNet神经网络解析_第20张图片

1.6ResNet

AlexNet、ZFNet、VGG、GoogleNet、 ResNet神经网络解析_第21张图片
AlexNet、ZFNet、VGG、GoogleNet、 ResNet神经网络解析_第22张图片
AlexNet、ZFNet、VGG、GoogleNet、 ResNet神经网络解析_第23张图片
AlexNet、ZFNet、VGG、GoogleNet、 ResNet神经网络解析_第24张图片

AlexNet、ZFNet、VGG、GoogleNet、 ResNet神经网络解析_第25张图片
AlexNet、ZFNet、VGG、GoogleNet、 ResNet神经网络解析_第26张图片
AlexNet、ZFNet、VGG、GoogleNet、 ResNet神经网络解析_第27张图片
残差网络和Inception V4是公认的推广性能最好的两个分类模型。
特殊应用环境下的模型:面向有限存储资源的SqueezeNet以及面向有限计算资源的MobileNet和ShuffleNet。

你可能感兴趣的:(深度学习,神经网络,卷积,人工智能,机器学习)