(计算机应用技术专业论文)基于人工神经网络和gpu加速的手写数字识别并行算法.pdf_第1页
(计算机应用技术专业论文)基于人工神经网络和gpu加速的手写数字识别并行算法.pdf_第2页
(计算机应用技术专业论文)基于人工神经网络和gpu加速的手写数字识别并行算法.pdf_第3页
(计算机应用技术专业论文)基于人工神经网络和gpu加速的手写数字识别并行算法.pdf_第4页
(计算机应用技术专业论文)基于人工神经网络和gpu加速的手写数字识别并行算法.pdf_第5页
已阅读5页,还剩50页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

大连理工大学硕士学位论文 摘要 字符识别是模式识别领域的一个重要研究分支,其中手写数字识别更是一个具有现 实意义且富于挑战性的课题。近年来神经网络广泛应用于手写体数字识别算法,但神经 网络的执行需要进行大量的矩阵和向量的计算。而传统的加速方法,大都使用昂贵并且 很难维护的大型并行机或网络,普通用户却并不具备使用这些高端设备的条件。随着 g p u 性能的大幅度提高以及可编程特性的发展,基于图形硬件的通用计算( g p g p u ) 已成 为新的研究热点。 针对上述问题,本文提出一种基于人工神经网络和g p u 加速的手写数字识别方法, 该方法根据神经网络层内结点彼此独立,训练和执行过程分开的特点,提高了手写数字 识别网络的泛化性能,并将识别的计算过程在g p u 中并行加速,从而大幅度提高了手 写数字识别的运算速度。 该方法主要思想是将预失真处理以及二阶方法等措施应用于神经网络训练,综合考 虑学习率的变化特性,修正、补充和完善了使用五层脑回路神经网络进行手写数字识别 的模型,从而使手写数字识别获得更高的精准率;在并行加速方面,将手写数字的识别 过程移植到g p u 上执行,充分利用其并行性,大幅度提升了手写数字识别速度,使实 时识别成为可能;同时为神经网络在g p u 上执行提供了基本途径。 实验结果表明用以上方法进行手写数字识别,可以获得较高的识别精准率,同时在 使用廉价的硬件设备的条件下,获得更好的速度性能。 关键词:手写数字识别;神经网络;并行;g p u 基于人工神经网络和g p u 加速的手写数字识别并行算法 ap a l a l l e la l g o r i t i m lo fh a n d w d t t e n d i g i t sr e c o g n i t i o nb a s e d o n a r t i f i c i a ln e u r a ln e t w o r kw i 血g p u a c c e l e r a t i o n a b s 缸a c t t h e6 h a r a c t e rr c c o g i l i t i o ni sav e 巧i i l l p o r t 锄tr c s e a r c hb r a n c h ei np a 仕e n lr e c o g i l i t i o l l , a 1 1 dh a n d w r i t t e nd i 百t sr e c o 鲥t i o ni se s p e c i a l l ys i 印i f i c 锄ta n dc h a l l e n 百n g r e s 饥t l yy e a r s , t l l ea n i f i c i a ln e u r a ln e t 、o r k ( a n n ) h 嬲b e e l l 印p l i e dt 0t l l i s a r e 如b u tw i mm o r e m a t r i x v e c t o rc a l c u l a t i o n s t r a d i t i o n a lp a r a l l e la n i f i c i a ln 伽m ln e 帆o r ki so r 饥i n e 伍c i e n t 跚 i tn e e d st l l ep 删l e lc o m p u t e r s 吐l a ta r cr e l a t i v e l yd i m c u l tt 0l l s ea i l dm a yn o tb ea c c 馏s i b l et 0 m o s tr e s e a r c h e 娼w i mt l l ed e v e l o p m e n to fg p u sp e r f o 珊趾c ea l l di t s p r o g r a m 功a b l e f e a t u r e s ,g e i l e r a l p i l r p o s ec o m p u t a d o n o ng 】r a p l l i c sp c e s s i n gu n i t s ( g p g p 功i sb e c o m i n ga n e wr e s e a r c hh o t s p o t t h c r e f i o r c ,仳sp 印e rr a i s e sah a l l d 、砌t t 既d i 百t sr e c o 鲥t i o na l g o 珊1 i i lb a s e do nm a i l dg p u - a c c e l e r a t i o n a c r d i n gt o l es 印a r a t i o no fn a i n i n ga i l di m p l e m e n t 撕o no fa n n a 1 1 dn e u r o n si nt h es 锄el a y 髓a r ei n d e p e i l d e l l to fe a c ho t h e r s ,t h i sa l g o r i t h mi m p r o v 豁l e g e n e r a l i z a t i o np o w e ro fr e c o g n i t i o nn e t w o t k 甜l dg e t sag o o dr e c o g n i t i o ne 仃- e c tw i mp a r a l l e l a c c e l e r a t i o nc o m p u t i n gb yg p u t h ea l g o r i t l l 】ma d o p t ss o m em e m o d s ,s u c h 懿p r e d i s t o n i o n 锄ds e c o n do r d w h 吼 仃a i n i n gt h i sr e c o 伊i t i o nn e m o r k ,c o m p r c h e i l s i v e l yc o n s i d e r a t i i n gt h ec h a i l g eo tl e a n l i n gr a t e , m o d i f i e st l l er e c o g o l l i t i o nm o d e lu s i n g5 一l a y e rc o n v o l u t i o n 甜a n n ,m e r e f o r ea c l l i “e sah i 曲 a c c u r a c yr a t e f 0 r l ed a t ac a l c u l a t i o ns p e e d u p ,m i sp 印e ru s e sg p ut oc o m p u t em e r e c 0 9 1 1 i t i o np r o c e s s b yt a k i n ga d v a l l t a g eo fm ep a r a l l e l i s mo f 伊a p h i c sh a r d w a r e ,m i sm e m o d 伊e a t l yi m p r 0 v i i l gc o m p u t i n gs p e e d ,r e d u c c sm et i m ec o s t t l l i sp a p e ra l s op r o v i d e sag e n e r a j w a y t op a r a u e l i z ea n no ng p u t h ee x p 舐m e l l t a lr c s u l t ss h o wt h a tt h e s em e m o d sc 锄g e tah i 曲e ra c c u r a c yr a t ea i l da b e 钍e rs p e e dp e r f b 锄a i l c ew h i l eu s i n gl o w c o s th 卸撕a r e k e yw o r d s :h a n d w r i t t e nd i g i t sr e c o g n i t i o n ;a n n ;p a r a e ip r o c e s s ;g p u i i 大连理工大学学位论文独创性声明 作者郑重声明:所呈交的学位论文,是本人在导师的指导下进行研究 工作所取得的成果。尽我所知,除文中已经注明引用内容和致谢的地方外, 本论文不包含其他个人或集体已经发表的研究成果,也不包含其他已申请 学位或其他用途使用过的成果。与我一同工作的同志对本研究所做的贡献 均已在论文中做了明确的说明并表示了谢意。 若有不实之处,本人愿意承担相关法律责任。 学位论文题目:躯厶兰徊笙盈鲤堕塑童丝超重盗鱼l 兰生垫圣 尊者签各膏卜 嗍:畔年业月乒日 大连理工大学硕士研究生学位论文 大连理工大学学位论文版权使用授权书 本人完全了解学校有关学位论文知识产权的规定,在校攻读学位期间 论文工作的知识产权属于大连理工大学,允许论文被查阅和借阅。学校有 权保留论文并向国家有关部门或机构送交论文的复印件和电子版,可以将 本学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、 缩印、或扫描等复制手段保存和汇编本学位论文。 学位论文题 作者签名: 导师签名: 大连理工大学硕士学位论文 引言 手写体数字识别在特定的环境下应用特别广泛,如邮政编码自动识别系统,税表和 银行支票自动处理系统等。在过去的数十年里,研究者们提出子许许多多的识别方法。 按使用的特征不同,这些方法可以分为两类:基于结构特征的方法和基于统计特征的方 法。随着计算机相关软硬件和理论的发展,人们对这一问题的研究又采用了许多新的方 法和手段。 人工神经网络为手写体数字识别提供了重要的手段。正是神经网络所具有的这种自 组织自学习能力、推广能力、非线性和运算高度并行的能力使得模式识别成为目前神经 网络最为成功的应用领域。神经网络模型用于模拟人脑神经元的活动过程,其中包括对 信息的加工、处理、存储、和搜索等过程,它具有如下基本特点u j : ( 1 ) 神经网具有分布式存储信息的特点。它存储信息的方式与传统的计算机的思维 方式是不同的,一个信息不是存在一个地方,而是分布在不同的位置。网络的某一部分 也不只存储一个信息,它的信息是分布式存储的。神经网络是用大量神经元之间的连接 及对各连接权值的分布来表示特定的信息。因此,即使当局部的网络受损时,仍具有能 够恢复原来信息的优点。 ( 2 ) 神经网络对信息的处理及推理的过程具有并行的特点。每个神经元都可以根据 接收到的信息作独立的运算和处理,然后将结果传输出去,这体现了一种并行处理。神 经网络对于一个特定的输入模式,通过前向反馈产生一个输出模式,各个输出节点代表 的逻辑概念被同时计算出来。在输出模式中,通过输出节点的比较和本身信号的强弱而 得到特定的解,同时排出其余的解。这体现了神经网络并行推理的特点。 ( 3 ) 神经网络对信息的处理具有自组织、自学习的特点。神经网络中各神经元之间 的连接强度用权值大小来表示,这种权值可以事先定出,也可以为适应周围环境而不断 地变化,这种过程称为神经元的学习过程。神经网络所具有的自学习过程模拟了人的形 象思维方法,这是与传统符号逻辑完全不同的一种非逻辑非语言。 近几年多媒体或游戏产业的3 d 渲染促进了g p u ( 研a p h i c sp r o c e s s i n gu i l i t ) 的快速发 展。今天的g p u 逐渐走向成熟,除了在晶体管的规模、时钟频率、并行度和带宽等指 标上有了很大的飞跃,可编程性更是让人们看到g p u 的应用前景蕴含巨大的潜力,其 针对像素的运算甚至使利用g p u 来做通用计算成为可能。通用计算的领域包括利用 g p u 来实现矢量、矩阵的基本代数运算及在此基础上的一些相对复杂的应用问题的求 解。g p u 已经进入计算的主流,其自身的很多特性已经越来越适合通用计算。 基于人工神经网络和g p u 加速的手写数字识别并行算法 既然神经网络具有并行的特点,且使用神经网络进行手写数字识别的过程中,需要 大量的矩阵或向量运算,那么利用g p u 这种相对经济的方式实现手写体数字的识别就 是可行的。本文针对这一问题,提出一种基于g p u 加速和神经网络的手写数字识别方 法,该方法充分利用n v i d 队g p u 的统一计算设备架构( c 删eu m 矗e dd e v i c e a 础i t e c t u r e ,c u d a ) ,将手写数字的识别算法转化为c u d a 线程块并行计算过程,使识 别过程完全在g p u 中加速执行,在取得较好识别效果的同时,显著地提高了算法的运 算速度。 本文共分为4 章,第l 章介绍了目前手写数字的研究现状和趋势。第2 章介绍了 g p u 通用计算的相关知识。第3 章详细论述了手写数字识别神经网络的构建及训练方 法。第4 章说明了使用g p u 加速该识别网络的方法。最后对本文提出的算法进行总结 和展望。 大连理工大学硕士学位论文 l 手写体数字识别综述 1 1 手写体数字的研究背景 1 1 1 字符识别的发展 模式识别是六十年代初迅速发展起来的一门学科。由于它研究的是如何用机器来实 现人( 及某些动物) 对事物的学习、识别和判断能力,因而受到了很多科技领域研究人员 的注意,成为人工智能研究的一个重要方面。字符识别是模式识别的一个传统研究领域。 从5 0 年代开始,许多的研究者就在这一研究领域开展了广泛的探索【1 ,2 引,并为模式识别 的发展。字符识别是模式识别的一个很重要的分支。 字符识别一般可以分为两类:( 1 ) 联机手写字符识别;( 2 ) 光学字符识别( 叫i c a l c h a r a c t e rr e c o 盟i t i o n ,o c r ) 或称脱机字符识别【3 4 1 。在联机手写字符识别中,计算机能 够通过与计算机相连的手写输入设备获得输入字符笔划的顺序、笔划方向以及字符的形 状,所以相对o c r 来说它更容易识别一些。但联机字符识别有一个重要的不足就是要 求输入者必须在指定的设备上书写,然而人们在生活中大部分的书写情况是不满足这一 要求的,比如人们填写各种表格资料,开具支票等。比起联机字符识别来,o c r 不要 求书写者在特定输入设备上书写,他可以与平常一样书写,所以o c r 的应用更为广泛。 1 1 2 手写数字识别的应用 作为光学字符识别技术的一个分支,手写数字识别主要研究如何利用电子计算机自 动辨认手写在纸张上的阿拉伯数字。近年来出现的手写体数字识别系统属于第三代o c r 系统,这类系统能够处理没有限制的手写字符,但目前仍处于开始阶段。在现实生活中 有广泛的应用归j : ( 1 ) 手写数字识别在大规模数据统计中的应用。在大规模的数据统计如行业年检、 人口普查等中,需要输入大量的数据,以前完全要手工输入,则需要耗费大量的人力物 力。近年来在这类工作中采用技术已成为一种趋势。因为在这种应用中,数据的录入是 集中组织的,所以往往可以通过专门设计表格对书写施加限制以便于机器的自动识别。 目前国内的大多数实用系统都要求用户按指定规范在方格内填写。另外,这些系统往往 采用合适的用户界面对识别结果做全面的检查,最终保证结果正确无误。可以看出,这 是一类相对容易的应用,对识别的核心算法的要求也比较低,是目前国内很多单位应用 开发的热点。 基于人工神经网络和g p u 加速的手写数字识别并行算法 ( 2 ) 手写数字识别在财务、税务、金融领域中的应用。财务、税务、金融是手写数字 识别大有可为的又一领域。随着我国经济的迅速发展,每天等待处理的财务、税税务报 表、支票、付款单等越来越多。如果能把它们用计算机自动处理,无疑可以节约大量的 时间、金钱和劳力。与上面提到的统计报表处理相比,在这个领域的应用难度更大,原 因有:识别的精度要求更高;处理的表格往往不止一种,一个系统应能智能地同时 处理若干种表格;由于处理贯穿于整个日常工作之中,书写应尽量按一般习惯如不对 书写者的写法做限定,书写时允许写连续的字串,而不是在固定的方格内书写,这样对 识别及预处理的核心算法要求也提高了。 ( 3 ) 手写数字识别在邮件分拣中的应用随着我们生活水平的提高,经济活动的发展, 通信联系的需求使信函的互换量大幅度增加,我国函件业务量也在不断增长,预计到年, 一些大城市的中心邮局每天处理量将高达几百万件,业务量的急剧上升使得邮件的分拣 自动化成为大势所趋,在邮政的自动分拣中,手写数字识别往往与光学条码识别,人工 辅助识别等手段相结合,完成邮政编码的阅读。但需要工作人员来协调分拣,仍然浪费 人力物力。 1 1 3 手写数字识别的意义 由于手写数字识别本身的特点,对它的研究有重要的理论价值: ( 1 ) 阿拉伯数字是唯一被世界各国通用的符号,对手写体数字识别的研究基本上与 文化背景无关,各地的研究工作者基于同一平台开展工作,有利于研究的比较和探讨。 ( 2 ) 手写数字识别应用广泛,如邮政编码自动识别,税表系统和银行支票自动处理 等。这些工作以前需要大量的手工录入,投入的人力物力较多,劳动强度较大。手写数 字识别的研究适应了无纸化办公的需要,能大大提高工作效率。 ( 3 ) 由于数字类别只有1 0 个,较其他字符识别率较高,可用于验证新的理论和做深 入的分析研究。许多机器学习和模式识别领域的新理论和算法都是先用手写数字识别进 行检验,验证理论的有效性,然后才应用到更复杂的领域当中。这方面的典型例子就是 人工神经网络。 ( 4 ) 手写数字的识别方法很容易推广到其它一些相关问题,如对英文之类拼音文字 的识别。事实上,很多学者就是把数字和英文字母的识别放在一起研究。 这几年来我国开始大力推广的“三金 工程在很大程度上要依赖数据信息的输入, 如果能通过手写数字识别技术实现信息的自动录入,无疑会促进这一事业的进展。因此, 手写数字的识别研究有着重大的现实意义,一旦研究成功并投入应用,将产生巨大的社 会和经济效益。 一4 一 大连理工大学硕士学位论文 1 2 手写数字识别的一般方法 1 2 1 识别流程 对于光学识别系统,一般识别流程如图1 1 所示: 图1 1 识别流程 f i g 1 1r e c o g n i d o np n ) ;e d l 】r e s 已有的研究一般都是对手写数字识别流程中的预处理、特征提取和识别三个方面展 开:( 1 ) 预处理阶段。是对采集到的图像进行识别前所必要的一些处理工作,这主要包 括对图像进行几何校正、去噪、复原、二值化,细化等操作。( 2 ) 特征提取阶段。细化 过后的图像包括有很多特征,识别时不可能利用所有的特征,因此需要提取出一些对所 用方法有效的特征。( 3 ) 在识别阶段,利用上一步所抽取的特征对待识别的字符进行识 别处理。此阶段所用的知识特别多。 1 2 1识别方法 本文主要研究特征提取和识别这两个步骤。根据不同的准则,在过去的几十年里, 研究者们提出了许许多多的方法【2 ,3 1 ,其中包括传统的基于结构特种的方法和基于统计 特征的方法,以及较新型的其他方法: ( 1 ) 基于结构特征方法 一5 一 基于人工神经网络和g p u 加速的手写数字识别并行算法 对于一个复杂的模式,常常采用分解的方法将其划分成为若干较简单的子模式乃至 基元,通过对基元和子模式识别的综合集成来完成复杂模式的整体识别。结构模式识别 方法是以同类模式具有相似结构为基础的识别方法,从字符的轮廓或骨架上提取字符形 状的基本特征。 结构指的是组成一个模式的基本单元( 简称基元) 之间的关系。例如,拼音文字的 基元是字母,若干个字母按一定规律组成一个单字,在识别某一个单字时,如果能判别 组成这个字的各个字母以及它们的( 结构) 关系,就可以识别这个字。基于这种原理, 拼音文字的识别系统中的“字典”应包括字母,以及由字母组成单字的规律。在对某一 个单字进行识别时,则应先提取构成这个单字的字母并分析它的结构,然后将它跟字典 中所有已知单字的基元及其结构关系逐个加以比较,就可以确定待识别单字和哪一个已 知单字属于同类别。结构特征通常包括圆、端点、交叉点、笔划、轮廓等。 ( 2 ) 基于统计特征的方法 建立在统计数学,特别是贝叶斯决策理论基础上,通过模式紧致性、距离和相似性 度量等概念和假定,形成了统计决策方法的一系列结论。该方法是以同类模式具有相同 属性为基础的识别方法,对字符整体的分析。 用来描述事物属性的参量是特征,它可以通过对模式的多个样本的测量值进行统计 分析后按一定准则来提取。例如:在手写数字识别系统中,我们可以把每个数字的图形 分为若干小方块,然后统计每一小方块中的黑像素,构成一个多维特征矢量,作为该数 字的特征。必须注意的是:在选择特征时,用于代表各类模式的特征应该把同类模式的 各个样本聚集在一起,而使不同类模式的样本尽量分开,以保证识别系统能具有足够高 的识别率。对应于前面的结构特征,统计特征通常包括点密度的测量、矩、特征区域等 ( 3 ) 逻辑特征法 就是其特征的选择对一类模式识别问题来说是独一无二的,即在一类问题中只有一 个模式具有某种或某种组合的逻辑特征,此方法律立了关于知识表示及组织,目标搜索 及匹配的完整体系对需通过众多规则的推理达到识别目标的问题,有很好的效果,但当 样品有缺损,背景不清晰,规则不明确甚至有歧义时,效果不好。 ( 4 ) 模糊模式法 在模式识别过程中引入了模糊集的概念,由于隶属度函数作为样品与模板相似程度 的量度,故能反映整体的、主要的特性,模糊模式有相当不匀称的抗干扰与畸变,从而 允许样品有相当程度的干扰与畸变,但准确合理的隶属度函数往往难以建立。目前有学 者在研究,并将其引入神经网络方法形成模糊神经网络识别系统。 ( 6 ) 神经网络法 一6 一 大连理工大学硕士学位论文 使用人工神经网络方法实现模式识别。可处理某些环境信息十分复杂,背景知识不 清楚,推理规则不明确的问题,允许样品有较大的缺损、畸变。神经网络方法的缺点是 其模型在不断丰富完善中,目前能识别的模式类不够多,神经网络方法允许样品有较大 的缺损和畸变,其自适应性能好,具有较高的分辨率。 本文就是选取了一种特殊的神经网络脑回路神经网络进行手写数字识别。 1 - 3 手写数字数据库m n i s t m n i s t ( m o d i f i e dn a t i o n a li i l s t i t l l t eo fs t a i l d a r d s 锄dt e c l m o l o g y ) ,是一个手写数字图 片数据库。该数据库分为两大部分,第一部分是手写数字识别神经网络的训练集,包括 6 0 0 0 0 幅图片;第二部分是测试集,包括1 0 0 0 0 幅图片。 训练集的数字图片来自于大概2 5 0 名不同的书写者,其中大约有一半是普通的高中 学生,而另外一半为美国人口普查的工作人员。测试集中书写者的人数不确定,但是数 据库的构建者当初抽选测试集的时候,保证了所有测试集的书写者与训练集的书写者不 存在交集( 如表1 1 ) 。既然神经网络并未在训练的时候遇到过与测试集相似的手写数 字,那么可见测试集的健壮性,因此该测试集可以检测识别网络的识别能力,也就是说, 从训练集图片中抽取的固有特征对于新的手写数字图片同样适用。 可以从m n i s t 数据库网站【1 4 】上下载开源的文件。除了两个包含上述训练集和测试 集图片的文件以外,还有两个给出“识别结果的压缩文件,也就是给出相应手写数字 图片所代表的数字,称作“l a b e l 文件。四个文件大小共1 1 5 9 4 k b 。 表1 1m n i s t 的手写数字幽片集 t a b 1 1t h es e to f m n i s t p a t t e n l s 1 4 手写数字识别的技术难点 1 4 1技术难点 数字的类别只有1 0 种,笔划简单,似乎识别问题应该不是很困难。但事实上,一 些测试结果表明,数字的正确识别率并不如印刷体汉字识别率高,甚至也不如联机手写 体汉字识别率高,而只仅仅优于脱机手写体汉字识别。这其中的主要原因是【5 】: 基于人工神经网络和g p u 加速的手写数字识别并行算法 ( 1 ) 数字笔划简单,笔划差别相对较小,字形相差不大,使得准确区分某些数字相 当困难。 ( 2 ) 数字虽然只有1 0 种,且笔划简单,但同一数字写法千差万别,全世界各个国 家各个地区的人都在用,其书写上带有明显的区域特性,很难做出可以兼顾世界各种写 法的、识别率极高的通用性数字识别系统。 虽然目前国内外对脱机手写数字识别的研究已经取得了很大的成就,但是仍然存在 两大难点: 一是识别精度需要达到更高的水平。手写数字识别没有上下文,数据中的每一个数 据都至关重要。而数字识别经常涉及金融、财会领域,其严格性更是不言而喻。因此, 国内外众多的学者都在为提高手写数字的识别率,降低误识率而努力。 二是识别的速度要达到很高的水平。数字识别的输入通常是很大量的数据,而高精 度与高速度是相互矛盾的,因此对识别算法提出了更高的要求。 1 4 2 精度 本文以l e c u n 博士曾经得到的o 8 2 的错误率作为比较基准【1 5 1 。s i m a r d 博士曾经 得到o 4 0 的错误率【1 6 】;f a b i c n 曾得到0 5 4 的错误率【1 7 1 。之所以本文没有选择后面两 位的识别结果作为比较基准是因为: ( 1 ) s i m 裥博士并没有区别地使用数据库中的训练集和测试集,没有考虑训练集的 书写者与测试集的是不同的。s i m a r d 博士只是在训练集中选择5 0 0 0 0 幅图片用来训练神 经网络,然后用余下的1 0 0 0 0 幅图片进行测试。再测试的过程中,s i m 莉博士的神经网 络曾经见过测试图片的书写者,这样提高了识别率。相反l e c u l l 博士则保证了测试用图 与训练用图来自于不同的书写者,因此对于现实世界更具有代表性。 ( 2 ) f a b i e n 等人使用使用脑回路神经网络来进行黑盒抽取特征向量,然后将这些特 征向量输入到一种不同的分类引擎,称为支持向量机( s u p p o r tv e c t o rm a c h i n e ,s 订) 。 使用这种体系结构,他们得到了更高的识别率。 本文的目的不仅是追求高的手写数字识别率,而且要提供一种多层神经网络在g p u 上并行的通用方法,所以选择了l e c u n 博士的脑回路神经网络方法,更适合并行。 1 4 3 速度 数字识别面对的都是极其大量的数据报表,一般都要求达到每分钟几页到几十页的 处理能力( 包括扫描到完成识别的全过程) ,因为需要进行大量的矩阵和向量计算,所 以大多数手写数字识别算法速度有限。众所周知,处理速度与处理精度是一对矛盾,现 大连理工大学硕士学位论文 在既要达到前面提到的高识别精度,又要有如此之高的速度,无疑增加了系统的设计难 度。大多数对手写数字识别的加速的方法一般都停留在改进识别算法阶段【1 3 博】。 还有一些其他算法选择对神经网络进行加速,但是大多也都遇到新的问题,有一定 的局限性。例如多线程方法【1 9 】需要处理同步管理问题;多簇方法【2 0 】贝i j 需要花费通信开销 和竞争延迟;其他类似并行虚拟机( p a r a l l dv i 咖a lm a c i l i n e ,p v m ) ,多代理【2 l 】或者自组 织映射等方法也都有他们的局限性【1 9 】。 针对其他并行方法的局限性,本文选择使用g p u 这种普通用户就能够使用的图形 硬件进行算法加速,实验结果证明能够取得较好的加速效果。 1 5 本文的识别方法 本文着重介绍一种特殊的五层脑回路神经网络( l e n e t 5c o n v o l u t i o n a la n i f i c i a l n e u r a ln e t 、) i ,o r k ,l 5 c a n n ) 。l 5 c a n n 是由l e c u l l 博士的i 蒯e t 神经网络研究小组提出 的一类适合字符识别的经典模型【l5 1 。这种网络对输入( 本文既是手写数字图片) 的拓扑 性质非常敏感,这点普通的神经网络是无法做到的【1 6 1 ,因此这种网络能获得相对低的错 误率。 使用l 5 c a n n 进行手写数字识别有很多的优点,如对其进行并行加速,却产生很 多不便:( 1 ) 将这种网络应用于手写数字识别问题,需要处理数十万的像素点,如果对 其加速,在大多数并行机上实现如此多的数据通信将非常浪费时间;( 2 ) 大多数并行方 法所使用的机器,其使用方法和维护相对较困难;( 3 ) 大多数普通用户没有使用这种并 行机器的条件。 本文中,构建了一种基于g p u 加速的l 5 c a 卜n 的手写数字识别算法。普通用户的 个人机就能够使用该加速算法所使用的加速硬件,通过计算机c u d a 将该l 5 c a n n 算 法映射到g p u 。神经网络从第一层开始,每层都从前一层加载输入信息和相应的权值, 然后计算本层神经元结点的输出值。每层各个节点使用核函数计算输出值的过程在g p u 上几乎是同时运行的。在获得好识别率的同时,该方法对识别过程进行了加速,也为普 通用户提供了一种可行的解决方案。由于个人电脑的普遍使用,因此更多的用户可以从 我们的并行理念得到处理更多实际应用中的大型计算问题。 一9 一 基于人工神经网络和g p u 加速的手写数字识别并行算法 2 基于g p u 的通用计算技术 2 1g p u 的发展及特点 2 1 1g p u 的发展 g p u ( g 1 a p 城cp r o c e s s i n gu m t ) ,中文翻译为“图形处理器 ,是相对于c p u 的一个 概念。由于在现代的计算机中( 特别是家用系统,游戏的发烧友) 图形的处理变得越来 越重要,需要一个专门的图形的核心处理器。 g p u 是显示卡的“心脏”,也就相当于c p u 在电脑中的作用,它决定了显卡的档 次和大部分性能,同时也是2 d 显示卡和3 d 显示卡的区别依据。2 d 显示芯片在处理3 d 图像和特效时主要依赖c p u 的处理能力,称为“软加速 。3 d 显示芯片是将三维图像 和特效处理功能集中在显示芯片内,也即所谓的“硬件加速 功能。显示芯片通常是显 示卡上最大的芯片( 也是引脚最多的) 。现在市场上的显卡大多采用n v i d 认和a t i 两家公司的图形处理芯片。 n v i d 认公司在1 9 9 9 年发布g e f o r c e2 5 6 图形处理芯片时首先提出g p u 的概念。 g p u 使显卡减少了对c p u 的依赖,并进行部分原本c p u 的工作,尤其是在3 d 图形处 理时。g p u 所采用的核心技术有硬体t l 、立方环境材质贴图和顶点混合、纹理压缩 和凹凸映射贴图、双重纹理四像素2 5 6 位渲染引擎等,而硬体t & l 技术可以说是g p u 的标志。 简单说g p u 就是能够从硬件上支持t & l ( t r a l l s f o 珊a i l dl i 曲t i n g ,多边形转换与 光源处理) 的显示芯片,因为t & l 是3 d 渲染中的一个重要部分,其作用是计算多边形 的3 d 位置和处理动态光线效果,也可以称为“几何处理”。一个好的t & l 单元,可以 提供细致的3 d 物体和高级的光线特效;只不过大多数p c 中,t l 的大部分运算是交 由c p u 处理的( 这就也就是所谓的软件t & l ) ,由于c p u 的任务繁多,除了t & l 之外, 还要做内存管理、输入响应等非3 d 图形处理工作,因此在实际运算的时候性能会大打 折扣,常常出现显卡等待c p u 数据的情况,其运算速度远跟不上今天复杂三维游戏的 要求。即使c p u 的工作频率超过l g h z 或更高,对它的帮助也不大,由于这是p c 本身 设计造成的问题,与c p u 的速度无太大关系。 图形加速卡的发展非常迅速,2 0 0 4 年4 月,n v i d i a 发布代号为n v 4 0 的g e f o r c e 6 8 0 0u l t r a ,被认为是划时代的产品,它的c i n e f x3 o 引擎让n v i d i a 迅速走出了f x 系列的阴影。c i n e f x3 0 带来了大量的改进,其中最富革命意义的就是可完全支持微软 d i r e c t x9 0 中的s h a d e rm o d e l3 o ,它包含大家熟悉的v e r t e x s h a d e r3 o 和p i x e l s h a d e r 大连理工大学硕士学位论文 30 ,且带来了1 2 8 b i t 浮点精度h d r 技术,大幅提升高动态范围3 d 场景的画面质量, 游戏的渲染精度及视觉效果都被提升到前所未有的高水平。 2 0 0 6 年m i a o s o n 发布了d i r e c 1 0 后,n v i d i a 和a t i 公司就开始着手发布支持 d 虹t ) ( 1 0 的显卡。n d i a 推出了基于全新图形核心g 8 0 的新一代图形加速卡g e f o r c e 8 8 0 0g t x 。而g e f o r c e8 8 0 0 的推出不单单是n v i d i a 自身顶级产品的更新,更昭示了 d i r c c t ) ( 1 0 时代的到来。采用开发代号为g 8 0 核心的0 e f o r 。e8 8 0 0 完全基于微软d i r e o t ) ( 1 0 a p i 开发,采用全新的物理架构和技术特性。 2 0 0 6 年7 月2 4 日,a m d 以总值5 4 亿美元收购图形芯片制造商a t i ,其整合了c p u 和g p u 的f 心0 n 芯片计划,将为3 d 图形、数字媒体和技术计算等应用提高更好的支 持,同时g p u 也将在更多的领域发挥它的作用。 2 0 0 7 年底,n v i d n 又推出了g 9 8 核心,对于h 2 6 4 实现了完全硬件解码支持,对 于v c - 1 实现了部分硬件解码支持,今天的o p u 性能已经非常的强大,也开始承担越来 越多传统上c p u 所做的工作。 2 0 0 7 年,c u n a 正式发布,引发了0 p u 通用计算的革命。从g e f o r c e8 系列开始, n v i d i a 的g p u 丌始支持c u d a 。 2 1 ,2g p u 通用计算的特点 基于g p u 的通用计算( g p g p u :g 即啪lp u r p o s eg p u ) 指的是利用显卡来实现一般 意义上的计算,而不单纯是图形渲染2 矧。 “ g 8 0g 9 2 f u h g 舯 * 4 - _ r g 7 l , m 。 。! :,。:。慧黑。 、:;:= _ 卜_ _ _ 一 a nj p j u m v m 3 y j u “ 0 0 0 32 0 0 4 如0 52 。0 5 0 72 0 0 8 凹2 lg p u 与c p u 的浮点计葬述度 n g21 n o p so f g p u 柚d c p u 基于人工神经网络和g p u 加速的手写数字识别并行算法 一块工作频率为3 o g h z 的p e n t i u m4 处理器,其晶体管数目为1 2 5 亿个,即使算 上s s e 指令集的s m i d ( 单指令多数据流,这种情况是浮点吞运算下吞吐能力的最理想 状况) ,也只有6 g f l o p s 的峰值浮点处理能力,而同期的一块n v 4 0g p u 就有2 2 2 亿 个晶体管,峰值浮点运算能力很轻易超过4 0 g f l o p s ,如图2 1 所示。g p u 拥有自己的独 立存储系统显存,它拥有比系统主内存高得多的带宽。i n t e l 曾经为它的p e l l t i 啪4 ) ( e 系列处理器所拥有的1 0 6 6 m h z 前端总线所提供的8 6 g b s 的带宽倍感自豪,而同期一 块普通的n v i d 认g e f o r c e6 8 0 0 就拥有2 0 g b s 以上的显存带宽。目前比较先进的 n v i d 认g e f o r c e ( t x 2 8 0 ,它的着色器( s h a d 神程序运算速度可达1 0 0 0g f l o p s ;图形系 统的内存带宽可以达到1 4 0 8g b s 。 由于具备强大的并行处理能力和极高的存储器带宽,因此g p u 可以被当作一个“流 处理器( s 仃e 锄p r o c e s s o r ) ,用于科学运算、数据分析、线性代数、流体模拟等需要 大量重复数据集运算和密集的内存存取的应用程序。这主要得利于以下几个优势【珥2 s 】: ( 1 ) 一定的并行性:这一功能主要是通过多个渲染管道和r g b a4 个颜色通道同时 计算来体现的,另外在一个时钟周期内最多可以同时获取1 6 个甚至更多的纹理。v e r t e x s h a d e r ( 译作顶点着色器) 程序的多个渲染管道意味着一个时钟周期可以并行处理多个顶 点,而对于p i x e ls h a d e r ( 译作像素着色器) 程序同样如此。相对于并行机而言,显卡提 供的并行性虽然很弱,但它在十分廉价的基础上为很多应用提供了一个很好的并行方 案,尤其是对于图形本身的应用来说。 ( 2 ) 高密集的运算:由于显卡内部的内存接口位宽大于c p u 上的位宽,如g e f o r c c f x 的内存位宽达2 5 6 位,显然高于c p u 上3 2 位的位宽,这样整个计算的带宽大大提 高了。g p u 相对于c p u 来说,更适合传输大块的数据,虽然c p u 上有c a c h e 可以加 速整个计算过程,但c p u 上的c a c h e 相对于显卡显存来说太小,一般只有6 4l ,而 现在的显存大多都在6 4 m b 以上。 ( 3 ) 减少了g p u 与c p u 的数据通信:尤其是当整个应用针对图形生成的时候,不 再需要在c p u 与g p u 之间进行多次数据交换,从而可以将c p u 解放出来做其他的处 理任务。这些优势使得g p u 比c p u 更适用于流处理计算,因此g p u 也被认为是一个 s i m d 的并行机或者流处理器,可以用于处理大规模数掘集,使应用得到加速。相比之 下,c p u 本质上是一个标量计算模型,而计算单元偏少,主要针对复杂控制和低延迟 而非高带宽进行了若干优化。 正是由于这些优势,使得g p u 比c p u 更适用于流处理计算。在这种形势下,g p g p u 技术出现了,它利用显卡来进行更多领域中的计算,而不只是单纯的绘制。目前,a m d 和n v i d i a 两大图形芯片厂商都提出了自己的g p g p u 方案。 大连理工大学硕士学位论文 以g e f o r c e 3 为代表的可编程g p u 发布后,g p g p u 进入了一个高速发展的全新时 代。相比固定的流水线,目前硬件的可编程顶点和片段单元不管是运算精度,支持的指 令数还是寄存器个数都有了很大提高。 2 2g p u 通用计算的应用与发展现状 2 2 1g p u 通用计算的应用 近年来,随着g p u 性能的大幅度提高以及可编程特性的发展,人们首先开始将图 形流水线的某些处理阶段以及某些图形算法从c p u 向g p u 转移,如局部光照计算,凸 凹映射绘制等。除了计算机图形学本身的应用,还涉及到其它领域,以至于基于图形硬 件的通用计算( g p g p u ) 这几年来成为g p u 的应用之一,并成为一个研究热点【1 6 1 。 g p g p u 的应用研究进展很快,其涉及的领域也在不断扩大。2 0 0 4 年在洛杉矶举行 了第一次g p 2 会议( a c mw o d ( s h o p o ng e i l e r a l p u 印o s ec 0 n 叩u t i n go ng 1 a p l l i c s h a r d w a r e ) ,以讨论这方面的应用。提供了这方面最全面的信息,并作了详细分类。下面 列出了一些目前已经存在的应用【2 6 】: 代数计算; 几何处理; 偏微分方程数值求解,如流体模拟,冰晶体生成; 数据库操作: 频谱变换和滤波,图像处理,如香港中文大学丌发的离散小波分析程序包; 碰撞检测、运动规划; 优化计算; 声音合成,如b i o l l i c f x 软件: 其他应用还在不断涌现。 基于g p u 的通用计算是随着图形芯片的发展而发展起来的。虽然以前的显卡主要 只是针对图形本身的应用,如光照计算、深度检测、光栅化、反走样等等,但针对其他 更为通用的应用也有出现,如利用颜色来标示物体序号等。但真j 下全面开展起来是因为 可编程性的普及。显然,随着硬件的进一步发展,g p u 在通用计算的应用将越来越广泛。 2 2 2g p u 通用计算的发展现状 随着2 0 0 1 年g e f o r c e 3 的出现,顶点级可编程开始普及,即v e n e xp r o 留a m 。虽然 这个时候像素级上还只是固定的几条指令,但这方面的应用已经丌始全面展开。到了 基于人工神经网络和g p u 加速的手写数字识别并行算法 2 0 0 2 年开始利用t e x t u i es h a d 盯结合r e 西s t e rc 0 m b i i 螂来求解扩散方程,而到了2 0 0 3 年像素级可编程性出现。这方面的研究,国外起步较早,研究范围也比较广。 数据库应用方面,n a g ak g o v i n d a 删u 等人基于g p u 像素程序完成了数据库的 c 伽n t 、s e l e c t 等基本操作,在集合处理方面,g p u 的处理速度比c p u 增长了2 4 倍。 j k m g e r 和r w e s t e 衄锄研究了利用图形处理器来加速提示化的显示速度

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论