卷积神经网络概述
Hitton,被称为“AI教父”,他对人脑非常的好奇,学习生理学,解刨大脑以了解其工作方式,还学了心理学,最后,他决定使用计算机科学来模拟大脑的工作,并进入人工智能领域,开始了40余年的研究生涯。
因为背部受伤,Hitton站立工作了10多年。
2006年,随着计算机算力的提升和大数据的积累,Hitton所研究的多层神经网络取得巨大进展,他将多层神经网络命名为深度学习。
深度学习的快速发展开始于2012年,Hitton的学生AlexNet使用深度学习技术,在ImageNet挑战赛上取得了冠军的成绩,并且精度比第二名高出10%。深度学习一下子就火了,Alex所使用的的网络,被命名为ALexNet。
LeNet
1998年,LeCUN提出,最早的卷积神经网络。
用于解决手写数字识别问题,MNIST。
网络层次比较浅,数据+卷积+池化+卷积+池化+全连接+全连接+softmax,麻雀虽小五脏俱全。
AlexNet
Hitton的学生Alex,在2012年的ImageNet挑战赛取得冠军,并且精度比第二名高出10%,一鸣惊人。
AlexNet使用了relu激活函数、dropout、数据增强、LRN归一化,后来研究发现LRN的作用并不大,更多使用BatchNormal做归一化。
AlexNet使用GPU训练, 证明了CNN在复杂模型下的有效性,具有开创性的意义。
ZFNet
ZFNet在AlexNet基础上进行微调,取得ImageNet2013年的冠军,主要进行了以下调整:CONV1:11x11 stride4 --> 7x7 stride=2;CONV3,4,5:filters 384,384,256—>512,1024,512。
ZFNet最大的意义,在于从可视化的角度,解释了CNN,得到以下的一些结论:特征是分层次的;深层特征更鲁棒;深层特征更有区分度;深层特征收敛更慢等。
VGGNet
VGGNet证明了,更深的网络,能够提取更好的特征;
结构更加规整、简单:全部使用3x3的小卷积核和2x2的最大池化;
每次池化后,特征图宽高减半,通道数增加一倍;
VGGNet成为后续很多网络的backbone;
VGGNet取得了ImageNet2014的亚军,冠军是Inception。
GoogleNet(Inception系列)
GoogleNet,ImageNet2014冠军,增加了深度和宽度。采用网中网的结构,网络中的节点也是一个网络(Inception结构),可以认为Inception结构是GoogleNet中的最小结构单元。
Inceptionv1利用1x1卷积核进行通道降维,减小了参数量和计算量。Inceptionv2使用多个小卷积核代替一个大卷积核,如两个3x3代替5x5。Inceptionv3使用1xn和nx1代替nxn,这种设计貌似用的比较少。
并不是把网络拆的越小效果就会越好,实验证明,把拆分放在网络的中间,效果更好。
Inception的设计使得网络更深更宽,卷积数量增加,每个卷积后面都跟着激活函数,使得网络的非线性能力更强。
GoogleNet比VGGNet参数少,模型小。
ResNet系列
ImageNet2015冠军,由何凯明团队提出。
继续增加网络深度,引入跳连结构来防止梯度消失。
ResNet其它特点:
使用Average Pooling代替一个FC层。
每个卷积层之后都配合一个BN进行归一化,加快网络训练速度和收敛的稳定性(防止梯度消失),防止过拟合。
ResNet是现在主流的backbone网络。
跳连结构(short cut):
原始输入+卷积后的输出(通俗理解:至少不比原来差)
y =F(x) + x(x表示原始输入,F(x)表示x经过卷积后的输出)
ResNet网络结构:
注意上图中的实线和虚线,虚线两侧通道数不同。
分成5个stage:
实线和虚线的两个block,Identity_block和convolution_block:
梯度消失和梯度爆炸:
在BP反向传播过程中进行链式求导,多个梯度相乘,抽象成x的n次方,用x表示梯度,n表示链式求导次数。当x<1时,x的n次方趋近于0,梯度消失;当x>1时,x的n次方趋近于无穷,梯度爆炸。
ResNet变种:
ResNeXt:分组卷积,在通道维度上进行分组后进行卷积。
DenseNet:更多的跳连,将所有层都加入跳连结构,ResNet并不是所有层都进行跳连的。看ResNet网络结构图理解。
InceptionResNet:Inception结构和ResNet的结合。
卷积神经网络性能计算量对比