【卷积神经网络】Lesson 2--深层卷积神经网络

本文详细解析了卷积神经网络的演变历程,包括LeNet-5、AlexNet、ZFNet和VGG等经典网络结构。重点介绍了AlexNet的创新点,如ReLU激活函数、Dropout和数据增强,以及VGG的深度优势。此外,还提及了残差网络的引入,解决深度网络训练难题。最后,探讨了Inception网络的结构设计,解决计算量大的问题,以及迁移学习和数据增强在实际应用中的重要性。
摘要由CSDN通过智能技术生成

课程来源:吴恩达 深度学习课程 《卷积神经网络》
笔记整理:王小草
时间:2018年6月6日


outline:

本文第1节主要会讲解5个经典的神经网络:
- LeNet-5(1998年)
- AlexNet(2012年ILSVRC第一名)
- z-net(2013年ILSVRC第一名)
- VGG(2014年ILSVRC第二名,但被广泛应用于其他图像任务)
- GoogleNet(2014年ILSVRC第一名)

然后第2节讲解ResNet:
2015年imageNet图像分类分任务第一名。即残差网络,它的特点是非常深,是一个深达152层的神经网络,并且在如何有效训练方面,总结出来一些有趣的想法和窍门。

第3节会讲解一个Inception神经网络的实例分析

了解了以上神经网络网络之后,你就会对如何构建有效的卷积神经网络更有感觉。

1.经典网络

1.1 CNN的演化

下图是截取刘昕博士总结的CNN演化历史图。起点是神经认知机模型,此时已经出现了卷积结构,经典的LeNet诞生于1998年。然而之后CNN的锋芒开始被SVM等手工设计的特征盖过。随着ReLU和dropout的提出,以及GPU和大数据带来的历史机遇,CNN在2012年迎来了历史突破–AlexNet.
QQ截图20161114113400.png-63.3kB

1.2 Lenet-5

下图是lenet的结构,与目前不断改进中的CNN一样,也同样具有卷积层,池化层,全链接层。
QQ截图20161114113734.png-84kB

原论文:Lecun et al.,1998.Gradienct-based learning applied to document recognition
对该论文,建议精读第2段(重点介绍了本节要讲的网络),泛读第3段(一些有趣的实验结果)

输入层
输入层是一张黑白图片,大小是32*32(1个颜色通道)。

卷积层1–C1
输入层的下一层便是第1个卷积层了。这个卷积层有6个卷积核(每个神经元对应一个卷积核),核大小是5*5.即输出的是6个28*28的feature map,每个feature map都提取了一个局部特征。

这一层需要训练的参数个数是(5*5+1)*6 = 156 。加1是因为每一个卷积核线性计算中还有一个bais偏执项参数。

如此一来,C1中的链接数共有156*(28*28) = 122304个。

池化层1–S2
池化层也叫向下采样层,是为了降低网络训练参数及模型的过拟合程度。
C1的输出就是S2的输入,S2的输入大小为6 * 28 * 28.

窗口大小为2*2,步长为2,所以采样之后的S2输出是6 * 14 * 14

卷积层2–C3
C3有16个卷积核(16个神经元),同样也是通过5 * 5的卷积核,得到16个10 * 10 的feature map。

在C1中是有6个卷积核的,现在有16个,每个卷积核都是提取了一个局部的特征。所以16个卷积核其实代表着C1中6中特征的组合。

池化层2–S4
同样,通过对C3的向下采样,输出之后的大小为16 * 5 * 5.

卷积层3–C5
C5有120个卷积核,每个单元与S4的全部16个单元的5*5邻域相连,由于S4层特征图的大小也为5*5(同滤波器一样),故C5特征图的大小为1*1:这构成了S4和C5之间的全连接。之所以仍将C5标示为卷积层而非全相联层,是因为如果LeNet-5的输入变大,而其他的保持不变,那么此时特征图的维数就会比1*1大。C5层有48120个可训练连接。

全链接层1–F6
F6层有84个单元(之所以选这个数字的原因来自于输出层的设计),与C5层全相连。有10164个可训练参数。如同经典神经网络,F6层计算输入向量和权重向量之间的点积,再加上一个偏置。然后将其传递给sigmoid函数产生单元i的一个状态。

输出层–output
输出层由欧式径向基函数(Euclidean Radial Basis Function)单元组成,每类一个单元,每个有84个输入。
换句话说,每个输出RBF单元计算输入向量和参数向量之间的欧式距离。输入离参数向量越远,RBF输出的越大。用概率术语来说,RBF输出可以被理解为F6层配置空间的高斯分布的负log-likelihood。给定一个输式,损失函数应能使得F6的配置与RBF参数向量(即模式的期望分类)足够接近。

现在其实很少用欧式径向基函数作为输出层了,一般都是用softmax层做多分类,比较直观的图:
image_1cf5jokvl15q94es1vh61otb1mr49.png-89.1kB

相比现代版本,这个神经网络有点小,只有约6万个参数,而现在,我们经常看到一千万到一亿个参数的神经网络。

2.3 Alexnet

AlexNet 可以说是具有历史意义的一个网络结构,可以说在AlexNet之前,深度学习已经沉寂了很久。历史的转折在2012年到来,AlexNet 在当年的ImageNet图像分类竞赛中,top-5错误率比上一年的冠军下降了十个百分点,而且远远超过当年的第二名。

AlexNet 之所以能够成功,深度学习之所以能够重回历史舞台,原因在于:
(1)非线性激活函数:ReLU
(2)防止过拟合的方法:Dropout,Data augmentation
(3)大数据训练:百万级ImageNet图像数据
(4)其他:GPU实现,LRN归一化层的使用
(5)Alexnet比LeNet-5要深,其参数数量有600万个
(6)使用了local response normalization(后来学者发现这个并不重要,因此此处不详细讲述)

原论文:[Krizhevsky et al.,2012.ImageNet classification with deep convolutional neaural networks]

2.3.1 结构

Alexnet的结构如下:
QQ截图20161114132145.png-47.4kB

还有一张图可能更直观:
image_1cf6in08r1l35b7gacfefr309.png-192.9kB

alexnet总共包括8层,其中前5层convolutional(包含pool),后面3层是full-connected,文章里面说的是减少任何一个卷积结果会变得很差,下面我来具体讲讲每一层的构成:

conv1:
第一层卷积层 输入图像为227*227*3(paper上貌似有点问题224*224*3)的图像,使用了96个kernels(96,11,11,3),以4个pixel为一个单位来右移或者下移(步长为4),能够产生96个55*55个卷积后的矩形框值。

pool2:
然后进行response-normalized(其实是Local Response Normalized,后面我会讲下这里)和pooled之后,pool这一层好像caffe里面的alexnet和paper里面不太一样,alexnet里面采样了两个GPU,所以从图上面看第一层卷积层厚度有两部分,池化pool_size=(3,3),滑动步长为2个pixels,得到96个27*27个feature。

conv3:
第二个卷积层使用256个(同样,分布在两个GPU上,每个128kernels(5*5*48)),做pad_size(2,2)的处理,以1个pixel为单位移动,能够产生256*27*27个卷积后的矩阵框,

pool4:
做LRN处理,然后pooled,池化以3*3矩形框,2个pixel为步长,得到256个13*13个features。

conv5:
使用384个kernels(3*3*384,pad_size=(1,1),得到384*15*15,kernel_size为(3,3),以1个pixel为步长,得到384*13*13)

conv6:
使用384个kernels(pad_size(1,1)得到384*15*15,核大小为(3,3)步长为1个pixel,得到384*13*13)

conv7:
使用256个kernels(pad_size(1,1)得到384*15*15,核大小为(3,3)步长为1个pixel,得到256*13*13)

pool7:
经过一个池化层,pool_size=(3,3),步长为2,得到6*6*256

full8:
将6*6*256平铺成9216*1的向量,进入全连接层,该层的神经元个数为4096,即有w权重参数维度4096*9216个。

full9:
该层神经元个数仍然是4096个

softmax10:
以上输出,进入softmax层,因为由1000个分类,因此为1000个神经元,每个神经元输出对应类别的概率。注意caffe图中全连接层中有relu、dropout、innerProduct。

Alexnet总共有5个卷积层,具体的数据流如下:
QQ截图20161114132850.png-185.7kB

如下有更清晰的数据结构(截图自http://blog.csdn.net/sunbaigui/article/details/39938097
QQ截图20161114133243.png-78.5kB
QQ截图20161114133111.png-80.1kB
QQ截图20161114133123.png-91.8kB
QQ截图20161114133137.png-115kB
QQ截图20161114133149.png-82.9kB

2.3.2 优点

Data augmentation
有一种观点认为神经网络是靠数据喂

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值