LeNet、AlexNet与VGGNet的学习笔记

发展顺序:LeNet-AlexNet-VGGNet

因此,以LeNet为起始研究

一些基本概念

特征映射(Feature map):为配合部分连接,卷积神经网络还运用了权值共享来减少参数数量。具体做法就是将卷积核在图片上移动(即移动卷积核的感受野)来计算出输出。

卷积核(kernel):用于对输入图像进行共享权值的遍历;如果将图像每一个图像的每一个像素作为卷积输入层的元素,那么卷积核就相当与每个输入的权值,且有卷积核大小的一组输入使用同一组权值。

步长(stride):卷积核是在图片上移动后遍历每一个像素,每次移动的大小就是步长stride。

填充(padding):是为了满足输出的图像的维度要求,最终图像的输出宽度会=原来输出宽度+2padding,因为是周围填充。

LeNet

LeNet是在1998年提出的用于手写体数字的识别,首次提出了卷积神经网络的基本组成:卷积层,池化层和全连接层以及权值共享,感受野等概念。

这是Gradient-Based Learning Applied to Document Recognition论文里LeNet模型的架构。一个输入图像经过卷积、子抽样、卷积、子抽样、全连接、全连接以及高斯连接等步骤后输出的结构。

它包含了卷积神经网络(CNN)的基本模块:卷积层,池化层,全连接层。

卷积层执行卷积网络的核心构建模块,该卷积网络执行大部分计算繁重的工作。卷积层的主要目的是从作为图像的输入数据中提取特征。卷积通过使用输入图像的小方块学习图像特征来保留像素之间的空间关系。通过使用一组可学习的神经元对输入图像进行卷积。这将在输出图像中生成一个特征图或激活图,然后将这些特征图作为输入数据输入到下一个卷积层。

池化层降低了每个激活图的维数,但继续拥有最重要的信息。输入图像分为一组非重叠的矩形。通过诸如平均或最大值之类的非线性操作对每个区域进行下采样。该层可实现更好的泛化,更快的收敛,对平移和失真的鲁棒性,通常位于卷积层之间。

完全连接层(FCL)术语是指上一层中的每个过滤器都连接到下一层中的每个过滤器。卷积、合并和 ReLU 层的输出是输入图像的高级特征的实施例。采用 FCL 的目的是利用这些功能,根据训练数据集将输入图像分类为各种类别。FCL 被视为最终的池层,将功能提供给使用 Softmax 激活功能的分类器。完全连接层的输出概率之和为 1。这可以通过使用 Softmax 作为激活函数来确保。Softmax 函数采用任意实值得分的向量,并将其压缩为零和一之间的值之和,这些值之和为一。

全连接侧重特征的精确位置,卷积层侧重特征的相对位置。一个卷积核就是一个局部特征,因为全连接层的权重和位置有着紧密的关联,但卷积层的权重和特征本身紧密关联,所以卷积层的输出会更少的依赖特征的精确位置。池化核则相当于一个过滤器,可以使特征更加集中。一层中使用较多的卷积核可以提取出更多的局部特征并减轻池化层的信息损失。 

LeNet网络结构特点:

(1)卷积神经网络使用卷积,池化,非线性三个层作为一个系列,其中非线性为双曲线(tanh)或S型(sigmoid)形式。

(2)使用卷积提取空间特征。卷积层的参数较少,由卷积层的主要特性即局部连接和共享权重所决定。

L1层对应隐含层,L2层对应输出层,L2层后链接的就是softmax层,最后输出的S就是经过softmax层转换后的概率输出。

经过softmax层的算术表达式:

softmax层在神经网络中,解决分类问题的基本原理。通过softmax函数,将神经网络的输出结果转化成概率表达式。找到最大概率项,为其分类,和为1。

AlexNet

AlexNet由Alex Krizhevsky,Ilya Sutskever和Geoff Hinton开发的AlexNet是在计算机视觉中普及卷积网络的第一部作品。AlexNet 于2012年参加了ImageNet ILSVRC挑战赛, 并大大超越了第二名(前5名的错误率为16%,而第二名的错误率为26%)。网络具有与 LeNet非常相似的体系结构,但是更深,更大,并且具有彼此堆叠的卷积层(以前通常只有一 个CONV层总是紧随其后是POOL层)。

Top-5错误率:预测一个图片,如果概率前五中包含正确答案,即认为正确。

Top-1错误率:预测一个图片,如果概率最大的是正确答案,才认为正确。

其在论文ImageNet Classification with Deep Convolutional Neural Networks 中的架构如下:

整体思想不变,引入RelU,Dropout和LRN等trick。整个AlexNet包含了了八个需要训练的层(不包括池化层),前五层是卷积层,后三层是全连接层。上图之所以分开两部分是因为作者使用了两块GPU训练。

为了配合部分连接,卷积神经网络还运用了权值共享来减少参数数量。具体做法就是将卷积核在图片上移动(即移动卷积核的感受野)来计算出输出(输出通常称为feature map)。feature map的长宽就是卷积核在图片上移动的次数,深度就是卷积核的个数。

AlexNet的每层结构参数如下:

AlexNet主要用到的新技术包括:

1.Relu激活函数:f(x)=max(0,x)  

作用:克服梯度消失的问题;加快训练速度

 备注:关于RelU函数

线性整流函数(Rectified Linear Unit, ReLU),又称修正线性单元,是一种人工神经网络中常用的激活函数(activation function),通常指代以斜坡函数及其变种为代表的非线性函数

ReLU 是非线性操作,包括采用整流器的单元。这是一个元素明智的操作,这意味着每个像素都会应用该操作,并将特征图中的所有负值重新构造为零。为了理解 ReLU的工作原理,我们假设存在一个输入为 x 的神经元输入,并据此将整流器定义为F(x)=max 在神经网络的文献中。线性整流函数在基于斜坡函数的基础上有其他同样被广泛应用于深度学习的变种,譬如带泄露线性整流(Leaky ReLU), 带泄露随机线性整流(Randomized Leaky ReLU),以及噪声线性整流(Noisy ReLU)。

  带泄露线性整流:梯度为一个常数λ,λ∈(0,1)

  带泄露随机线性整流:在负输入值段的函数梯度λ是一个取自连续性均匀分布U(l,u)概率模型的随机变量

  噪声线性整流:对于神经元的输入值x,噪声线性整流加上了一定程度的正态分布的不确定性f(x)=max(0,x+Y) 

2.使用Dropout随机忽略一部分神经元(训练时使用,测试时不使用)

作用:消除减弱了神经元节点间的联合适应性,增强了泛化能力

3.使用Max pooling代替Average pooling

作用:更多的保留纹理信息,而非强调对整体特征信息进行下一层的采样

4.数据增强

作用:随机地从原始图像中截取区域,并水平翻转,增加了数据量,提高模型泛化能力,避免过拟合。

5.提出并采用了LRN,利用临近的数据做归一化处理技术,提高了深度学习训练时的准确度。

6.采用两块GPU进行计算,提高计算效率。

 

 

VGGNet

2014年ILSVRC的亚军是来自Karen Simonyan和Andrew Zisserman的网络,该网络被称为VGGNet。它的主要贡献在于表明网络深度是获得良好性能的关键因素。他们最终的最佳网络包含16个CONV / FC层,并且吸引人的是,它具有极其均匀的体系结构, 从头到尾仅执行3x3卷积和2x2池化。他们的预训练模型可用于Caffe中的即插即用功能。 VGGNet的缺点是评估成本更高,并且使用更多的内存和参数(140M)。这些参数中的 大多数都位于第一个完全连接的层中,并且由于发现这些FC层可以在不降低性能的情况下 被删除,从而大大减少了必要参数的数量。以下是VGG各级别的网络结构图:

 

备注:Conv(接受域大小)- 通道数

虽然VGGNet比AlexNet的参数要多,但反而需要更少的迭代次数就可以收敛,主要原因是更深的网络和更小的卷积核带来的隐式的正则化效果。

VGGNet网络结构特点:

1VGG全部使用3*3卷积核、2*2池化核,通过不断加深网络结构来提升性能。扩大局部的感受野的同时又降低了参数的数量有更多的非线性变换(3ReLU激活函数),使得CNN对特征的学习能力更强。 

2AE网络变深,参数量没有增长很多,参数量主要在3个全连接层。

3)训练比较耗时的依然是卷积层。

4VGG5段卷积,每段有2~3个卷积层,尾部用池化来缩小图片尺寸。

5)每段内卷积核数一样,越靠后的段卷积核数越多。

Alexnet与VGGnet的对比:

 

关于函数:

软饱和是指激活函数h(x)取值趋近于无穷大时,它的一阶导数趋近于0.

硬饱和是指x的绝对值大于某一常数时,其函数h(x)的一阶导数为0

sigmoid函数和tanh函数具有软饱和性质,而relu函数具有硬饱和性质。这就会造成一个问题,当在进行参数训练时,一旦输入落入饱和区,其函数的导数就会趋近于0或者等于0,这就无法为模型的训练和更新做出贡献。

如何选择合适的激活函数?

首先需要说的是,目前神经网络中,使用频率最高的就是relu激活函数,其次是tanh函数。其次,当输入数据的特征相差明显的时候,使用tanh函数,当输入数据的特征相差不明显的时候,使用sigmoid函数。

LeNetAlexNet再到VGGNet,卷积神经网络的深度不断加深,实现功能的程度越来越复杂,计算机视觉识别的错误率也越来越低。时代技术的发展证明了更深的网络,能更好的提取特征,而AlexNet VGGNet也成为后续很多网络的主干网络并得到了广泛的应用。

近年来,基于AlexNetVGGNet神经网络结构与基于改进版的AlextNet(如激活函数改为Maxout函数)、改进版VGGNet的应用依然占据着深度学习网络的绝大部分应用,在很多方面拥有着无可比拟优势。

在未来,依旧有许多值得研究的问题:

1)设计模型具备更高程度的智能化的结构从而解决更加复杂的问题;

2)随着卷积神经网络层数的不断加深,卷积神经网络的训练,解决在生产中降低能耗;

3)设计轻量级、小巧的卷积神经网络, 同时保证实时性与模型性能都是值得研究的问题。

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

五十赫兹小透明

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值