卷积神经网络过程范文
时间:2024-03-28 16:38:34
导语:如何才能写好一篇卷积神经网络过程,这就需要搜集整理更多的资料和文献,欢迎阅读由公务员之家整理的十篇范文,供你借鉴。
篇1
关键词: 模式识别; 神经网络; 卷积; 文字识别
中图分类号: TN711?34; TP391.4 文献标识码: A 文章编号: 1004?373X(2014)20?0019?03
Large pattern online handwriting character recognition based on multi?convolution neural network
GE Ming?tao1, WANG Xiao?li1, PAN Li?wu2
(1. SIAS International School, Zhengzhou University, Zhengzhou 451150, China;
2. Henan University of Animal Husbandry and Economy, Zhengzhou 450011, China)
Abstract: Online handwriting character recognition is an important field in the research of pattern recognition. The traditional recognition method is based on the common convolutional neural networks (CNNs) technology. It has an efficient recognition rate for the small pattern character set online handwriting characters, but has low recognition rate for the large pattern character set recognition. A recognition method based on multi?convolutional neural networks (MCNNs) is presented in this paper to overcome the situation that the previous methods have the low recognition rate for large pattern character set and improve the recognition rate for the large pattern handwriting character set recognition. The stochastic diagonal Levenbert?Marquardt method is used in the system for training optimization. The experimental results show that the proposed method has the recognition rate of 89% and has a good prospect for online handwriting character recognition for large scale pattern.
Keywords: pattern recognition; neural network; convolution; character recognition
0 引 言
随着全球信息化的飞速发展和对自动化程度要求的不断提高 ,手写文字识别技术被广泛地应用到许多方面。特别是近几年拥有手写功能的手机、平板电脑等智能电子产品的普及,联机手写文字识别研究已经成为一个备受关注的主题。联机手写字符识别要求实时性较高,识别过程中要求特征空间的维数比较高,在进行特征样本训练时要求训练的数目很大,要匹配的特征值或特征对象比较多 [1?2]。
卷积神经网络(Convolutional Neural Networks,CNNs)的优点在于图像的识别过程中对视觉模式的获得是直接从原始图像中获得的,所以在设计系统时图像的预处理工作很少,与一般神经网络相比是一种高效的识别方法。卷积神经网络在模式识别的一些领域具有很好的鲁棒性,如在识别有变化的模式和对几何变形的识别方面。利用卷积神经网络的手写识别方法具有如下一些优点:对于要检测的图像可以与事先制定网络拓扑结构之间有较高的匹配率;特征提取和模式分类同时进行;训练参数往往是系统计算量的重要参数,而卷积神经网络中利用权值共享技术,这样就可以大大降低该参数,在设计系统结构时使得结构变得更简单,从而使得整个系统具有更好的适应性[3?5]。
目前,人机交互系统的手写字符识别、汽车车牌号识别和信息安全中常用的人脸识别等领域都有卷积神经网络的成功应用。文献[6]用一个4层的卷积神经网络LeNet?5对Mnist库进行识别实验,获得了98.4%的识别率,用2层的BP网络的识别率[4,6]是87%。许多学者对卷积神经网络在联机手写文字识别方面做了多方位的研究。 但是,这些成功的联机手写文字识别主要是针对小模式字符集,利用以往的这些方法对大规模模式分类的联机手写文字的识别依然有识别率不高的问题。本文介绍了卷积神经网络的基本概念和一种典型的卷积神经网络结构,给出了基于多重卷积神经网络的字符识别和词语识别模型。通过使用大字符集的UNIPEN数据库进行训练和测试,本文提出的方法在大模式联机手写识别上,取得了较高的识别速度和满意的识别率。
1 卷积神经网络
文献[6?7]中详细地描述了卷积神经网络如何保证图像对位移、缩放、扭曲鲁棒性能。典型的手写字符卷积神经网络LeNET 5的结构图如图1所示[6?7]。
图1 典型的卷积神经网络结构
在图1中,输入层接收要识别32×32的手写字符图像,经过简单的大小归一化和图像灰度处理,之后的结果作为一个采样层的图像;然后用一个可学习核进行卷积操作,卷积结果经过激活函数的输出形成这一层的神经元,每个神经元与输入图像的一个5×5的邻域相连接,从而得到由6幅特征图组成的第一个隐层(C1层)。每个特征图有25个权值(如方向线段,端点、角点等),考虑到边界效果,得到的特征图的大小是28×28,小于输入图层[3?9]。卷积层的数学计算过程可表示为:
[xlj=fi∈Mjxl-1j*kernellij+blj] (1)
式中:[l] 代表层数;kernel是卷积核;[Mj]代表输入特征图的一个选择。每个输出图有一个偏置[b]。
每个卷积层的结果作为下一个次采样层的输入,次采样层的作用是对输入信息进行抽样操作。如果输入的特征图为n个,则经过次采样层后特征图的个数仍然为n,但是输出的特征图要变小(例如,各维变为原来的50%)。因此隐层S2是由6个大小为14×14的特征图组成的次采样层。次采样层计算公式可以用式(2)表示:
[xlj=fβl-1jdown(xl-1j)+blj] (2)
式中down(・) 表示次采样函数。次采样函数一般是对该层输入图像的一个n×n大小的区域求和,因此,输出图像的大小是输入图像大小的[1n]。每一个输出的特征图有自己的β和b。
类似的,C3层有16个10×10的特征图组成的卷积层,特征图的每个神经元与S2网络层的若干个特征图的5×5的邻域连接。网络层S4是由16个大小为5×5的特征图组成的次采样层。特征图的每个神经元与C3层的一个2×2大小的邻域相连接。网络层C5是由120个特征图组成的卷积层。每个神经元与S4网络层的所有特征图的5×5大小的邻域相连接。网络层F6,包括84个神经元,与网络层C5进行全连接。最后,输出层有10个神经元,是由径向基函数单元(RBF)组成,输出层的每个神经元对应一个字符类别。RBF单元的输出yi的计算方法如式(3)所示:
[yi=j(xj-wij)2] (3)
很多研究人员通过对字符集作弹性训练,经测试发现在MNIST字符集上的识别率可以高达99%以上[6?7] 。卷积神经网络的优势主要是对小模式集上,如对数字或26个英文字母组成的集合都有着较高的识别率。然而,对大模式集的识别仍然是一个挑战,因为设计一个优化的并足够大的单一网络是比较困难的,且训练时间也较长。因此,本文的目的旨在通过组合多个对某一字符集有高识别率的卷积神经网络,从而构成多重卷积神经网络,进而提高卷积神经网络对大模式集手写字符的识别率。
2 多重卷积神经网络
2.1 多重卷积神经网络字符识别
根据传统卷积神经网络的运算过程以及其在处理大模式集手写字符时存在的不足,本文提出一种多重卷积神经网络来改进传统的卷积神经网络模型,用多个拥有高识别率的小卷积神经网络组成一个多重卷积神经网络。每一重小卷积神经网络对某一具体字符集有较高的识别率,另外,单重卷积神经网络除了有一个正式的输出集之外,还产生一个未知的输出(即难以识别的字符),即如果一个输入字符没有被正确识别,它将被输出为一个未知字符,然后输入模式转到下一重卷积神经网络进行识别。最后,通过一个拼写检查模块进行判断,选择最好的结果输出。系统的流程如图2所示。
其中CNN 1是识别手写数字的卷积神经网络,CNN 2是识别手写小写英文字母的卷积神经网络,该模型具有极强的扩展性,可以添加多任意模式的卷积神经网络(如中文,日文等)。
图2 多重卷积神经网络字符识别示意图
2.2 随机对角Levenberg?Marquardt训练方法
传统的结构比较简单、单一的卷积神经网络多采用基本的Back Propagation(BP)规则训练网络,往往需要几百次迭代,网络的收敛速度较慢。本文采用LeCun博士提出的随机对角Levenberg?Marquardt 算法对网络作训练,该算法需要的迭代次数明显比基本的BP 算法少[4,9]。随机对角Levenberg?Marquardt算法的公式为:
[ηki=ε?2E?w2ij+μ] (4)
式中[ε]是全局的学习率,一般取初始值0.01,太大会使网络无法收敛,太小则会降低收敛速度,且使网络更容易陷入局部极小值,训练过程中可以用启发式规则改变[ε]的值,本文取最下值为5e-005; [?2E?w2ij]是一个估计值,根据训练集的大小可以调整样本数量,文中随机选取200个样本估算它的值;[μ]用来避免[?2E?w2ij] 太小时[ηki]的变化过大 。
2.3 多重卷积神经网络词句识别
本文提出的多重卷积神经网络对手写词语的识别方法可以简单地描述为:首先对输入的手写图像进行预处理和分割,然后通过多重卷积神经网络模块分别进行识别,最后采用单词识别模块对识别结果进行判断,选择最好的结果输出。其过程如图3所示。
图3 多重卷积神经网络联机手写词句识别过程
本文提出的多重卷积神经网络联机手写文字识别方法克服了传统卷积神经网络文字识别的对字符集的限制,每一重卷积神经网络是一个针对小模式的卷积神经网络,易于训练和优化,更重要的是此方案的灵活性非常好易于调节参数,可扩展性强。每一重卷积神经网络都具有可重用能力,可以根据需要加载一个或多个网络,可以根据新的模式添加新的网络而不需改变或重建原来的网络。
3 训练和实验
为了评估多重卷积神经网络对基于大模式字符集的联机手写文字识别的性能,本系统采用MNIST和UNIPEN两种不同的手写字符训练集进行测试。UNIPEN数据库是在1992年举行的IEEE IAPR会议上提出并建立的,其目的是创建一个大型的手写体数据库用于为在线手写识别提供研究和开发的基础,得到了多个知名公司或研究所的支持并完成了UNIPEN的规范设计。在进行数据比对实验中,本文采用许多研究使用的MNIST手写数字数据库,该数据库是NEC 研究中心设计的,是NIST(The National Institute of Standards and Technology)数据库的一个子集,该训练集中有大量训练样本和测试用例。本文默认用以下定义:
[识别率=正确识别数样本总数×100%]
[失误率误识率=错误识别数样本总数×100%]
实验测试是在通用的台式电脑上进行的。整个识别原型系统采用C#编写,运行在.NetFrame 4.5平台上。经测试对MNIST训练集识别正确率可达[9]99%,对UNIPEN数字识别正确率可达97%,对UNIPEN数字和大写字母识别正确率可达89%(1a,1b) ,对UNIPEN小写字母识别正确率可达89%(1c) 。图4是对UNIPEN小写字母3次训练的均方误差比较。
图4 训练的误差数据
从图4中可以看出,在开始的几个训练周期内,均方误差(MSE)下降得很快,然后在第13个周期后神经网络达到一个稳定的值,约为0.148 5。也就是说,网络在第13个周期后,改善程度就很小。所以修改训练错误率的值为0.000 45后重新进行18代的第二次训练,均方误差有所降低。经过第三次的训练后趋于稳定,对UNIPEN小写字母识别正确率可达89%。经测试,通过使用随机对角Levenberg?Marquardt方法,收敛速度比基本BP算法快了许多,经过68代训练后识别正确率可达89%。
4 结 语
本文提出了基于多重卷积神经网络的联机手写字符的识别方法,通过使用多个识别率高的卷积神经网络和随机对角 Levenberg? Marquardt方法,可以适用于大模式联机手写识别。经过实验数据比较,该方法在大模式联机手写识别过程中具有很高的识别率,与此同时识别速度也很快,有很好的实时性,总体效果很好。在当今触摸屏应用遍及生产生活的各个方面的趋势下,该方法有着广阔的应用前景。同时此方法为今后多手写汉字识别的研究提供了很好的借鉴。
注:本文通讯作者为潘立武。
参考文献
[1] 吴鸣锐,张钹.一种用于大规模模式识别问题的神经网络算法[J].软件学报,2001,12(6):851?855.
[2] 张辉.大规模联机手写汉字识别数据库整理、统计与实验分析[D].广州:华南理工大学,2012.
[3] 徐姗姗,刘应安,徐,等.基于卷积神经网络的木材缺陷识别[J].山东大学学报:工学版,2013,43(2):23?28.
[4] 吕刚.基于卷积神经网络的多字体字符识别[J].浙江师范大学学报:自然科学版,2011,34(4):425?428.
[5] PHAM D V. Online handwriting recognition using multi convolution neural networks [M]. Berlin Heidelberg: Springer, 2012: 310?319.
[6] LECUN Y, BOTTOU L, BENGIO Y, et al. Gradient?based learning applied to document recognition [C]// Proceeding of IEEE. USA: IEEE, 1998: 2278?2324.
[7] SIMARD P Y, STEINKRAUS Dave, PLATT John. Best practices for convolutional neural networks applied to visual document analysis [C]// International Conference on Document Analysis and Recognition (ICDAR). Los Alamitos: IEEE Computer Society, 2003: 958?962.
篇2
关键词:卷积神经网络;深度学习;图像处理;训练时间
中图分类号:TP18 文献标识码:A 文章编号:1009-3044(2016)33-0167-04
如今在机器学习领域中,深度学习方法已经占据了相当重要的地位,通过模仿人X学习方式构造模型,在图像、文本、语音处理方面取得了显著成果[1]。目前应用较为广泛的深度学习模型包含多层感知器模型(MLP)[2],卷积神经网络模型和限制性玻尔兹曼机模型等[4]。多层感知器[2]网络结构的神经节点一般分层排列,主要由输入层,输出层和一些隐层组成,同层之间的神经元节点无连接,相邻的两层神经元进行全连接,前一层的神经元的输出作为后一层神经元的输入,但本身此种算法存在着一些问题,那就是它的学习速度非常慢,其中一个原因就是由于层与层之间进行全连接,所以它所需要训练的参数的规模是非常大的,所以对其进行改进,产生了卷积神经网络模型。卷积神经网络模型在图像识别方面的应用十分广泛[5,8,9]。从它的结构上来看,层与层之间的神经元节点采用局部连接模式,而并非MLP的全连接模型,这样就降低了需要训练的参数的规模。而在它卷积层中,它的每一个滤波器作为卷积核重复作用于整个输入图像中,对其进行卷积,而得出的结果作为输入图像的特征图[6],这样就提取出了图像的局部特征。而由于每一个卷积滤波器共享相同的参数,这样也就大大降低了训练参数的时间成本。而本文,以卷积神经网络为研究对象,在其模型的基础上通过对其结构中卷积核也就是滤波器的大小进行调整并结合卷积核个数调整和gpu加速等已有的训练提速方法,达到降低训练时间并且对识别结果并无太大影响的目的。
1 卷积神经网络
卷积神经网络在MLP的基础上,已经对结构进行了优化,通过层与层之间的局部连接以及权值共享等方式对要训练的参数的进行了大幅减低。
1.1局部连接
BP神经网络中,神经元在本层中呈线性排列状态,层与层之间进行全连接,而在卷积神经网络中,为了减少每层之间的可训练参数数量,对连接方式进行了修改,相对于BP神经网络的全连接,卷积神经网络采取了局部连接的连接方式[7],也就是说按照某种关联因素,本层的神经元只会与上层的部分神经元进行连接。
2.2 权值共享
在CNN中,卷积层中的卷积核也就是滤波器,重复作用在输入图像上,对其进行卷积,最后的输出作为他的特征图,由于每个滤波器共享相同的参数,所以说他们的权重矩阵以及偏置项是相同的。
我们从上图看出,相同箭头连线的权值是共享的,这样在原有的局部连接的基础上我们又降低了每层需要训练的参数的数量。
2.3卷积过程
特征图是通过滤波器按照特定的步长,对输入图像进行滤波,也就是说我们用一个线性的卷积核对输入图像进行卷积然后附加一个偏置项,最后对神经元进行激活。如果我们设第k层的特征图记为[hk],权重矩阵记为[Wk],偏置项记为[bk],那么卷积过程的公式如下所示(双曲函数tanh作为神经元的激活函数):
2.4 最大池采样
通过了局部连接与权值共享等减少连接参数的方式卷积神经网络中还有另外一个重要的概念那就是最大池采样方法,它是一种非线性的采样方法。最大池采样法在对减少训练参数数量的作用体现在两个方面:
1 )它减小了来自m-1层的计算复杂度。
2 )池化的单元具有平移不变性,所以即使图像在滤波后有小的位移,经过池化的特征依然会保持不变。
3卷积神经网络整体构造以及减少训练时间的方法
3.1使用GPU加速
本次论文实验中,使用了theano库在python环境下实现卷积神经网络模型,在lenet手写数字识别模型上进行改进,由于theano库本身支持GPU加速,所以在训练速度上实现了大幅度的提高。
3.2 数据集的预处理
本次实验使用的两个数据集是mnist手写数字库以及cifar_10库
Mnist手写数字库具有60000张训练集以及10000张测试集,图片的像素都为28*28,而cifar_10库是一个用于普适物体识别的数据集,它由60000张32*32像素的RGB彩色图片构成,50000张图片组成训练集,10000张组成测试集。而对于cifar_10数据集来说,由于图片都是RGB的,所以我们在进行实验的时候,先把其转换为灰度图在进行存储。由于实验是在python环境下运行,theano函数库进行算法支持,所以我们把数据集进行处理,此处我们对使用的数据集进行了格式化。格式化的文件包括三个list,分别是训练数据,验证数据和测试数据。而list中每个元素都是由图像本身和它的相对应的标签组成的。以mnist数据集为例,我们包含train_set,valid_set,test_set三个list,每个list中包含两个元素,以训练集为例,第一个元素为一个784*60000的二维矩阵,第二个元素为一个包含60000个元素的列向量,第一个元素的每一行代表一张图片的每个像素,一共60000行,第二个元素就存储了对相应的标签。而我们取训练样本的10%作为验证样本,进行相同的格式化,而测试样本为没有经过训练的10000张图片。在以cifar_10数据集为实验对象时,把其进行灰度化后,进行相同的格式化处理方式。
3.3实验模型结构
本次实验是在python环境下基于theano函数库搭建好的lenet模型进行参数的调整,以达到在实验准确度可接受情况下减少训练时间的目的。
上图为实验中的基础模型举例说明实验过程,首先以mnist数据集为例,我们的输入图像为一个28*28像素的手写数字图像,在第一层中我们进行了卷积处理,四个滤波器在s1层中我们得到了四张特征图。在这里要特别的说明一下滤波器的大小问题,滤波器的大小可根据图像像素大小和卷积神经网络整体结构进行设置,举例说明,假如说我们的输入图像为28*28像素的图像,我们把第一层卷积层滤波器大小设置为5*5,也就是说我们用一个大小为5*5的局部滑动窗,以步长为一对整张图像进行滑动滤波,则滑动窗会有24个不同的位置,也就是说经过卷积处理后的C1层特征图的大小为24*24。此处的滤波器大小可进行调整,本论文希望通过对滤波器大小的调整,已达到减少训练时间的目的,并寻找调整的理论依据。C1层的特征图个数与卷积过程中滤波器数量相同。S1层是C1经过降采样处理后得到的,也就是说四点经过降采样后变为一个点,我们使用的是最大池方法,所以取这四个点的最大值,也就是说S1层图像大小为12*12像素,具有4张特征图。而同理S1层经过卷积处理得到C2层,此时我们滤波器的大小和个数也可以自行设置,得到的C2层有6张特征图,C2到S2层进行降采样处理,最后面的层由于节点个数较少,我们就用MLP方法进行全连接。
3.4实验参数改进分析
由此可见,我们对滤波器的大小以及个数的改变,可以直接影响到卷积训练参数的个数,从而达到减少训练时间的目的。
从另一种角度来看,增大滤波器的大小,实际效果应该相似于缩小输入图像的像素大小,所以这样我们可以预测增大滤波器的大小会减少样本的训练时间,但是这样也可能会降低训练后的分类的准确率,而滤波器的大小是如何影响训练时间以及分类准确率的,我们通过对两种图片库的实验来进行分析。
4 实验结果与分析
4.1以mnist手写数字数据集作为实验数据
我们知道卷积层可训练参数的数字与滤波器的大小和数字有关,所以我们通过对卷积层滤波器大小的变化来寻找较为普遍的可减少训练参数从而达到减少训练时间的目的。在实验记录中,我们表格纵列记录两层卷积层滤波器大小,横列分别为对已经过训练图像识别和对未经过训练的验证图像进行识别的错误率,最后记录每种滤波器大小搭配的使用时间。我们设定每次试验都进行100次重复训练,每次对权重矩阵进行优化。
此处我们记录两层滤波器大小之和作为横坐标,比较滤波器大小与实验之间的关系。两层滤波器大小相加后相同的元素我们把其对应时间做平均。
4.2以cifar_10数据集作为实验数据
同样是以100次循环训练进行测试,通过改变两层中滤波器的大小来寻找减少训练时间的设定。
此处以同样的方法,记录两层滤波器大小之和作为横坐标,比较滤波器大小与实验之间的关系。
4.3实验结果分析
从两组试验中,在不同的数据集下,我们得到了滤波器的大小与训练时间成反比的关系,而在减少了训练时间的同时确实增大了训练的错误率。
5 总结
通过实验结果分析表明,增大卷积层滤波器大小的方法,在此两种数据库的情况下,是有效减小训练时间的方式,而在不同的数据库对分类准确率的影响程度不同,mnist手写数字数据库中图像之间的相似度非常高,所以滤波器的增大对准确率产生的负面影响较小,而ifar_10数据集中图像之间的相似度较小,所以增大滤波器的大小对其分类结果的准确率的负面影响较大。
参考文献:
[1]LeCun Y, Bengio Y, Hinton G. Deep learning[J]. Nature, 2015, 521(7553): 436-444.
[2] Ruck D W, Rogers S K, Kabrisky M. Feature selection using a multilayer perceptron[J]. ]Journal of Neural Network Computing, 1990, 2(2): 40-48.
[3]LeCun Y, Bengio Y. Convolutional networks for images, speech, and time series[J]. The handbook of brain theory and neural networks, 1995, 3361(10): 1995.
[4] Larochelle H, Bengio Y. Classification using discriminative restricted Boltzmann machines[C]//Proceedings of the 25th international conference on Machine learning. ACM, 2008: 536-543.
[5]Krizhevsky A, Sutskever I, Hinton G E. Imagenet classification with deep convolutional neural networks[C]//Advances in neural information processing systems. 2012: 1097-1105.
[6] Zeiler M D, Fergus R. Visualizing and understanding convolutional networks[C]//European Conference on Computer Vision. Springer International Publishing, 2014: 818-833.
[7] Jarrett K, Kavukcuoglu K, Lecun Y. What is the best multi-stage architecture for object recognition?[C]//2009 IEEE 12th International Conference on Computer Vision. IEEE, 2009: 2146-2153.
篇3
过去10年,人们对机器学习的兴趣激增。几乎每天,你都可以在各种各样的计算机科学课程、行业会议、华尔街日报等等看到有关机器学习的讨论。在所有关于机器学习的讨论中,许多人把机器学习能做的事情和他们希望机器学习做的事情混为一谈。从根本上讲,机器学习是使用算法从原始数据中提取信息,并在某种类型的模型中表示这些信息。我们使用这个模型来推断还没有建模的其他数据。
神经网络是机器学习的一种模型,它们至少有50年历史了。神经网络的基本单元是节点(node),基本上是受哺乳动物大脑中的生物神经元启发。神经元之间的连接也以生物的大脑为模型,这些连接随着时间的推移而发展的方式是为“训练”。
在20世纪80年代中期和90年代初期,许多重要的架构进步都是在神经网络进行的。然而,为了得到好的结果需要大量时间和数据,这阻碍了神经网络的采用,因而人们的兴趣也减少了。在21世纪初,计算能力呈指数级增长,计算技术出现了“寒武纪大爆发”。在这个10年的爆炸式的计算增长中,深度学习成为这个领域的重要的竞争者,赢得了许多重要的机器学习竞赛。直到2017年,这种兴趣也还没有冷却下来;今天,我们看到一说机器学习,就不得不提深度学习。
作者本人也注册了Udacity的“Deep Learning”课程,这门课很好地介绍了深度学习的动机,以及从TensorFlow的复杂和/或大规模的数据集中学习的智能系统的设计。在课程项目中,我使用并开发了用于图像识别的卷积神经网络,用于自然语言处理的嵌入式神经网络,以及使用循环神经网络/长短期记忆的字符级文本生成。
本文中,作者总结了10个强大的深度学习方法,这是AI工程师可以应用于他们的机器学习问题的。首先,下面这张图直观地说明了人工智能、机器学习和深度学习三者之间的关系。
人工智能的领域很广泛,深度学习是机器学习领域的一个子集,机器学习又是人工智能的一个子领域。将深度学习网络与“经典的”前馈式多层网络区分开来的因素如下:
比以前的网络有更多的神经元更复杂的连接层的方法用于训练网络的计算机能力的“寒武纪大爆炸”自动特征提取
这里说的“更多的神经元”时,是指神经元的数量在逐年增加,以表达更复杂的模型。层(layers)也从多层网络中的每一层都完全连接,到在卷积神经网络中层之间连接局部的神经元,再到在循环神经网络中与同一神经元的循环连接(recurrent connections)。
深度学习可以被定义为具有大量参数和层的神经网络,包括以下四种基本网络结构:
无监督预训练网络卷积神经网络循环神经网络递归神经网络
在本文中,主要介绍后三种架构。基本上,卷积神经网络(CNN)是一个标准的神经网络,通过共享的权重在空间中扩展。CNN设计用于通过内部的卷积来识别图像,它可以看到图像中待识别的物体的边缘。循环神经网络(RNN)被设计用于识别序列,例如语音信号或文本。它的内部有循环,这意味着网络上有短的记忆。递归神经网络更像是一个层级网络,在这个网络中,输入必须以一种树的方式进行分层处理。下面的10种方法可以应用于所有这些架构。
1.反向传播
反向传播(Back-prop)是一种计算函数偏导数(或梯度)的方法,具有函数构成的形式(就像神经网络中)。当使用基于梯度的方法(梯度下降只是方法之一)解决优化问题时,你需要在每次迭代中计算函数梯度。
对于神经网络,目标函数具有组合的形式。如何计算梯度呢?有两种常用的方法:(i)解析微分(Analytic differentiation)。你已经知道函数的形式,只需要用链式法则(基本微积分)来计算导数。(ii)利用有限差分进行近似微分。这种方法在计算上很昂贵,因为函数值的数量是O(N),N指代参数的数量。不过,有限差分通常用于在调试时验证back-prop实现。
2.随机梯度下降法
一种直观理解梯度下降的方法是想象一条河流从山顶流下的路径。梯度下降的目标正是河流努力达到的目标——即,到达最底端(山脚)。
现在,如果山的地形是这样的,在到达最终目的地之前,河流不会完全停下来(这是山脚的最低点,那么这就是我们想要的理想情况。)在机器学习中,相当从初始点(山顶)开始,我们找到了解决方案的全局最小(或最佳)解。然而,可能因为地形的性质迫使河流的路径出现几个坑,这可能迫使河流陷入困境。在机器学习术语中,这些坑被称为局部极小值,这是不可取的。有很多方法可以解决这个问题。
因此,梯度下降很容易被困在局部极小值,这取决于地形的性质(用ML的术语来说是函数的性质)。但是,当你有一种特殊的地形时(形状像一个碗,用ML的术语来说,叫做凸函数),算法总是保证能找到最优解。凸函数对ML的优化来说总是好事,取决于函数的初始值,你可能会以不同的路径结束。同样地,取决于河流的速度(即,梯度下降算法的学习速率或步长),你可能以不同的方式到达最终目的地。这两个标准都会影响到你是否陷入坑里(局部极小值)。
3.学习率衰减
根据随机梯度下降的优化过程调整学习率(learning rate)可以提高性能并减少训练时间。有时这被称为学习率退火(learning rate annealing)或自适应学习率(adaptive learning rates)。训练过程中最简单,也是最常用的学习率适应是随着时间的推移而降低学习度。在训练过程开始时使用较大学习率具有进行大的改变的好处,然后降低学习率,使得后续对权重的训练更新更小。这具有早期快速学习好权重,后面进行微调的效果。
两种常用且易于使用的学习率衰减方法如下:
逐步降低学习率。在特定的时间点较大地降低学习率。
4 . Dropout
具有大量参数的深度神经网络是非常强大的机器学习系统。然而,过拟合在这样的网络中是一个严重的问题。大型网络的使用也很缓慢,这使得在测试时将许多不同的大型神经网络的预测结合起来变得困难。Dropout是解决这个问题的一种方法。
Dropout的关键想法是在训练过程中随机地从神经网络中把一些units(以及它们的连接)从神经网络中删除。这样可以防止单元过度适应。在训练过程中,从一个指数级的不同的“稀疏”网络中删除一些样本。在测试时,通过简单地使用一个具有较小权重的单一网络,可以很容易地估计所有这些“变瘦”了的网络的平均预测效果。这显著减少了过拟合,相比其他正则化方法有了很大改进。研究表明,在视觉、语音识别、文档分类和计算生物学等监督学习任务中,神经网络的表现有所提高,在许多基准数据集上获得了state-of-the-art的结果。
5. Max Pooling
最大池化(Max pooling)是一个基于样本的离散化过程。目标是对输入表示(图像,隐藏层输出矩阵等)进行下采样,降低其维度,并允许对包含在分区域中的特征进行假设。
这在一定程度上是为了通过提供一种抽象的表示形式来帮助过拟合。同时,它通过减少学习的参数数量,并为内部表示提供基本的平移不变性(translation invariance),从而减少计算成本。最大池化是通过将一个最大过滤器应用于通常不重叠的初始表示的子区域来完成的。
6.批量归一化
当然,包括深度网络在内的神经网络需要仔细调整权重初始化和学习参数。而批量标准化有助于实现这一点。
权重问题:无论权重的初始化如何,是随机的也好是经验性的选择也罢,都距离学习到的权重很遥远。考虑一个小批量(mini batch),在最初时,在所需的特征激活方面将会有许多异常值。
深度神经网络本身是有缺陷的,初始层中一个微小的扰动,就会导致后面层巨大的变化。在反向传播过程中,这些现象会导致对梯度的分散,这意味着在学习权重以产生所需输出之前,梯度必须补偿异常值,而这将导致需要额外的时间才能收敛。
批量归一化将梯度从分散规范化到正常值,并在小批量范围内向共同目标(通过归一化)流动。
学习率问题:一般来说,学习率保持较低,只有一小部分的梯度校正权重,原因是异常激活的梯度不应影响学习的激活。通过批量归一化,减少异常激活,因此可以使用更高的学习率来加速学习过程。
7.长短时记忆
LSTM网络在以下三个方面与RNN的神经元不同:
能够决定何时让输入进入神经元;能够决定何时记住上一个时间步中计算的内容;能够决定何时让输出传递到下一个时间步长。
LSTM的优点在于它根据当前的输入本身来决定所有这些。所以,你看下面的图表:
当前时间标记处的输入信号x(t)决定所有上述3点。输入门从点1接收决策,遗忘门从点2接收决策,输出门在点3接收决策,单独的输入能够完成所有这三个决定。这受到我们的大脑如何工作的启发,并且可以基于输入来处理突然的上下文/场景切换。
8. Skip-gram
词嵌入模型的目标是为每个词汇项学习一个高维密集表示,其中嵌入向量之间的相似性显示了相应词之间的语义或句法相似性。Skip-gram是学习单词嵌入算法的模型。
Skip-gram模型(以及许多其他的词语嵌入模型)的主要思想是:如果两个词汇项(vocabulary term)共享的上下文相似,那么这两个词汇项就相似。
换句话说,假设你有一个句子,比如“猫是哺乳动物”。如果你用“狗”去替换“猫”,这个句子仍然是一个有意义的句子。因此在这个例子中,“狗”和“猫”可以共享相同的上下文(即“是哺乳动物”)。
基于上述假设,你可以考虑一个上下文窗口(context window,一个包含k个连续项的窗口),然后你跳过其中一个单词,试着去学习一个能够得到除跳过项外所有项的神经网络,并预测跳过的项是什么。如果两个词在一个大语料库中反复共享相似的语境,则这些词的嵌入向量将具有相近的向量。
9.连续词袋(Continuous Bag Of Words)
在自然语言处理问题中,我们希望学习将文档中的每个单词表示为一个数字向量,使得出现在相似的上下文中的单词具有彼此接近的向量。在连续的单词模型中,我们的目标是能够使用围绕特定单词的上下文并预测特定单词。
我们通过在一个庞大的语料库中抽取大量的句子来做到这一点,每当我们看到一个单词时,我们就会提取它周围的单词。然后,我们将上下文单词输入到一个神经网络,并预测位于这个上下文中心的单词。
当我们有成千上万的这样的上下文单词和中心词以后,我们就有了一个神经网络数据集的实例。训练神经网络,最后编码的隐藏层输出表示特定单词的嵌入。而当我们对大量的句子进行训练时也能发现,类似语境中的单词得到的是相似的向量。
10.迁移学习
篇4
关键词:深度学习;网络安全;网络数据;计算机
随着信息化社会的进步,互联网与人们的生活紧密相关,人们可以通过互联网进行购物、社交、学习,为人们的生活带来便利的同时,也促进了社会经济的发展。然而,信息安全问题日益突出,存在数据外泄的风险[1]。网络病毒、数据泄露等问题一直在威胁着人们的信息安全,不仅会影响个人的信息安全,还会威胁国家网络信息安全,因此必须从多方面对互联网信息安全进行防护[2]。在计算机网络安全管理中,需要实时检测网络平台数据的安全状态。深度学习是一种通过模拟人脑对视觉和听觉的反应对图片和音频进行分析的一种模型[3]。基于此,本文构建基于深度学习的网络安全管理模型,利用深度学习模型对网络数据中的不安全因素进行分析。
1网络安全管理模型设计
1.1构建网络平台防护框架
计算机病毒是危害互联网信息安全的重要因素之一,一般隐藏在执行程序、数据和文件中,不容易被人们发现。感染计算机病毒的电脑存在泄露个人信息的风险,而个人信息泄漏也会使其他的信息安全遭到一定程度的威胁,影响了我国的互联网安全。在大数据背景下,针对不同的情况应采用不同等级的防御系统[4]。本文以系统安全性评价为基础,构建网络平台防护框架,如图1所示[5]。网络平台防护框架包括用户信息采集模块、用户信息认证模块、防火墙模块、常用存储模块、备用存储模块、报警模块、数据监控模块、网络数据库模块、中央处理器模块、信息安全监测模块、信息安全分析模块和信息安全处理模块。
1.2网络信息安全检测
黑客攻击手段分为非破坏性攻击和破坏性攻击两类,非破坏性攻击是利用拒绝服务等手段来影响操作系统的正常工作,破坏性攻击则是指通过非法方式进入其他计算机,以窃取重要的操作系统保密信息,从而攻击系统的重要数据[5]。在黑客进行攻击时,最常用的手段就是利用域名随机算法随机生成恶意域名。虽然国内已经开发出相对完善的查杀系统和网络监测体系,但是随着人工智能技术的发展,恶意域名的识别也更加困难[6-8]。因此,需要建立新的域名检测方式,加强对恶意域名的识别,保障网络环境安全。
1.3基于深度学习的恶意域名检测模型
基于深度学习的恶意域名检测模型拥有多层认知机制,可通过训练实现对不同网络数据的识别[9-11]。深度学习基础模型大致包括卷积计算神经网络模型、深度信任网络模型及堆栈式自编码网络模型。在应用模型的过程中,可利用卷积神经网络数据识别的优点,对网络系统中存在的数据风险进行准确分析。卷积神经网络通过卷积层、池化层、全连接层来模拟人视觉神经网络,卷积层能够保留数据特征,并经过池化层进行降维和分析,通过全连接层输出最终结果。该模型的兼容性较强,可先进行预处理后再识别域名数据,能够节省计算时间。卷积神经网络可以实现对数据的识别,并通过模型中的多层神经网来模拟人脑对数据的处理方式。由于基于深度学习的恶意域名检测模型具有较强的自主学习能力,因此能够有效执行异常数据识别等操作,有效实现对恶意域名的检测。基于深度学习的恶意域名检测模型的检测过程如图2所示。输入域名后对域名进行预处理,排除数据中的重复域名和大数据中已有的非法域名,并对正常域名和非法域名进行标记[12]。进入嵌入阶段,将域名中的字符通过特定方式映射为多维向量,然后对向量进行训练[13]。检测域名中是否包含特殊字符,识别特殊字符的恶意程度,因为域名长度不长且没有完整的语法结构,所以利用卷积算法进行计算[14-15]。将数据输入卷积层提取信息后,输送至折叠层构建矩阵,最后进入全连接层进行训练,输出结果。
2实验对比分析
为证实网络安全管理模型的实用性能,采用对比实验的方式进行验证,分别采用本文设计的基于深度学习的网络安全管理模型与传统模型对实验数据进行安全监测。
2.1实验准备
在选取数据时,筛选当天产生的恶意域名,选取可信度高的30万条域名作为实验数据,再选取30万条正常域名将两者混合进行实验,另外再选取6万条恶意域名和6万条正常域名作为测试数据,实验数据划分情况如表1所示。将实验数据分批次进行训练,实验环境配置表如表2所示。
2.2实验数据和分析
在实验过程中,将数据分为5组分别进行实验,得到的实验数据如表3所示。从表3可以看出,基于深度学习的检测模型在检测过程中能够正确识别的数量明显多于传统模型,便于对数据进行进一步处理。
3结语
篇5
根据美国New Scientist杂志报道,Facebook的人工智能团队已经开发出一种识别算法,即使看不清楚人脸,也能根据各种线索,例如发型、服饰、身材和姿势等进行识别―比如Facebook就能轻松地认出它的创始人扎克伯格,因为他总是穿一件灰色T恤。这项技术的准确率据称可以达到83%。
传统的人脸识别是程序员预先将整套鉴别系统写好,告诉计算机一些标签信息,例如,人脸是由哪几个部分组成、各个部分的相对位置等等。随后再用大量照片让计算机学习,对其进行训练―简单地说,就是事先给出标准答案,然后让计算机学习。
这种训练方式叫有监督学习,程序员像是老师一样给出几个标签作为标准答案,让计算机“按标索脸”。但当程序员给出的标签数量不够多,不能全面描述一个事物的时候,计算机的识别准确率就会很低。所以,程序员要做的就是不断增加标签,完善识别模板。
通过有监督学习的方式来训练计算机,效率较低,程序员需要花费大量的时间来编写标签代码、测试计算机和补充标签代码,并且一套完善的鉴别系统只能识别出一种事物。
Facebook是不会花时间给每个人的发型和衣服写一套代码的。高效地识别各类事物,还需要借助于更智能的识别方式。而这种方式是通过基于卷积神经网络的无监督学习完成的。
使用无监督学习来训练计算机的时候,程序员并不需要告诉计算机人脸有哪些特点,只需要提供大量人脸照片让计算机看,计算机就能找到这些图片的共同特点,并自动绘制出这类事物的模板。这省去了编写标签代码的过程,识别的效率极大提高。
Google的“猫脸识别”系统就是这样的工作原理。这个由1000台计算机、1.6万个芯片组成的系统在“学习”了数百万张猫脸图片后,将边界、亮度、形状、色彩和局部形状等多个特征分类,做成标签,绘制模板。
当再看到一张图片后,系统会逐级对其进行识别。比如先判断图像的特定方位、位置边沿的有无,再通过不同的形状来检测局部图案,接下来则是将局部图案与模板中物体的相应部分匹配。后续的层级会把这些局部组合起来从而识别出整体。最后,系统将图片中的猫脸识别出来,并与之前学习过的数百万张猫脸图片归为一类。
这其实和人类的思维以及识别事物的过程十分相似。由于绝大多数图片都是由多种事物组成的,无监督学了自行绘制模板,还会将不同事物进行分类,进而分类绘制模板。
“卷积就是匹配的意思。”微软(亚洲)互联网工程院资深研发总监胡睿对《第一财经周刊》说,“我们有几千个或者几万个模板在一个卷积神经网络里面。如果新来一张图片,就用这些模板去做卷积,再通过神经网络推理出它到底是模板中的哪一类。”
Facebook的新技术使用的也是卷积神经网络。要知道,卷积神经网络技术正是Facebook的人工智能实验室负责人Yann LeCun,在1980年代末开发出的。2003年,他成为纽约大学的教授。而移动互联网的兴起带来的海量数据,为这一技术的进一步发展提供了极大可能。
如今,在互联网巨头公司中,Facebook拥有基于社交网络的大量图片,这一点非常吸引LeCun。2014年,他加入了Facebook,把实验室从学校搬到了公司。
除了丰富的图片资源,Facebook还有一项更大的优势:作为全球最大的社交网站,它能获取照片的拍摄地址、分析用户的社交关系,并在此基础上识别出照片中的人物。也就是说,即使在一些照片中,你的脸不是很清楚,并且其他和你相关的信息也比较缺乏,但是Facebook会根据你以往的消息推断出这张照片是在哪儿拍的,照片中哪个人是你,甚至你旁边那些脸部同样模糊的人都是你哪些朋友。
“Facebook需要解决的问题,并不是从50亿个人中把你挑出来,”胡睿说,“它只需要从几百个或者上千个与你有关系的人中间把你挑出来,这样问题其实极大地简化了。”
Facebook的研究人员表示,这项技术未来可以用于其Moments的照片分享。Moments是不久前Facebook推出的一款私密照片分享应用,主要是用来让好友间的图片交换与分享变得更方便。
不过目前,这项“不看脸识人”的技术还没有被应用在它Facebook的产品中,或许其中一个原因是,它还很难达到传统人脸识别技术的高准确率。Facebook也承认,这个算法并不十分完美。尤其,基于服饰的判断无法做到百分之百准确,毕竟,不是所有人都像扎克伯格那样,每天穿着同样的衣服。
篇6
关键词:图像采集和处理;图像检测;Gabor纹理滤波;神经网络
DoI:10.15938/j.jhust.2016.06.009
中图分类号:TPl83;TP391.4
文献标志码:A
文章编号:1007-2683(2016)06-0044-06
0.引言
钢铁企业为了提高竞争力,对带钢的生产提出了新的要求,也对带钢表面检测系统提出了更高的要求,既要有更高的检测速度还要有更加准确的检测精度,而与此同时,跟随机器视觉技术的发展,带钢表面检测系统也得到了广泛的研究与应用,主要研究包括:①光源技术,由于带钢检测对光源要求频度高、体积小,这限制了传统光源在其应用,激光具有方向性好、亮度高、体积小等优点,被广泛应用于带钢检测应用中,国内的徐科等提出热轧钢检测中用绿光作为激光光源,但激光照明需解决均匀性问题.②扫描技术,由于电荷耦合元件(charge-coupled device,CCD)能够实现实时检测,成为目前研究和应用的主流技术,但是,CCD电荷耦合器需在同步时钟的控制下,以行为单位一位一位地输出信息,速度较慢,而互补金属氧化物半导体(complementary metal oxide semiconductor,CMOS)光电传感器采集光信号的同时就可以取出电信号,还能同时处理各单元的图像信息,速度比CCD电荷耦合器快很多,③图像处理算法,受限于带钢加工过程的特性,带钢表面呈现出随机纹理的特点,对于随机纹理图像的处理分析,目前常用的方法有共生矩阵法、频域滤波法、分形法等,作为频域滤波法的代表,二维Gabor滤波器有着与生物视觉系统相近的特点,广泛应用于纹理图像的处理分析,但是,CPU很难满足现在的带钢检测的实时要求,④分类算法,特征选择的主流算法是主成分分析和信息增益,主成分分析存在特征向量方向不一致的问题,而且如何确定主成分存在主观性,信息增益可以衡量特征的劣,利用它可对特征进行排序,方便后面的特征选择,但信息增益适用于离散特征,信息增益率既适用于离散特征也适用于连续特征,被广泛应用于特征选择的过程中,图像分类算法主流算法包括支持向量机和BP神经网络,支持向量机不适用于大样本的分类问题,BP神经网络方法具有能够解决非线性分类问题,对噪声不敏感等优点,被广泛应用于带钢检测中,如王成明等提出的基于BP神经网络的带钢表面质量检测方法等,但是BP神经网络的超参的设定往往具有随机性,这严重影响了分类效果。
本文首先介绍了带钢表面缺陷高速高分辨率成像系统的设计,针对光源的不均匀性、图像处理速度慢等问题,提出改进方法,然后介绍了分类器的构建,针对样本划分的随机性、特征选择的随机性以及BP神经网络超参设定的随机性问题,做出改进,最后介绍试验结果。
1.带钢表面缺陷高速高分辨率的成像系统的设计
1)大功率半导体均匀发光激光器技术,激光能够保证带钢表面缺陷的检出率,本系统选用808mm半导体激光器作为照明源,出光功率可达30w,亮度可达1500流明,激光照明需解决均匀性的问题,本文采用了基于鲍威尔棱镜的激光线发生办法,解决了激光照明的均匀性问题,其光路如图1所示。
该方法首先在激光聚焦位置放置圆形球面透镜,负责将发散的激光束汇聚成准平行光,同时控制光柱的粗细,然后,利用鲍威尔棱镜的扩散效果对圆柱的一个方向进行扩束,最终形成激光线,为保证亮度及宽度的适应性,激光器出光口距离圆透镜、鲍威尔棱镜的距离可以精密调整,为了降低反射亮度损失,在透镜表面镀上808±5nm的T≥99%的增透膜。
GPU的算法分为两个流程:训练过程主要针对无缺陷图像进行,通过训练完成纹理图像的背景建模,一方面消除背景变化带来的干扰,另一方面形成有效的Gabor卷积参数,以便在检测过程中得到最优的检出效果.检测过程对实际拍摄的缺陷图像进行分析,首先按照GPU的核心数和缓存大小对图像进行分解,本文所有GPU的核心数为1024,显存2G,因此将原始图像分解为1000块,分别加载到1000个核心中,同时并发运行卷积运算.最后将各个窗口的卷积结果合并到一起,得到完成的滤波结果,最后借助于背景模式,将背景的干扰消除,得到干净的缺陷区域。
3)成像系统,根据缺陷检测的精度要求(1800m/min的检测速度,0.25mm的精度),带钢的规格要求(1900 mm规格),对带钢进行成像系统设计,基于互补金属氧化物半导体(CMOS)的成像芯片具有速度快,用电低等优势,选用两个4K线扫描CMOS相机作为成像核心器件,选用Camera Link Full接口作为数据输出,两个4K扫描中间重叠100mm作为图像拼接区,两组线激光光源与线扫描组成系统的主要成像模块,成像系统结构如图3所示。
2.构建分类器
检测缺陷类别及其特征描述如表1所示:
1)训练集和样本集划分.主要缺陷类别有5个,每个类别收集样本7000,共计35000个样本,为了避免训练集和样本集划分的盲目性,采用10一折交叉验证的方式划分训练集和测试集,即将样本集分成10份,从中选1份为测试集,剩下的为训练集,如图4所示,究竟选择哪一份作为测试集,需在后面的嵌套循环中实现。
2)特征选择,缺陷区域的长度、宽度、面积、区域对比度等共计138个特征形成初始特征集合,利用信息增益率来对各个特征排序。
上述各循环组合在一起就是一个嵌套循环,其N-S盒图如图5所示,最外层是测试集和训练集的10折交叉验证,第1层是确定最优的特征数,第3层是确定最优的隐含层节点数,第4、5层是确定最优的输入层和隐含层、隐含层和输出层的初始权值。
经以上循环,确定D3作为测试集,最优特征数为23个,最优的隐含层节点数是46个,同时也确定了最优的初始权值,对应的3层BP神经网络的网络模型如图6所示。
3.实验结果
1)鲍威尔棱镜与柱透镜进行对比在实际工作距离1.5m处,采用0.1m为间隔使用光功率计测试光源功率,如图7所示,横轴为测试点,纵轴为测试点的光功率。实验表明,鲍威尔棱镜均匀性优于柱透镜。
2)Gabor滤波方法与其他方法比较将动态阈值法+Blob分析法(方法A)和灰度共生矩阵纹理背景消除法(方法B)两种方法与Gabor滤波方法进行比较,如图8所示.由于缺陷与背景灰度相近(图(a)),致使方法A缺陷丢失(图(b)),由于缺陷与背景纹理相近(图(d)),致使方法B产生噪声(图(e)),Gabor方法取得了不错的效果(图(e)、(图(f)))。
3)GPU与CPU比较以4096×4096的图像为例,选10幅有代表性图像,利用CPU(最新的inteli7-2600处理器,4核8线程,2.6GHz,内存8G)和GPU(nVidiaGTX970,4G存显卡)进行Ga-bor运算,计算时间如表2所示,GPU计算效率明显优于CPU,其中CPU的平均耗时为290.4ms,而GPU的平均耗时为31.7ms。
4)检测效果在产线速度为1775m/min,最小检测缺陷的尺寸为0.25mm的检测系统中,对带钢的主要4种类型缺陷进行检测统计,检测结果如表3所示。
可计算出整体检出率99.9%,检测准确率99.4%。
篇7
关键词:安全带检测;深度学习;支持向量机;智能交通;特征提取
中图分类号:TP391 文献标识码:A 文章编号:1009-3044(2016)11-0240-03
Abstract:Seat belt detection in intelligent transportation systems is an important research area. A seat belt detection algorithm for complex road backgrounds based on deep learning is proposed. It first extracts features from labeled vehicle, windshield, and seat belt regions, and those features are used to train the detection models by deep learning. Then, it detects the locations of the vehicle, windshield, and seat belt regions, and uses the relative positions among these vehicle components and their detection scores to train a support vector machine classification model. Finally, it performs a fine mapping and identification process using this classification model on the seat belt region. This method performs well when applied to a database of images collected by road surveillance cameras.
Key words: Seat belt detection; deep learning; support vector machine; intelligent transportation; feature extraction
针对驾驶员未系安全带的这种危险驾驶行为,以及为了响应公安部门的需求,目前出现了很多种安全带检测方法。现有的安全带检测方法大多是基于边缘检测[1-2]和Hough变换[3]的方法进行安全带检测。Guo等人[4]提出了安全带检测系统,包括安全带检测和驾驶员区域定位两个模块。该算法利用线性滤波器在HSV颜色空间[5]通过水平方向和垂直方向投影来确定车牌的位置,然后利用边缘检测算子(Sobel[6],Canny[7]等)通过边缘检测得到车窗的上下边缘,再通过几何关系确定驾驶员区域的位置。该方法容易受到车身颜色影响,稳定性较差。
为了解决安全带检测过程中的光照、车型、驾驶员着装等因素对检测结果的影响,本文提出了一种基于卷积神经网络(CNN[8])的安全带检测系统。当采集到图片后,首先粗定位车辆区域,并根据检测算法得到车窗区域粗定位模块,找到图像上若干个车窗候选区域,最后通过安全带检测模型及支持向量机(SVM)分类器[9]处理得到安全带检测结果。
1 基于深度学习的安全带检测
1.1 CNN特征提取算法
深度学习[11-12]是通过大量的简单神经元组成,根据非线性关系将底层特征抽象表示为高层特征。卷积神经网络[13]是一个多层的神经网络,每层由多个二维平面组成,而每个平面包括多个独立神经元。网络中由一些简单元和复杂元组成,分别记为S-元和C-元。
1.2 检测模型的构建
如图1所示,我们构建了由三个CNNs组成的多尺度的特征提取模型。每个CNN模型共有八层,其中有五个卷积层和三个全连接层。对于每一张图片,都会自动的提取三个嵌套的越来越小的矩形窗口的特征,分别为车辆区域、车窗区域以及安全带区域。这三个由CNNs提取的特征送到两个全连接层,第二个全连接层的输出被送到输出层,最后用线性支持向量机分类器对所有子块进行分类。
2 实验结果
2.1 车辆及车窗检测
本实验训练集包括戴安全带和未戴安全带各2000张的车辆图像,测试集包括戴安全带和未戴安全带各100张的图像。本文共完成车辆检测、车窗检测和安全带检测三个实验。其中,对于车辆和车窗检测部分,使用检测率(CIR)和漏检率(MIR)来作为系统的评价指标,计算方式如下式所示:
对于车辆检测实验,选取6000车辆图片用于训练模型。然后选取2000张车辆图片作为测试图片,并随机分成10份。检测结果示例如图2(a)。平均检测率为93.3%,平均漏检率为6.7%。同时,对比了基于Adaboost算法[10]的车辆检测模型,检测结果示例如图2(b),平均检测率为90.6%,平均漏检率为9.4%。
由此可以看出,本文算法在相同的数据库上比Adaboost算法表现更好,具有更低的漏检率和误检率。并且车辆检测结果更适合用于后面的车窗检测实验。
车窗检测实验的示例如图3所示。选取6000张车窗正面车窗图片用于训练模型,选取2000张图片作为测试集,并随机分成10份。平均检测率为93.6%,平均漏检率为9.4%。
2.2 安全带检测
对于安全带检测部分,使用检测率(CIR)、虚警率(WIR)和漏检率(MIR)作为安全带检测系统的评价指标,计算方式如下式所示:
选取戴安全带和未戴安全带图片各2000张图片用于训练模型。选取2000安全带区域图片作为测试图片,并随机分成10份,每份包含戴安全带图片和未戴安全带图片各100张。通过基于深度学习的安全带检测算法,检测结果示例如图4所示,平均检测率为92.1%,平均虚警率为6.4%,平均漏检率为2.5%。
3 结论
安全带检测是智能交通系统中的一个重要研究课题。本文提出了一个高效的进行安全带检测的系统,对于检测部分,我们采用深度神经网络的特征提取方法,该特征更加适用于训练检测模型。同时,我们结合SVM的后处理,提高了安全带检测系统的鲁棒性,并且很大程度上减低了虚警率和漏检率。
参考文献:
[1] Ha D M, Lee J M, Kim, Y D. Neural-edge-based vehicle detection and traffic parameter extraction [J]. Image and vision computing, 2004, 22(11): 899-907.
[2] Song G Y, Lee K Y, Lee J W. Vehicle detection by edge-based candidate generation and appearance-based classification [C]//Intelligent Vehicles Symposium, IEEE, 2008: 428-433.
[3] Ballard D H. Generalizing the Hough transform to detect arbitrary shapes [J]. Pattern recognition, 1981, 13(2): 111-122.
[4] Guo H, Lin H, Zhang S. Image-based seat belt detection [C]//2011 IEEE International Conference on Vehicular Electronics and Safety (ICVES). IEEE, 2011: 161-164.
[5] 王运琼, 游志胜. 基于色差均值的快速车窗定位算法[J]. 计算机应用与软件, 2004, 21(1): 78-79.
[6] 张建军, 罗静. 基于改进Sobel算子的表面裂纹边缘检测算法[J]. 合肥工业大学学报(自然科学版), 2011年06期.
[7] Ali M, Clausi D. Using the Canny edge detector for feature extraction and enhancement of remote sensing images [C]//IEEE 2001 International Geoscience and Remote Sensing Symposium. 2001:2298-2300.
[8] Li Guanbin, Yu Yizhou. Visual Saliency Based on Multiscale Deep Features [C]//2015 IEEE Conference on Computer Vision and Pattern Recognition (CVPR). IEEE, 2015: 5455-5463.
[9] 骆玉荣. 安全带识别系统的研究与实现[D]. 北京:北京工业大学, 2008.
[10] 吴法. 图像处理与机器学习在未系安全带驾车检测中的应用[D]. 杭州:浙江大学, 2013.
[11] A. Krizhevsky, I. Sutskever, G. E. Hinton. Imagenet classification with deep convolutional neural networks [C]//Advances in neural information processing systems, 2012:1097-1105.
篇8
关键词:车牌;识别;专利;分析
引言
车牌识别技术[1-2]是指自动提取受监控区域车辆的车牌信息并进行处理的技术,其通过运用图像处理、计算机视觉、模式识别等技术,对摄像头捕获的车辆照片或视频进行分析,进而自动识别车辆的车牌号码。车牌识别技术可应用于停车场自动收费管理、道路监控等领域,在城市交通管理中发挥了重要作用。
1 中国专利申请情况分析
以CNABS专利数据库中的检索结果为分析样本,介绍车牌识别技术的中国专利申请量趋势以及重要申请人的状况。
1.1 第一阶段(2005年及之前)
在这阶段,申请量极少且申请人也极少,且针对的环境较为简单,处于技术的萌芽阶段,其中,专利CN1529276,通过车牌定位、字符分割和分类识别完成机动车牌号自动识别,其实现过程较为简单,具体细节描述较少。
1.2 第二阶段(2006年-2010年)
在这阶段的申请量比上一阶段有所增加,而且申请人数量相较之前也有增长,其中来自高校的申请量明显增加,反映出了高校研究者开始更加注重对研究成果的保护,这一阶段的专利所针对的环境场景更为复杂,识别准确率得到提高,对车牌定位、字符分割、字符识别等关键技术的研究更为深入。
1.3 第三阶段(2011年及以后)
在2011年之后车牌识别技术的专利申请量呈现快速增长,这一阶段车牌识别技术得到了更进一步的丰富,涉及的关键技术的解决途径也呈现出多样性,检测效率和精度也得到进一步提高,其中,专利CN104035954A,涉及一种基于Hadoop的套牌车识别方法,将云计算应用于车牌识别,使得与传统环境下不经过优化的方法相比具有^高的运行效率和加速比,可以有效地识别套牌车。
图2示出了中国重要申请人分布情况,申请量分布前十的申请人包括:电子科技大学、深圳市捷顺科技实业股份有限公司(捷顺科技)、浙江宇视科技有限公司(宇视科技)、信帧电子技术(北京)有限公司(信帧电子)、中国科学院自动化研究所(自动化研究所)、安徽清新互联信息科技有限公司(清新互联)、青岛海信网络科技股份有限公司(海信网络)、浙江工业大学、四川川大智胜软件股份有限公司(川大智胜)、上海高德威智能交通系统有限公司(高德威智能交通),从图2中可以看出,不同申请人的申请量差距不是很大,几乎保持在一个比较持平的状态。
电子科技大学在车牌识别技术的专利申请中,CN 101064011A提出一种基于小波变换的复杂背景中的车牌提取方法,可大大提高对晴天、雨天、雾天、白天及夜晚等环境的通用性和适用性,实现车牌的精确定位并提高车牌提取的准确度;CN 103455815A提出一种复杂场景下的自适应车牌字符分割方法,能快速、准确地搜索2、3字符间隔位置,实现自适应调整分割参数,使车牌字符分割稳定可靠,在复杂的环境中鲁棒性强,防止噪声干扰;CN 105005757A提出一种基于Grassmann流行的车牌字符识别方法,最大限度地利用了已获得的车牌字符信息以及同类字符之间的相互关系,对于车牌字符的成像质量要求更低,应用于复杂的环境中具有很好的鲁棒性和准确性。
2 关键技术分析
一个完整的车牌定位与识别系统,其前端包括图像采集和传输系统,末端还需要与数据库相连接。从定位到识别的核心算法上,主要包括图像预处理、车牌定位、字符分割和字符识别四大部分[3]。
图像预处理,是指通过对摄像头捕获的彩色图像进行预处理。常用的预处理方法包括图像灰度化、图像二值化、边缘检测等。
车牌定位,是指在经预处理后的车辆图像中,定位出车辆的车牌所在位置。常用的车牌定位方法包括基于纹理分析的方法、基于数学形态学的方法、基于边缘检测的方法、基于小波变换的方法和基于神经网络的方法等。CN 104298976A提出一种基于卷积神经网络的车牌检测方法,利用卷积神经网络完整车牌识别模型对车牌粗选区域进行筛选,获取车牌最终候选区域。
字符分割,是指将定位出的车牌区域图像分割成单个的字符图像。常用的字符分割方法包括基于轮廓的方法、基于投影的方法、基于模板匹配的方法和基于连通区域的方法等。CN 104408454A提出一种基于弹性模板匹配算法的车牌字符分割方法,基于弹性模板,通过插空进行模板序列形状的弹性调整,将车牌图片与理想模板进行匹配,获得全局最优匹配,确定字符位置,将分割算法作用于投影序列,实现对车牌字符的分割。
字符识别,是指对字符分割之后的单个字符图像进行识别,进而得到车辆的车牌号码。常用的车牌字符识别方法包括基于字符结构特征的识别方法、基于模板匹配的识别方法、基于神经网络的识别方法、基于模糊理论的模式识别方法和基于支持向量机分类识别方法等。CN 105975968A提出一种基于Caffe框架的深度学习车牌字符识别方法,以基于Caffe架构的深度学习为基础,解决了现有的车牌字符识别方法中对倾斜、断裂、相近字符识别精度不高的问题,大大提高了对于车牌字符的识别精度。
3 结束语
本文以车牌识别相关专利文献为样本,分析统计了该技术中国专利申请现状,并对车牌识别技术的关键技术进行简单分析。在经历了从无到有、从萌芽到飞速发展的阶段之后,车牌识别技术慢慢走向成熟,越来越多的企业和高校在车牌识别的研究上投入了大量的精力,也获得了丰硕的研究成果。
参考文献
[1]尹旭.汽车牌照定位研究综述[J].电脑知识与技术,2010,6(14):3729-3730.
篇9
全球关注的人机世纪之战
人们总是对未知领域充满了好奇与敬畏,从计算机诞生之日起,各种有关人工智能的猜想便从终止过。人们一方面希望人工智能能够超越人类智慧,一方面又害怕被科技超越,矛盾的心态下,每一次以智慧为焦点的人机对战都会成为市场关注的焦点。
2016年3月9日至15日,被称为“世纪人机大战”的韩国棋手李世石VS谷歌围棋机器人AlphaGo的比赛最终以AlphaGo赢得四局落下帷幕,虽然本身关注和懂得围棋的人并不多,但这场人机世纪大战却通过各种渠道让全球亿万计的人们知道了―人类智慧被人工智能打败了!回顾以往的人机大战,人类并非永恒的胜者,美国IBM公司的“深蓝”超级计算机以2胜1负3平战胜了当时世界排名第一的国际象棋大师卡斯帕罗夫,但绝大多数人却不以为意,除十分接近的胜败结果外,深蓝主要是依靠运算能力穷举所有路数来选择最佳策略,它当时可以实现每秒两亿步的运算。很多人觉得卡斯帕罗夫的落败与体力有关,深蓝的策略多少有些“无赖”。
但AlphaGo却在“深蓝”获胜十九年后的今天,拥有自主深度学习进化的AlphaGo以难以让人争议的过程和结果,在围棋这一人类智慧竞技的高地上战胜了韩国棋手李世石。
能够深层学习的AlphaGo
“深蓝”之所以能够有超人的绝佳表现,几乎纯粹是靠运算能力。依靠存储的数百万个国际象棋案例,能在众多可能性中进行筛选,从而确定下一步棋的最佳位置。这给人感觉在用体力玩智慧游戏了,但AlphaGo却给人们展示了一个几乎完全靠自学,并通过观察成功与失败案例来掌握得胜技巧的系统。谷歌利用大数据与深度学习的技术优势为AlphaGo构建了一套策略网络,机器通过深度学习能力,模拟人脑的机制来学习、判断、决策。即AlphaGo可以从大量的棋谱和对局中学习策略,形成一套落子决策判断与数据解读的能力体系,让其在冲杀状态下懂得一套试探与引导的能力,最终成功击败人类棋手李世石。
人类是惟一能够将直觉(隐式的)和符号(显式的)知识结合起来的物种,人类具有这样的双重能力,将前者转换成后者,然后通过后者的反馈反过来改善前者,这在以往是人类拥有的特殊性和唯一性。但今天,AlphaGo无缝使用了分层的网络(即深度卷积神经网络)进行直觉学习,强化,评估和策略,配以强悍的计算能力,它完全不需要解决任何语义复杂性并且可从容地从现实考虑中分离,人的思维模式加上科技的理性结合,这让AlphaGo能够在对局结束前30分钟就向Google技术分析团队报告自己确信必胜。
下一步是理解
没有人性弱点的AlphaGo让我们看到了人工智能神经网络的前景在于它在不断缩小机器和人类之间的差距,而且随着技术开发者的跟进,人工智能将会对理解人类语言,揣摩人类情感。
理解人类,这对于巨头们的想象空间在于,基于用户需求的商业决策会因此更加精准。人机对战让我们看到,推理、判断、分析问题等功能处理之外,识别人的情感与情绪与对人的语言理解力将是未来发展的高地。
围棋大战,只能体现出,在封闭规则的计算领域,机器比人类聪明得多,因为我们的心算能力本身与计算器相差甚远;但是思维、对话、情感等都是不确定的。而前面说到,机器没有情绪,只有它懂得了人类的语言,逐渐了解人类表达的意思甚至是情绪,才意味着人工智能达到了更高的领地。AlphaGo及其背后的AI领域真的能实现,而这一切都是建立在搜索的原理与算法的未来改进上。
小知识:它不是一条狗
阿尔法围棋(AlphaGo)是一款围棋人工智能程序,由位于英国伦敦的谷歌(Google)旗下DeepMind公司的戴维 西尔弗、艾佳 黄和戴密斯 哈萨比斯与他们的团队开发,这个程序利用“价值网络”去计算局面,用“策略网络”去选择下子。2015年10月阿尔法围棋以5:0完胜欧洲围棋冠军、职业二段选手樊麾;2016年3月对战世界围棋冠军、职业九段选手李世石,并以4:1的总比分获胜。
四位一体的AlphaGo系统
归根到底,AlphaGo系统目前还是一件科技产物,其本身由走棋网络、快速走子、估值网络和蒙特卡罗树搜索四个部分组成,正是这四个部分的协同与融合,让AlphaGo拥有能够学习的智慧,最终战胜李世石。走棋网络(Policy Network),给定当前局面,预测/采样下一步的走棋。快速走子(Fast rollout),目标和1一样,但在适当牺牲走棋质量的条件下,速度要比1快1000倍。 估值网络(Value Network),给定当前局面,估计是白胜还是黑胜。蒙特卡罗树搜索(Monte Carlo Tree Search,MCTS),把以上这三个部分连起来,形成一个完整的系统。
让电脑拥有棋感的走棋网络
走棋网络把当前局面作为输入,预测/采样下一步的走棋。它的预测不只给出最强的一手,而是对棋盘上所有可能的下一着给一个分数。棋盘上有361个点,它就给出361个数,好招的分数比坏招要高。以往的科技只是单纯基于规则或者基于局部形状,利用简单的线性分类器训练完成走子,整个过程是不可能形成类似人类围棋选手的棋感。
AlphaGo去利用更高效的、宽度为192的网络(正常棋盘上有361个点,电脑给出361个数,好招的分数比坏招要高。),下出有最高置信度的落子。这样的做法一点也没有做搜索,但是大局观非常强,不会陷入局部战斗中,说它建模了“棋感”一点也没有错。但是走棋网络会不顾大小无谓争劫,会无谓脱先,不顾局部死活,对杀出错等等,更多像是高手凭借“自觉”在下棋,因而需要加入搜索功能,让电脑做出有价值的判断。
追求效率的快速走子
作为人类智慧竞技的高地,围棋用用天文数字般的局面数,走棋网络能让AlphaGo达到3毫秒的下子速度,但想要进一步提高AlphaGo的“反应”及“思考”能力,就需要快速走子系统的帮助了。
利用传统的局部特征匹配(local pattern matching)加线性回归(logisticregression)的方法,AlphaGo在吸纳了众多高手对局之后就具备了用梯度下降法自动调参的能力,从而实现了2微秒的走子速度和24.2%的走子准确率。24.2%的意思是说它的最好预测和围棋高手的下子有0.242的概率是重合的,相比之下,走棋网络在GPU上用2毫秒能达到57%的准确率。在AlphaGo有了快速走子之后,不需要走棋网络和估值网络,不借助任何深度学习和GPU的帮助,不使用增强学习,在单机上就已经达到非常高的水平了。
锦上添花的估值网络
估值网络对盘面的评估应用上同快速走子有些重叠,都是通过模拟落子得分评估当前及后面布局的优劣,但通过估值网络和快速走子的互补,在复杂的死活或对杀时,也就是进行到中盘阶段的时候,估值网络的重要性就会得到提升。前面提到AlphaGo能够提前30分钟知道自己必胜,估值网络就起到了很大的作用。
尽量选择更好的蒙特卡罗树搜索
“蒙特卡洛树搜索”是一种启发式的搜索策略,能够基于对搜索空间的随机抽样来扩大搜索树,从而分析围棋这类游戏中每一步棋应该怎么走才能够创造最好机会。
一位名叫苏椰的知乎用户举了这样一个例子,以通俗的语言进行了解释:假如筐里有100个苹果,让我每次闭眼拿1个,挑出最大的。于是我随机拿1个,再随机拿1个跟它比,留下大的,再随机拿1个……我每拿一次,留下的苹果都至少不比上次的小。拿的次数越多,挑出的苹果就越大,但我除非拿100次,否则无法肯定挑出了最大的。这个挑苹果的算法,就属于蒙特卡罗算法:尽量找好的,但不保证是最好的。
拥有两个大脑的AlphaGo
AlphaGo是通过两个不同神经网络“大脑”合作来改进下棋。这些大脑是多层神经网络跟那些Google图片搜索引擎识别图片在结构上是相似的。它们从多层启发式二维过滤器开始,去处理围棋棋盘的定位,就像图片分类器网络处理图片一样。经过过滤,13个完全连接的神经网络层产生对它们看到的局面判断。这些层能够做分类和逻辑推理。
AlphaGo的第一个神经网络大脑科学全称应该是“监督学习的策略网络(Policy Network)”,观察棋盘布局企图找到最佳的下一步。团队通过在KGS(网络围棋对战平台)上最强人类对手,百万级的对弈落子去训练大脑。这就是AlphaGo最像人的地方,目标是去学习那些顶尖高手的妙手。这个不是为了去下赢,而是去找一个跟人类高手同样的下一步落子。AlphaGo这个大脑的出色之处在于不单要模仿学习,更要追求速度,不断模拟计算围棋局面变化,最终选择正确率最高的落子。
价值评估则可看做AlphaGo的第二个大脑,通过整体局面判断来辅助落子选择器。AlphaGo能够决定是否通过特殊变种去深入阅局面和落子,如果局面评估器说这个特殊变种不行,那么AI就跳过阅读在这一条线上的任何更多落子。
深度神经网络的运用
人类在下围棋时,通常会经历常识-棋感-计算-判断四个过程,AlphaGo的常识源于其“监督学习的策略网络(Policy Network)”带来的深层学习能力,而棋感和计算则需要深度神经网络同蒙特卡洛算法的融合,两者的融合让AlphaGo整个运作方式更接近人类。通过对比使用蛮力计算的“深蓝”眼中的国际象棋落子思路和AlphaGo眼中的围棋落子思路会发现,围棋的复杂度需要更“聪明”的AI才能完成了。
两个大脑加上深度神经网络,AlphaGo以Value networks来评估大量的选点,而以Policy networks来选择落子,并且开发了一种新式算法来结合蒙特卡洛算法和以上两个神经网络。在这种结合下,研究者们结合参考人类职业对局的监督式学习,和AI大量积累自对弈实现的深度学习,来训练和提高AI的围棋实力。
AI的进步与期望
围棋代表了很多人工智能所面临的困难:具有挑战性的决策制定任务、难以破解的查找空间问题和优化解决方案如此复杂以至于用一个策略或价值函数几乎无法直接得出。通过将策略和价值网络与树搜索结合起来,AlphaGo终于达到了专业围棋水准,让我们看到了希望:在其他看起来无法完成的领域中,AI也可以达到人类级别的表现。
当然,这一切都是建立在人类千年来在围棋领域积累上的,没有积累就不会围棋AI的今天。AlphaGo让世人看到了AI领域的巨大进步,但想要真正理解人类和语言,其还有一段很长的路要走。相比围棋,人类在生活上的行为习惯,需要AlphaGo们拥有更出色的学习能力以及判断能力,无论是存储容量还是搜索算法,都需要几何倍数的递增,从这个角度看,现在担心AlphaGo们拥有自己的意识或情感,都太早了一些。
渗透进入人们生后的AI
AlphaGo不是DeepMind惟一项目,也不是最大的项目。DeepMind的最终目标是智能助手、医疗和机器人。另外,尽管AlphaGo只是针对围棋开发的系统,但其原理可以被应用到现实问题中。以医疗为例,IBM已经依靠认知学习平台“Watson”进入了医疗领域,Watson在泰国和印度的两家医院协助医生诊断乳腺癌、肺癌和结肠直肠癌。尽管Watson自身不会诊断疾病,但它能够找到医生应该进一步认真检查的地方,并提出治疗方案。
而无人驾驶汽车其实也可以看做具备了身躯的AI,家喻户晓的特斯拉汽车便使用了基于深度学习的现有计算机视觉技术。当然,工业或者服务用机器人都是AI渗透进入人们生活的表现。AI公司们正在努力晚上其产品,争取能够无缝进入人们生活的各个领域,当AI设备在可靠性、适应性和灵活性等方面都有长足进步时,人们未来的生活也将变得更美好。
谷歌改变人类的野心
AlphaGo很强大很厉害,但对于近年来谷歌的谋划而言,AlphaGo无非是其在人工智能领域的小玩具而已。改组Alphabet的谷歌,疯狂地在全球收购各个尖端前沿领域的顶尖公司,把触角伸到了生命科学、人工智能、无人驾驶、虚拟现实等等许多的领域。AlphaGo背后的英国Deepmind公司,只是他们收购的许许多多家公司中的一个而已。
除了传统Youtube、Gmail和地图等等互联网业务,生命科学、人工智能、无人驾驶、虚拟现实等新领域其实谷歌并没有赚到什么钱,更多是对未来的投资和布局,但今天,AlphaGo的表现已经让我们看到了谷歌的投入回报,再加上众多具有颠覆性或者划时代意义的谷歌黑科技,让我们清楚看到了谷歌改变人类未来的野心。相比之下,国内BAT三大巨头在技术积淀和领域格局方面,就显得有些小气了。
人工智能的竞赛
在2010年到2015年期间,企业对人工智能创业公司的投资增长了15倍。BBC预测,人工智能市场将继续保持高速增长,2020年全球市场规模将达到183亿美元,约合人民币1190亿元。庞大的数据和潜力,足以让企业们疯狂。
在硅谷,截至2015年初就有超过1700家创业公司加入人工智能浪潮―这一数字过去1年还在不断增加之中。谷歌、Facebook、亚马逊等科技巨头们的巨大投入都推动AI整个领域取得巨大进步。图像识别、语音识别已经成为苹果、微软、Google、IBM等科技大公司激烈竞争的焦点,而在医疗识别、模拟大脑图像等细分领域中,也涌现出不少初创的科技企业。可以说,一场席卷全球的AI竞赛正在展开,谁能让科技变得更聪明,谁就有望在未来的竞争中占据有利位置。
篇10
关键词:AlphaGo;人工智能;围棋;未来展望
中图分类号:TP18 文献标识码:A 文章编号:1671-2064(2017)07-0193-02
1 围棋与人工智能
围棋作为中国传统四大艺术之一,拥有着几千年的悠久历史。围棋棋盘由19条横线和19条竖线组成,共有19*19=361个交叉点,围棋子分为黑白两种颜色,对弈双方各执一色,轮流将一枚棋子下在纵横交叉点上,终局时,棋子围上交叉点数目最多的一方获胜。围棋棋盘上每一个纵横交叉点都有三种可能性:落黑子、落白子、留空,所以围棋拥有高达3^361种局面;围棋的每个回合有250种可能,一盘棋可长达150回合,所以围棋的计算复杂度为250^150,约为10^170,然而全宇宙可观测的原子数量只有10^80,这足以体现围棋博弈的复杂性和多变性。
人工智能(Artificial Intelligence,AI)主要研究人类思维、行动中那些尚未算法化的功能行为,使机器像人的大脑一样思考、行动。长期以来,围棋作为一种智力博弈游戏,以其变化莫测的博弈局面,高度体现了人类的智慧,为人工智能研究提供了一个很好的测试平台,围棋人工智能也是人工智能领域的一个重要挑战。
传统的计算机下棋程序的基本原理,是通过有限步数的搜索树,即采用数学和逻辑推理方法,把每一种可能的路径都走一遍,从中选举出最优路径,使得棋局胜算最大。这种下棋思路是充分发挥计算机运算速度快、运算量大等优势的“暴力搜索法”,是人类在对弈规定的时间限制内无法做到的。但是由于围棋局面数量太大,这样的运算量对于计算机来讲也是相当之大,目前的计算机硬件无法在对弈规定的时间内,使用计算机占绝对优势的“暴力搜索法”完成围棋所有局面的择优,所以这样的下棋思路不适用于围棋对弈。
搜索量巨大的问题一直困扰着围棋人工智能,使其发展停滞不前,直到2006年, 蒙特卡罗树搜索的应用出现,才使得围棋人工智能进入了崭新的阶段,现代围棋人工智能的主要算法是基于蒙特卡洛树的优化搜索。
2 围棋人工智能基本原理
目前围棋人工智能最杰出的代表,是由谷歌旗下人工智能公司DeepMind创造的AlphaGo围棋人工智能系统。它在与人类顶级围棋棋手的对弈中充分发挥了其搜索和计算的优势,几乎在围棋界立于不败之地。
AlphaGo系统的基本原理是将深度强化学习方法与蒙特卡洛树搜索结合,使用有监督学习策略网络和价值网络,极大减少了搜索空间,即在搜索过程中的计算量,提高了对棋局估计的准确度。
2.1 深度强化学习方法
深度学习源于人工神经网络的研究,人类大量的视觉听觉信号的感知处理都是下意识的,是基于大脑皮层神经网络的学习方法,通过模拟大脑皮层推断分析数据的复杂层状网络结构,使用包含复杂结构或由多重非线性变换构成的多个处理层对数据进行高层抽象,其过程类似于人们识别物体标注图片。现如今,应用最广泛的深度学习模型包括:卷积神经网络、深度置信网络、堆栈自编码网络和递归神经网络等。
强化学习源于动物学习、参数扰动自适应控制等理论,通过模拟生物对环境以试错的方式进行交互达到对环境的最优适应的方式,通过不断地反复试验,将变化无常的动态情况与对应动作相匹配。强化学习系统设置状态、动作、状态转移概率和奖赏四个部分,在当前状态下根据策略选择动作,执行该过程并以当前转移概率转移到下一状态,同时接收环境反馈回来的奖赏,最终通过调整策略来最大化累积奖赏。
深度学习具有较强的感知能力,但缺乏一定的决策能力;强化学习具有决策能力,同样对感知问题无能为力。深度强化学习方法是将具有感知能力的深度学习和具有决策能力的强化学习结合起来,优势互补,用深度学习进行感知,从环境中获取目标观测信息,提供当前环境下的状态信息;然后用强化学习进行决策,将当前状态映射到相应动作,基于初期汇报评判动作价值。
深度强化学习为复杂系统的感知决策问题提供了一种全新的解决思路。
2.2 蒙特卡洛树搜索
蒙特卡洛树搜索是将蒙特卡洛方法与树搜索相结合形成的一种搜索方法。所谓蒙特卡洛方法是一种以概率统计理论为指导的强化学习方法,它通常解决某些随机事件出现的概率问题,或者是某随机变量的期望值等数字特征问题。通过与环境的交互,从所采集的样本中学习,获得关于决策过程的状态、动作和奖赏的大量数据,最后计算出累积奖赏的平均值。
蒙特卡洛树搜索算法是一种用于解决完美信息博弈(perfect information games,没有任何信息被隐藏的游戏)的方法,主要包含选择(Selection)、扩展(Expansion)、模拟(Simulation)和反向传播(Backpropagation)四个步骤。
2.3 策略网络与价值网络
AlphaGo系统拥有基于蒙特卡洛树搜索方法的策略网络(Policy Network)和价值网络(Value Network)两个不同的神经网络大脑,充分借鉴人类棋手的下棋模式,用策略网络来模拟人类的“棋感”,用价值网络来模拟人类对棋盘盘面的综合评估。
AlphaGo系统主要采用有监督学习策略网络,通过观察棋盘布局,进行棋路搜索,得到下一步合法落子行动的概率分布,从中找到最优的一步落子位置,做落子选择。DeepMind团队使用棋圣堂围棋服务器上3000万个专业棋手对弈棋谱的落子数据,来预测棋手的落子情况。期间,系统进行上百万次的对弈尝试,进行强化学习,将每一个棋局进行到底,不断积累“经验”,学会赢面最大的棋路走法,最终达到顶级围棋棋手的落子分析能力。而AlphaGo的价值网络使用百万次对弈中产生的棋谱,根据最终的胜负结果来进行价值网络训练,预测每一次落子选择后赢棋的可能性,通过整体局面的判断来帮助策略网络完成落子选择。
3 围棋人工智能意义
经过比赛测试证明,AlphaGo系统的围棋对弈能力已经达到世界顶级棋手水平。一直以来,围棋因为复杂的落子选择和巨大的搜索空间使得围棋人工智能在人工智能领域成为一个具有代表性的难度挑战。目前的硬件水平面对如此巨大的搜索空间显得束手无策,AlphaGo系统基于有监督学习的策略网络和价值网络大大减少搜索空间,在训练中开创性地使用深度强化学习,然后结合蒙特卡洛树搜索方法,使得系统自学习能力大大提高,并且AlphaGo系统在与人类顶级棋手对弈中取得的连胜卓越成绩,槠湓谌斯ぶ悄芰煊虻於了坚实的里程碑地位。
虽然围棋人工智能取得了如此优秀的成绩,但是也仅仅是它在既定规则内的计算处理能力远远超过了人类的现有水平,并且还有有待提高和完善的地方。在人类的其他能力中,例如情感、思维、沟通等等领域,目前的人工智能水平是远远达不到的。但是随着科技的进步和人类在人工智能领域的研究深入,人工智能与人类的差距会逐渐减小,像围棋人机大战人工智能连胜人类这样的例子也可能在其他领域发生,这就意味着人工智能的发展前景十分可观。
4 结语
人类和人工智能共同探索围棋世界的大幕即将拉开,让人类棋手结合人工智能,迈进全新人机共同学习交流的领域,进行一次新的围棋革命,探索围棋真理更高的境界。
参考文献
- 上一篇:科学的基础知识
- 下一篇:垃圾分类基本情况汇报