C(l)???alKl?1v?AjKl?1r(v) (2.6)
C神经元的输出由式2.7给出:
Kt???1??jl(kl,kl?1)?dl(v)ust(kl,n?v)?Kl?1?1v?Dtud(kl,n)????1? (2.7)
??1?Vsl(n)????上式中ψ(x)为:
?x,x?0? (2.8) ?(x)????x?0,x?0?式中β为一常量。
kl是第l级中的S子平面的数量。Dl是C—元的感受野。因此,它和特征的大小相对应。dl(v)是固定兴奋连接权的权值,它是│v│的单调递减函数。如果第kl个S神经元子平面从第kl-1子平面处收到信号,那么jl(kl,kl-1)的值为,1否则为0。 最后,S_层的Vs神经元的输出为
1Vst?Kl经元之间的连接关系。
Kl?1?1v?Vt??dl(v)uKl?1sl(kj,n?v) (2.9)
图2为卷积神经网络中不同神经元之间的连接关系图,从图中可以很清楚地看出各种不同神
图2 卷积神经网络中不同神经元间的连接
Fig.2 The connections convolutional neural network among different neurons
2.3 卷积网络的训练过程
神经网络用于模式识别的主流是有指导学习网络,无指导学习网络更多的是用于聚类分析。对于有指导的模式识别,由于任一样本的类别是已知的,样本在空间的分布不再是依据其自然分布倾向来划分,而是要根据同类样本在空间的分布及不同类样本之间的分离程度找一种适当的空间划分方法,或者找到一个分类边界,使得不同类样本分别位于不同的区域内。这就需要一个长时间且复杂的学习过程,不断调整用以划分样本空间的分类边界的位置,使尽可能少的样本被划分到非同类区域中。由于本文主要是检测图像中的人脸,所以可将样本空间分成两类:样本空间和非样本空间,因而本文所使用的学习网络也是有指导的学习网络。卷积网络在本质上是一种输入到输出的映射,它能够学习大量的输入与输出之间的映射关系,而不需要任何输入和输出之间的精确的数学表达式,只要用已知的模式对卷积网络加以训练,网络就具有输入输出对之间的映射能力。卷积网络执行的是有导师训练,所以其样本
集是由形如:(输入向量,理想输出向量)的向量对构成的。所有这些向量对,都应该是来源于网络即将模拟的系统的实际“运行”结果。它们可以是从实际运行系统中采集来的。在开始训练前,所有的权都应该用一些不同的小随机数进行初始化。“小随机数”用来保证网络不会因权值过大而进入饱和状态,从而导致训练失败;“不同”用来保证网络可以正常地学习。实际上,如果用相同的数去初始化权矩阵,则网络无能力学习。 训练算法主要包括4步,这4步被分为两个阶段:
第一阶段,向前传播阶段:
①从样本集中取一个样本(X,Yp),将X输入网络; ②计算相应的实际输出Op。
在此阶段,信息从输入层经过逐级的变换,传送到输出层。这个过程也是网络 在完成训练后正常运行时执行的过程。在此过程中,网络执行的是由式(2.7)计算: Op=Fn(?(F2(F1(XpW
(1)
)W
(2)
)?)W
(n)
)
第二阶段,向后传播阶段
①计算实际输出Op与相应的理想输出Yp的差;
②按极小化误差的方法调整权矩阵。
这两个阶段的工作一般应受到精度要求的控制,在这里,用式(2.8)计算Ep。 作为网络关于第p个样本的误差测度。而将网络关于整个样本集的误差测度定义为: E=∑Ep。
1m Ep??(ypj?opj) (2.8)
2j?1如前所述,之所以将此阶段称为向后传播阶段,是对应于输入信号的正常传播而言的。因为在开始调整神经元的连接权时,只能求出输出层的误差,而其他层的误差要通过此误差反向逐层后推才能得到。有时候也称之为误差传播阶段。为了更清楚地说明本文所使用的卷积神经网络的训练过程,首先假设输入层、中间层和输出层的单元数分别是N、L和M。X=(x0,x1,?,xN)是加到网络的输入矢量,H=(h0,h1,?,hL)是中间层输出矢量,Y=(y0,y1,?,yM)是网络的实际输出矢量,并且用D=(d0,d1,?,dM)来表示训练组中各模式的目标输出矢量输出单元i到隐单元j的权值是Vij,而隐单元j到输出单元k的权值是Wjk。另外用θk和φ来分别表示输出单元和隐含单元的阈值。
于是,中间层各单元的输出为式(2.9):
j
2hj?f(?Vijxi??j) (2.9)
i?0N?1而输出层各单元的输出是式(2.10):
yk?f?Wuhj??k (2.10)
j?0L?1其中f(*)是激励函数采用S型函数式(2.11): f(x)?11?e?kx (2.11)
在上述条件下,网络的训练过程如下:
1)选定训练组。从样本集中分别随机地选取300个样本作为训练组。
2)将各权值Vij,Wjk和阈值φj,θk置成小的接近于0的随机值,并初始化
精度控制参数ε和学习率α。
3)从训练组中取一个输入模式X加到网络,并给定它的目标输出矢量D。
4)利用式(2.9)计算出一个中间层输出矢量H,再用式(2.10)计算出网络的实际输出矢Y。
5)将输出矢量中的元素yk与目标矢量中的元素dk进行比较,计算出M个输出误差项式(2.12):
?k?(dk?yk)yk(1?yk)M?1k?0 (2.12)
对中间层的隐单元也计算出L个误差项式(2.13):
?j?hj(1?hj)??kWjk (2.13)
6)依次计算出各权值的调整量式(2.14)和式(2.15):
?Wjk(n)?(?/(1?L))*(?Wjk(n?1)?1)*?k*hj (2.14) (2.15)
?Vij(n)?(?/(1?N))*(?Vij(n?1)?1)*?k*hj和阈值的调整量式(2.16)和(2.17):
??k(n)?(?/(1?L))*(??k(n?1)?1)*?k (2.16) ??j(n)?(?/(1?L))*(??j(n?1)?1)*?j (2.17)
7)调整权值式(2.18)和式(2.19):
Wjk(n?1)?Wjk(n)??Wjk(n) (2.18)
Vij(n?1)?Vij(n)??Vij(n) (2.19)
调整阈值式(2.20)和(2.21):
?k(n?1)??k(n)???k(n) (2.20) ?j(n?1)??j(n)???j(n) (2.21)
8)当k每经历1至M后,判断指标是否满足精度要求:E≤ε,其中E是
1M?1总误差函数,且E??(dk?yk)2。如果不满足,就返回(3),继续迭代。如果满
2k?0足就进入下一步。
9)训练结束,将权值和阈值保存在文件中。这时可以认为各个权值已经达稳
定,分类器形成。再一次进行训练时,直接从文件导出权值和阈值进行训练,不需 要进行初始化。
2.4 卷积神经网络的优点
卷积神经网络CNN主要用来识别位移、缩放及其他形式扭曲不变性的二维图形。由于CNN的特征检测层通过训练数据进行学习,所以在使用CNN时,避免了显示的特征抽取,而隐式地从训练数据中进行学习;再者由于同一特征映射面上的神经元权值相同,所以网络可以并行学习,这也是卷积网络相对于神经元彼此相连网络的一大优势。卷积神经网络以其局
部权值共享的特殊结构在语音识别和图像处理方面有着独特的优越性,其布局更接近于实际的生物神经网络,权值共享降低了网络的复杂性,特别是多维输入向量的图像可以直接输入网络这一特点避免了特征提取和分类过程中数据重建的复杂度。
流的分类方式几乎都是基于统计特征的,这就意味着在进行分辨前必须提取某些特征。然而,显式的特征提取并不容易,在一些应用问题中也并非总是可靠的。卷积神经网络,它避免了显式的特征取样,隐式地从训练数据中进行学习。这使得卷积神经网络明显有别于其他基于神经网络的分类器,通过结构重组和减少权值将特征提取功能融合进多层感知器。它可以直接处理灰度图片,能够直接用于处理基于图像的分类。
卷积网络较一般神经网络在图像处理方面有如下优点: a) 输入图像和网络的拓扑结构能很好的吻合;b) 特征提取和模式分类同时进行,并同时在训练中产生;c)权重共享可以减少网络的训练参数,使神经网络结构变得更简单, 适应性更强。 3 卷积神经网络的应用
3.1基于卷积网络的形状识别
物体的形状是人的视觉系统分析和识别物体的基础,几何形状是物体的本质特征的表现,并具有平移、缩放和旋转不变等特点,所以在模式识别领域,对于形状的分析和识别具有十分重要的意义,而二维图像作为三维图像的特例以及组成部分,因此二维图像的识别是三维图像识别的基础。物体形状的识别方法可以归纳为如下两类,其中,第一类是基于物体边界形状的识别,这种边界的特征主要有周长、角、弯曲度、宽度、高度、直径等,第二类是基于物体所覆盖区域的形状识别,这种区域的特征主要有面积、圆度、矩特征等,上述两类方法都适用于物体形状的结构或区域的识别。卷积神经网络也是一种基于物体边界形状的识别,它既可以识别封闭形状同时对不封闭形状也有较高的识别率。
图3 试验用卷积神经网络的结构图
Fig.3 The structure of convolutional neural network
图3 是所用的网络结构,U0是输入层,Uc4是识别层。Us为特征提取层,Us1的输入是光感受器的像素位图,该层只是提取一些相对简单的像素特征,随后几层的S-元提取一些更为复杂的像素特征,随着层数的增加,提取的特征也相应递增;Uc是特征映射层,提取