当前位置:   article > 正文

CNN经典结构(AlexNet,ZFNet,OverFeat,VGG,GoogleNet,ResNet)_经典cnn结构

经典cnn结构

前言

本文主要介绍2012-2015年的一些经典CNN结构,从AlexNet,ZFNet,OverFeat到VGG,GoogleNetv1-v4,ResNetv1-v2。
论文笔记:CNN经典结构2中我介绍了2016-2017年的几个经典CNN结构,WideResNet,FractalNet,DenseNet,ResNeXt,DPN,SENet。另外,在ImageNet历年冠军和相关CNN模型中,我简单介绍了ImageNet和历年冠军。

AlexNet

  1. 贡献:ILSVRC2012冠军,展现出了深度CNN在图像任务上的惊人表现,掀起CNN研究的热潮,是如今深度学习和AI迅猛发展的重要原因。ImageNet比赛为一直研究神经网络的Hinton提供了施展平台,AlexNet就是由hinton和他的两位学生发表的,在AlexNet之前,深度学习已经沉寂了很久。
  2. 网络结构:如下图所示,8层网络,参数大约有60 million,使用了relu函数,头两个全连接层使用了0.5的dropout。使用了LRN和重叠的池化,现在LRN都不用了,一般用BN作Normalization。当时使用了多GPU训练。
  3. 预处理:先down-sample成最短边为256的图像,然后剪出中间的256x256图像,再减均值做归一化(over training set)。 训练时,做数据增强,对每张图像,随机提取出227x227以及水平镜像版本的图像。除了数据增强,还使用了PCA对RGB像素降维的方式来缓和过拟合问题。
  4. 预测:对每张图像提取出5张(四个角落以及中间)以及水平镜像版本,总共10张,平均10个预测作为最终预测。
  5. 超参数:SGD,学习率0.01,batch size是128,momentum为0.9,weight decay为0.0005(论文有个权重更新公式),每当validation error不再下降时,学习率除以10。权重初始化用(0,0.01)的高斯分布,二四五卷积层和全连接层的bias初始化为1(给relu提供正值利于加速前期训练),其余bias初始化为0。

ZFNet

  1. 贡献:ILSVRC2013分类任务的冠军,使用反卷积对CNN的中间特征图进行可视化分析,通过分析特征行为找到提升模型的办法,微调Alexnet提升了表现。ZFNet的Z和F指的是Zeiler和Fergus,曾是hinton的学生,后在纽约大学读博的Zeiler,联手纽约大学研究神经网络的Fergus提出了ZFNet。
  2. 冠军?:严格意义上来说当时分类冠军是Clarifai,但是我们通常讨论的ILSVRC2013冠军(winner)指的是ZFNet。ZF中的Zeiler是Clarifai的创建者和CEO。
  3. 网络结构:如下图所示,和AlexNet一样,头两个全连接层后面加0.5的dropout。相比于AlexNet,主要区别是使用了更小的卷积核和步长,11x11的卷积核变成7x7的卷积核,stride从4变成了2。另外,通过可视化发现第一层的卷积核影响大,于是对第一层的卷积核做了规范化,如果RMS(Root Mean Square)超过0.1,就把卷积核的均方根normalize为固定0.1。
  4. 其它数据集:ZFNet还在Caltech-101,Caltech-256,Pascal AOC-2012上做了迁移学习的实验。
  5. 预处理和超参数:和AlexNet基本一致。权重初始化不同,权重初始化为0.01,bias初始化为0。
  6. 更多:具体内容我在另一篇论文笔记:可视化CNN中有所提及。

OverFeat

  1. 贡献:ILSVRC2013定位任务的冠军,用一个CNN集成了分类,定位和检测三个任务,提出了多尺度的方法。OverFeat是由Yann Lecun团队提出,Lecun提出的LeNet可以说是CNN的开端,提出来并没有火起来,因为当时机器性能不高而且SVM也能达到类似的效果甚至超过。
  2. 网络结构:相比于AlexNet,不再使用LRN;使用非重叠的池化;使用更小的步长,大的步长可以提高速度但是损害了精度。和AlexNet一样,头两个全连接层后面加0.5的dropout。
  3. 预处理和超参数:和AlexNet基本一致。权重初始化不同,全部用(0,0.01)的高斯分布初始化。momentum为0.6,学习率为0.005。在(30,50,60,70,80)epoch学习率减半(decreased a factor by 0.5)。
  4. 预测:在测试阶段,不再使用AlexNet的10 views法(4 corners and center, with horizontal flip),探索了多尺度来进行平均预测的方法,直接从原图rescale成多个尺度的图像输入网络进行多尺度预测。
  5. 多尺度(和全卷积):如下图所示,把全连接层改成全卷积(5x5卷积),在网络最后配合全局最大池化,可以输入多尺度的图像,举例来说,输入14x14的图像,最后得到的是1x1个分类特征,输入16x16的图像最后会得到2x2个分类特征,但是通过全局最大池化就可以转为1x1个分类特征,对于多尺度输入,输出是一致的。而且从下图中的蓝色色块可以看出,在16x16上卷积可以看作用14x14的窗口在上面滑动2步的4次卷积结果。
  6. 更多:具体内容我在另一篇论文笔记:OverFeat中有所提及。

VGG

  1. 贡献:ILSVRC2014定位任务的冠军(Winner),分类任务的亚军(runner-up)。该网络的特点在于结构规整,通过反复堆叠3x3的卷积,卷积核数量逐渐加倍来加深网络,后续的很多CNN结构都采用了这种3x3卷积思想,这是一个很大的影响。ZFNet和OverFeat都使用了更小的卷积核,更小的步长来提升AlexNet的表现,相比之下,VGG则是探索CNN的深度,通过固定其它参数,然后稳定地叠加深度。
  2. 网络结构
        如下图所示,VGG-16,16层,参数大约有138 million。实验发现LRN的加入没有提升反而更差,舍弃使用。实验发现1x1效果更差,于是没有使用,1x1卷积在Network in Network(颜水成)中提出推广,是很重要的思想,在GoogleNet和ResNet都有用到。
        使用小卷积核3x3可以捕捉左右上下的信息,而且利于堆叠深度(保证参数不要过大)。步长为1。same卷积。
        两个3x3卷积可以和5x5卷积达到一样的感受野。三个3x3卷积可以和7x7卷积达到一样的感受野。使用三个3x3的好处在于使用了3个非线性变换,同时后减小了参数,假设输入输出通道数一样,那么有

 

3(32

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/酷酷是懒虫/article/detail/878590
推荐阅读
相关标签