前言:想要写出一篇令人眼前一亮的文章吗?我们特意为您整理了5篇卷积神经网络过程范文,相信会为您的写作带来帮助,发现更多的写作思路和灵感。
关键词关键词:人脸识别;卷积神经网络;图像识别;深度学习;模式识别
DOIDOI:10.11907/rjdk.171043
中图分类号:TP317.4
文献标识码:A文章编号文章编号:16727800(2017)005018603
0引言
人脸识别是近年来模式识别、图像处理、机器视觉、神经网络及认知科学领域的研究热点[12]。所谓人脸识别,是指给定一个静态人脸图像或动态视频,利用存储有若干已知身份的人脸数据库验证单个或多个人的身份[1]。作为生物特征识别的一个重要方面,人脸识别有着广泛的应用场景,如:档案管理系统、公安系统的犯罪身份识别、银行和海关的监控、安全验证系统、信用卡验证等领域。在人脸识别巨大魅力的影响下,国内互联网公司也开始了人脸识别应用的探索,如百度推出的人脸考勤系统、阿里支付宝的刷脸登录等功能都是人脸识别的具体应用。目前,人脸识别的代表性方法主要有以下几种:Turk和Pentland[3]提出的特征脸(Eigenface)方法;基于线性区别分析,Belhumeur 等[4]提出了Fisherface方法;基于统计理论,剑桥大学的 Samaria和Fallside[5]提出了隐马尔科夫模型[5](HMM),Lawrence 等[6]提出的通过多级自组织映射神经网络(SOM)[6]与卷积神经网络相结合进行人脸识别。上述方法虽然获得了良好的识别正确率,但需要人工参与特征提取,然后将提取的特征送入分类器进行识别,过程较为复杂。
卷积神经网络[79]是近年发展起来,并引起广泛重视的一种高效深度学习识别算法,其已成为当前语音分析和图像处理领域的研究热点。相比传统的神经网络而言,卷积神经网络具有权值共享、局部感知的优点。局部感知的网络结构使其更接近于生物神经网络,权值共享大大减少了模型学习参数的个数,同时降低了神经网络结构的复杂性。在图像处理领域,卷积神经网络的优点体现得更为突出,多维的图像数据可以直接作为网络的输入,特征提取和分类均集成在网络中,避免了传统识别算法中复杂的特征提取和训练分类器过程。除此之外,卷积神经网络对图像中的位移、比例缩放、旋转、倾斜或其它形式的变形具有很好的鲁棒性。为了解决传统人脸识别算法特征提取和训练分类器困难的问题,本文借鉴Lenet-5[10]的结构,设计一个适合ORL数据集人脸识别任务的卷积神经网络结构。
1卷积神经网络
1.1用于ORL人脸识别的CNN
本文提出的7层卷积神经网络模型由输入层、2个卷积层、2个降采样层、一个全连接层和一个Sigmoid输出层组成。卷积核的大小均为5×5,降采样层Pooling区域的大小为2×2,采用Average Pooling(相邻小区域之间无重叠),激活函数均采用Sigmoid函数。每一个卷积层或降采样层由多个特征图组成,每个特征图有多个神经元,上层的输出作为下一层的输入。此外,本文实验学习率的取值为常数1.5,该卷积神经网络结构如图1所示。
1.2卷积层
卷积神经网络中的卷积层一般称C层[11](特征提取层)。卷积层的输入来源于输入层或者采样层。卷积层中的每一个特征图都对应一个大小相同的卷积核,卷积层的每一个特征图是不同的卷积核在前一层输入的特征图上作卷积,然后将对应元素累加后加一个偏置,最后通过激活函数得到。假设第l层榫砘层,则该层中第j个特征图的计算表达式如式(1)。
xlj=f(∑i∈Mjxl-1iklij+blj)(1)
这里的Mj表示选择的上一层输出特征图的集合。
1.3降采样层
降采样层是对上一层的特征图进行下采样处理,处理方式是在每一个特征图内部的相邻小区域进行聚合统计。常见的下采样方式有两种:Average Pooling和Max Pooling。其中,Average Pooling是取小区域内像素的平均值,而Max Pooling是取小区域内像素的最大值。降采样层只是对输入的特征图进行降维处理,不改变特征图的个数。假设down表示下采样操作,βlj表示乘性偏置,blj表示加性偏置,则降采样层中某个特征图的计算表达式如下:
xlj=f(βljdown(xl-1j)+blj)(2)
1.4输出层
卷积神经网络的输出层一般为分类器层,常用的有径向基(RBF)函数输出单元、Sigmoid输出单元和Softmax回归分类器。在ORL人脸识别任务中,采用Sigmoid函数输出单元,输出层的编码采用非分布编码“one-of-c”的方式。由于采用Sigmoid函数,每一个单元输出值是0-1范围内的一个正数,代表该样本属于该单元对应类别的概率。数值最大的那个单元即为样本的预测类别。假设x为全连接层的输出,则输出层输出结果的计算表达式如下:
y=f(wTx+b)(3)
其中,f表示激活函数,这里采用Sigmoid函数,Sigmoid函数表达式如下:
f(x)=11+e-x(4)
2实验结果与分析
实验在Windows7 64位下的Matlab 2014a中进行,采用Matlab深度学习工具箱DeepLearnToolbox。PC的内存8G,CPU主频为3.2GHZ。
ORL人脸数据集是在1992年至1994年之间由AT &T Cambridge实验室拍摄的人脸图像所构成。数据集中包含40个不同人物的脸部图像,每个人物包含10张图像,总共400张。每个类别中的脸部图像在不同的时间拍摄得到,存在如下差异:①光线;②面部表情,如眼睛的闭合和睁开状态,面部是否带有微笑的表情等;③一些面部细节上的差异,如是否佩戴眼镜等。该数据集中所有人脸图像均为灰度图像,且图像中人物面部朝向基本一致,都朝向正前方。
图2为ORL数据集中部分人脸图像。数据集中每个原始图像大小为92*112像素,本文实验中对这些图像进行预处理,使每一幅图像的尺寸调整为28*28,并对每一副图像进行归一化处理,这里采用简单的除255的方式。随机选取每一个类别的8张图像作为训练样本,剩下的2张作为测试样本。因此,训练集有320个样本,测试集有80个样本。
2.1改变C3层卷积核个数对网络的影响
卷积神经网络性能的好坏与卷积层卷积核的个数密切相关,但每一个卷积层应该设置多少个卷积滤波器,目前并没有数学理论指导。为了研究卷积核个数对网络最终识别准确率的影响,本文保持C1层卷积核个数不变,通过改变C3层卷积核的个数,形成新的网络结构,用训练集训练网络,训练迭代次数均为60次,然后用测试集对每一种网络结构的性能进行测试。实验结果如表1所示。
从表1可以看出,当C3层有10个卷积核时,网络模型对测试集的识别正确率最高。卷积核的个数与识别准确率并不成正比关系,当卷积核个数过多时,网络的识别准确率会下降,这是因为在卷积核个数增加的同时,需要学习的参数也随之增加,而数据集中训练样本的规模较小,已不能满足学习的要求。
2.2改变C1层卷积核个数对网络的影响
由上述实验结果可知,C3层卷积核个数为10时,网络识别效果最好。因此,为了研究卷积层C1层卷积核个数对识别准确率的影响, C3层保留10个卷积核,改变C1层卷积核的个数构造新的网络结构,用测试集针对不同网络结构就测试集和训练集的识别准确率进行测试。实验结果如表2所示。
从表2的实验结果可以得到相同结论:卷积层卷积核的个数并非越多越好,卷积核个数过多,网络需要学习的参数也随之增加,当训练集中样本个数无法满足学习需要时,网络识别准确率就会下降。
2.3与其它算法比较
为进一步说明本文所提卷积神经网络结构的有效性和优越性,将该结构(C1层6个卷积核,C3层10个卷积核,学习率1.5)的实验结果与其它识别方法在ORL数据集上的实验结果进行对比,结果如表3所示。可以看出,本文所提方法比Eigface、ICA的识别效果好,与2DPCA方法的识别准确率一样,比FisherFace方法的识别准确率只低了0.20%,这进一步证实了本文所提网络结构的有效性。
3结语
本文在理解Lenet-5结构的基础上,提出一种适用于ORL人脸数据集的卷积神经网络结构。实验结果表明,本文提出的卷积神经网络结构,不仅避免了复杂的显式特征提取过程,在ORL数据集上获得98.30%的识别正确率,而且比大多数传统人脸识别算法的效果都好。此外,本文还通过大量验就每个卷积层卷积核个数对网络识别准确率的影响进行了详细研究与分析,这对设计CNN网络结构具有一定的参考意义。
参考文献参考文献:
[1]李武军,王崇骏,张炜,等.人脸识别研究综述[J].模式识别与人工智能,2006,19(1):5866.
[2]张翠平,苏光大.人脸识别技术综述[J].中国图象图形学报,2000,5(11):885894.
[3]YANG M H.Face recognition using kernel methods[J].Nips,2002(2):14571464.
[4]祝秀萍,吴学毅,刘文峰.人脸识别综述与展望[J].计算机与信息技术,2008(4):5356.
[5]SAMARIA F,YOUNG S.HMMbased architecture for face identification[J].Image and Vision Computing,1994,12(8):537543.
[6]LAWRENCE S,GILES C L,TSOI A C.Convolutional neural networks for face recognition[C].Proceedings CVPR'96,1996 IEEE Computer Society Conference on Computer Vision and Pattern Recognition,1996:217222.
[7]陈耀丹,王连明.基于卷积神经网络的人脸识别方法[J].东北师范大学学报:自然科学版,2016,48(2):7076.
[8]卢官明,何嘉利,闫静杰,等.一种用于人脸表情识别的卷积神经网络[J].南京邮电大学学报:自然科学版,2016,36(1):1622.
[9]李彦冬,郝宗波,雷航.卷积神经网络研究综述[J].计算机应用,2016,36(9):25082515.
[10]LCUN Y,BOTTOU L,BENGIO Y,et al.Gradientbased learning applied to document recognition[J].Proceedings of the IEEE,1998,86(11):22782324.
关键词:模式识别卷积神经网络 google earth 应用
中图分类号:TP39 文献标识码:A 文章编号:1007—3973(2012)009—087—02
随着科技的进步,许多发明、电子产品使人们的生活更加方便。生活经常见到的有:笔记本电脑的指纹锁、数码相机的人像识别功能、电脑手写板、语音录入设备、门禁中的虹膜识别技术等等,这些设备与技术中都包含了模式识别技术。这些看似抽象的技术与算法正与其他技术一起悄然的改变人们的生活。
1 什么是模式识别
人们的许多感官功能看似简单,但用人工的办法实现却比较困难。人与人见面相互打招呼。在看见对方的面部后,人能够很快的认定这张脸是个人脸,而且我认识他,应该和他打招呼。这个看似简单的过程其实并不简单,我们不仅仅要识别五官,还要扫描轮廓,而且还要判断是否认识等等。可见,很多看似简单的认知过程,如果试图用某一方法描述确实不宜。对人脸进行模式识别就可以解决这个看似简单的问题。
模式识别(Pattern Recognition)是指通过用计算机对事物或现象的各种形式的(光信息,声信息,生物信息)信息进行处理和和判读,以对事物或现象进行描述、辨认、分类和解释的过程,是人工智能的和信息捕获的重要组成部分。现在被广泛应用于计算机视觉,自然语言处理,生物特征识别,互联网搜索等领域。
2 模式识别与google earth卫星照片
在卫星图片中识别特定的目标,如道路,湖泊,森林等等,往往要运用模式识别技术,现在较为主流的是神经网络识别。上一代的技术室根据RGB提取的,在提取森林或湖泊的时候,有很多干扰颜色,对卫星照片精度有很高要求。根据RGB提取效果不是十分理想,而且计算量大,对硬件有一定要求。
随着神经网络识别技术的发展,现在计算机可自动识别目标。不必使用特殊的卫星波段影像,小型机计算,只要从GOOGLE EARTH获取的普通卫星影像就可以自动识别了。
Google Earth是Google公司开发推出的一款虚拟地球仪软件,它把卫星照片、航空照相布置在一个地球的三维模型上,是一款全球地图集成软件。Google Earth与模式识别技术的综合运用,使其卫星图片在道路规划,通信线路管理,土地勘察,遥感探测等等行业有着很大的运用。
在实际情况下对卫星图片进行模式识别,实现起来有许多困难,光线条件、大地背景、大气云层情况影响以及由于拍摄角度或空气密度等原因导致照片的被照物体的几何变形等都会对识别效果有直接影响。这些都对识别算法要求很高。本文选用的神经网络识别方法,具有识别率高、对不规则物体识别效果好等优点,被广泛运用在许多领域。本文使用改进的卷积神经网络对google earth 卫星图片进行处理,几乎不用对照片进行预处理。这大大节省了运算时间,而且避免了二次处理后对原始文件的污染,大量原始信号被最大程度地保留。
3 模式识别与卷积神经网络
卷积神经网络CNN(Convolutional Neural Networks)是近年发展起来并引起广泛重视的一种高效识别方法。神经网络是受动物神经系统启发,利用大量简单处理单元互联而构成的复杂系统,以解决复杂模式识别与行为控制问题。目前,CNN已经成为国内外科学家研究的重点方向,特别是在模式识别领域。它的优点是不需要对图像进行复杂的预处理,成为大家广为使用的方法。CNN的基本结构一般包括两层:(1)特征提取层。每个神经元的输入与前一层的局部接受域相连,并提取该局部的特征。一旦该局部特征被提取后,与其他特征间的位置关系也随之确定下来。(2)特征映射层。网络的每个计算层由多个特征映射组成,每个特征映射是一个平面,平面上所有神经元的权值相等。特征映射结构采用影响函数核小的sigmoid函数作为卷积网络的激活函数,使得特征映射具有位移不变性。
4 卷积神经网络在卫星图片识别中的应用
为提高google earth卫星照片中目标的识别率,创造性使用卷积神经网络进行模式识别,其主要部分基本设计结构如图1所示。
图1中,整个结构模仿动物的神经结构,大量的单一识别单元被关联成一个网路。 C层则是由复杂(complex)神经元组成的神经层,它的输入连接是固定的,不可修改,显示接收信心被激励位置的近似变化。网络中C层的最后一层为识别层,显示模式识别的结果。S层为简单(simple)神经元组成的神经层,完成主要信息提取,其输入连接是不是固定的,可在训练的过程中不断修改。这个系统进过不断的训练,输入照片的格式和大小会自动地被识别,大大节省了前期的工作时间,提高了识别速度。
在训练集中同时需要常规积极样本和消极样本,样本包括卫星图片中房屋和道路的1000个图像目标积极训练集。大多数基于学习方法的目标物体识别使用一个大约为10?0的最小输入窗口,好处是可以做到不遗漏任何重要信息。为了达到稳定的效果,对所有原有的训练样进行色彩转换和对比还原转换,得到的积极样本训练集有2400个目标样本。
5 实验结果
分两个步骤进行试验,第一步对卫星图片进行定位和裁剪等预处理,第二步选取合格卫星图片200个样本图片训练卷积神经网络,训练后得到各层3个主要数据:阈值、权值及神经元细胞平面数,然后使用优化后的神经网络识别机对200个测试样本进行检查,其正确的识别率达到97%。实验要注意训练的时间,系统过度训练后,识别率会不断提高,但训练时间的不断增加,测试失败率到最小值后出现及其微细震荡,造成识别率的小幅波动。(见图2)
实验表明,卷积神经网络应用于卫星图片目标识别是完全可行的,训练样本越丰富则则识别率越高。与传统模式识别方法相比有更高的识别率和抗干扰性。本文采用一种改进的基于卷积神经网络的识别机制对卫星照片中的目标物体进行识别。该识别方法通过对目标物体图片的学习,优化了系统中的关键参数的权值。大大提高了目标物体的识别率。
参考文献:
[1] 高隽.智能信息处理方法导论[M].北京:机械工业出版社,2004.
[2] 高隽.人工神经网络原理及仿真实例[M].北京:机械工业出版社,2003.
[3] 边肇祺.模式识别[M].北京:清华大学出版社,1987.
关键词:
手势识别;位运算;卷积神经网络;复杂环境;肤色似然
中图分类号: TP391.413 文献标志码:A
0引言
现行的手势识别方法的主要步骤是提取精确的手势区域,然后作形状或者轮廓识别。提取手势区域的方法有依赖于测距设备的方法,比如Kinect[1-2]、双目设备[3],也有依赖于单目视觉的方法[4]。前者的主要原理是人机交互中手的位置距离传感器应该在一定的区间内,之后进行距离阈值分割。而基于视觉的方法主要是确定合理的肤色阈值,进行肤色分割和去噪,确定手势区域或者轮廓。
这些方法虽然依赖的特征不同,但是在整体处理步骤上比较相似,都需要首先对手势区域进行精确的分割。方法面临的挑战主要集中在复杂环境下的手势分割。如果希望算法在距离、光照可变的环境下表现出良好的鲁棒性,一般会将很多非手势的区域也识别为手势,这将增加手势分割的难度,在复杂背景下,这一问题会更加明显。在背景环境复杂时如果想降低手势分割的难度,一般需要对输入的图像特征进行更严格的提取,这同时也降低了模型的鲁棒性,在光照、距离等条件变化时,会出现丢失手势的问题。
两类问题相互制约,针对这一情况,研究者们把精力主要放在如何更加精准地提取特征上面。用作手势分割的特征主要集中在肤色[4]和距离[1,3],有的学者采取了将轮廓信息结合先验形状来进行更加准确的分割方式来处理这一问题[5],此类方法被广泛地用于边缘提取领域,在针对小规模噪声区域以及手势类别较少的情况时能获取不错的效果。主要问题是对于多个先验形状的表达没有特别理想的方案,在形状增多之后,形状项的作用明显下降,这与形状之间本身的冲突有关。更重要的一点是图像分割方法一般耗时都在数秒甚至数十秒,时间复杂度上无法满足手势识别的需要。因为手势分割的运用场景多为动态场景,所以运动目标检测的方法也经常用来辅助手势分割。
现行手势分割方法中最常用的是按照提取肤色特征、二值化、形态学滤波、运动目标特征或者距离特征协助检测这个过程处理[3-4]。有时还需要做人脸检测,排除人脸区域的干扰。融合了多种特征的方法在光照变化和背景拥有类似肤色的物体时仍然会出现不能有效分割的情形。
在手势识别方面,Dardas等[6]提出了一种基于特征包的手势识别方法,在识别率和计算效率上都取得了较好的结果。对于良好的手势轮廓,Belongie等[7]提出的形状上下文能够得到高准确率和对非刚性畸变鲁棒的结果。矩特征,指尖等手势的几何特征[1]也经常被用作为手势识别的特征。卷积神经网络能够自动获取特征,在处理静态图片时表现出了非常高的准确率,同时对噪声以及各种形变鲁棒。
本文提出一种新的方法来解决手势识别中鲁棒性和算法复杂性之间的矛盾。该方法第1步使用二进制运算实现的支持向量机(Support Vector Machine, SVM)分类器并用位运算代替滑动窗口,快速提取出多个可能的备选区域。第2步使用卷积神经网络来完成手势的再判定与识别工作。文中算法的实现方式非常关键,直接关系模型的运算效率。第1步中使用的分类器为线性SVM模型,需要在支持64位整型机器的环境下使用二进制运算的方式实现,在执行效率上相对于基于滑动窗口的算法有着100倍左右的提升[8]。第2步使用的分类器为卷积神经网络,在实现上使用了统一计算设备架构(Compute Unified Device Architecture, CUDA)进行卷积运算的加速,能获得10倍左右的加速比[9]。
1手势区域提取
本文手势区域提取的方法不要求精确提取手势轮廓或者锁定备选框。该方法核心思想是用最短的时间排除掉绝大部分的搜索区域,剩下无法判断的区域结合其他方法进行处理。
方法本身并不依赖于特定特征,所有能够用来排除大量备选区域的特征均可以使用,比如通过测距设备获取的距离似然特征,使用视觉设备获取的肤色似然特征。因为肤色似然特征对于硬件的要求更低,本文选择肤色似然特征进行实验。
1.1获取肤色特征
本文使用椭圆模型提取肤色似然区域[10-11]。首先将肤色变换到YCbCr空间,椭圆肤色模型认为肤色在Cr和Cb分量组成的空间里的分布集中在一个椭圆区域内。该椭圆中心点坐标为(155.6,103),长短轴比例为1∶1.6,旋转角度为43°。式(1)描述了Cr和Cb组成的空间中的像素点距离椭圆中心的距离,也可以理解成是肤色的概率。该值恒大于0,最大值为255,标准差系数为σ2。可以通过调整标准差系数σ2来控制肤色判断的严格程度,不同σ2下的分割效果如图1所示。不同的标准差系数对于肤色区域的判断影响十分明显。当σ2较小时提取区域判断为肤色的区域很小,此时真实的手势区域可能被误检成非手势区域;当σ2增大时,肤色似然图中判断为肤色的区域会一直增加,此时肤色似然图中被误检为肤色的区域也会增加。
光照变化和肤色的多样性会影响肤色似然特征的计算。针对光照变化以及肤色变化的情况。有以下方法可以改善:
方法1使用对光照鲁棒的特征,比如距离似然特征。
方法2使用较大的标准差系数σ2,后面提取区域的过程中使用较多的备选框以提高召回率。
方法3使用迭代的方法调整椭圆模型的中心坐标和标准差系数,方法3一般用于光照连续变化场景,比如视频流的处理。
1.2肤色似然特征与手势区域检测
获取肤色似然图之后,下一步需要计算似然图中的手势区域。手势区域和非手势区域在8×8肤色似然图下有着明显的差别,如图2所示。这一步的思路是使用滑动窗口的方法,对肤色似然图进行遍历。因为最终需要处理是在遍历的过程中将窗口中的肤色似然图像作为手势区域分类器的输入,得到一个“窗口值”,用来确定是否为备选窗口。
考虑到手势识别应用场景多为人机交互,手势的长宽比固定,不会被人为拉伸,所以选用“正方形”滑动窗口;并且手势区域在整幅图像中所占比例会有所变化但变化幅度不大,所以不用设定太多不同尺度的滑动窗口。在此处设定4个不同尺度的手势区域48×48、64×64、80×80、96×96用以检测不同大小的手势。
为了保证滑动窗口的大小始终为8×8,将肤色似然图调整为不同的尺度,以尺度为360×240的肤色似然图为例,当手势区域大小由48×48调整为8×8时,肤色似然图的长宽也对应变化原图的1/6,变为60×40。大小为的64×64、80×80、96×96的手势区域所对应的调整后的肤色似然图尺度分别为45×30、36×24、30×20,如图2(d)所示。
在分类器的选择上选用的是线性SVM分类器[12]。实验正样例选取的均为人工标记的手势区域的肤色似然图,在选取正样例的过程中可以先使用少量样本训练一个线性SVM分类器,然后使用该分类器进行样本初筛,之后再人工调整。负样例是在正样例以外的区域中随机选取。正负样本均需要进行归一化处理,处理成为8×8的区域。“窗口值”表示SVM系数矩阵和8×8的内积。“窗口值”的计算过程如式(2)所示:
s=〈w,x〉;w∈R8×8,x∈{0,1,…,255}8×8(2)
其中:w为权值矩阵;x为肤色似然图的像素值,如图2(c)所示;s为滑动窗口的“窗口值”。
1.3BISL二进制肤色似然特征
为了加速滑动窗口的计算,本文借鉴了文献[8]中一般物体识别时用到的方法,使用64位整型表示8×8的二进制矩阵,并且使用一些列的位运算操作来实现加速[13-14]。二进制肤色似然特征(Binary Skin LikeHood, BISL)特征,是将肤色似然特征使用多个64位整型表示之后形成的特征。
1.3.1近似参数矩阵w
线性模型矩阵w∈R8×8可以使用文献[13]中的算法1对其进行近似可得w≈∑Nwj=1βjaj。其中:Nw代表基向量的个数;aj∈{-1,1}8×8代表基向量; βj∈R代表相应基向量的系数。
算法1使用二进制方法近似w。
程序前
输入:w,Nw。
输出:{βj}Nwj=1,{aj}Nwj=1。
初始化残差:ε=w
for j=1 to Nw do
aj=sign(ε)
βj=〈aj,ε〉/aj2(将残差ε映射到aj上)
ε=ε-βjaj(更新残差)
end for
程序后
1.3.2处理输入矩阵x
本文截取x的高Nx位近似x(如图3(a)),x可以由BISL特征表示成如下形式:
x=∑Nxk=128-kbk(5)
其中:x∈{0,1,…,255}8×8,bk∈{0,1}8×8。
算法2对区域获取BISL特征。
参数含义:bx,y∈{0,1}8×8,rx,y∈{0,1}8,bx,y∈{0,1}。
程序前
输入:肤色似然图的二进制值bW×H。
输出:BISL特征组成的矩阵bW×H。
初始值:bW×H=0,rW×H=0
for each position(x,y) in scanline order do
rx,y=(rx-1,y
bx,y=(bx,y-1
end for
程序后
通常来说,获取8×8的BISL特征需要遍历64个位置。Cheng等[8]巧妙地利用了64位整型的特点,在算法2中使用了“按位或”和“移位”操作避免了循环。首先BISL特征bx,y和它的最后一行rx,y分别使用一个INT64变量和一个byte变量存储。然后相邻的BISL特征有重复的部分,可以通过左移8位操作保留重复的部分并给不同的部分腾出空间,将腾出的这8位的空间与新的byte变量进行“按位与”,就获取了新的BISL特征。相邻的byte变量的获取过程与之类似。
综合式(4)和(5)可以得到由BISL特征和分类器参数计算出窗口值:
s≈∑Nwj=1βj∑Nxk=1Cj,k(6)
其中Cj,k=28-k(2〈a+j,bk,l〉-bk,l)。
将窗口值topk的窗口作为候选窗口,进行进一步的识别。k的取值由实验环境确定,k越大,手势检测模型召回率越高,进一步识别的时间复杂度也会增加。
2使用卷积神经网络进行手势识别
本章所提输入是手势检测部分所得到的窗口值排名前k的候选窗口,这些窗口区域都是在上一步被判定为极有可能为手势的区域,所以本章中需要使用更为复杂的特征和更强的分类模型来处理这个问题。卷积神经网络和一般的神经网络相比,具有权值共享、局部感知等特点[15-16],充分地利用了输入值的空间关系信息,并且容易使用硬件加速[9]。综合考虑模型的分类能力、鲁棒性以及识别效率等因素,本文使用卷积神经网络进行手势识别。
2.1样本、特征以及网络结构
卷积神经网络的训练样本是根据手势检测步骤中得到的窗口值topk 8×8窗口计算出来的。在确定窗口值topk 8×8窗口时,记录下这k个窗口在对应的肤色似然图中的坐标。根据这个坐标计算出原图像所对应的窗口坐标。这个过程可以看作是根据图2(c)中的8×8窗口位置来获取图2(a)中对应尺度的窗口图像位置,进而获得窗口图像。在获取窗口图像后,本文将备选窗口图像大小调整为29×29,然后计算它的肤色似然图,得到29×29的肤色似然图作为卷积神经网络的输入。卷积神经网络的特征选择可以有很多,比如窗口的灰度图、梯度特征、局部二进制特征。选用29×29的肤色似然图的原因是肤色似然图在肤色检测的过程中已经计算过一遍,不需要再重复计算。训练样本一共分为10类,6个备选手势类,4个错误类。这里设计4个错误类的原因是因为在手势区域提取的过程中,被错分成手势区域的候选框是有着明显的特点的。主要的几类情况是识别到手势边缘,识别到手势中心,识别到非手势区域,可以参考图2(b)的情形。在网络设计的时候需要重点关注这些错误的情形,实验发现,将所有的错误情形视为1类的模型识别率要低于将错误情形分成4类的模型。将错误情形分为4类的卷积神经网络一共有10个输出节点,其中6个代表6种不同的手势,另外4个代表4类典型的错误。需要注意的是,在计算模型准确率的时候并不将4类错误加以区分。假定4类错误分别为错误1、错误2、错误3、错误4,将错误1识别成了错误2,仍然认为模型判断正确。
为了使样本具有平移和小幅度旋转的鲁棒性,对卷积神经网络的训练样本进行了一些平移和旋转上的扩展。考虑到手势与手写字符的区别,本文并没有进行弹性形变扩展。整个卷积网络的结构如图4所示。
本文参照文献[15]中提到的方法来设计卷积神经网络,网络包含两个卷积层:第1层用来提取一些类似于边缘、角点、交线的底层图像特征;第2个卷积层以这些特征为基础生成更加复杂的特征。两个下采样层均按照2×2的因子进行最大池化,卷积核的大小定为5×5,第1个卷积层有5个卷积核,第2个卷积层有10个卷积核。光栅化之后采用两层全相连多层感知机结构,隐层单元数量设定为100个,最后针对多分类问题,使用softmax设置10个输出节点。
2.2卷积神经网络的计算过程
本文使用的卷积神经网络主要参照文献[17]中提到的算法实现。下面主要针对卷积层和下采样层的正向计算和反向传播计算进行讨论。
2.2.1正向计算
2.2.2反向传播
3实验结果分析
实验平台为Intel Core i74702MQ 2.2GHz, 4GB RAM, NVIDIA GeForce GTX 760M。CPU支持POPCNT命令,显卡支持CUDA平台,操作系统为Windows 8 Pro 64位。
3.1手势检测部分
手势检测部分所采用的数据集是Sebastien Marcel Static Hand Posture Database数据集,数据集包含10个人的6种手势(a,b,c,point,five,v)(A,B,C,Point(P),Five(F),V),总共接近5000个样本(如图5)。
实验对简单环境和复杂环境分别取100张测试图片进行测试(如图6)。在实验中发现,在简单环境下,直接获取“窗口值”最大的窗口作为备选区域即可。在光照变化和背景复杂的情况下,“窗口值”大小前4的窗口已经可以覆盖所有的实际手势区域,即达到100%的召回率(如表1)。
实验对比了基于滑动窗口方法实现手势检测、多模板匹配外加人脸排除以及本文的手势检测方法的运算速度。在3种不同尺寸的样本中分别取1000张测试图片进行测试,结果如表2所示。
3.2手势识别部分
手势识别部分的样本来源于手势检测部分的结果。数据一共分为10类,除了6个手势类之外,还设定4个错误类。4类错误分别命名为E1、E2、E3、E4。其中:E1代表识别到手势中心;E2代表识别到手势边缘;E3代表识别到非手势干扰区;E4代表除E3之外的弱干扰区,如图7所示。
因为10类的训练样本数量有一定的差异。其中最多的手势Point有1395个样本,最少的V有435个样本。错误类样本中总量为1216个,其中E1 178个,E2 81个,E3 943,E4 14个,这个具体数量与手势检测所设定的备选窗口数量有关以及选择的输入图片有关,可以调整,本文实验中备选窗口数量设为4,输入图片中背景复杂的一共有473张。在样本不平衡的情况下所训练出卷积神经网络模型测试准确率为93%左右。对样本进行抽样和扩展,扩展方法如下。
1)对于6个手势类,在每个类的训练集中随机抽取350张样本,对抽取的图片在随机方向上进行1到2个像素的平移得到另外350个样本,每一类总共会得到700个样本。
2)对于错误类E1,首先对训练集进行4次随机方向上1到2个像素的平移,每一次都会得到一个新的训练样本,最后进行随机抽样,每类选择700个样本。
3)对于错误类E2,首先对训练集进行10次随机方向上1到2个像素的平移,每一次都会得到一个新的训练样本,最后进行随机抽样,每类选择700个样本。
4)对于错误类E3,直接进行随机抽样,每类选择700个样本。
5)对于错误类E4,将样本复制50次,获取700个样本。
扩展后的训练集有6000张训练样本,测试集有1000个样本。手势识别的结果如表3所示,在手势识别部分修正后的准确率为96.1%,空格部分代表0,4个错误类准确率计算方式在2.1节有说明。
图8对比了本文算法和其他算法的性能,当训练样本大于100时,本文算法和特征包算法的准确率相近。算法的运行效率明显高于特征包(Bag of Features, BoF)算法,如表4所示,平均识别时间表示的是手势识别算法对单一“窗口”图像的计算时间,整体计算时间包含了手势检测和手势识别两个部分以及一些预处理环节,基于特征包的两类算法对应的手势检测方法采用的是对模板匹配和人脸排除,本文的算法是采用位运算支持向量机和CUDA卷积神经网络。CUDA卷积神经网络处理29×29大小的图片用时约为0.001s。手势识别过程中,因为分割算法求得的是4个备选窗口,所以识别过程中需要识别4个窗口,对一幅输入图像而言手势检测和识别总用时约为0.013s。
实验结果表明,本文提出的方法能够在光照变化、背景复杂的情况下依然保持高准确率和良好的运算效率。
4结语
本文提出了一种新型的手势识别方法,与传统的手势识别方法相比,本文方法利用位运算代替滑动窗口,在数微秒的时间内将备选窗口数量由千万级别缩减到个位数。获取备选区域之后使用基于CUDA的卷积神经网络对备选区域进行细分和识别。在实际的计算过程中可以通过硬件优化得到100至1000倍的加速比。本文方法仅仅通过肤色似然特征就在Marcel数据集上得到了96%左右的准确率。本文提出的方法主要解决了鲁棒性和计算复杂度的矛盾,并且方法所使用的特征可以使用其他的特征替换,这使得模型具有良好的可扩展性。
本文方法的局限性主要体现在对特征提取的召回率有要求,如果完全没办法提取到特征,本文的方法会失效。另外,卷积神经网络的训练耗时长,网络设计依赖经验,在更加复杂的分类上,卷积神经网络网络的设计也会更加困难。
参考文献:
[1]
谈家谱,徐文胜.基于Kinect的指尖检测与手势识别方法[J].计算机应用,2015,35(6):1795-1800.(TAN J P, XU W S. Fingertip detection and gesture recognition method based on Kinect [J]. Journal of Computer Applications, 2015, 35(6): 1795-1800.)
[2]
NEWCOMBE R A, IZADI S, HILLIGES O, et al. KinectFusion: realtime dense surface mapping and tracking [C]// Proceedings of the 2011 IEEE International Symposium on Mixed and Augmented Reality. Washington, DC: IEEE Computer Society, 2011: 127-136.
[3]
谭同德,郭志敏.基于双目视觉的人手定位与手势识别系统研究[J].计算机工程与设计,2012,33(1):259-264.(TAN T D, GUO Z M. Research on location and gesture recognition of hand based on binocular stereovision [J]. Computer Engineering and Design, 2012 33(1): 259-264.)
[4]
WACHS J P, KLSCH M, STERN H, et al. Visionbased handgesture applications [J] Communications of the ACM, 2011, 54(2): 60-70.
[5]
SAMUEL D, RATHI Y, A. TANNENBAUM A. A framework for image segmentation using shape models and kernel space shape priors [J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2008, 30(8): 1385-1399.
[6]
DARDAS N H, GEORGANAS N D. Realtime hand gesture detection and recognition using bagoffeatures and support vector machine techniques [J]. IEEE Transactions on Instrumentation & Measurement, 2011, 60(11): 3592-3607.
[7]
BELONGIE S, MALIK J, PUZICHA J. Shape matching and object recognition using shape contexts [J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2002, 24(4): 509-522.
[8]
CHENG M M, ZHANG Z M, LIN W Y. BING: binarized normed gradients for objectness estimation at 300fps [C]// Proceedings of the 2014 IEEE Conference on Computer Vision and Pattern Recognition. Washington, DC: IEEE Computer Society, 2014: 3286-3293.
[9]
STRIGL, KOFLER K, PODLIPNIG S. Performance and scalability of GPUbased convolutional neural networks [C]// Proceedings of the 2010 18th Euromicro Conference on Parallel, Distributed and Networkbased Processing. Piscataway, NJ: IEEE, 2010: 317-324.
[10]
BOJIC N, PANG K. Adaptive skin segmentation for head and shoulder video sequences [C]// Visual Communications and Image Processing 2000. Bellingham, WA: SPIE, 2000: 704-711.
[11]
KOVAC J, PEER P, SOLINA F. Human skin color clustering for face detection [C]// IEEE Region 8 EUROCON 2003. Computer as a Tool. Piscataway, NJ: IEEE, 2003, 2: 144-148.
[12]
FAN R E, CHANG K W, HSIEH C J, et al. Liblinear: a library for large linear classification [J]. Journal of Machine Learning Research, 2008, 9(12): 1871-1874.
[13]
HARE S, SAFFARI A, TORR P H S. Efficient online structured output learning for keypointbased object tracking [C]// Proceedings of the 2012 IEEE Conference on Computer Vision and Pattern Recognition. Washington, DC: IEEE Computer Society, 2012: 1894-1901.
[14]
ZHENG S, STURGESS P, TORR P H S. Approximate structured output learning for constrained local models with application to realtime facial feature detection and tracking on lowpower devices [C]// Proceedings of the 2013 10th IEEE International Conference and Workshops on Automatic Face and Gesture Recognition. Piscataway, NJ: IEEE, 2013: 1-8.
[15]
SIMARD P Y, STEINKRAUS D, PLATT J C. Best practices for convolutional neural networks applied to visual document analysis [C]// Proceedings of the Seventh International Conference on Document Analysis and Recognition. Washington, DC: IEEE Computer Society, 2003: 958-963.
[16]
LECUN Y, BOSER B, DENKER J S, et al. Handwritten digit recognition with a backpropagation network [M]// Advances in Neural Information Processing Systems 2. San Francisco: Morgan Kaufmann, 1990: 396-404.
关键词:Deep Learning;多隐含层感知;DropConnect;算法
中图分类号:TP181
Deep Learning是机器学习研究的新领域,它掀起了机器学习领域的第二次浪潮,并受到学术界到工业界高度重视。Deep Learning概念根源于人工神经网络[3],它由Geoffrey Hinton等在Science上提出。它致力于建立模拟人脑分析学习机制的多层次神经网络,并通过这种网络分析解释数据,如视频、文本和声音等。Deep Learning的多隐含层使得它具有优异的特征学习能力,而且学习得到的特征对数据有更本质的刻画,从而有利于可视化或分类。它的“逐层初始化”(layer-wise pre-training[4])可以有效克服深度神经网络在训练上的难度。本文在对Deep Learning算法分析的基础上,着重阐述了对Regularization of Neural Networks using DropConnect模型的改进。
1 Deep Learning算法分析
1.1 Deep Learning多隐含层感知架构
Deep Learning算法最优秀特征是多隐含层感知器架构,这种架构通过组合低层特征来形成更加抽象的高层属性类别或特征,并实现对数据分布式表示。Deep Learning的多隐含层结构是由输入层、隐层(多层)、输出层组成的多层网络(如图1所示),只有相邻层神经元之间有连接,同一层以及跨层节点之间相互无连接,每一层可以看作是一个浅层机器学习模型(如logistic regression,Support Vector Machines)。
图1 含多个隐含层的Deep Learning模型
Deep Learning的多隐含层感知结构模拟的是人脑的大脑皮层工作。人大脑皮层计算也是分多层进行[5],例如图像在人脑中是分多个阶段处理,首先是进入大脑皮层V1区提取边缘特征,然后进入大脑皮层V2区抽象成图像的形状或者部分,再到更高层,以此类推。高层的特征是由底层组合而成。使用含多隐含层感知器架构网络主要优势在于它能以更简洁的方式表达比浅层网络大得多的函数关系(如图2)。通过这种深层非线性网络结构,Deep Learning可以实现复杂函数的逼近,表征输入数据的分布式表示,并展现了强大的从少数样本集中学习数据集本质特征的能力。
图2 多层次实现复杂函数图
1.2 Deep Learning训练过程
(1)首先逐层构建单层神经元,使得每次都是训练一个单层网络。
(2)当所有层训练完后,使用Wake-Sleep算法[6]进行调优。
将除最顶层的其它层间的权重是双向的。向上的权重用于“认知”,向下的权重用于“生成”。然后使用Wake-Sleep算法调整所有的权重。让“认知”和“生成”达成一致,也就是保证生成的最顶层表示能够尽可能正确的复原底层的结点。
1.3 Deep Learning数据处理一般过程
Deep Learning算法通过传感器等方式获得数据之后,首先对数据进行预处理。在数据预处理中,标准的第一步是数据归一化处理,第二步是数据白化处理(如PCA白化和ZCA白化)。其次特征提取和特征选择。然后将输出作为下层的输入,不断进行特征提取和特征选择,直到学习到合符要求的最佳特征。在特征提取和特征选择过程中,常用自动编码、稀疏编码、聚类算法、限制波尔兹曼机、卷积神经网络等算法进行特征提取和特征选择。然后用反向传播算法、随机梯度下降算法、批量梯度下降算法等进行调优处理,再用池化等算法避免特征过度拟合,从而得到最终提取特征。最后将学习到的最终提取特征输入到分类器(如softmax分类器,logistic回归分类器)进行识别、推理或预测。
2 基于Regularization of Neural Networks using DropConnect模型改进
2.1 Regularization of Neural Networks using DropConnect模型[2]
该模型的四个基本组成成分是:
(1)特征提取:v=g(x;Wg)。x是输入层的输入数据,Wg是特征提取函数的参数,v是输出的提取特征,特征提取函数g()。其中g()为多层卷积神经网络算法函数,而Wg卷积神经网络的偏值。
(2)DropConnect层:r=a(u)=a((M*W)v)如图3。v是输出的提取特征,W是完全连接的权重矩阵,M是二进制掩码矩阵,该矩阵的每个元素随机的以1-p概率设置为0或以p概率设置为1,a()是一个非线性激活函数,r是输出向量。M*W是矩阵对应元素相乘。
(3)Softmax分类器层:o=s(r;Ws)。将r映射到一个k维的输出矩阵(k是类的个数),Ws是softmax分类函数的参数。
(4)交叉熵损失:A(y,o)=-∑yi(oi),i∈1,2,3…k。y是标签,o是概率。
图3 DropConnect示意图
2.2 模型改进描述和分析
对DropConnect模型的改进主要集中在上面它的四个基本组成成分中的DropConnect层。由于该层以随机方式让掩码矩阵M的每个元素Mij按1-p的概率设置为0,然后让掩码矩阵与层间的权重矩阵对应相乘即M*W。相对DropOut模型r=a((M*(Wv))得到的特征,r=a((M*W)v)得到的特征是比较好的特征r,同时也提高算法的泛化性。因为Dropconnect模型在权重W和v运算之前,将权重以一定的概率稀疏了,从运行结果看整体算法的错误率降低了。但是,由于是随机的让Mij按1-p的概率为0,并且这种随机是不可以预测的,故可能会导致某些重要特征对应的权重被屏蔽掉,最终造成输出ri的准确性降低。故就此提出了新的设计思想。
改进思想是用单层稀疏编码层代替DropConnect层,通过稀疏编码训练出一组最佳稀疏的特征。具体描述:让经过多层卷积神经网络提取到的特征v作为稀疏编码的输入,经过稀疏编码重复训练迭代,最终得到最佳的稀疏的特征r。因为稀疏编码算法是一种无监督学习方法,用它可以寻找出一组“超完备”基向量来更高效地表示输入数据。
总之任何对Deep Learning算法的改进,都是为了提取出最佳特征,并使用优秀的分类算法来分类、预测或推理,最终降低算法的错误率。而对于怎样改进算法,以何种方式降低错误率,则没有具体的限制。并且各种提取特征和特征选择的算法之间并不是互斥的,它们之间可以有各种形式的嵌套,最终的目标都是提高算法的正确率和效率。
3 结束语
Deep Learning使得语音、图像和文本等的智能识别和理解取得惊人进展,如Google Brain项目和微软推同声传译系统。它极大地推动了人工智能和人机交互快速发展。随着从学术界到工业界的广泛重视,Deep Learning算法的改进依然在继续,Deep Learning算法的正确率和效率仍在不断提高。Deep Learning的发展将加快“大数据+深度模型”时代来临。
参考文献:
[1]Hinton G E,Salakhutdinov R R.Reducing the dimensionality of data with neural networks[J].Science,2006(5786):504-507
[2]汤姆・米切尔.机器学习[M].北京:机械工业出版社,2003:1-280.
[3]吴昌友.神经网络的研究及应用[D].哈尔滨:东北农业大学,2007.
[4]HINTON G,OSINDERO S,TEH Y. A fast learning algorithm for deep belief nets[J].Neural Computation,2006(07):1527-1554.
[5]Hubel D H, Wiesel T N. Receptive fields,binocular interaction and functional architecture in the cat's visual cortex[J].The Journal of physiology,1962(01):106.
[6]Chuang Gao,Bin Chen,Wei Wei.Dynamic detection of wake-sleep transition with reaction time-magnitude[J].Neural Regenerattion Research,2009(07):552-560.
关键词:人机大战;人工智能;发展前景
中图分类号:TP391 文献标识码:A
0.引言
2016年3月15日,备受瞩目的“人机大战”终于落下帷幕,最终Google公司开发的“AlphaGo”以4∶1战胜了韩国九段棋手李世h。毫无疑问,这是人工智能历史上一个具有里程碑式的大事件。大家一致认为,人工智能已经上升到了一个新的高度。
这次胜利与1997年IBM公司的“深蓝”战胜国际象棋世界冠军卡斯帕罗不同。主要表现在两个方面:
(1)AlphaGo的胜利并非仅仅依赖强悍的计算能力和庞大的棋谱数据库取胜,而是AlphaGo已经拥有了深度学习的能力,能够学习已经对弈过的棋盘,并在练习和实战中不断学习和积累经验。
(2)围棋比国际象棋更加复杂,围棋棋盘有361个点,其分支因子无穷无尽,19×19格围棋的合法棋局数的所有可能性是幂为171的指数,这样的计算量相当巨大。英国围棋联盟裁判托比表示:“围棋是世界上最为复杂的智力游戏,它简单的规则加深了棋局的复杂性”。因此,进入围棋领域一直被认为是目前人工智能的最大挑战。
简而言之,AlphaGo取得胜利的一个很重要的方面就是它拥有强大的“学习”能力。深度学习是源于人工神经网络的研究,得益于大数据和互联网技术。本文就从人工智能的发展历程与现状入手,在此基础上分析了人工智能的未来发展前景。
1.人工智能的发展历程
AlphaGo的胜利表明,人工智能发展到今天,已经取得了很多卓越的成果。但是,其发展不是一帆风顺的,人工智能是一个不断进步,并且至今仍在取得不断突破的学科。回顾人工智能的发展历程,可大致分为孕育、形成、暗淡、知识应用和集成发展五大时期。
孕育期:1956年以前,数学、逻辑、计算机等理论和技术方面的研究为人工智能的出现奠定了基础。德国数学家和哲学家莱布尼茨把形式逻辑符号化,奠定了数理逻辑的基础。英国数学家图灵在1936年创立了自动机理论(亦称图灵机),1950年在其著作《计算机与智能》中首次提出“机器也能思维”,被誉为“人工智能之父”。总之,这些人为人工智能的孕育和产生做出了巨大的贡献。
形成期:1956年夏季,在美国达特茅斯大学举办了长达2个多月的研讨会,热烈地讨论用机器模拟人类智能的问题。该次会议首次使用了“人工智能”这一术语。这是人类历史上第一次人工智能研讨会,标志着人工智能学科的诞生。其后的十几年是人工智能的黄金时期。在接下来的几年中,在众多科学家的努力下,人工智能取得了瞩目的突破,也在当时形成了广泛的乐观思潮。
暗淡期:20世纪70年代初,即使最杰出的AI程序也只能解决问题中最简单的部分,发展遇到瓶颈也就是说所有的AI程序都只是“玩具”,无法解决更为复杂的问题。随着AI遭遇批评,对AI提供资助的机构也逐渐停止了部分AI的资助。资金上的困难使得AI的研究方向缩窄,缺少了以往的自由探索。
知识应用期:在80年代,“专家系统”(Expect System)成为了人工智能中一个非常主流的分支。“专家系统”是一种程序,为计算机提供特定领域的专门知识和经验,计算机就能够依据一组从专门知识中推演出的逻辑规则在某一特定领域回答或解决问题。不同领域的专家系统基本都是由知识库、数据库、推理机、解释机制、知识获取等部分组成。
集成发展期:得益于互联网的蓬勃发展、计算机性能的突飞猛进、分布式系统的广泛应用以及人工智能多分支的协同发展,人工智能在这一阶段飞速发展。尤其是随着深度学习和人工神经网络研究的不断深入,人工智能在近几十年中取得了长足的进步,取得了令人瞩目的成就。
人工智能发展到今天,出现了很多令人瞩目的研究成果。AlphaGo的胜利就是基于这些研究成果的一个里程碑。当前人工智能的研究热点主要集中在自然语言处理、机器学习、人工神经网络等领域。
2.人工智能l展现状与前景
人工智能当前有很多重要的研究领域和分支。目前,越来越多的AI项目依赖于分布式系统,而当前研究的普遍热点则集中于自然语言处理、机器学习和人工神经网络等领域。
自然语言处理:自然语言处理(Natural Language Processing,简称NLP),是语言学与人工智能的交叉学科,其主要功能就是实现让机器明白人类的语言,这需要将人类的自然语言转化为计算机能够处理的机器语言。
自然语言处理主要包括词法分析、句法分析和语义分析三大部分。词法分析的核心就是分词处理,即单词的边界处理。句法分析就是对自然语言中句子的结构、语法进行分析如辨别疑问句和感叹句等。而语义分析则注重情感分析和整个段落的上下文分析,辨别一些字词在不同的上下文定的语义和情感态度。
当前自然语言的处理主要有两大方向。一种是基于句法-语义规则的理性主义理论,该理论认为需要为计算机制定一系列的规则,计算机在规则下进行推理与判断。因此其技术路线是一系列的人为的语料建设与规则制定。第二种是基于统计学习的经验主义理论,这种理论在最近受到普遍推崇。该理论让计算机自己通过学习并进行统计推断的方式不停地从数据中“学习”语言,试图刻画真实世界的语言现象,从数据中统计语言的规律。
机器学习:机器学习(Machine Learning)是近20年来兴起的人工智能一大重要领域。其主要是指通过让计算机在数据中自动分析获得规律,从而获取“自我学习”的能力,并利用规律对未知数据进行判断和预测的方法。
机器学致可以分为有监督的学习和无监督的学习。有监督的学习是从给定的训练数据集中练出一个函数和目标,当有新的数据到来时,可以由训练得到函数预测目标。有监督的学习要求训练集同时有输入和输出,也就是所谓的特征和目标。而依据预测的结果是离散的还是连续的,将有监督的学习分为两大问题,即统计分类问题和回归分析问题。统计分类的预测结果是离散的,如肿瘤是良性还是恶性等;而回归分析问题目标是连续的,如天气、股价等的预测。
无监督学习的训练集则没有人为标注的结果,这就需要计算机去发现数据间的联系并用来分类等。一种常见的无监督学习是聚类分析(Cluster Analysis),它是将相似的对象通过静态分类的方法分成不同的组别或者是特定的子集,让同一个子集中的数据对象都有一些相似的属性,比较常用的聚类方法是简洁并快速的“K-均值”聚类算法。它基于K个中心并对距离这些中心最近的数据对象进行分类。
机器学习还包括如半监督学习和增强学习等类别。总而言之,机器学习是研究如何使用机器来模拟人类学习活动的一门学科,而其应用随着人工智能研究领域的深入也变得越来越广泛,如模式识别、计算机视觉、语音识别、推荐算法等领域越来越广泛地应用到了机器学习中。
人工神经网络:在脑神经科学领域,人们认为人类的意识及智能行为,都是通过巨大的神经网络传递的,每个神经细胞通过突出与其他神经细胞连接,当通过突触的信号强度超过某个阈值时,神经细胞便会进入激活状态,向所连接的神经细胞一层层传递信号。于1943年提出的基于生物神经元的M-P模型的主要思想就是将神经元抽象为一个多输入单输出的信息处理单元,并通过传递函数f对输入x1,x2…,xn进行处理并模拟神经细胞的激活模式。主要的传递函数有阶跃型、线性型和S型。
在此基础上,对神经网络算法的研究又有诸多进展。日本的福岛教授于1983年基于视觉认知模型提出了卷积神经网络计算模型。通过学习训练获取到卷积运算中所使用的卷积系数,并通过不同层次与自由度的变化,可以得到较为优化的计算结果。而AlphaGo也正是采用了这种深度卷积神经网络(DCNN)模型,提高了AlphaGo的视觉分类能力,也就是所谓的“棋感”,增强了其对全盘决策和把握的能力。
3.人工智能的发展前景
总体来看,人工智能的应用经历了博弈、感知、决策和反馈这几个里程碑。在以上4个领域中,既是纵向发展的过程,也是横向不断改进的过程。
人工智能在博弈阶段,主要是实现逻辑推理等功能,随着计算机处理能力的进步以及深度学习等算法的改进,机器拥有了越来越强的逻辑与对弈能力。在感知领域,随着自然语言处理的进步,机器已经基本能对人类的语音与语言进行感知,并且能够已经对现实世界进行视觉上的感知。基于大数据的处理和机器学习的发展,机器已经能够对周围的环境进行认知,例如微软的Kinect就能够准确的对人的肢体动作进行判断。该领域的主要实现还包括苹果的Siri,谷歌大脑以及无人驾驶汽车中的各种传感器等。在以上两个阶段的基础上,机器拥有了一定的决策和反馈的能力。无人驾驶汽车的蓬勃发展就是这两个里程碑很好的例证。Google的无人驾驶汽车通过各种传感器对周围的环境进行感知并处理人类的语言等指令,利用所收集的信息进行最后的决策,比如操作方向盘、刹车等。
人工智能已经渗透到生活中的各个领域。机器已经能识别语音、人脸以及视频内容等,从而实现各种人际交互的场景。在医学领域,人工智能可以实现自动读片和辅助诊断以及个性化t疗和基因排序等功能。在教育领域,机器也承担了越来越多的辅助教育,智能交互的功能。在交通领域,一方面无人车的发展表明无人驾驶是一个可以期待的未来,另一方面人工智能能够带来更加通畅和智能的交通。另外人工智能在安防、金融等领域也有非常广阔的发展前景。总之,人工智能在一些具有重复性的和具备简单决策的领域已经是一种非常重要的工具,用来帮助人们解决问题,创造价值。
参考文献
[1]阮晓东.从AlphaGo的胜利看人工智能的未来[J].新经济导刊,2016 (6):69-74.