卷积神经网络方法范文
时间:2024-04-01 18:17:28
导语:如何才能写好一篇卷积神经网络方法,这就需要搜集整理更多的资料和文献,欢迎阅读由公务员之家整理的十篇范文,供你借鉴。
篇1
DOIDOI:10.11907/rjdk.162768
中图分类号:TP317.4
文献标识码:A文章编号文章编号:16727800(2017)005017405
0引言
随着电子商务的发展,大批艺术品交易网站随之兴起,藏品交易规模也越来越大。而当前的古玩网上交易平台还不能够实现对现有藏品图片的自动分类,客户在寻找目标藏品时不得不在众多图片中一一浏览。因此需要一种有效的方法来完成面向图像内容的分类。
在基于内容的图像检索领域,常使用人工设计的特征-如根据花瓶、碗、盘子的不同形态特征:目标轮廓的圆度、质心、宽高比等[1],继而使用BP神经网络、SVM分类器等对特征进行学习分类。文献[2]基于植物叶片的形状特征,如叶片形状的狭长度、矩形度、球状性、圆形度、偏心率、周长直径比等,利用BP神经网络实现对植物叶片进行分类。文献[3]研究印品图像的各类形状缺陷,利用图像缺陷形状的轮廓长度、面积和圆形度等几何特征,导入SVM分类器进行训练,得到分类器模型实现分类。文献[4]提出了一种基于Zernike矩的水果形状分类方法,通过提取图像中具有旋转不变性的Zernike矩特征,并运用PCA方法确定分类需要的特征数目,最后将这些特征输入到SVM分类器中,完成水果形状的分类。上述方法都要求对目标形状分割的准确性,而分割过程中由于存在目标阴影、目标分割不完整问题,会影响到人工特征的准确选取。除了上述人工特征外,最常用的特征是HOG[5,6]、SIFT[7,8]等。HOG的核心思想是所检测的局部物体外形能够被光强梯度或边缘方向的分布所描述。HOG表示的是边缘结构特征,因此可以描述局部形状信息。SIFT在图像的空间尺度中寻找极值点,并提取出其位置、尺度、旋转不变量。SIFT特征对于旋转、尺度缩放、亮度变化保持不变。但是,这两种特征在实际应用中,描述子生成过程冗长、计算量太大。而且在上述方法征设计需要启发式的方法和专业知识,很大程度上依靠个人经验。
卷积神经网络不需要手动设计提取特征,可以直接将图片作为输入,隐式地学习多层次特征,进而实现分类[9]。相比目前常用的人工设计特征然后利用各分类器,具有明显的优势。近年来,卷积神经网络已成为语音、图像识别领域研究热点。它的权值共享特点使得网络复杂度降低,权值数量减少。而且,卷积神经网络直接将图片作为输入,避免了复杂的特征设计和提取,具有一定的平移、缩放和扭曲不变性[10]。本文采用卷积神经网络对古玩图片进行分类。首先,将背景分离后的图片作为网络的输入,相比原图作为输入,此方法的网络结构更加简单。然后,卷积层通过不同的卷积核对输入图片进行卷积得到不同特征图,采样层进一步对特征图进行二次提取,最终提取到合适的特征输入分类器进行分类,而在卷积层、采样层征图的大小、数目都会影响到网络的分类能力。因此,本文通过优化网络参数,使网络达到较好的分类效果。
1卷积神经网络
1989年,LECUN等[11]提出了卷积神经网络(Convolution Neural Networks,CNN),CNN是一种带有卷积结构的深度神经网络,一般至少有2个非线性可训练的卷积层、2个非线性的固定采样层和1个全连接层,一共至少5个隐含层[12]。百度于2012年底将深度学习技术成功应用于自然图像OCR识别和人脸识别,此后深度学习模型被成功应用于一般图片的识别和理解。从百度经验来看,深度学习应用于图像识别不但大大提升了准确性,而且避免了人工特征抽取的时间消耗,从而大大提高了在线计算效率[13]。
卷积神经网络作为一种高效的深度学习方法[14],在许多图像识别方面取得了很好的成效[1519]。该网络作为一种多隐层神经网络,可以提取图像的多层次特征进行识别。
卷积神经网络主要包括卷积层和采样层,卷积层通过可学习的卷积核对输入图片进行卷积得到特征图,卷积操作即加强了输入图片的某种特征,并且降低噪声。卷积之后的结果通过激活函数(通常选择Sigmoid函数或Tanh函数)作用输出构成该层的特征图。特征图上的每一个神经元只与输入图片的一个局部区域连接,每个神经元提取的是该局部区域的特征,所有神经元综合起来就得到了全局特征,与神经元相连接的局部区域即为局部感受野[20]。而在卷积层中一般存在多张特征图,同一张特征图使用相同的卷积核,不同特征图使用不同的卷积核[21],此特点称为权值共享,即同一张特征图上的所有神经元通过相同的卷积核连接局部感受野。卷积神经网络的局部感受野和嘀倒蚕硖氐愦蟠蠹跎倭送络训练的参数个数,降低了网络模型的复杂度。
采样层对卷积层提取到的特征图进行局部非重叠采样,即把特征图分为互不重叠的N×N个子区域,对每个子区域进行采样。卷积神经网络的采样方式一般有两种:最大值采样和均值采样。最大值采样即选取区域内所有神经元的最大值作为采样值,均值采样为区域内所有神经元的平均值作为采样值。最大值采样偏向于提取目标的特征信息,而均值采样偏向于提取背景的特征信息[22]。采样后的特征平面在保留了区分度高特征的同时大大减少了数据量,它对一定程度的平移、比例缩放和扭曲具有不变性。
卷积神经网络通过卷积层和采样层的循环往复提取到图像由低层次到高层次的特征,最后一般通过全连接层将所有特征图展开得到一维向量,然后输入到分类器进行分类。
卷积神经网络在处理二维图像时,卷积层中每个神经元的输入与上一层的局部感受野相连接,并提取该局部的特征,权值共享特点又使得各神经元保持了原来的空间关系,将这些感受不同局部区域的神经元综合起来就得到了全局信息。采样层对特征图进行局部特征提取,不会改变神经元之间的空间关系,即二维图像经过卷积层、采样层仍然保持二维形式。因此,卷积神经网络有利于提取形状方面的特征。虽然卷积神经网络的局部感受野、权值共享和子采样使网络大大减少了需要训练参数的个数,但是该网络作为多隐层神经网络还是十分复杂的。对于不同的数据库,为了达到比较好的分类效果,网络的层数、卷积层特征图个数以及其它参数的设置都需要探究。
2基于卷积神经网络的古玩图片分类
2.1特征提取及传递
不同古玩的主要区别在于形状不同,而花瓶、盘子和碗在古玩中最常见,因此将这3类图片作为实验对象,对于其它种类的古玩图片的分类,该网络同样适用。卷积神经网络采用如下图所示的5层网络结构,并对网络各层的特征图数目、大小均作了修改。对于网络的输入,先将原图像进行目标与背景分割,然后进行灰度化、统一分辨率的处理,最后输入到卷积神经网络。由于训练卷积神经网络的根本目的是提取不同古玩的特征,而背景不是目标的一部分,对古玩识别来说并不提供任何有用的信息,反而对特征的提取造成干扰,所以去除背景噪声后,网络结构会更加简单,同时也利于网络对特征的学习。但是因为进行了去背景的预处理,网络也失去了对复杂背景下图片的识别能力,所以使用该网络进行古玩图片分类前都要进行目标分割的预处理过程。
卷积神经网络对古玩图片的特征提取过程如下:
(1)输入网络的图片为100×100大小的预处理图,卷积神经网络的输入层之后为卷积层,卷积层通过卷积核与输入图像进行卷积得到特征平面,卷积核大小为5×5。如图2所示,特征平面上每个神经元与原图像5×5大小的局部感受野连接。卷积核移动步长为1个像素,因此卷积层C1的特征平面大小为96×96。这种卷积操作在提取到输入图像的某一方面特征时,必然会损失掉图像的其他特征,而采取多个卷积核卷积图像得到多个特征平面则会一定程度上弥补这个缺陷。因此,在卷积层C1中使用了6个不同的卷积核与输入图像进行卷积,得到6种不同的特征平面图。如图3所示,同一张特征图上的所有神经元共享一个卷积核(权值共享),图中连接到同一个特征图的连接线表示同一个卷积核,6个不同的卷积核卷积输入图片得到6张不同的特征平面图。卷积之后的结果并非直接储存到C1层特征图中,而是通过激活函数将神经元非线性化,从而使网络具有更强的特征表达能力。激活函数选择Sigmoid函数。
卷积层中所使用的卷积核尺寸若过小,就无法提取有效表达的特征,过大则提取到的特征过于复杂。对于卷积层征图个数的设置,在一定范围内,特征图的个数越多,卷积层提取到越多有效表达原目标信息的特征,但是特征图个数如果过多,会使提取到的特征产生冗余,最终使分类效果变差。卷积层的各平面由式(1)决定: Xlj=f(∑i∈MjXl-1j*klij+blj)(1)
式(1)中,Mj表示选择输入的特征图集合,l是当前层数,f是激活函数,klij表示不同输入特征图对应的卷积核,blj为输出特征图对应的加性偏置。
(2)卷积层C1后的采样层S1由6个特征平面组成,采样层对上一层特征图进行局部平均和二次特征提取。采样过程如图4所示,特征平面上的每个神经元与上一层4×4大小的互不重合的邻域连接进行均值采样,最终每个平面的大小为24×24。采样层的各平面由式(2)决定:
Xlj=f(βljdown(Xl-1j)+blj)(2)
式(2)中,down(.)表示一个下采样函数,l是当前层数,f是激活函数,βlj表示输出特征图对应的乘性偏置,blj为输出特征图对应的加性偏置。
(3)卷积层C2与C1层操作方式一样,唯一区别的是C2层每个特征图由6个不同的卷积核与上一层6个特征图分别卷积求和得到,因此C2层一共有6×6个不同的卷积核,卷积核大小为5×5,C2层每个平面大小为20×20,共6个特征平面。
(4)采样层S2与S1层操作一样,对上一层4×4大小邻域进行均值采样,输出6个5×5大小的特征平面。本文所用的网络共包括2个卷积层、2个采样层、1个全连接层,由于输入图片已经过背景分离的预处理,采样层S2特征图大小为5×5,所以图1所示5层网络已经有很好的表达能力。如果直接将原图作为输入,那么网络的层数以及特征图的个数将比图1所示的网络更加复杂。
(5)全连接层将上一层6个5×5大小的二维平面展开成为1×150大小的一维向量输入Softmax[23]分类器,输出层一共有3个神经元(即分类的种类数目),分类器将提取到的特征向量映射到输出层的3个神经元上,即实现分类。
2.2网络训练
训练方式为有监督地训练,网络对盘子、花瓶和碗共三类图片进行分类,所以分类器输出一个3维向量,称为分类标签。在分类标签的第k维中1表示分类结果,否则为0。训练过程主要分为两个阶段:
第一阶段:向前传播A段。
将预处理过的图片输入卷积神经网络计算得到分类标签。
第二阶段:向后传播阶段。
计算输出的分类标签和实际分类标签之间的误差。根据误差最小化的原则调整网络中的各个权值。分类个数为3,共有N个训练样本。那么第n个样本的误差为:
En=12∑3k=1(tnk-ynk)2(3)
式(3)中,tn表示第n个样本的网络输出标签,tnk对应标签的第k维,yn表示第n个样本的实际分类标签,ynk对应标签的第k维。为了使误差变小,利用权值更新公式(4)更新各层神经元的权值,一直训练直到网络误差曲线收敛。
W(t+1)=W(t)+η・δ(t)・X(t)(4)
式(4)中,W(t)表示算第n个样本时的权值,W(t+1)表示计算第n+1个样本的权值,η为学习速率,选取经验值,δ为神经元的误差项,X表示神经元的输入。
3实验结果及分析
实验在MatlabR2012a平台上完成,CPU 2.30GHz,内存4GB,所采用的图像由相关古玩网站提供,分辨率统一格式化为100×100。由于盘子、花瓶和碗在各种古玩种类中它们之间的形状差别比较明显,本文实验对这三类古玩图片进行分类。对古玩图片进行了水平翻转处理,增加图片数据量,以加强网络对古玩图片分类的鲁棒性。实验数据如表1所示,图5列出了3类图片的部分样本,实验所用图片均与图5所示图片类似,背景比较单一,少数图片下方有类似阴影。
为了形象表示网络各层提取的不同特征,图6展示了当网络输入为盘子时的各层特征图。卷积层C1中6张特征图分别提取到了输入图片的不同特征,而由于权值共享,同一张特征图中神经元的空间关系保持不变,所以6张特征图都抓住了盘子的圆形特征。采样层S1对C1进行均值采样,相当于模糊滤波,所以S1层各特征图看起来模糊了一些。卷积层C2中每张特征图由6个不同的卷积核卷积S1层各特征图叠加而成,S2层与S1层处理方式相同。
为了说明将背景分离后的图片作为输入的网络与原图输入的网络之间的差异,设计了如表3所示的两种网络结构,网络CNN4只需要4层网络层就可以达到0.19%的错误率,而原图作为输入的CNN8共6层网络层,在网络达到收敛的情况下,错误率为5.24%。由此可以说明,将背景分离后图片作为输入的网络结构更加简单。
网络的训练采用了批量训练方式,即将样本分多批,当一批样本前向传播完之后才进行权值更新,每批大小为100,训练集共2 200张图片,网络迭代次数为1时共进行22次权值更新,所以权值更新的计算次数与迭代次数有如下关系:
计算次数=22×迭代次数(5)
图7为网络在训练集上的误差曲线图,横坐标为误差反向传播的计算次数,纵坐标为训练集上的均方误差。可以看出,当网络训练次数达到270次(计算次数约6 000)时,训练集误差趋于平缓,网络已经基本拟合。训练好的网络可以用来对测试集图片进行分类,表4为不同迭代次数下训练的网络在测试集上的分类错误率,可以看出迭代次数在达到270次后,网络在测试集的错误率收敛,此时只有2张图片出现分类错误。
表5给出了图像分类算法中常用的人工特征+BP神经网络、人工特征+SVM分类器以及Hog特征+SVM分类器与CNN方法的性能比较。人工设计的特征包括图片中目标轮廓的最大长宽比、质心、圆度等特征。从准确率方面来看,CNN方法的准确率高于其他方法,Hog特征方法的准确率远远高于人工特征的方法,说明了特征的好坏对图像分类效果有着很大程度上的影响,CNN提取到的特征比Hog和人工设计的特征更具代表性。从测试时间来看,Hog方法与CNN方法相差不多,采用人工特征的方法时间最长。综合两个方面,CNN方法在测试时间和HOG方法相近的情况下,准确率最高。
4结语
针对网上古玩图片分类问题,为了克服现有算法中人工设计特征困难以及往往依赖个人专业经验的不足,提出一种基于卷积神经网络的方法。将背景分离后的目标图片作为网络输入,可以实现自动提取特征进行分类,背景分离后图片作为网络输入使得网络结构更加简单,并且设置了合适的特征图个数以使网络在古玩图片集上取得较好的分类准确率。实验数据表明,该方法能够解决网上古玩图片的分类问题,并且分类准确率达到99%,其准确率优于常用的Hog特征以及人工特征方法。另外该方法不仅可以应用于网上古玩图片,还可应用于鞋类、服装等其它商品图像的分类。
参考文献参考文献:
[1]K KAVITHA,M.V.SUDHAMANI.Object based image retrieval from database using combined features[C].in Signal and Image Processing (ICSIP),2014.
[2]董红霞,郭斯羽,一种结合形状与纹理特征的植物叶片分类方法[J].计算机工程与应用,2014,50(23):185188.
[3]舒文娉,刘全香,基于支持向量机的印品缺陷分类方法[J].包装工程,2014,35(23):138142.
[4]应义斌,桂江生,饶秀勤,基于Zernike矩的水果形状分类[J].江苏大学学报:自然科学版,2007,28(1):3639.
[5]ZHU Q,YEH M C,CHENG K T,et al.Fast human detection using acascade of histograms of oriented gradients[C].Proceedings of the 2006 IEEE Computer Society Conference on Computer Vision and Pattern Recognition,2006.
[6]M VILLAMIZAR,J SCANDALIANS,A SANFELIU bining colorbased invariant gradient detector with Hog descriptors for robust image detection in scenes under cast shadows[C].In Robotics and Automation,ICRA IEEE International Conference on.Barcelona,Spain:IEEE,2009.
[7]CHEN J,LI Q,PENG Q,et al.CSIFT based localityconstrained linear coding for image classification[J].Formal Pattern Analysis & Applications,2015,18(2):441450.
[8]AHMAD YOUSEF K M,ALTABANJAH M,HUDAIB E,et al.SIFT based automatic number plate recognition[C].International Conference on Information and Communication Systems.IEEE,2015.
[9]LAWRENCE S,GLIES C L,TSOI A C,et al.Face recognition:a convolutional neuralnetwork approach[J].IEEE Transactions on Neural Networks,1997,8(1):98113.
[10]TREVOR HASTIE,ROBERT TIBSHIRANI,J FRIEDMAN.The elements of statistical learning[M].New York:Springer,2001.
[11]Y LECUN,L BOUOU,Y BENGIO.Gradientbased learning applied to document recognition[J].Proceedings of the IEEE,1998,86(11):22782324.
[12]DAHL J V,KOCH K C,KLEINHANS E,et al.Convolutional networks and applications in vision[C].International Symposium on Circuits and Systems (ISCAS 2010),2010:253256.
[13]余凯,贾磊,陈雨强,等.深度学习的昨天、今天和明天[J].计算机研究与发展,2013(09):17991804.
[14]MAIRAL J,KONIUSZ P,HARCHAOUI Z,et al.Convolutional kernel networks[DB/OL].http:///pdf/1406.3332v2.pdf.
[15]Z世杰,杨东坡与刘金环,基于卷积神经网络的商品图像精细分类[J].山东科技大学学报:自然科学版,2014(6):9196.
[16]程文博等,基于卷积神经网络的注塑制品短射缺陷识别[J].塑料工业,2015(7):3134,38.
[17]邓柳,汪子杰,基于深度卷积神经网络的车型识别研究[J].计算机应用研究,2016(4):14.
[18]T JONATAN,S MURPHY,Y LECUN,et al.Realtime continuous pose recovery of human hands using convolutional networks[J].ACM Transaction on Graphics,2014,33(5):3842.
[19]S SKITTANON,A C SURENARAN,J C PLATT,et al.Convolutional networks for speech detection[C].Interspeech.Lisbon,Portugal:ISCA,2004.
[20]HUBEL D H,WIESEL T N.Integrative action in the cat's lateral geniculate body[J].Journal of Physiology,1961,155(2):385398.
[21]JAKE BOUVRIE.Notes on convolutional neural networks[DB/OL].http:///5869/1/cnn_tutorial.pdf.
篇2
(江苏科技大学电子信息学院,江苏镇江212003)
摘要:在实际交通环境中,由于运动模糊、背景干扰、天气条件以及拍摄视角等因素,所采集的交通标志的图像质量往往不高,这就对交通标志自动识别的准确性、鲁棒性和实时性提出了很高的要求。针对这一情况,提出一种基于深层卷积神经网络的交通标志识别方法。该方法采用深层卷积神经网络的有监督学习模型,直接将采集的交通标志图像经二值化后作为输入,通过卷积和池采样的多层处理,来模拟人脑感知视觉信号的层次结构,自动地提取交通标志图像的特征,最后再利用一个全连接的网络实现交通标志的识别。实验结果表明,该方法利用卷积神经网络的深度学习能力,自动地提取交通标志的特征,避免了传统的人工特征提取,有效地提高了交通标志识别的效率,具有良好的泛化能力和适应范围。
关键词 :交通标志;识别;卷积神经网络;深度学习
中图分类号:TN911.73?34;TP391.41 文献标识码:A 文章编号:1004?373X(2015)13?0101?06
收稿日期:2015?01?09
基金项目:国家自然科学基金面上项目(61371114)
0 引言
随着智能汽车的发展,道路交通标志的自动识别[1?3]作为智能汽车的基本技术之一,受到人们的高度关注。道路交通标志识别主要包括两个基本环节:首先是交通标志的检测,包括交通标志的定位、提取及必要的预处理;其次是交通标志的识别,包括交通标志的特征提取和分类。
如今,交通标志的识别方法大多数都采用人工智能技术,主要有下述两类形式[4]。一种是采用“人工特征+机器学习”的识别方法,如基于浅层神经网络、支持向量机的特征识别等。在这种方法中,主要依靠先验知识,人工设计特征,机器学习模型仅负责特征的分类或识别,因此特征设计的好坏直接影响到整个系统性能的性能,而要发现一个好的特征,则依赖于研究人员对待解决的问题的深入理解。另一种形式是近几年发展起来的深度学习模型[5],如基于限制波尔兹曼机和基于自编码器的深度学习模型以及卷积神经网络等。在这种方法中,无需构造任何的人工特征,而是直接将图像的像素作为输入,通过构建含有多个隐层的机器学习模型,模拟人脑认知的多层结构,逐层地进行信息特征抽取,最终形成更具推广性和表达力的特征,从而提升识别的准确性。
卷积神经网络作为深度学习模型之一,是一种多层的监督学习神经网络,它利用一系列的卷积层、池化层以及一个全连接输出层构建一个多层的网络,来模仿人脑感知视觉信号的逐层处理机制,以实现视觉特征信号的自动提取与识别。本文将深层卷积神经网络应用于道路交通标志的识别,通过构建一个由二维卷积和池化处理交替组成的6层网络来逐层地提取交通标志图像的特征,所形成的特征矢量由一个全连接输出层来实现特征的分类和识别。实验中将加入高斯噪声、经过位移、缩放和旋转处理的交通标志图像以及实际道路采集交通标志图像分别构成训练集和测试集,实验结果表明,本文所采用的方法具有良好的识别率和鲁棒性。
1 卷积神经网络的基本结构及原理
1.1 深度学习
神经科学研究表明,哺乳动物大脑皮层对信号的处理没有一个显示的过程[5],而是通过信号在大脑皮层复杂的层次结构中的递进传播,逐层地对信号进行提取和表述,最终达到感知世界的目的。这些研究成果促进了深度学习这一新兴研究领域的迅速发展。
深度学习[4,6?7]的目的就是试图模仿人脑感知视觉信号的机制,通过构建含有多个隐层的多层网络来逐层地对信号特征进行新的提取和空间变换,以自动学习到更加有效的特征表述,最终实现视觉功能。目前深度学习已成功地应用到语音识别、图像识别和语言处理等领域。在不同学习框架下构建的深度学习结构是不同的,如卷积神经网络就是一种深度的监督学习下的机器学习模型。
1.2 卷积神经网络的基本结构及原理
卷积神经网络受视觉系统的结构启发而产生,第一个卷积神经网络计算模型是在Fukushima 的神经认知机中提出的[8],基于神经元之间的局部连接和分层组织图像转换,将有相同参数的神经元应用于前一层神经网络的不同位置,得到一种平移不变神经网络结构形式。后来,LeCun 等人在该思想的基础上,用误差梯度设计并训练卷积神经网络[9?10],在一些模式识别任务上得到优越的性能。
卷积神经网络本质上是一种有监督的深度学习算法,无需事先知道输入与输出之间精确的数学表达式,只要用已知的模式对卷积神经网络加以训练,就可以学习到输入与输出之间的一种多层的非线性关系,这是非深度学习算法不能做到的。卷积神经网络的基本结构是由一系列的卷积和池化层以及一个全连接的输出层组成,可以采用梯度下降法极小化误差函数对网络中的权值和阈值参数逐层反向调节,以得到网络权值和阈值的最优解,并可以通过增加迭代次数来提高网络训练的精度。
1.2.1 前向传播
在卷积神经网络的前向传播中,输入的原始图像经过逐层的卷积和池化处理后,提取出若干特征子图并转换成一维特征矢量,最后由全连接的输出层进行分类识别。
在卷积层中,每个卷积层都可以表示为对前一层输入图像的二维卷积和非线性激励函数,其表达式可用式(1)表示:
式中:Yj 表示输出层中第j 个输出;Y l + 1i 是前一层(l + 1层)
的输出特征(全连接的特征向量);n 是输出特征向量的长度;Wij 表示输出层的权值,连接输入i 和输出j ;bj表示输出层第j 个输出的阈值;f (?) 是输出层的非线性
1.2.2 反向传播
在反向传播过程中,卷积神经网络的训练方法采用类似于BP神经网络的梯度最速下降法,即按极小化误差的方法反向传播调整权值和阈值。网络反向传播回来的误差是每个神经元的基的灵敏度[12],也就是误差对基的变化率,即导数。下面将分别求出输出层、池采样层和卷积层的神经元的灵敏度。
(1)输出层的灵敏度
对于误差函数式(6)来说,输出层神经元的灵敏度可表示为:
在前向传播过程中,得到网络的实际输出,进而求出实际输出与目标输出之间的误差;在反向传播过程中,利用误差反向传播,采用式(17)~式(20)来调整网络的权值和阈值,极小化误差;这样,前向传播和反向传播两个过程反复交替,直到达到收敛的要求为止。
2 深层卷积神经网络的交通标志识别方法
2.1 应用原理
交通标志是一种人为设计的具有特殊颜色(如红、黄、白、蓝、黑等)和特殊形状或图形的公共标志。我国的交通标志主要有警告、禁令、指示和指路等类型,一般采用颜色来区分不同的类型,用形状或图形来标示具体的信息。从交通标志设计的角度来看,属于不同类型(不同颜色)的交通标志在形状或图形上有较大的差异;属于相同类型(相同颜色)的标志中同类的指示信息标志在形状或图形上比较接近,如警告标志中的平面交叉路口标志等。因此,从机器视觉的角度来分析,同类型中同类指示信息的标志之间会比不同类型的标志之间更易引起识别错误。换句话说,相比于颜色,形状或图形是正确识别交通标志的关键因素。
因此,在应用卷积神经网络识别交通标志时,从提高算法效率和降低错误率综合考虑,将交通标志转换为灰度图像并作二值化处理后作为卷积神经网络的输入图像信息。图2给出了应用卷积神经网络识别交通标志的原理图。该网络采用了6层交替的卷积层和池采样层来逐层提取交通标志的特征,形成的特征矢量由一个全连接的输出层进行识别。图中:W1i(i=1,2,…,m1),W1(j j=1,2,…,m2),…,W1k(k=1,2,…,m(n?1))分别表示卷积层L1,L3,…,Ln - 1 的卷积核;Input表示输入的交通标志图像;
Pool表示每个池采样层的采样池;map表示逐层提取的特征子图;Y 是最终的全连接输出。
交通标志识别的判别准则为:对于输入交通标志图像Input,网络的输出矢量Y = [y1,y2 ,…,yC ],有yj = Max{y1,y2 ,…,yC},则Input ∈ j,即判定输入的交通标志图像Input为第j 类交通标志。
2.2 交通标志识别的基本步骤
深层神经网络识别交通标志主要包括交通标志的训练与识别,所以将交通标志识别归纳为以下4个步骤:(1) 图像预处理:利用公式Gray= 0.299R +0.587G + 0.114B 将彩色交通标志图像转换为灰度图像,再利用邻近插值法将交通标志图像规格化,最后利用最大类间方差将交通标志图像二值化。
(2)网络权值和阈值的初始化:利用随机分布函数将权值W 初始化为-1~1之间的随机数;而将阈值b 初始化为0。
(3)网络的训练:利用经过预处理的交通标志图像构成训练集,对卷积神经网络进行训练,通过网络前向传播和反向传播的反复交替处理,直到满足识别收敛条件或达到要求的训练次数为止。
(4)交通标志的识别:将实际采集的交通标志图像经过预处理后,送入训练好的卷积神经网络中进行交通标志特征的提取,然后通过一个全连接的网络进行特征分类与识别,得到识别结果。
3 实验结果与分析
实验主要选取了我国道路交通标志的警告标志、指示标志和禁令标志三类中较常见的50幅图像。考虑到在实际道路中采集到的交通标志图像会含有噪声和出现几何失真以及背景干扰等现象,因此在构造网络训练集时,除了理想的交通标志以外,还增加了加入高斯噪声、经过位移、旋转和缩放处理和实际采集到的交通标志图像,因此最终的训练样本为72个。其中,加入的高斯噪声为均值为0,方差分别为0.1,0.2,0.3,图像的位移、旋转、缩放的参数分别随机的分布在±10,±5°,0.9~1.1的范围内。图3给出了训练集中的交通标志图像的示例。图4是在实际道路中采集的交通标志图像构成的测试集的示例。
在实验中构造了一个输入为48×48个神经元、输出为50 个神经元的9 层网络。网络的输入是像素为48 × 48 的规格化的交通标志图像,输出对应于上述的50种交通标志的判别结果。网络的激活函数采用S型函数,如式(2)所示,其输出范围限制在0~1之间。
图6是交通标志的训练总误差EN 曲线。在训练开始的1 500次,误差能迅速地下降,在迭代2 000次以后是一个平稳的收敛过程,当迭代到10万次时,总误差EN可以达到0.188 2。
在交通标志的测试实验中,为了全面检验卷积神经网络的识别性能,分别针对理想的交通标志,加入高斯噪声、经过位移、旋转和比例缩放以及采集的交通标志图像进行实验,将以上测试样本分别送入到网络中识别,表2给出了测试实验结果。
综合分析上述实验结果,可以得到以下结论:(1)在卷积神经网络的训练学习过程中,整个网络的误差曲线快速平稳的下降,体现出卷积神经网络的训练学习具有良好的收敛性。
(2)经逐层卷积和池采样所提取的特征具有比例缩放和旋转不变性,因此对于旋转和比例缩放后的交通标志能达到100%的识别率。
(3)与传统的BP网络识别方法[11]相比较,卷积神经网络能够达到更深的学习深度,即在交通标志识别时能够得到更高的所属类别概率(更接近于1),识别效果更好。
(4)卷积神经网络对实际采集的交通标志图像的识别率尚不能达到令人满意的结果,主要原因是实际道路中采集的交通标志图像中存在着较严重的背景干扰,解决的办法是增加实际采集的交通标志训练样本数,通过网络的深度学习,提高网络的识别率和鲁棒性。
4 结论
本文将深层卷积神经网络应用于道路交通标志的识别,利用卷积神经网络的深层结构来模仿人脑感知视觉信号的机制,自动地提取交通标志图像的视觉特征并进行分类识别。实验表明,应用深层卷积神经网络识别交通标志取得了良好的识别效果。
在具体实现中,从我国交通标志的设计特点考虑,本文将经过预处理二值化的图像作为网络的输入,主要是利用了交通标志的形状信息,而基本略去了颜色信息,其优点是在保证识别率的基础上,可以简化网络的结构,降低网络的计算量。在实际道路交通标志识别中,将形状信息和颜色信息相结合,以进一步提高识别率和对道路环境的鲁棒性,是值得进一步研究的内容。
此外,本文的研究没有涉及到道路交通标志的动态检测,这也是今后可以进一步研究的内容。
参考文献
[1] 刘平华,李建民,胡晓林,等.动态场景下的交通标识检测与识别研究进展[J].中国图象图形学报,2013,18(5):493?503.
[2] SAHA S K,DULAL C M,BHUIYAN A A. Neural networkbased sign recognition [J]. International Journal of ComputerApplication,2012,50(10):35?41.
[3] STALLKAMP J,SCHLIOSING M,SALMENA J,et al. Man vs.computer:benchmarking machine learning algorithms for traf?fic sign recognition [J]. Neural Network,2012,32(2):323?332.
[4] 中国计算机学会.深度学习:推进人工智能梦想[EB/OL].[2013?06?10].http://ccg.org.cn.
[5] 郑胤,陈权崎,章毓晋.深度学习及其在目标和行为识别中的新进展[J].中国图象图形学报,2014,19(2):175?184.
[6] FUKUSHIMA K. Neocognition:a self ? organizing neural net?work model for a mechanism of pattern recognition unaffectedby shift in position [J]. Biological Cybernetics,1980,36(4):193?202.
[7] LECUN Y,BOTTOU L,BENGIO Y,et al. Gradient ? basedlearning applied to document recognition [J]. IEEE Journal andMagazines,1989,86(11):2278?2324.
[8] LECUN Y,BOTTOU L,BENGIO Y,et al. Backpropagationapplied to handwritten zip code recognition [J]. Neural Compu?tation,1989,1(4):541?551.
[9] CIRESAN D,MEIER U,MAsci J,et al. Multi?column deepneural network for traffic sign classification [J]. Neural Net?works,2012,32(2):333?338.
[10] NAGI J,DUCATELLE F,CARO D,et al. Max?pooling con?volution neural network for vision?based hand gesture recogni?tion [C]// 2011 IEEE International Conference on Signal andImage Processing Application. Kuala Lumpur:IEEE,2011,342?347.
[11] 杨斐,王坤明,马欣,等.应用BP神经网络分类器识别交通标志[J].计算机工程,2003,29(10):120?121.
[12] BUVRIE J. Notes on convolutional neural networks [EB/OL].[2006?11?12]. http://cogprints.org/5869/.
[13] 周开利,康耀红.神经网络模型及其Matlab 仿真设计[M].北京:清华大学出版社,2005.
[14] 孙志军,薛磊,许阳明,等.深度学习研究综述[J].计算机应用研究,2012,29(8):2806?2810.
[15] 刘建伟,刘媛,罗雄麟.深度学习研究进展[J].计算机应用研究,2014(7):1921?1930.
篇3
>> 基于PCA—LDA与蚁群优化BP神经网络的人脸识别算法 基于粒子群算法和神经网络的人脸识别分类器研究 基于卷积神经网络的人脸识别研究 基于BP神经网络的人脸识别研究 基于PCA算法的人脸识别技术研究 基于改进PCA算法的人脸识别研究 基于MB_LBP和PCA算法的人脸识别研究 基于BP神经网络的人脸识别算法的实现 基于模糊混沌神经网络的人脸识别算法 基于卷积神经网络的人脸识别 基于子图分割和BP神经网络的人脸识别方法 基于EMPCA和RBF神经网络的人脸识别 基于改进PCA与FLD算法的人脸识别 基于模糊人工神经网络的人脸识别研究 基于改进的LBP和PCA算法的人脸识别 基于并行PCA算法的人脸识别系统的研究 基于PCA和SVM的人脸识别 基于PCA和FLD的人脸识别方法 基于快速PCA―SVM的人脸识别研究 基于主分量分析的BP神经网络人脸图像识别算法 常见问题解答 当前所在位置:l.
[6]刘学胜.基于PCA和SVM算法的人脸识别[J].计算机与数字工程,2011(7).
[7]廖海滨,陈庆虎. 基于因子分析的实用人脸识别研究[J].电子与信息学报,2011(7).
[8]蔡晓曦,陈定方.特征脸及其改进方法在人脸识别中的比较研究[J].计算机与数字工程,2007(4).
篇4
关键词 深度神经网络 图像分类 车型识别 预测
中图分类号:TP317.4 文献标识码:A
0 引言
所谓的深度学习是根据具有多层结构的人工神经网络所提出。在具体的深度学习中,主要借助模拟神经系统中的层次结构,来进行数据结构特征的反映,一般来说,细节用低层次进行表示,抽象数据结构则用高层次来表示,利用这种方式,能够进行数据挖掘学习,满足学习要求。在传统的车型识别发展中,主要涉及到的技术包括模式识别、特征选择和提取以及检测分割等方面内容,在技术发展中,存在的难点主要涉及到如何将完整的目标车辆区域进行分割,这是项基础工作,也是难点所在。这结合实际需求,对于不同拍摄角度下的汽车图片,包括皮卡车、SUV、面包车以及小轿车进行车型识别,其目标质量分割质量则是最为关键的技术,直接影响到最后的判断效果。所以,应该重视进行具有代表性特征的选择处理,并相应转化成有效的参数过程。在获取特征参数后,则应该结合项目要求来选择合理的分类器,这样才能保障识别的准确率。结合汽车车型识别问题的要求,这里网络输入则是原始图像,利用神经网络优势,原始数据经过卷积层、完全连接层以及Softmax 层的培训学习,通过这种深度神经网络来进行分析处理,免于上述存在难度的图像分割、手工提取等过程。
1数据集
这里的车型识别目标的数据集主要包括皮卡车、SUV、面包车以及小轿车等四种类型。其中,训练集和测试集分别包括1025张和368张原始图片。此数据集中,包括不同摄像角度中的汽车图像照片,具有背景复杂、图像大小不统一,车辆在图片中所占比例具有较大差异性等方面问题,这些都在一定程度上造成车型识别的难度上升。
在预处理中,为了保证网络输入的一致性,对于原始图像进行调整处理为256?56?尺寸。在此基础上,对于图像RGB三个通道的均值进行计算,并进行均值标准化的处理。在具体的网络训练测试的过程中,主要则是选取224?24? 的样本作为输入。
2网络结构探讨
结合文献所提出的深度神经网络VGG16的优势,我们将其应用在汽车车型识别问题中。VGG16网络具有较强的优势,主要包括5个堆栈式的卷积神经网络ConvNet,以及3个完全连接层以及1个Softmax层,由此可见,其属于“网络中的网络”架构。在每个每个ConvNet中,还有多个卷积层所构成,然后紧跟随着Max-Pooling层。在进行卷积以及池化处理的基础上,进行三层完全连接处理,同时,Softmax层的输入则是最后一个完全连接曾的输出,在这基础上,实现车型分类的要求。结合实际需求,将非线性的ReLU层加入该网络中,这样就会让ReLU来处理卷积层和完全连接层的输出,保证训练时间有效降低。另外,还将一种正则化Dropout方式应用在网络中,避免出现完全连接层中的过拟合问题。
另一个神经网络Alexnet,结构稍微简单一些,主要包括5卷积层、3个完全连接层、Softmax层等几部分,在进行部分卷积层处理后,在进行Max- Pooling层处理。在此网络中,同样采用非线性的ReLU层,所采用难度重叠池化方式,也能有效保证尽量降低过拟合的问题。
3实验结果分析
结合上述分析的深度神经网络VGG16和AlexNet的基础上,进行Gaffe框架的搭设,为了保证运算效率,建立在GeForce GTX TITAN X CPU的工作站中。经过统计,单一网路训练大约为2小时,一张图片测试大约为0.2秒。在应用上述网络测试、训练之外,在分类过程中,还应用了经典的分类算法KNN。经过实验分析,可以看出,VGG16网络能够具有比较好的分类结果,能够实现准确率为97.3%,而AlexNet网络准确率达到为93.0%,KNN算法不能有效处理较为复杂背景的图片,分类准确率仅为52.3%。在具体的案例中,分析VGG16网络错误分类的情况,面包车具有完全正确的分类效果。在错误分类的SUV车型中,究其原因,主要包括:车颜色有两部分组成,红色部分则和皮卡车车型相同;车型结构太类似于皮卡车;背景中加入其他车型,这样会造成分类结果不准确。如果图片中仅仅包括车头的情况,在进行车型识别中也存在较大的难度,不同车型从前面角度进行观察,并没有太大的差异化,这点应该明确指出。
4结语
这里采用深度学习方法,结合先进的深度神经网络,以及功能强大的计算机工作站,对于四类汽车进行识别实验研究。经过试验表明,VGG16网络具有最好的分类效果,传统的经典分类算法往往仅为其准确率的一半左右。所以,可以看出深度神经网络具有强大的学习能力,能够在图像分类问题中表现出很大优势,应该不断优化深度神经网络的结构,以便其适用于更多的图像分类要求。
参考文献
[1] Hinton G E, Osindero S, Teh Y W.A Fast Learning Algorithm For Deep Belief Nets[J]. Neural Computation, 2006, 18(7):1527-1554.
篇5
内容简介:腾讯的月活跃用户8.3亿
微信月活跃用户4.4亿
QQ空间月活跃用户6.5亿
游戏月活跃用户过亿
如今腾讯的数据分析已经能做到始终“不落地”,即全部的实时处理。腾讯大数据平台有如下核心模块:TDW、TRC、TDBank、TPR和Gaia。简单来说,TDW用来做批量的离线计算,TRC负责做流式的实时计算,TPR负责精准推荐,TDBank则作为统一的数据采集入口,而底层的Gaia则负责整个集群的资源调度和管理。李勇还特别强调了数据平台体系化是应用基础,数据应用商业化是价值导向。
数据平台体系化是应用基础,数据应用商业化是价值导向。
腾讯深度学习平台的挑战深度神经网络模型复杂,训练数据多,计算量大
模型复杂:人脑有100多亿个神经细胞,因此DNN的神经元和权重多
训练数据多:大量训练数据才能训练出复杂模型
微信语音识别:数万个神经元,超过50,000,000参数,超过4,000,000,000样本,单机训练耗时以年计,流行的GPU卡需数周
深度神经网络需要支持大模型
更深更宽的网络能获得更好的结果
以图像识别为例,增加卷积层的filter数量,加大模型深度等,可获得更好的模型质量
深度神经网络训练中超参数多,需要反复多次实验
非线性模型:代价函数非凸,容易收敛到局部最优解
敏感的超参数:模型结构、输入数据处理方式、权重初始化方案、参数配置、激活函数选择、权重优化方法等
数学基础研究稍显不足,倚重技巧和经验
腾讯深度学习平台Mariana
腾讯有广泛的深度学习应用需求,其挑战如下模型复杂,训练数据多,计算量大
需要支持大模型
训练中超参数多,需要反复多次实验
Mariana腾讯深度学习平台提供三个框架解决上述问题
Mariana DNN: 深度神经网络的GPU数据并行框架
Mariana CNN: 深度卷积神经网络的GPU数据并行和模型并行框架
Mariana Cluster: 深度神经网络的CPU集群框架
Mariana已支持了训练加速、大模型和方便的训练作业
微信语音识别6 GPU做到4.6倍加速比
微信图像识别4 GPU做到2.5倍加速比,并支持大模型
篇6
【关键词】人工智能 图像识别 深度学习
1 概述
图像识别技术是人工智能研究的一个重要分支,其是以图像为基础,利用计算机对图像进行处理、分析和理解,以识别不同模式的对象的技术。目前图像识别技术的应用十分广泛,在安全领域,有人脸识别,指纹识别等;在军事领域,有地形勘察,飞行物识别等;在交通领域,有交通标志识别、车牌号识别等。图像识别技术的研究是更高级的图像理解、机器人、无人驾驶等技术的重要基础。
传统图像识别技术主要由图像处理、特征提取、分类器设计等步骤构成。通过专家设计、提取出图像特征,对图像M行识别、分类。近年来深度学习的发展,大大提高了图像识别的准确率。深度学习从大量数据中学习知识(特征),自动完成特征提取与分类任务。但是目前的深度学习技术过于依赖大数据,只有在拥有大量标记训练样本的情况下才能够取得较好的识别效果。本文认为研究如何在标记数据有限的情况下继续利用深度学习完成物体识别任务具有重要意义。这也是未来人工智能研究的重要方向之一。
2 传统图像识别技术
传统的图像识别技术包括:图像获取、预处理、特征提取、分类。在图像输入后,需要先对图像进行预处理。一幅标准灰度图像,如果每个像素的像素值用一个字节表示,灰度值级数就等于256级,每个像素可以是0~255之间的任何一个整数值。一幅没有经过压缩处理的640×480分辨率的灰度图像就需要占据300KB的存储空间。通常我们需要将图片的亮度及对比度调整合适,才能使图片更加清晰、便于观察。
许多采集到的图片带有或多或少的噪声,需要对图片的噪声进行消除。对图片噪声的消除可以使用不同的去噪方法,如中值滤波、算数平均滤波、平滑线性滤波和高斯滤波等。不同滤波器分别适用于不同情况的噪声。如椒盐噪声便适合使用中值滤波器,高斯噪声便适合使用平滑线性滤波和高斯滤波。有时候,我们需要对图像细化处理(如指纹细化,字符细化等),以便获取主要信息,减少无关信息。细化操作,可以得到由单像素点组成的图像轮廓,便于后续特征提取操作。
基本的图像特征提取包括边缘、角点等提取。一般使用不同的特征提取算子结合相应的阈值得到这些关键点。另一类在频域中进行特征提取的方法主要是通过傅里叶变换,将图像基于频率分为不同的部分,从而可以在频谱中反映出原始图像的灰度级变化,便可得到图像的轮廓、边缘。
在完成图像的预处理和特征提取之后,我们便能够对图像进行识别、分类。常用的分类器有K-近邻(KNN),支持向量机(SVM),人工神经网络(ANN)等等。K-近邻算法原理是,当一个样本的k个最相邻的样本中大部分属于某一类别时,该样本也应当属于同一类别。支持向量机是通过寻找支持向量,在特征空间确定最优分类超平面,将两类样本分开。人工神经网络模仿生物大脑中的神经网络结构,通过误差反向传播不断优化参数,从而得到较好的分类效果。
3 基于深度学习的图像识别技术
一般认为深度学习技术是由Hinton及其学生于2006年提出的,其属于人工神经网络分支。深度神经网络模仿人脑的神经机制来分析样本,并尽可能地对样本的特征进行更深度的学习。以图片为例,利用深度学习技术对样本的特征进行学习时,由低层特征到高层特征越来越抽象,越来越能表达语义概念。当样本输入后,首先对图像进行卷积与下采样操作,卷积和下采样操作是为了进行特征提取和选择。以原始像素作为输入,深度学习技术可以自动学习得到较好的特征提取器(卷积参数)。深度学习的训练过程,首先将当前层的输出作为下一层的输入,进行逐层分析,使得每一层的输入与输出差别尽可能小。其后,再联合优化,即同时优化所有层,目标是分类误差最小化。
传统的深度神经网络往往网络中的节点数太过庞大,难以训练。人们构造出卷积神经网络,以权值共享的方式减少了节点数量,从而能够加深学习的深度,使系统能学习到更抽象、更深层的特征,从而提高识别正确率。目前较成功的深度学习网络结构有AlexNet、GoogLeNet、ResNet等。
与传统识别技术相比,深度学习技术具有以下优势:
(1)无需人工设计特征,系统可以自行学习归纳出特征。
(2)识别准确度高,深度学习在图像识别方面的错误率已经低于人类平均水平,在可预见的将来,计算机将大量代替人力进行与图像识别技术有关的活动。
(3)使用简单,易于工业化,深度学习由于不需要领域的专家知识,能够快速实现并商业化,国内较知名的深度学习创业公司有专注人脸识别的Face++、研究无人车的驭势科技等。
4 存在问题与未来展望
虽然深度学习具备诸多优点,但目前来看深度学习仍有许多不足之处。首先,由于深度学习模型为非凸函数,对其的理论研究十分困难,缺乏理论保证。在对数据进行调整时,仍是简单的“试错”,缺少理论支撑。
同时,由于深度学习过于依赖数据量和计算资源。对一个新概念的学习,往往需要数百个甚至更多有标记的样本。当遇到有标记的样本难以获取或者代价太大时,深度学习就无法取得好的学习效果。并且深度学习需要十分昂贵的高性能GPU,这使得深度学习难以平民化。目前深度学习训练速度较慢,往往需要几天甚至一个月。其模型扩展性差,缺少“举一反三”的能力,样本稍加变化,系统性能便会迅速下降。目前的深度学习属于静态过程,与环境缺乏交互。
对其的解决方案目前主要有两点:
(1)针对于模型扩展性差的问题,通过引入迁移学习,研究不同任务或数据之间的知识迁移,提高模型的扩展能力、学习速度,同时降低学习成本,便于冷启动。
(2)与强化学习结合,研究在动态环境下进行深度学习,提高深度学习与环境交互的能力。
参考文献
[1]蒋树强,闵巍庆,王树徽.面向智能交互的图像识别技术综述与展望[J].计算机研究与发展,2016:113-122.
[2]张翠平,苏光大.人脸识别技术综述[J].中国图象图形学报,2000:885-894.
[3]梅园,赵波,朱之丹.基于直线曲线混合Gabor滤波器的指纹增强算法[J].计算机科学,2016.
[4]孙志军,薛磊,许阳明,王正.深度学习研究综述[J].计算机应用研究,2012:2806-2810.
[5]庄福振,罗平,何清,史忠植.迁移学习研究进展[J].软件学报,2015:26-39.
[6]高阳,陈世福,陆鑫.强化学习研究综述[J].自动化学报,2004:86-100.
篇7
关键词:BP神经网络;Morlet小波;决策理论;Hilbert变换
中图分类号:TP18文献标识码:A文章编号:1009-3044(2009)32-9050-02
Wireless Signal Simulation Algorithm for Automatic Identification
ZHANG Meng
(Purchasing, China Railway Communication Co., Ltd., Beijing 100140, China)
Abstract: We have firstly discussed the modulation distinguishing method based on rational budgeting theory through the method of comparing Tine-Frequency analysis of the analysis signals formed by Hibert Transform . And on the basic of analyzing the fault of this method ,we put forward the distinguishing method based on NN. When NN is distinguishing signals, it mainly depends on the different positions of peak. Wavelet Transform here equals a mathematic microscope .it reflects the inexorable links between the signal categories and the positions of peak. Taking advantage Wavelet Transform and the simple three-layer BP NN, the more accurate Time-Frequency characteristics of signals to be distinguishing can be drawn.
Keywords: BP ANN; Morlet Wavelet; BudgetingTheory; Hibert Transform
在军事电子对抗等多方面的重要应用,通信信号调制的自动识别分类问题也相继发展起来。无线电信号调制实识别就是要判断截获信号的调制种类。为此,需要事先对其特征进行选定,并确定它们与相应调制种类相联系的取值范围,然后再对信号进行特征测量,并根据测量结果对信号的调制进行分类判决。
如果把无线电信号的调制识别与分类视为一种模式识别问题,那末,从模式识别理论来看,模式分类是模式识别的一个子系统。因此,在模式识别理论框架下,无线电信号的调制识别是一个总体概念。而调制分类则只是调制识别的一个分支[1]。
1 基于决策理论的模拟调制方式识别方法
此算法主要实现区分AM、FM、DSB、LSB、USB、VSB、AM-FM等七种调制样式,所分析的对象序列s(n)是由接收机中频输出并经过采样得到的,这样s(n)的采样频率和载频都已知,分别记做Fs和Fc。算法分两个步骤:
第一步,根据信号的包络特征将AM、USB、LSB与FM区分开,因为前三种信号的包络不为恒定值,而FM的包络理论上是恒定值(实际中接近恒定)。因而可以从中提取一个特征参数R。参数R反映了零中心归一化包络的功率谱特征,FM的零中心归一化包络接近零,因其参数R应远远小于前三种信号。实际中若R
第二步,根据信号频谱的对称性,将AM与USB与LSB区分开,因为AM的单边频谱关于载频是近似对称的,USB和LSB的单边频谱对于载频来说分别只有上边频和下边频。因而可以从中提取另一个特征参数 。理论上,由于AM的上下边频对称,所以AM的P接近零,而LSB和USB的P分别接近1和-1。实际中若|P|< 0.5,判为AM信号,若P>0.5,判为LSB,P
第三步,零中心非弱信号段瞬时相位非线性分量绝对值的标准偏差:σap 。
σap由下式定义:
(1)
式中,at是判断弱信号段的一个幅度判决门限电平,c是在全部取样数据Ns中属于非弱信号值的个数,?准NL(i)是经零中心化处理后瞬时相位的非线性分量,在载波完全同步时,有:?准NL(i)= φ(i)-φ0
式中:,φ(i)为瞬时相位。用σap来区分是DSB信号还是AM-FM信号。
第四步,零中心非弱信号段瞬时相位非线性分量的标准偏差:σdp。
σdp由下式定义:
(2)
σdp主要用来区别不含直接相位信息的AM、VSB信号类和含直接相位信息的DSB、LSB、USB、AM-FM信号类,其判决门限设为t(σdp) 。
2 决策论方法的改进
前面介绍的基于决策理论的模拟调制方式识别方法存在缺陷针对上述问题,人们又提出了基于神经网络(NN)的识别方法。
2.1 BP网络作为分类器的模拟调制方式识别方法
该算法用基于有监督训练的神经网络模型BP网络作为分类器,用BP模型多层感知网络与反向传播学习算法相结合,通过不断比较网络的实际输出与指定期望输出间的差异来不断的调整权值,直到全局(或局部)输出差异极小值,不难想象该神经网络对模型细节中的诸多问题均有良好效果。
基于NN的模拟信号调制识别框图[2]如图1所示,该NN采用三层结构即,1个输入层,1个输出层,1个中间层。中间层可采用多层。但由于受到计算复杂性的限制,目前采用单层或双层中间层的NN比较多见。本图中间层采用单层25个节点,输入层和输出层的节点数取决于信号特征参数的个数和信号的分类数,因而分别为4和7。
神经网络具有信息分布式存储、大规模自适应并行处理和高度容错特性,适用于模式识别的基础。其学习能力和容错特性对不确定性模式识别具有独到之处[3]。通信信号在传播过程中受到信道噪声的污染,接受到的信号是时变的、非稳定的,而小波变换特别适用于非稳定信号的分析,其作为一种信息提取的工具已得到较广泛的应用。小波变换具有时频局部性和变焦特性,而神经网络具有自学习、自适应、鲁棒性、容错性和推广能力,两者优势的结合可以得到良好的信号模式自动识别特性,从而形成各种处理方法。
2.2 基于小波的特征提取和识别方法
小波特别适用于非稳定信号的分析,作为一种特征提取的工具已得到较为广泛的应用。小波的重要特点是它能够提供一个信号局部化的频域信息。小波变换能够将各种交织在一起的不同频率组成的混合信号分解成不同频率的块信号,它对不同的时间和频率有不同的解释,因此,对调制信号进行小波分解,得到不同水平下的细节信息,这些信息对于不同类别的调制信号来说是有差别的[4]。
在实际应用中,小波变换常用的定义有下列两种:
(3)
(4)
式中,星号*表示共轭。式(3)表示小波变换是输入信号想x(t)和小波函数φα, τ(t)的相关积分;式(4)用卷积代替了相关积分。两种定义在本质上是一致的。本为采用后者。
将式(4)中的τ和t离散化,即令τ=kTs,及t=iTs,得连续小波变换公式(4)的离散形式,又称小波系数:
(5)
Morlet小波是一种单频复正弦调制高斯波,也是最常用的复值小波。其实、频两域都具有很好的局部性,它的时域形式如下:
(6)
虽然信号特征有很多种,神经网络在进行信号识别时,主要是依据谱峰位置的不同,因此提取信号特征主要任务就是寻找信号类别与谱峰位置间的必然联系。而小波变换在这里则相当于一个数学显微镜,通过它,可以详细了解各类信号在不同低频段上的频谱构成。
整个系统在PC机上进行仿真,采用Windows2000操作系统和Matlab6.1和Cool Edit2.0进行声音录制。
在仿真中,采用44K的采样率,录制了一段歌声和一段笑声,用Matlab生成22K的正弦载波,并根据第二章的各调制样式的定义,生成了各个仿真的调制波形。并转化成.wav文件录在电脑中。
3 结束语
本文仅限于理论理论研究,用MatLab仿真实现,没有用DSP芯片等物理电路实现,仅为实际实现提供理论指导。
参考文献:
[1] 罗利春.无线电侦察信号分析与处理[M].北京:国防工业出版社,2003.
[2] 杨小牛,楼才义,徐建良.软件无线电原理与应用[M].北京:电子工业出版社,2001.
篇8
关键词:PCA算法;人脸识别;五级并行PCA模型;权重计算;均值滤波
中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2016)19-0147-02
Research on Face Recognition System Based on Parallel PCA Algorithm
ZHAO Ya-peng
(College of Information Science and Engineering, Shandong University of Science and Technology, Qingdao 266590, China )
Abstract:In order to solve the problem of fast and accurate face recognition, a face recognition method based on parallel PCA algorithm is proposed. Using principal component analysis (PCA) method can reduce the dimension of features, easy to implement, training time is short, the design and implementation of a parallel algorithm for PCA, first of all according to the whole image to extract the 4 part of face images, then the whole image and 4 partial images at the same time by the same structure of the PCA model of learning, face feature vector extraction, the Euclidean distance for matching calculation of the test images and training images, finally through the test image with the five level parallel PCA model identification results are weighted decision, in order to achieve face recognition. Using the image data of the ORL face database , the simulation results in Matlab show that the method has a great degree of improvement in accuracy, the recognition speed is relatively fast, with a high degree of robustness.
Key words:PCA algorithm;Face recognition;Five level parallel PCA model;Weight calculation;Mean filter
1 概述
随着智能终端设备(手机、Pad、门禁等)的不断发展,身份识别已经成为我们日常生活的重要组成部分,身份验证技术被广泛应用于各个领域,特别是人们对于个人隐私信息的保护,使得身份识别再次成为关注的焦点。人脸识别作为身份识别的重要手段之一,因其具有识别率高、采集性强、接受性高等特点,在身份识别的各类方法中具有独特的优势,成为了目前比较热门的研究领域。
目前,卷积神经网络(Convolutional Neural Networks)是图像识别领域最重要的研究热点,而且在语音识别领域也取得了不错的效果,但是卷积神经网络的整个训练过程比较费时,而且实现相对复杂,而基于PCA算法的人脸识别技术因其自身存在的许多缺陷,一直没有被广泛应用,但该方法实现简单、学习速度较快,因此,本文主要研究改进的并行PCA算法,以弥补传统PCA算法在人脸识别领域的不足。
本文提出的基于并行PCA算法的人脸识别技术,首先对原始图像进行预处理,如灰度归一化和中值滤波等操作,以消除图像噪声、光照等因素造成的影响,使得特征提取更加准确可靠。然后,通过5级并行PCA模型获取数据的不同特征矩阵,然后将训练图像和测试图像分别进行子空间的投影,利用欧氏径向基函数(Euclidean Radial Basis Function)进行人脸的匹配,最后根据训练得到的权值向量进行加权决策。本文通过ORL人脸数据库的仿真实验证明,该算法的效果明显好于PCA算法。
2 并行PCA算法
PCA(Principal Component Analysis)即主成分分析技术,PCA是基于K-L变换的统计学分析方法,是多元分析中常用的方法,其基本思想是将高维数据投影到低维空间,主要过程在于特征值的计算和矩阵的降维。将PCA应用于人脸识别时,首先将图像转化成矩阵向量,然后进行矩阵的奇异值分解(Singular Value Decomposition),将高维向量通过计算得到的特征向量矩阵投影到低维的向量空间,从而减少数据的计算量。
2.1 基于并行PCA算法的人脸识别流程
本文中提出的并行PCA算法,正是基于上述的PCA算法,通过建立5级的PCA算法模型同时进行数据特征的学习,使得最终的人脸识别准确率得到进一步的提高,具体的人脸识别流程如图1所示。
2.2 并行PCA算法的实现的步骤
2.2.1 人脸图像的预处理
首先,需要把ORL人脸数据数据库的所有训练图像大小进行归一化,并转化为像素矩阵,矩阵大小记为,为矩阵的行数,为矩阵的列数。之后利用均值滤波和灰度归一化进行图像的去噪处理,以消除光线等问题对图像造成的影响,以方便后期的特征提取等操作。
2.2.2 人脸图像的PCA降维
根据PCA的原理,可以将每一张图像看成是一个高维的向量,所有的图像可以看成是这个高维空间中的一点,PCA要做的就是找出另外一个尽可能多的反应图像特征的低维空间。
假如样本由n张大小为p*q的人脸图像组成,那么每一张图像可以保存为一列向量,向量维数是p*q,真个样本可以看成是一个行数为n,列数为p*q的矩阵记为矩阵A。
根据上述过程,首先求出矩阵A的协方差矩阵,然后求出协方差矩阵的特征值,选取前m个最大的特征值,然后求出对应的特征向量,组成一个特征矩阵。通常所说的“特征脸”就是这些特征向量,而特种功能矩阵就是“特征脸”空间或者说子空间。然后可以将每一张图片投影到该子空间,得到了每一张图像的投影矩阵(l*m)。
2.2.3 人脸图像的识别
对于待识别的图像,也可以看成是一列向量,投影到子空间得到一个投影矩阵,然后一一求出这个投影矩阵与样本图像投影矩阵最相似的。然而有可能该人脸不是人脸库中的,所以最相似的人脸也不一定是同一个人脸,还需要设置一个阈值来判断待识别人脸是否是人脸库中的。
人脸识别部分正是基于上述的PCA算法,在本文所提出的并行PCA模型中,是由5级的PCA模型同时进行人脸识别这一操作,最后根据训练得到的权值向量进行决策,通过使用多个PCA模型,从而使得整个识别过程的准确率得到进一步的提升。
3 系统设计及实现
3.1 系统总体设计
本文中所提出的基于并行PCA算法的人脸识别系统,包括人脸图像采集模块、图像预处理模块、识别模块。人脸图像采集模块主要是采集训练图像数据和测试图像数据,并由原始图像提取出4幅与之对应的部分图像;图像预处理模块主要就是进行图像归一化和图像的去噪工作,图像的归一化包括大小归一化和灰度归一化,可以使用比较常见的直方图均衡化等技术,而图像的去噪可以使用中值滤波技术,以去除比较常见的高斯噪声等;人脸识别模块是基于5级相互独立的PCA模型进行特征值的学习和比对,而且通过训练得到的权值向量进行最终的是脸识别决策。整个系统的实现是基于Matlab进行仿真实验的,实验数据来自剑桥大学AT&T实验室创建的ORL人脸数据库。
3.2系统功能模块实现
3.2.1人脸图像采集实现
图像采集模块主要就是将存储在本地的图像文件通过Matlab的imread函数读入矩阵中,以方便后期的PCA操作,其核心语句为Image{t}=imread([[filepath,FilDir(ii).name],'\',ImDir{ii}(jj).name]);
使用上述语句即可读入训练数据和测试数据文件。
3.2.2 图像预处理模块
该模块的主要任务就是利用中值滤波和直方图均衡化进行图像的去噪工作,以消除不同光照和图像噪声的影响,提高准确率。其核心代码为:
S1=zeros(1,256);
for i=1:256
for j=1:i
S1(i)=GP(j)+S1(i);
end
end
S2=round((S1*256)+0.5);
for i=1:256
GPeq(i)=sum(GP(find(S2==i)));
end
3.2.3 识别模块
图像经过之前的预处理之后,需要将图像矩阵转化为列向量,一幅图像就是一列向量,整个训练图像构成了整个特征空间矩阵,测试图像也会转化为一列向量,之后会利用矩阵之间的运算进行图像的分析计算。识别模块的工作就是根据测试图像和之前所有的训练数据进行对比,查找到与之最相似的图像,实验的结果如图2所示。
4 结论
PCA算法作为传统的人脸识别算法,因其自身存在的许多缺陷而没能发挥较好的作用,但是其自身具有其他算法所不具有的特点,本文设计的并行PCA算法虽然是基于PCA算法,但是借鉴了卷积神经网络的多层结构,而且使用加权操作进行最终人脸识别的决策。基于ORL人脸数据库的测试结果表明,该并行PCA算法的准确率和鲁棒性均得到了进一步的提升,与其他的单独PCA算法具有十分明显的优势。
参考文献:
[1] 张利芳. 基于PCA算法的人脸识别系统研究[D].太原:中北大学,2015.
[2] 杨海燕,蒋新华. 基于并行卷积神经网络的人脸关键点定位方法研究[J]. 计算机应用研究, 2015, 32(8): 2517-2519.
[3] 杨颖娴. 基于PCA算法和小波变换的人脸识别技术[J]. 微电子与计算机, 2011, 28(1): 92-94.
[4] 段宝彬,韩立新. 改进的卷积神经网络及在碎纸拼接中的应用[J]. 计算机工程与应用, 2014, 50(9): 176-181.
篇9
关键词:残差网络;人脸图像:年龄分类:非受限条件:Adience数据集
中图分类号:TP391 文献标识码:A 文章编号:1009-3044(2017)14-0169-02
1概述
人脸图像包含很多信息,如身份、表情、姿态、性别和年龄。其中,年龄是人的重要生物特征,可以应用于多种场景,如基于年龄的人机交互系统、基于年龄的访问控制、电子商务中个性营销及刑事案件侦查中的年龄过滤等n,。很多研究者在人脸图像年龄估计方面做了大量研究,早期,主要用Gabor,LBP,SFP和BIF等提取特征以及SVM方法进行年龄分类,这些人工提取特征的方法在受限条件下的人脸数据集上获得了不错的结果,但是在非受限条件下的人脸年龄分类任务中效果不佳;近几年,深度卷积神经网络(DCNN)成为了计算机视觉领域的研究热点。从5层的LeNet,到8层的AlexNet,再到19层的VGGm和22层的GoogleNet,直到上千层的ResNets,无论是网络的学习能力还是深度都得到显著提高。因此,越来越多的学者采用DCNN解决年龄分类问题,并证明其在非受限条件下能获得明显优于手工提取特征方法的结果。
在人脸年龄分类中,人脸图像往往受到面部姿态、光线、化妆和背景等影响,极大地限制了人脸年龄分类的准确性。针对非受限条件下人脸图像年龄分类困难的问题,本文提出了一种基于深度残差网络的非受限条件下人脸年龄分类方法。
2 34层残差网络
He等提出了深度残差网络(ResNets),该网络采用残差块作为网络的基本组成部分,可以很大程度上解决DCNN随着深度增加而带来的网络退化问题。ResNets在原始卷积层外部加人越层连接(shoacut)支路构成基本残差块RB,使原始的映射H(X)被表示为H(X)=F(X)+x。ResNets通过残差块结构将网络对爿(X)的学习转化为对F(X)的学习,而对F(X)的学习较H(X)更为简单。基于残差块更易学习的特性,ResNets通过顺序累加残差块成功地缓解了DCNN的退化问题,提高了网络性能。
ResNet-34结构如图1所示,残差块的具体表达式如下,函数F(x)表示残差映射,x和y分别代表残差块的输入和输出。当x和F数相同时,采用式(1),此时越层连接既没有增加额外参数也没有增加计算复杂度。当x和F维数不同时,采用式(2),通过越层连接执行1×1卷积映射G(x)以匹配维数。
ResNet-34网络输入图像大小为224×224。首先经过卷积层,卷积核为7×7,步长为2,输出特征图为112×112;再经过最大池化层;其次经过四组不同残差块,各残差块组的残差块数量分别为3、4、6和3,并且同组中的残差块输入输出维度相同,分别为64、128、256和512,各组输出特征图大小依次为56×56、28×28、14×14、7×7。最后经过平均池化层和全连接层,通过softmax分类器,输出分类结果。
3数据集
Adience数据集来自人们从智能手机设备自动上传到网络相册的图像。这些图像在上传之前并没有经过人工过滤,且这些图像都是在非受限条件下拍摄的。这些图像在头部姿势、面部表情和光线条件质量等方面都存在很大差异,所以在Adi-ence数据集下的人脸图像年龄分类任务面临巨大挑战。
Adience包含2284个人的26580张人脸图像,年龄范围为0-100岁,共8个年龄段(0-2,4-6,8-13,15-20,25-32,38-43,48-53,60-),年龄分布如表1。
4实验结果与分析
为了提升网络的人脸分类性能,本文选用ResNet-34在人脸图像Adience数据集上做年龄分类。训练和测试时动量值为0.9,权重衰减为0.0001。batch大小设为64,epoch设为164,初始学习率为0.1,在81和122个epoch之后学习率分别降为0.01和0.001。本文实验模型采用Nvidia Titan X GPU训练,运行环境torch7。
本文采用文献[7]中的交叉验证方法,将Adience数据集分成五组不同图像(fold-0,fold-1,fold-2,fold-3,fold-4),令其中一组图像作为测试集,其余四组图像作为训练集,共构成五种检测方式。通过计算平均分类准确度和1-off值作为评估标准。在fold-0测试的年龄分类准确度的曲线图如图2所示,由此可知网络能够很好地收敛。
为了验证本文方法的有效性,将现有在Adience数据集上的年龄分类方法与本文方法对比,各方法人脸年龄分类结果如表2所示。由表2可以看出本文提出的方法获得了除DEX w/IMDB-WIKI Pretrain方法以外的最高年龄分类准确度,主要由于文献[10]用大规模人脸数据集IMDB-WIKI微调网络。不经过大数据集对网络微调时,本文提出的基于深度残差网络的年龄分类方法获得了最高年龄分类准确度。
篇10
关键词:黑白棋;人工智能;算法
中图分类号:TP18 文献标识码:A 文章编号:1009-3044(2016)29-0198-03
1简介
黑白棋是被称为“设计理念”仅次于围棋的棋类游戏。它的棋盘只有8*8大,乍一看貌似简单,以为只要略微搜索就可以穷尽其中的路数。然而随着探究的不断深入,这个看似简单的游戏却不断涌现出它神秘莫测的一面。
作为一名高中生,经过为数不多课余时间的努力,我所设计的黑白棋程序bwcore实力已经达到相当的水平。经测试,它在北京大学人工智能对抗平台上战力排行达到第一。通过与另外一些AI的测试表明,目前的bwcore可以轻易打败国内个人编写的程序,亦能与专业公司开发的黑白棋软件(zebra,伤心黑白棋等)相抗衡。
本篇着重讲述了bwcore是如何更好地运用各类算法,使之融入到黑白棋AI设计中,达到提高AI水平的目的。本文还对AI设计作了一定程度的研究,先是介绍了一些较基础的算法在黑白棋AI设计中的应用,而后还探讨了实现AI的一些更高级的方法,以求有所突破。
2AI设计
2.1Minimax搜索
Minimax搜索的第一要义是双方都按照对自己最有利的决策,对盘面进行模拟。如果能够评价某一时刻其中一方的优劣程度,则另一方走棋时就会选一种使对方优势尽可能小的走法。如图所示,按照这种方式模拟出井字棋所有可能的局面,所有局面就构成一棵极大极小博弈树。
根据上述做法,不难写出简易MiniMax搜索的代码。当搜索达到指定深度后,进行当前局面的分值估算。val为当前层的分值,当前层的颜色与己方相同时,使之尽可能大。
float Cmp_BW::MaxMinSearch(Map&fmap,int col,int deep)
{
if deep>target_deep Then
search_cnt++;
return Sence_Evalution
For-Each place_in_board
If place_is_availaleThen
MakeMove
ret=MaxMinSearch(board.color_other,deep+1);
UnMakeMove
if col==my_color Then
2.2剪枝c改进
Minimax算法提供了一种在博弈树上寻求最优解的方法,但缺点很明显。算法需要遍历博弈树上所有可能的情况,尽管很多时候是根本不可能的(例如一方选择了一个明显劣势的位置)。通过AlphaBeta剪枝可以减少这种情况发生。如果当前结点获得的值已经小于其父节点之前得出的值,那么就没有继续搜索的必要,因为按照选择的逻辑,这个节点一定会被父节点排除在外。
经测试,搜索的节点数明显减少,约为原来的3/4次方。
测试表明,一般人已经难以战胜4~5层的搜索了。而把搜索深度设定为4层可以在botzone排行榜上达到约40名。
3高级搜索方法
3.1蒙特卡洛搜索
谷歌的围棋智能AlphaGo就使用了基于蒙特卡洛树搜索(MCTS)的搜索方式。MCTS在围棋领域十分成功,在其他方面也有很大的借鉴意义。
蒙特卡洛搜索通过对局面的随机模拟来获得对各个节点搜索的关注程度,可以说在理念上很接近人的思维方式。UCT算法是蒙特卡洛搜索的一种,旨在得分未知的前提下使期望得分最大。UCT算法为每一个节点计算UCB值,每次扩展时选择UCB最大的节点。
其中,X表示以前的收益,N表示总次数,T表示当前阶段的次数。这个式子的蕴含的内容是,如果一个节点的得分很高,那么就它很值得深入研究,而一些得分较低的节点有时也会去尝试,但次数不会很多。在极端条件下,多个选择方案中有一个方案的值远好于其他方案,则UCT算法的收敛速度很快。另一方面,如果所有方案得分相差不大,UCT随着搜索次数的增加,所有节点的得分趋于稳定。
结果表明单纯的UCT算法效率极高,经过很少时间就估算出精确值相近的结果。但因有时随机选点得出结果差异大,下棋时偶尔会出现失误。但总体而言,朴素的UCT算法的效果已经很优秀,测试过程中棋力超过前面基于MiniMax搜索的算法。可以想见,如果能在Simulation过程中加以优化,还有很大提升空间。
3.2遗传算法
遗传算法也是比较好的搜索方式,它通过借鉴生物界的进化规律来加强搜索。将前面的搜索局面各行列情况视为遗传算子,搜索过程中经过交叉、变异算子,评估新算子的可靠程度,将进化较成功算子反作用于搜索,每次得出更好的搜索方法。具体过程如下:
1)随机生成n个个体作为迭代的初始群体;
2)计算群体中每个个体的适应程度;
3)进行选择,把适应度高的个体的基因传递给下一代;
4)使新生成个体的基因交叉互换;
5)对基因做一定程度的变异;
6)返回2),除非适应度达到指定水平或已经达到最大迭代次数。
经过多次迭代,适应度高(这里即胜率高)的基因将遗传下来,最终得到高度适应的群体,即我们下一步所期望的走法。
4机器学习与增强学习
前面的几种搜索方法比原先单纯的搜索更具智能性,有更高的效率。目前为止,我们还未对局面的评估做出很好的改进。而估价函数的选取十分困难,大多依靠编写者自己的直觉,有时为了让某个权重来达到合适的值,还要耗费大量时间进行试验并调节。所幸,运用机器学习的方法可以使这些问题得到较好的解决。
4.1决策树与随机森林
决策树(Decision Tree)是其中一种比较简单的做法。决策树可用于对带标签数据的分类,并可以在相对短的时间得出效果良好的结果。依照数据标注的特点,决策树的每一个分支对这些样本进行划分,最终使样本按照标签归类。预测时,将想要预测的数据选择相应分支找到对应的归属即可。
在黑白棋中,如果将黑方获胜视为样本中的正类,白方获胜视为负类,棋盘上黑白棋子的位置作为样本的标签,就可以将对局面的评价转化为分类问题。决策树通过不停寻找最优分裂使数据更好地被分离。这里使用C4.5算法,通过信息熵获得最优分裂。由于单纯使用棋子的位置作为标签信息量较大且十分复杂,容易造成一种称为过拟合的题。将决策树上改为随机森林,可以避免了过拟合,节约了训练时间。
4.2神经网络算法
人工神经网络是当下计算机话题最热门的内容之一。神经网络的种类繁多,BP神经网络是神经网络中最简单的一种模型。
BP神经网络的结构如图,左边为输入层节点,右边为输出层节点,中间包含一个或多个隐含层。
每个神经元从其上一层获得输入,将输入通过自身权值和阈值变换后施以适当激活函数,传递到下一次神经元。这样的过程称为正向传递(Fowed Transfer)过程。根据正向传递得到的网络输出与训练目标比较计算当前网络的误差,然后向前调整各个神经元权值,就是所谓的反向传递(Reverse Transfer)过程。BP网络不停通过这种方式训练减小误差,最终使每个训练输入都收敛于目标输出。
这里使用棋盘上黑白棋子的分布作为输入层节点,用01表示,输出层表示输赢棋子数。训练结果表明,虽然目前的网络能较好地拟合训练集中的局面,但对于推广与训练集不同的输入数据较为困难,这可能是因为当前所使用网络的局限性。此外,BP神经网络隐含层的层数不宜过多,否则收敛十分缓慢。使用深度学习中更高级的神经网络如卷积神经网络(CNN)等应该能够得到更好的效果,但过程比较复杂,目前个人难以实现。
4.3训练方式
学习算法需要进行训练,一种方式是使用接近后期时搜索得出的结果,这种方式获得样本的准确度较高。如果按照终局搜索步数15-20步计,训练好的AI将可以在近30步时获取很大优势。
//用后期对局结果作为样本训练
void Cmp_BW::train(int repeat)
For lxain_count
For remain_step>target_step
run_easy(map)//使用简单方式下棋,节约时间
score=getScore(map)//获得比分
deetree.tmin(map,score);//用样本训练