技术控

    今日:51| 主题:49312
收藏本版 (1)
最新软件应用技术尽在掌握

[其他] 卷积神经网络

[复制链接]
安萧灬若痕轩 发表于 2016-9-30 19:06:21
105 1

立即注册CoLaBug.com会员,免费获得投稿人的专业资料,享用更多功能,玩转个人品牌!

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
卷积神经网络(Convolutional Neural Network,CNN)是深度学习技术中极具代表性的网络结构之一,在图像处理领域取得了巨大的成功。CNN相较于传统的图像处理算法的优点之一在于,避免了对图像复杂的前期预处理过程,可以直接输入原始图像。
  图像处理中,往往会将图像看成是一个或者多个二维向量,传统的神经网络采用全联接的方式,即输入层到隐藏层的神经元都是全部连接的,这样做将导致参数量巨大,使得网络训练耗时甚至难以训练,而CNN则通过局部链接、权值共享等方法避免这一困难。
  局部连接(Sparse Connectivity)与权值共享(Shared Weights)

  下图是一个很经典的图示,左边是全连接,右边是局部连接。
   
卷积神经网络-1 (Network,代表性,经典的,神经元,数量级)

  对于一个1000 × 1000的输入图像而言,如果下一个隐藏层的神经元数目为10^6个,采用全连接则有1000 × 1000 × 10^6 = 10^12个权值参数,如此数目巨大的参数几乎难以训练;而采用局部连接,假如局部感受野是10 x 10,隐藏层的每个神经元仅与图像中10 × 10的局部图像相连接,那么此时的权值参数数量为10 × 10 × 10^6 = 10^8,将直接减少4个数量级。
  隐含层每个神经元都连接10 * 10 个图像区域,也就是说每一个神经元存在100个连接权值参数。如果我们每个神经元这100个参数相同呢?将这10 × 10个权值参数共享给剩下的神经元,也就是说隐藏层中10^6个神经元的权值参数相同,那么此时不管隐藏层神经元的数目是多少,需要训练的参数就是这 10 × 10个权值参数(也就是卷积核(也称滤波器)的大小)。
  这大概就是CNN的一个神奇之处,尽管只有这么少的参数,依旧有出色的性能。但是,这样仅提取了图像的一种特征,如果要多提取出一些特征,可以增加多个卷积核,不同的卷积核能够得到图像的不同映射下的特征,称之为Feature Map。如果有100个卷积核,最终的权值参数也仅为100 × 100 = 10^4个而已。另外,偏置参数也是共享的,同一种滤波器共享一个。
  网络结构

  CNN中主要有两种类型的网络层,分别是卷积层和池化/采样层(Pooling)。卷积层的作用是提取图像的各种特征;池化层的作用是对原始特征信号进行抽象,从而大幅度减少训练参数,另外还可以减轻模型过拟合的程度。
  卷积层是卷积核在上一级输入层上通过逐一滑动窗口计算而得,卷积核中的每一个参数都相当于传统神经网络中的权值参数,与对应的局部像素相连接,将卷积核的各个参数与对应的局部像素值相乘之和,(通常还要再加上一个偏置参数),得到卷积层上的结果。
  通过卷积层获得了图像的特征之后,理论上我们可以直接使用这些特征训练分类器(如softmax),但是这样做将面临巨大的计算量的挑战,而且容易产生过拟合的现象。为了进一步降低网络训练参数及模型的过拟合程度,我们对卷积层进行池化/采样(Pooling)处理。池化/采样的方式通常有以下两种:
  Max-Pooling: 选择Pooling窗口中的最大值作为采样值;
  Mean-Pooling: 将Pooling窗口中的所有值相加取平均,以平均值作为采样值;
  训练过程

  卷积网络在本质上是一种输入到输出的映射,它能够学习大量的输入与输出之间的映射关系,而不需要任何输入和输出之间的精确的数学表达式,只要用已知的模式对卷积网络加以训练,网络就具有输入输出对之间的映射能力。在开始训练前,所有的权都应该用一些不同的小随机数进行初始化。“小随机数”用来保证网络不会因权值过大而进入饱和状态,从而导致训练失败;“不同”用来保证网络可以正常地学习。实际上,如果用相同的数去初始化权矩阵,则网络无能力学习。
  训练算法与传统的BP算法差不多。主要包括4步,这4步被分为两个阶段:
  第一阶段,向前传播阶段:
  a)从样本集中取一个样本(X,Yp),将X输入网络;
  b)计算相应的实际输出Op。
  在此阶段,信息从输入层经过逐级的变换,传送到输出层。这个过程也是网络在完成训练后正常运行时执行的过程。在此过程中,网络执行的是计算(实际上就是输入与每层的权值矩阵相点乘,得到最后的输出结果):
  Op=Fn(…(F2(F1(XpW(1))W(2))…)W(n))
  第二阶段,向后传播阶段
  a)算实际输出Op与相应的理想输出Yp的差;
  b)按极小化误差的方法反向传播调整权矩阵。
  优点

  卷积网络较一般神经网络在图像处理方面有如下优点:
  a)输入图像和网络的拓扑结构能很好的吻合;
  b)特征提取和模式分类同时进行,并同时在训练中产生;
  c)权重共享可以减少网络的训练参数,使神经网络结构变得更简单,适应性更强。
友荐云推荐




上一篇:The Java 8 API Design Principles
下一篇:Docker存储方式选型建议
酷辣虫提示酷辣虫禁止发表任何与中华人民共和国法律有抵触的内容!所有内容由用户发布,并不代表酷辣虫的观点,酷辣虫无法对用户发布内容真实性提供任何的保证,请自行验证并承担风险与后果。如您有版权、违规等问题,请通过"联系我们"或"违规举报"告知我们处理。

單曲■D循環 发表于 2016-10-3 06:05:14
有空一起交流一下
回复 支持 反对

使用道具 举报

*滑动验证:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

我要投稿

推荐阅读

扫码访问 @iTTTTT瑞翔 的微博
回页顶回复上一篇下一篇回列表手机版
手机版/CoLaBug.com ( 粤ICP备05003221号 | 文网文[2010]257号 )|网站地图 酷辣虫

© 2001-2016 Comsenz Inc. Design: Dean. DiscuzFans.

返回顶部 返回列表