卷积神经网络概述

Hitton,被称为“AI教父”,他对人脑非常的好奇,学习生理学,解刨大脑以了解其工作方式,还学了心理学,最后,他决定使用计算机科学来模拟大脑的工作,并进入人工智能领域,开始了40余年的研究生涯。
因为背部受伤,Hitton站立工作了10多年。

2006年,随着计算机算力的提升和大数据的积累,Hitton所研究的多层神经网络取得巨大进展,他将多层神经网络命名为深度学习。

深度学习的快速发展开始于2012年,Hitton的学生AlexNet使用深度学习技术,在ImageNet挑战赛上取得了冠军的成绩,并且精度比第二名高出10%。深度学习一下子就火了,Alex所使用的的网络,被命名为ALexNet。

卷积神经网络 训练 卷积神经网络训练时间_卷积神经网络 训练

卷积神经网络 训练 卷积神经网络训练时间_人工智能_02

LeNet

1998年,LeCUN提出,最早的卷积神经网络。

用于解决手写数字识别问题,MNIST。

网络层次比较浅,数据+卷积+池化+卷积+池化+全连接+全连接+softmax,麻雀虽小五脏俱全。

卷积神经网络 训练 卷积神经网络训练时间_卷积神经网络 训练_03

AlexNet

Hitton的学生Alex,在2012年的ImageNet挑战赛取得冠军,并且精度比第二名高出10%,一鸣惊人。

AlexNet使用了relu激活函数、dropout、数据增强、LRN归一化,后来研究发现LRN的作用并不大,更多使用BatchNormal做归一化。

AlexNet使用GPU训练, 证明了CNN在复杂模型下的有效性,具有开创性的意义。

卷积神经网络 训练 卷积神经网络训练时间_卷积神经网络 训练_04

ZFNet

ZFNet在AlexNet基础上进行微调,取得ImageNet2013年的冠军,主要进行了以下调整:CONV1:11x11 stride4 --> 7x7 stride=2;CONV3,4,5:filters 384,384,256—>512,1024,512。

ZFNet最大的意义,在于从可视化的角度,解释了CNN,得到以下的一些结论:特征是分层次的;深层特征更鲁棒;深层特征更有区分度;深层特征收敛更慢等。

卷积神经网络 训练 卷积神经网络训练时间_人工智能_05

VGGNet

VGGNet证明了,更深的网络,能够提取更好的特征;

结构更加规整、简单:全部使用3x3的小卷积核和2x2的最大池化;

每次池化后,特征图宽高减半,通道数增加一倍;

VGGNet成为后续很多网络的backbone;

VGGNet取得了ImageNet2014的亚军,冠军是Inception。

卷积神经网络 训练 卷积神经网络训练时间_深度学习_06

GoogleNet(Inception系列)

GoogleNet,ImageNet2014冠军,增加了深度和宽度。采用网中网的结构,网络中的节点也是一个网络(Inception结构),可以认为Inception结构是GoogleNet中的最小结构单元。

Inceptionv1利用1x1卷积核进行通道降维,减小了参数量和计算量。Inceptionv2使用多个小卷积核代替一个大卷积核,如两个3x3代替5x5。Inceptionv3使用1xn和nx1代替nxn,这种设计貌似用的比较少。

并不是把网络拆的越小效果就会越好,实验证明,把拆分放在网络的中间,效果更好。

Inception的设计使得网络更深更宽,卷积数量增加,每个卷积后面都跟着激活函数,使得网络的非线性能力更强。

GoogleNet比VGGNet参数少,模型小。

卷积神经网络 训练 卷积神经网络训练时间_神经网络_07

ResNet系列

ImageNet2015冠军,由何凯明团队提出。

继续增加网络深度,引入跳连结构来防止梯度消失。

ResNet其它特点:

使用Average Pooling代替一个FC层。

每个卷积层之后都配合一个BN进行归一化,加快网络训练速度和收敛的稳定性(防止梯度消失),防止过拟合。

ResNet是现在主流的backbone网络。

跳连结构(short cut):

原始输入+卷积后的输出(通俗理解:至少不比原来差)

y =F(x) + x(x表示原始输入,F(x)表示x经过卷积后的输出)

卷积神经网络 训练 卷积神经网络训练时间_神经网络_08

ResNet网络结构:

卷积神经网络 训练 卷积神经网络训练时间_人工智能_09

注意上图中的实线和虚线,虚线两侧通道数不同。

分成5个stage:

卷积神经网络 训练 卷积神经网络训练时间_卷积_10

实线和虚线的两个block,Identity_block和convolution_block:

卷积神经网络 训练 卷积神经网络训练时间_卷积神经网络 训练_11

梯度消失和梯度爆炸:

在BP反向传播过程中进行链式求导,多个梯度相乘,抽象成x的n次方,用x表示梯度,n表示链式求导次数。当x<1时,x的n次方趋近于0,梯度消失;当x>1时,x的n次方趋近于无穷,梯度爆炸。

ResNet变种:

ResNeXt:分组卷积,在通道维度上进行分组后进行卷积。

DenseNet:更多的跳连,将所有层都加入跳连结构,ResNet并不是所有层都进行跳连的。看ResNet网络结构图理解。

InceptionResNet:Inception结构和ResNet的结合。

卷积神经网络性能计算量对比

卷积神经网络 训练 卷积神经网络训练时间_神经网络_12