卷积神经网络
图像特征的提取与分类一直是计算机视觉领域的一个基础而重要的研究方向。卷积神经网络( Convolutional Neural Network,CNN) 提供了一种端到端的学习模型,模型中的参数可以通过传统的梯度下降方法进行训练,经过训练的卷积神经网络能够学习到图像中的特征,并且完成对图像特征的提取和分类。作为神经网络领域的一个重要研究分支,卷积神经网络的特点在于其每一层的特征都由上一层的局部区域通过共享权值的卷积核激励得到。这一特点使得卷积神经网络相比于其他神经网络方法更适合应用于图像特征的学习与表达。
早期的卷积神经网络结构相对简单,如经典的Le Net-5 模型,主要应用在手写字符别、图像分类等一些相对单一的计算机视觉应用领域中。随着研究的不断深入,卷积神经网络的结构不断优化,其应用领域也逐渐得到延伸。例如,卷积神经网络与深信度网络( Deep Belief Network,DBN)相结合产生的卷积深信度网 络( Convolutional Deep Belief Network,CDBN)作为一种非监督的生成模型,在人脸特征提取得到广泛应用;Alex Net在海量图像分类领域取得了突破性的成果;基于区域特征提取的 R-CNN( Regions with CNN)在目标检测领域取得了成 功;全卷积网络( Fully Convolutional Network,FCN)]实现了端到端的图像语义分割,并且在准确率上大幅超越了传统的语义分割算法。近年来,卷积神经网络的结构研究仍然有着很高的热度,一些具有优秀性能的网络结构不断被提出。
CNN的基本结构由输入层、卷积层(convolutional layer)、 池 化 层 (pooling layer)、全连接层及输出层构成。卷积层和池化层一般会取若干个,采用卷积层和池化层交替连接,即一个卷积层连接一个池化层,池化层后再连接一个卷积层,依此类推。由于卷积层中输出特征面的每个神经元与其输入进行局部连接 并通过对应的连接权值与局部输入进行加权求和再加上偏置值,得到该神经元输入值,该过程类似于卷积过程,CNN也由此而得名。
在卷积神经网络中,输入图像通过多个卷积层和池化层进行特征提取,逐步由低层特征变为高层特征;高层特征再经过全连接层和输出层进行特征分类,产生一维向量,表示当前输入图像的类别。因此,根据每层的功能,卷积神经网络可以划分为两个部分: 由输入层、卷积层和池化层构成特征提取器,以及由全连接层和输出层构成分类器,结构如下图1所示。
卷积神经网络的工作原理可以分为网络模型定义、网络训练以及网络的预测三个部分:
1) 网络模型定义
网络模型的定义需要根据具体应用的数据量以及数据本身的特点,设计网络深度、网络每一层的功能,以及设定网络中的超参数,如: λ、η 等。针对卷积神经网络的模型设计有不少的研究,比如模型深度方面、卷积的步长方面、激励函数方面等。此外,针对网络中的超参数选择,也存在一些有效的经验总结。但是,目前针对网络模型理论分析和量化研究相对还比较匮乏。
2) 网络训练
卷积神经网络可以通过残差的反向传播对网络中的参数进行训练。但是,网络训练中的过拟合以及梯度的消逝与爆炸等问题极大影响了训练的收敛性能。针对网络训练的问题,研究者们提出了一些改善方法。例如:可以使用高斯分布的随机初始化网络参数;利用经过预训练的网络参数进行初始化;对卷积神经网络不同层的参数进行相互独立同分布的初始化。根据近期的研究趋势,卷积神经网络的模型规模正在迅速增大,而更加复杂的网络模型也对相应的训练策略提出了更高的要求。
3) 网络的推断预测
卷积神经网络的预测过程就是通过对输入数据进行前向传导,在各个层次上输出特征图,最后利用全连接网络输出基于输入数据的条件概率分布的过程。近期的研究表明,经过前向传导的卷积神经网络高层特征具有很强的判别能力和泛化性能。这一研究成果对于扩展卷积神经网络的应用领域具有重要的意义。
Lecun 等提出的 Le Net-5 模型采用了交替连接的卷积层和下采样层对输入图像进行前向传导,并且最终通过全连接层输出概率分布。这种结构是当前普遍采用的卷积神经网络结构的原型。Le Net-5 虽然在手写字符识别领域取得了成功,但是其存在的缺点也比较明显,包括:
-
难以寻找到合适的大型训练集对网络进行训练以适应更为复杂的应用需求。
-
过拟合题使得 Le Net-5 的泛化能力较弱。
-
网络的训练开销非常大,硬件性能支持的不足使得网络结构的研究非常困难。 以上三大制约卷积神经网络发展的重要因素在近期的研究中取得了突破性的进展是卷积神经网络成为一个新的研究热点的重要原因。并且,近期针对卷积神经网络的深度和结构优化方面的研究进一步提升了网络的数据拟合能力。针对 Le Net-5 的缺陷,Krizhevsky 等提出了Alex Net。Alex Net 有5层卷积网络,如下图2所示。网络有约65万个神经元以及6 000万个可训练参数,从网络规模上大大超越了Le Net-5。另外,Alex Net选择了大型图像分类数据库 Image Net作为训练数据集。Image Net 提供了1 000个类别共 120 万张图片进行训练,图片的数量和类别都大幅度超越了以往的数据集。在去过拟合方面,Alex Net 引了dropout,一定程度上减轻了网络过拟合问题。在硬件支持方面,Alex Net 使用了GPU进行训练,相比传统的CPU 运算,GPU 使网络的训练速度提高了十倍以上。Alex Net在 Image Net 的 2012 图像分类竞赛中夺得冠军,并且相比于第二名的方法在准确度上 取得了高出11% 的巨大优势。Alex Net 的成功使得卷积神经网络的研究再次引起了学术界的关注。
图2 Alex Net 结构
Simonyan 等在Alex Net 的基础上,针对卷积神经网络的深度进行了研究提出了VGG 网络。VGG 由3×3的卷积核构建而成,通过对比不同深度的网络在图像应用中的性能。Simonyan等证明了网络深度的提升有助于提高图像分类的准确度。然而,这种深度的增加并非没有限制,在恰当的网络深度基础上继续增加网络的层数,会带来训练差增大的网络退化问题。因此,VGG 的最佳网络深度被设定在了16~19 层,结构如下图3所示。
图3 VGG结构
针对深度络的退化问题,He 等分析认为如果网络中增加的每一个层次都能够得到优化的训练,那么误差是不应该会在网络深度加大的情况下提高的。因此,网络退化问题说明了深度网络中并不是每一个层次都得到了完善的训练。He 等提出了一种 Res Net 网络结构。Res Net 通过Short connections将低层的特征图 x 直接映射到高层的网络中,如下图4所示。假设原本网络的非线性映射为F( x),那么通过 short connection连接之后的映射关系就变为了 F( x) + x。He 等提出这一方法的依据是 F( x) + x 的优化相比 F(x)会更加容易。因为,从极端角度考虑如果x已经 是 一 个 优 化 的 映 射,那 么 short connection之间的网络映射经过训练后就会更趋近于0。这就意味着数据的前向传导可以在一定程度上通short connection 跳过一些没有经过完善训练的层次,从而提高网络的性能。实验证明,Res Net 虽然使用了和 VGG 同样大小的卷积核,但是网络退化问题的解决使其可以构建成为一个152层的网络,并且Res Net 相比VGG 有更低训练误差和更高的测试准确度。
图4 残差块结构
虽然 Res Net 在一定程度上解决了深层网络退化的问题,但是关于深层网络的研究仍然存在一些疑问:
-
如何判断深度网络中哪些层次未能得到完善的训练。
-
是什么原因导致深度网络中部分层次训练的不完善。
-
如何处理深层网络中训练不完善的层次。
在卷积神经网络深度的研究以外,Szegedy 等更关注通过优化网络结构从而降低网络的复杂程度。他们提出了一种卷积神经网络的基本模块称为Inception。如图5所示,Inception 模块由1 × 1,3 × 3,5 × 5 的卷积核组成。小尺度卷积核的使用主要有两大优点: 1) 限制了整个网络中的训练参数数量,降低了网络的复杂度;2) 不同大小的卷积核在多尺度上针对同一图像或者特征图进行了特征提取。实验表明,使用 Inception 模块构建的GoogLe Net的训练参数数量只有Alex Net 的 1 /12,但是在 Image Net 上的图像分类准度却高出 Alex Net 大约 10% 。
图5 Inception 模块
卷积神经网络结构方面的研究是一个开放的问题,基于当前的研究状况,目前的研究主要形成了两大趋势:
-
增加卷积神经网络的深度。
-
优化卷积神经网络的结构,降低网络的复杂度。
在卷积神经网络的深度研究方面,主要依赖于进一步分析深层次网络存在的潜在隐患( 如:网络退化) ,以解决深层网络的训练问题( 如: VGG、Res Net) 。而在优化网络结构方面,目前的研究趋势是进一步加强对于当前网络结构的理解和分析,以更简洁高效的网络结构取代当前的结构,进一步地降低网络复杂度并且提升网络的性能( 如:GoogLe Net、完全卷积网络) 。
卷积神经网络图像特征的提取与分类一直是计算机视觉领域的一个基础而重要的研究方向。卷积神经网络( Convolutional NeuralNetwork,CNN) 提供了一种端到端的学习模型,模型中的参数可以通过传统的梯度下降方法进行训练,经过训练的卷积神经网络能够学习到图像中的特征,并且完成对图像特征的提取和分类。作为神经网络领域的一个重要研究分支,卷积神经网络的特点在于其每一层的特征都由上一层的局部区域通过共享权值的卷积核激励得到。这一特点使得卷积神经网络相比于其他神经网络方法更适合应用于图像特征的.
卷积神经网络
(Convolutional Neural Network,CNN)是一种
深度学习
模型,专门用于处理图像数据。它的基本
结构
包括:
卷积层:通过卷积核(filter)与输入数据做卷积运算,得到特征图(feature map)。
池化层:通过池化操作(例如最大池化)对特征图进行降维,以保证图像的不变性,并且降低计算复杂度。
全连接层:通过全连接的方式将多个特征图输入到神经网络中,进行...
本文介绍的工具是针对
卷积神经网络
示意图可视化的,不包括算图。(示意图一般出现在论文中)
常见
的
卷积神经网络
示意图绘制工具不少,常用的主要有 NN SVG、ConvNetDraw、PlotNeuralNet 等。
写这篇重点介绍 PlotNeuralNet 的教程的原因是国内关于它的教程很少并且大都只是列举了官方 demo。
详细介绍参考:https://blog.csdn.net/newlw/article/details/132507741
卷积神经网络
(Convolution Neural Network,CNN)是通过模拟人脑视觉系统,采取卷积层和池化层依次交替的模型
结构
,卷积层使原始信号得到增强,提高信噪比,池化层利用图像局部相关性原理,对图像进行邻域间采样,在减少数据量的同时提取有用信息,同时参数减少和权值共享使得系统训练时间长的问题得到改善。
目前主流的
卷积神经网络
(CNNs),比如VGG, GoogleNet,ResNet都是由简单的CNN调整,组合而来。
一.
卷积神经网络
结构
及原理
CNN是一种多层网络,它的每..
输入层:输入数据的维度就是输入层的神经元数量。
卷积层:卷积层的每个神经元与输入层的一小部分神经元相连,并对这些神经元的输出进行加权和,再通过激活函数进行非线性转换。这种连接方式叫做卷积。
池化层:池化层的每个神经元与卷积层的一小部分神经元相连,并对这些神经元的输出取最大值或平均值。这种连接方式叫做池化。
全连接层:全连接层的每...
4.卷积层+池化层的组合可以在隐藏层中出现很多次。也可以灵活组合,卷积+卷积+池化、卷积+卷积等
5.在若干卷积层+池化层之后是全连接层(fully connected layer),其实就是DNN
结构
,只是输出层使用了Softmax激活函数来做图像识别的分类
6.一般fc就为CNN的全连接层。全连接层一般..
在特征提取阶段,通常由多个特征层堆叠而成,每个特征层又由卷积层和池化层组成。
处于网络前端的特征层,用来捕捉图像局部细节信息,而后面的特征层则用来捕捉图像中更加抽象的信息。在分类识别阶段,通常是一个简单的分类器,例如全连接网络或支持向量机,它接收最后一个特征层的输出,完成分类和识别。卷积层也叫做特征提取层,使用卷积核来提取图像中的特征。
要注意的是,这里的卷积运算是有偏置项的,一个卷积核在整张图片上提取到的特征构成特
本文来自csdn,文章先来
卷积神经网络
和全连接神经网络对比,接着让我们直观理解卷积,卷积计算流程,结合案例进行相关的介绍。
卷积神经网络
(ConvolutionalNeuralNetwork,CNN)是一种前馈神经网络,它的人工神经元可以响应一部分覆盖范围内的周围单元,对于大型图像处理有出色表现。
它包括卷积层(convolutionallayer)和池化层(poolinglayer)。对比:
卷积神经网络
、全连接神经网络左图:全连接神经网络(平
CNN -> Convolutional Neural Network
卷积神经网络
是由一个或多个卷积层和顶端的全连通层(也可以使用1×1的卷积层作为最终的输出)组成的一种前馈神经网络
局部感受野(Local Receptive Fields)
一般的神经网络往往会把图像的每一个像素点连接到全连接的每一个神经元中,而
卷积神经网络
则是把每一个隐藏节点只连接到图像的某个局部区域,从而减少参数训练的数量。
例如,一张1024×720的图像,使用9×9的感受野,则只需要81个权值参数。对于一般的视觉也是如此,当观看一张图像时,更多的时候关注的是局部。
共享权值(Shared Weigh
卷积神经网络
(Convolutional Neural Network,CNN)的画法有多种,以下是其中
几种
常见
的表达方式:
1. 线性表示法:
卷积神经网络
可以用线性表示法来表示,其中每一层都是一个矩形,表示该层的特征图。每个矩形中的小方块代表一个神经元,方块的大小取决于该神经元的感受野大小。通过箭头连接相邻层之间的神经元,表示它们之间的连接关系。
2. 图像表示法:
卷积神经网络
也可以用图像表示法来表示,其中每一层都是一个二维图像,表示该层的特征图。每个像素点代表一个神经元,像素点的亮度取决于该神经元的激活程度。通过图像中的线段来连接相邻层之间的神经元,表示它们之间的连接关系。
3. 3D表示法:
卷积神经网络
还可以用三维表示法来表示,其中每一层都是一个立体图像,表示该层的特征图。每个立方体中的小方块代表一个神经元,方块的高度取决于该神经元的激活程度。通过立方体中的线段来连接相邻层之间的神经元,表示它们之间的连接关系。
这些画法都可以用来描述
卷积神经网络
的
结构
和连接方式,具体选择哪种画法取决于个人偏好和图示的清晰度。