卷积神经网络
摘要卷积神经网络是近年来广泛应用于模式识别、 图像处理等领域的一种高效识别算法它具有结构简单、训练参数少和适应性强等特点。本文从卷积神经网络的发展历史开始详细阐述了卷积神经网络的网络结构、神经元模型和训练算法。在此基础上以卷积神经网络在人脸检测和形状识别方面的应用为例简单介绍了卷积神经网络在工程上的应用并给出了设计思路和网络结构。
关键字模型结构训练算法人脸检测形状识别
0引言
卷积神经网络是人工神经网络的一种已成为当前语音分析和图像识别领域的研究热点它的权值共享网络结构使之更类似于生物神经网络降低了网络模型的复杂度减少了权值的数量。该优点在网络的输入是多维图像时表现的更为明显使图像可以直接作为网络的输入避免了传统识别算法中复杂的特征提取和数据重建过程。卷积网络是为识别二维形状而特殊设计的一个多层感知器这种网络结构对平移、比例缩放、倾斜或者共他形式的变形具有高度不变性。
1卷积神经网络的发展历史
1962年Hubel和Wiesel通过对猫视觉皮层细胞的研究提出了感受野(receptive field)的概念 1984年日本学者Fukushima基于感受野概念提出的神经认知机(neocognitron)可以看作是卷积神经网络的第一个实现网络也是感受野概念在人工神经网络领域的首次应用。神经认知机将一个视觉模式分解成许多子模式(特征) 然后进入分层递阶式相连的特征平面进行处理它试图将视觉系统模型化使其能够在即使物体有位移或轻微变形的时候也能完成识别。神经认知机能够利用位移恒定能力从激励模式中学习并且可识别这些模式的变化形在其后的应用研究中 Fukushim a将神经认知机主要用于手写数字的识别。随后 国内外的研究人员提出多种卷积神经网络形式在邮政编码识别和人脸识别方面得到了大规模的应用。
通常神经认知机包含两类神经元即承担特征抽取的S-元和抗变形的C-元。 S-元中涉及两个重要参数即感受野与阈值参数前者确定输入连接的数目后者则控制对特征子模式的反应程度。许多学者一直致力于提高神经认知机的性能的研究在传统的神经认知机中每个S-元的感光区中由C-元带来的视觉模糊量呈正态分布。如果感光区的边缘所产生的模糊效果要比中央来得大 S-元将会接受这种非正态模糊所导致的更大的变形容忍性。我们希望得到的是训练模式与变形刺激模式在感受野的边缘与其中心所产生的效果之间的差异变得越来越大。为了有效地形成这种非正态模糊 F u k u s hima提出了带双C-元层的改进型神经认知机。
T r o tin等人提出了动态构造神经认知机并自动降低闭值的方法[1] 初始态的神经认知机各层的神经元数目设为零然后会对于给定的应用找到合适的网络规模。在构造网络过程中利用一个反馈信号来预测降低阈值的效果再基于这种预测来调节阈值。他们指出这种自动阈值调节后的识别率与手工设臵阈值的识别率相若然而上述反馈信号的具体机制并未给出并且在他们后来的研究中承认这种自动阈值调节是很困难的【8】。
Hildebrandt将神经认知机看作是一种线性相关分类器也通过修改阈值以使神经认知机成为最优的分类器。Lovell应用Hildebrandt的训练方法却没有成功。对此Hildebrandt解释的是该方法只能应用于输出层而不能应用于网络的每一层。事实上Hildebrandt没有考虑信息在网络传播中会逐层丢失。
Van Ooyen和Niehuis为提高神经认知机的区别能力引入了一个新的参数。事实上该
参数作为一种抑制信号抑制了神经元对重复激励特征的激励。多数神经网络在权值中记忆训练信息。根据Hebb学习规则某种特征训练的次数越多在以后的识别过程中就越容易被检测。也有学者将进化计算理论与神经认知机结合【9】 通过减弱对重复性激励特征的训练学习而使得网络注意那些不同的特征以助于提高区分能力。上述都是神经认知机的发展过程而卷积神经网络可看作是神经认知机的推广形式神经认知机是卷积神经网络的一种特例。
卷积神经网络本身可采用不同的神经元和学习规则的组合形式。其中一种方法是采用M-P神经元和BP学习规则的组合常用于邮政编码识别中。还有一种是先归一化卷积神经网络然后神经元计算出用输入信号将权值和归一化处理后的值再单独训练每个隐层得到权值最后获胜的神经元输出活性这个方法在处理二值数字图像时比较可行但没有在大数据库中得到验证。第三种方法综合前两种方法的优势即采用Mc Culloch-Pitts神经元代替复杂的基于神经认知机的神经元。在该方法中 网络的隐层和神经认知机一样是一层一层训练的但是回避了耗时的误差反向传播算法。这种神经网络被称为改进的神经认知机。随后神经认知机和改进的神经认知机作为卷积神经网络的例子广泛用于各种识别任务中比如大数据库的人脸识别和数字识别。下面详细介绍卷积神经网络的原理、网络结构及训练算法。
2卷积神经网络
2.1网络结构
卷积神经网络是一个多层的神经网络每层由多个二维平面组成而每个平面由多个独立神经元组成。网络中包含一些简单元和复杂元分别记为S-元和C-元。 S-元聚合在一起组成S-面 S-面聚合在一起组成S-层用Us表示。C-元、C-面和C-层(Us)之间存在类似的关系。网络的任一中间级由S-层与C-层串接而成而输入级只含一层它直接接受二维视觉模式样本特征提取步骤已嵌入到卷积神经网络模型的互联结构中。一般地 Us为特征提取层每个神经元的输入与前一层的局部感受野相连并提取该局部的特征一旦该局部特征被提取后它与其他特征间的位臵关系也随之确定下来 Uc是特征映射层网络的每个计算层由多个特征映射组成每个特征映射为一个平面平面上所有神经元的权值相等。特征映射结构采用影响函数核小的sigmoid函数作为卷积网络的激活函数使得特征映射具有位移不变性。此外由于一个映射面上的神经元共享权值因而减少了网络自由参数的个数降低了网络参数选择的复杂度。卷积神经网络中的每一个特征提取层(S-层)都紧跟着一个用来求局部平均与二次提取的计算层(C-层) 这种特有的两次特征提取结构使网络在识别时对输入样本有较高的畸变容忍能力【10】。
网络中神经元的输出连接值符合“最大值检出假说” 【15】 即在某一小区域内存在的一个神经元集合中只有输出最大的神经元才强化输出连接值。所以若神经元近旁存在有输出比其更强的神经元时其输出连接值将不被强化。根据上述假说就限定了只有一个神经元会发生强化。卷积神经网络的种元就是某S-面上最大输出的S-元它不仅可以使其自身强化而且还控制了邻近元的强化结果。因而所有的S-元渐渐提取了几乎所有位臵上相同的特征。在卷积神经网络早期研究中占主导的无监督学习中训练一种模式时需花费相当长的时间去自动搜索一层上所有元中具有最大输出的种元而现在的有监督学习方式中训练模式同它们的种元皆由教师设定。
图1是文献[12]中卷积神经网络的典型结构图。将原始图像直接输入到输入层(Uc1) 原始图像的大小决定了输入向量的尺寸神经元提取图像的局部特征因此每个神经元都与前一层的局部感受野相连。文中使用了4层网络结构隐层由S-层和C-层组成。每层均包含多个平面输入层直接映射到Us2层包含的多个平面上。每层中各平面的神经元提取图像中
特定区域的局部特征如边缘特征方向特征等在训练时不断修正S-层神经元的权值。同一平面上的神经元权值相同这样可以有相同程度的位移、旋转不变性。 S-层中每个神经元局部输入窗口的大小均为5x5 由于同一个平面上的神经元共享一个权值向量所以从一个平面到下一个平面的映射可以看作是作卷积运算 S-层可看作是模糊滤波器起到二次特征提取的作用。隐层与隐层之间空间分辨率递减而每层所含的平面数递增这样可用于检测更多的特征信息。
图1 卷积神经网络结构图
Fig 1 The structure of convolutional neural network
2.2神经元模型
在卷积神经网络中只有S-元间的输入连接是可变的而其他元的输入连接是固定的。用Usl kl n表示第l级第kl个S-面上一个S-元的输出用Ucl(kl n)表示在该级第kl
个C-面上一个C-元的输出。其中 n是一个二维坐标代表输入层中神经元的感受野所在位臵在第一级感受野的面积较小随后随着l的增大而增加。u
式(2.1)中al v kl-1 k和bl(k)分别表示兴奋性输入和抑制性输入的连接系数 rl(k)控制特征提取的选择性其值越大对噪音和特征畸变的容错性越差它是一常量它控制着位于每一S-层处的单个抑制子平面中每个神经元的输入: rl(k)的值越大与抑制性成比例的兴奋性就得越大以便能产生一个非零输出换句话说就是相当好的匹配才一能激活神经元然而因为rl(k)还需乘以φ() 所以rl值越大就能产生越大的输出相反小的rl(k)值允许不太匹配的神经元兴奋但它只能产生一个比较小的输出 φ(x)为非线性函数。 v是一个矢量表示处于n感受野中的前层神经元n的相对位臵Al确定S神经元要提取特征的大小代表n的感受野。所以式中对v的求和也就包含了指定区域当中所有的神经元外面对于勺kl-1的求和也就包含了前一级的所有子平面因此在分子中的求和项有时也被称作兴奋项实际上为乘积的和输入到n的神经元的输出都乘上它们相应的权值然后再输出到nc。
x
式(2.2)表示的是指定某级(第l级)、某层(S-层)、某面(第kl个S-面)、某元(向量为n处)的一个输出。对于一个S-元的作用函数可分为两部分即兴奋性作用函数和抑制性作用函数。兴奋性作用使得膜电位上升而抑制性作用起分流作用。
兴奋性作用为
S-元与其前一级C-层的所有C-面均有连接所连接的C-元个数由该S-级的参数感受野Al唯一确定。
网络中另一个重要的神经元是假设存在的抑制性神经元V-元Uvl (n) 它位于S-面上满足以下三个条件:环元的抑制作用影响整个网络的运作 C-元与V-元间存在着固定的连接V-元的输出事先设为多个C-元输出的平均值。可以用它来表示网络的抑制性作用发送一个抑制信号给Usl kl n神经元从与U sl kl n类似的元接收它的输入连接值并输出:uvl权cl(v)是位于V—元感受野中的v处的神经元相连的权值不需要训练这些
值但它们应随着│ v │的增加而单调减小。因此选择式2.5的归一化权值。
精品cl)式2.5中的归一化常量C由式2.6给出其中 r(v)是从v处到感受野中心的
归一化距离:
C神经元的输出由式2.7给出:
上式中ψ(x)为:
(x)式中β为一常量。kl是第l级中的S子平面的数量。D l是C—元的感受野。因此它和特征的大小相对应。 dl(v)是固定兴奋连接权的权值它是│v │的单调递减函数。如果第kl个S神经元子平面从第kl-1子平面处收到信号那么jl(kl,kl-1)的值为 1否则为0。
最后 S_层的Vs神经元的输出为
图2为卷积神经网络中不同神经元之间的连接关系图从图中可以很清楚地看出各种不同神经元之间的连接关系。
图2 卷积神经网络中不同神经元间的连接
Fig 2 The connections convolutional neural network among different neurons
2.3卷积网络的训练过程
神经网络用于模式识别的主流是有指导学习网络无指导学习网络更多的是用于聚类分析。对于有指导的模式识别由于任一样本的类别是已知的样本在空间的分布不再是依据其自然分布倾向来划分而是要根据同类样本在空间的分布及不同类样本之间的分离程度找一种适当的空间划分方法或者找到一个分类边界使得不同类样本分别位于不同的区域内。这就需要一个长时间且复杂的学习过程不断调整用以划分样本空间的分类边界的位臵使尽可能少的样本被划分到非同类区域中。由于本文主要是检测图像中的人脸所以可将样本空间分成两类样本空间和非样本空间因而本文所使用的学习网络也是有指导的学习网络。卷积网络在本质上是一种输入到输出的映射它能够学习大量的输入与输出之间的映射关系而不需要任何输入和输出之间的精确的数学表达式只要用已知的模式对卷积网络加以训练网络就具有输入输出对之间的映射能力。卷积网络执行的是有导师训练所以其样本
集是由形如 输入向量理想输出向量的向量对构成的。所有这些向量对都应该是来源于网络即将模拟的系统的实际“运行”结果。它们可以是从实际运行系统中采集来的。在开始训练前所有的权都应该用一些不同的小随机数进行初始化。 “小随机数”用来保证网络不会因权值过大而进入饱和状态从而导致训练失败 “不同”用来保证网络可以正常地学习。实际上如果用相同的数去初始化权矩阵则网络无能力学习。
训练算法主要包括4步这4步被分为两个阶段
第一阶段 向前传播阶段
①从样本集中取一个样本(X,Yp) 将X输入网络
②计算相应的实际输出Op。
在此阶段信息从输入层经过逐级的变换传送到输出层。这个过程也是网络在完成训练后正常运行时执行的过程。在此过程中网络执行的是由式2.7计算
第二阶段 向后传播阶段
①计算实际输出Op与相应的理想输出Yp的差
②按极小化误差的方法调整权矩阵。
这两个阶段的工作一般应受到精度要求的控制在这里用式2.8计算Ep。
作为网络关于第p个样本的误差测度。而将网络关于整个样本集的误差测度定义为E=∑Ep。
Ep
如前所述之所以将此阶段称为向后传播阶段是对应于输入信号的正常传播而言的。因为在开始调整神经元的连接权时只能求出输出层的误差而其他层的误差要通过此误差反向逐层后推才能得到。有时候也称之为误差传播阶段。为了更清楚地说明本文所使用的卷积神经网络的训练过程首先假设输入层、中间层和输出层的单元数分别是N、 L和M。X=(x0,x1,…,xN)是加到网络的输入矢量H=(h0,h 1,…,hL)是中间层输出矢量Y=(y0,y 1,…,yM)是网络的实际输出矢量并且用D=(d0,d1,…,dM)来表示训练组中各模式的目标输出矢量输出单元i到隐单元j的权值是Vij 而隐单元j到输出单元k的权值是Wj k。另外用θk和φj来分别表示输出单元和隐含单元的阈值。
于是中间层各单元的输出为式2.9
N1hjf(Vijxij) 2.9i0
而输出层各单元的输出是式2.10
其中f(*)是激励函数采用S型函数式2.11 f(x)
在上述条件下 网络的训练过程如下
1选定训练组。从样本集中分别随机地选取300个样本作为训练组。
2将各权值Vij Wj k和阈值φj θk臵成小的接近于0的随机值并初始化
精度控制参数ε和学习率α。
3从训练组中取一个输入模式X加到网络并给定它的目标输出矢量D。
4利用式2.9计算出一个中间层输出矢量H再用式(2.10)计算出网络的实际输出矢
Y。
5将输出矢量中的元素yk与目标矢量中的元素dk进行比较计算出M个输出误差项式2.12
对中间层的隐单元也计算出L个误差项式2.13
6依次计算出各权值的调整量式2.14和式2.15
Wjk(n)(/(1L))*(Wjk(n1)1)*k*hj
Vij(n)(/(1N))*(Vij(n1)1)*k*hj
和阈值的调整量式2.16和2.17
k(n)(/(1L))*(k(n1)1)*k 2.16
j(n)(/(1L))*(j(n1)1)*j 2.17
7调整权值式2.18和式2.19
Wjk(n1)Wjk(n)Wjk(n)
调整阈值式2.20和2.21
k(n1)k(n)k(n)
j(n1)j(n)j(n)
8当k每经历1至M后判断指标是否满足精度要求 E≤ε其中E是
总误差函数且E 继续迭代。如果满
足就进入下一步。
9训练结束将权值和阈值保存在文件中。这时可以认为各个权值已经达稳
定分类器形成。再一次进行训练时直接从文件导出权值和阈值进行训练不需
要进行初始化。
2.4卷积神经网络的优点
卷积神经网络CNN主要用来识别位移、缩放及其他形式扭曲不变性的二维图形。 由于CNN的特征检测层通过训练数据进行学习所以在使用CNN时避免了显示的特征抽取而隐式地从训练数据中进行学习再者由于同一特征映射面上的神经元权值相同所以
网络可以并行学习这也是卷积网络相对于神经元彼此相连网络的一大优势。卷积神经网络以其局部权值共享的特殊结构在语音识别和图像处理方面有着独特的优越性其布局更接近于实际的生物神经网络权值共享降低了网络的复杂性特别是多维输入向量的图像可以直接输入网络这一特点避免了特征提取和分类过程中数据重建的复杂度。
流的分类方式几乎都是基于统计特征的这就意味着在进行分辨前必须提取某些特征。然而显式的特征提取并不容易在一些应用问题中也并非总是可靠的。卷积神经网络它避免了显式的特征取样隐式地从训练数据中进行学习。这使得卷积神经网络明显有别于其他基于神经网络的分类器通过结构重组和减少权值将特征提取功能融合进多层感知器。它可以直接处理灰度图片能够直接用于处理基于图像的分类。
卷积网络较一般神经网络在图像处理方面有如下优点 a)输入图像和网络的拓扑结构能很好的吻合 b)特征提取和模式分类同时进行并同时在训练中产生 c)权重共享可以减少网络的训练参数使神经网络结构变得更简单 适应性更强。
3卷积神经网络的应用
3.1基于卷积网络的形状识别
物体的形状是人的视觉系统分析和识别物体的基础几何形状是物体的本质特征的表现并具有平移、缩放和旋转不变等特点所以在模式识别领域对于形状的分析和识别具有十分重要的意义而二维图像作为三维图像的特例以及组成部分因此二维图像的识别是三维图像识别的基础。物体形状的识别方法可以归纳为如下两类其中第一类是基于物体边界形状的识别这种边界的特征主要有周长、角、弯曲度、宽度、高度、直径等第二类是基于物体所覆盖区域的形状识别这种区域的特征主要有面积、圆度、矩特征等上述两类方法都适用于物体形状的结构或区域的识别。卷积神经网络也是一种基于物体边界形状的识别它既可以识别封闭形状同时对不封闭形状也有较高的识别率。
图3试验用卷积神经网络的结构图
Fig 3 The structure of convolutional neural network
易速互联怎么样?易速互联是国人老牌主机商家,至今已经成立9年,商家销售虚拟主机、VPS及独立服务器,目前商家针对美国加州萨克拉门托RH数据中心进行促销,线路采用BGP直连线路,自带10G防御,美国加州地区,100M带宽不限流量,月付299元起,有需要美国不限流量独立服务器的朋友可以看看。点击进入:易速互联官方网站美国独立服务器优惠套餐:RH数据中心位于美国加州、配置丰富性价比高、10G DDOS免...
diyvm怎么样?diyvm商家VPS主机均2GB内存起步,三个地区机房可选,使用优惠码后每月69元起;DiyVM独立服务器开设在香港沙田电信机房,CN2线路,5M带宽,自动化开通上架,最低499元/月,配置是L5630*2/16G内存/120G SSD硬盘。DiyVM是一家成立于2009年的国人主机商,提供的产品包括VPS主机、独立服务器租用等,产品数据中心包括中国香港、日本大阪和美国洛杉矶等,...
Hosteons,一家海外主机商成立于2018年,在之前还没有介绍和接触这个主机商,今天是有在LEB上看到有官方发送的活动主要是针对LEB的用户提供的洛杉矶、达拉斯和纽约三个机房的方案,最低年付21美元,其特点主要在于可以从1G带宽升级至10G,而且是免费的,是不是很吸引人?本来这次活动是仅仅在LEB留言提交账单ID才可以,这个感觉有点麻烦。不过看到老龚同学有拿到识别优惠码,于是就一并来分享给有需...