几种常见卷积神经网络结构

几种常见卷积神经网络结构卷积神经网络图像特征的提取与分类一直是计算机视觉领域的一个基础而重要的研究方向。卷积神经网络(ConvolutionalNeuralNetwork,CNN)提供了一种端到端的学习模型,模型中的参数可以通过传统的梯度下降方法进行训练,经过训练的卷积神经网络能够学习到图像中的特征,并且完成对图像特征的提取和分类。作为神经网络领域的一个重要研究分支,卷积神经网络的特点在于其每一层的特征都由上一层的局部区域通过共享权值的卷积核激励得到。这一特点使得卷积神经网络相比于其他神经网络方法更适合应用于图像特征的.

大家好,又见面了,我是你们的朋友全栈君。

卷积神经网络

图像特征的提取与分类一直是计算机视觉领域的一个基础而重要的研究方向。卷积神经网络( 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 虽然在手写字符识别领域取得了成功,但是其存在的缺点也比较明显,包括:

  1. 难以寻找到合适的大型训练集对网络进行训练以适应更为复杂的应用需求。
  2. 过拟合题使得 Le Net-5 的泛化能力较弱。
  3. 网络的训练开销非常大,硬件性能支持的不足使得网络结构的研究非常困难。 以上三大制约卷积神经网络发展的重要因素在近期的研究中取得了突破性的进展是卷积神经网络成为一个新的研究热点的重要原因。并且,近期针对卷积神经网络的深度和结构优化方面的研究进一步提升了网络的数据拟合能力。针对 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 在一定程度上解决了深层网络退化的问题,但是关于深层网络的研究仍然存在一些疑问:

  1. 如何判断深度网络中哪些层次未能得到完善的训练。
  2. 是什么原因导致深度网络中部分层次训练的不完善。
  3. 如何处理深层网络中训练不完善的层次。

在卷积神经网络深度的研究以外,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 模块

卷积神经网络结构方面的研究是一个开放的问题,基于当前的研究状况,目前的研究主要形成了两大趋势:

  1. 增加卷积神经网络的深度。
  2. 优化卷积神经网络的结构,降低网络的复杂度。

在卷积神经网络的深度研究方面,主要依赖于进一步分析深层次网络存在的潜在隐患( 如:网络退化) ,以解决深层网络的训练问题( 如: VGG、Res Net) 。而在优化网络结构方面,目前的研究趋势是进一步加强对于当前网络结构的理解和分析,以更简洁高效的网络结构取代当前的结构,进一步地降低网络复杂度并且提升网络的性能( 如:GoogLe Net、完全卷积网络) 。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/148780.html原文链接:https://javaforall.net

赞 (0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • pycharm安装pyqt5-tools_python pyqt5教程

    pycharm安装pyqt5-tools_python pyqt5教程许多人会使用pyqt5去写python的可视化界面,但是每次都需要在终端把.ui文件转为.Py文件,操作相对比较麻烦,此时pycharm就派上用场了,pycharm是一个特别好用的python编辑器,也可以把pyqt5的开发工具集成到pycharm中,具体的操作步骤如下:首先找到pycharm的菜单栏“file”,点击选择”setting“选择tools下的Externaltools点击+号添加工具:按如下输入Name:QTdesigner(自己另外取一个也行)program:D:\anaco

    2022年8月27日
  • java中jbpm工作流_node 工作流引擎

    java中jbpm工作流_node 工作流引擎1.      JBPM工作流引擎是用来做什么的首先要说明的一点是工作流引擎指的并不只是JBPM,JBPM只是工作流引擎的一种。JBPM利用JPDL流程定义语言将现实生活中处理事务的业务流程进行抽象,形成一套业务流程规则,只要处理该项业务就必须按照这个流程规则进行。举一个很简单的例子,就拿看医生来讲,看医生的整个流程必须是先挂号,再看病,再抓药,只要你进行看医生这个业务就必须按照这套流程进行。

    2022年9月9日
  • 使用PreparedStatement执行sql语句

    使用PreparedStatement执行sql语句使用PreparedStatement执行sql语句packagecom.cn.preparedStatement;importjava.sql.Connection;importjava.sql.PreparedStatement;importjava.sql.ResultSet;importorg.junit.Test;importcom.cn.Util.JdbcUtil;

    2022年6月3日
  • 关于ModifyStyle ModifyStyleEx修改自定义控件的问题[通俗易懂]

    关于ModifyStyle ModifyStyleEx修改自定义控件的问题[通俗易懂]继承与MFC控件,比如CStaticCEdit等等,在自定义代码中许多人反映无法更改控件的外观属相,这是因为大部分人没有通知主窗体自定义控件的外观更改了,可以使用下列代码进行更改: ModifyStyle(WS_BORDER,0,SWP_DRAWFRAME); ModifyStyleEx(WS_EX_STATICEDGE|WS_EX_WINDOWEDGE|WS_EX_DLGMODALFRAME,                       WS_EX_CLIENTEDGE,SWP_DRAWFRAME);

    2022年7月19日
  • java native2ascii的用法介绍

    java native2ascii的用法介绍将非Unicode编码字符转化为Unicode编码的字符,即国际化。语法:native2ascii[options][inputfile[outputfile]]描述:如果outputfile没有指定,标准输出将用于结果输出;如果inputfile没有指定,标准输入设备将用于输入。参数-reverse使用该参数将Unicode编码字符转换为本地编码

    2022年9月3日
  • 阿里云部署django实现公网访问

    本博的主要目的是对阿里云部署django实现公网访问进行一次简单的记录,方便日后查询。内容目录:(1)申请阿里云服务器及安全组配置(2)实现ssh远程控制(3)实现ftp文件传输(4)安装p

    2021年12月29日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号