第38卷第4期 文章编号:1003—2843(2012)04-0654—04 西南民族大学学报・自然科学版 Joumal of Southwest University for Nationalities・Natural Science Edition 利用GPU通用计算的同步层竞争算法研究 周伟,李萍 (西南民族大学计算机科学与技术学院,四川成都610041) 摘要:传统神经网络优化算法相对于其它优化算法,具有求解精度高的优点,但也存在收敛速度慢、耗时长的问题. 神经网络同步更新迭代算法相比异步迭代方式,一般执行效率更高,也更利于结合并行计算技术来提高算法效率.GPU 通用计算作为并行技术发展的代表之一,在并行处理能力上对同时期的多核CPU更具优势.采用层竞争神经网络模型 可以用于解决特征绑定问题.通过图像分割实验结果表明,基于GPU通用计算的同步更新层竞争算法,比基于CPU计 算的同类算总体效率更高. 关键词:递归神经网络;并行计算;层竞争;图像分割 中图分类号:TP391 文献标识码:A doi:10.3969 ̄.issn.1003—2483.2012.O4-33 引言 目前,主流计算机中采用的处理器主要是处理器CPU和图形处理器GPU(Graphics Processing Unit).早 期,大部分的计算处理工作由CPU完成,GPU只负责图形图像的渲染工作.由于单核计算机性能提升有限,超 级计算机一般采用增加处理器的数量来提升整体计算性能.随着时间推移和技术进步,在单个处理器中放置多 个计算核的做法开始普及开来,计算机业界也由此迅速进入并行计算时代.目前几乎所有的个人计算机CPU都 采用了多核处理器,而采用多核技术的GPU在处理能力和存储器带宽上对同时期的多核CPU,更具有明显优势, 在成本和功耗上也不需要付出太大代价.早期的GPU计算实现非常复杂,随着2006年支持Direct X的GPU的 发布,基于GPU的通用计算(General Purpose GPU,GPGPU)的开始走向成熟,NVIDIA在2007年正式发布的 CUDA(Compute Uniifed Device Architecture,计算统一设备架构)是第一种不需要借助图形学API就可以使用类 c语言进行通用计算的开发环境和软件体系.CUDA架构使得GPU不仅能执行传统的图形计算,还能高效地执 行通用计算.目前,越来越多的软件开始支持GPGPU,更多讨论可参见文献¨ J. 传统神经网络优化算法相对于其它优化算法,具有求解精度高的优点,但也存在收敛速度慢的问题.传统 的神经网络异步更新迭代算法,一次迭代只能更新一个或若干个神经元的状态,在面对大规模神经网络时,求 解过程耗时现象非常突出.而神经网络同步更新算法,一次迭代可以更新所有神经元的算法,在实际算法执行 速度上要更快,也更有利于结合GPGPU提高算法的效率.本文实现了基于GPGPU的一种同步层竞争迭代算法 (Synchronous CLM,简称SCLM),并与文献中原先基于CPU计算的SCLM算法进行了比较,实验表明前者执行效 率更高. 1 问题描述 收稿日期:2012-04.19 作者简介:周伟(1977-),男,讲师,博士,主要研究方向为神经网络、模式识别,wei.zhou.swun@gmail.com.李萍{1982-),女,讲师, 博士,主要研究方向为微分方程稳定性和定性分析,liping 1 982 1 204@sina.com. 基金项目:国家自然科学基金青年科学基金项目(61 105061),高校基本科研业务费专项资金项目(1 INZYTD04),高校基本 科研业务费专项资金项目(1 1NZYBS08)。 第4期 周伟等:利用GPU通用计算的同步层竞争算法研究 655 层竞争模型(Competitive Lay Model,简称CLM)最早由Ritter等提出,用于解决空间特征绑定(Spatial feature binding)[h-]J ̄[3'4】.本文研究的层竞争离散模型如下:对于k 0,f-l,..., 和 =1,...,,,有 Zia(七+1)=()-l厂,厂 1 l, f ] 、 L hJ-J∑z1 , (七+1)+∑ z1 ( +1)l.J +Zl。( )l/『 , 层竞争模型包括,层用于特征提取的神经元,每一层上又分别有 个神经元.这里将层号记为 ,每一层 内的位置记为f,则第 层第 个神经元记为2i。.第 层上第f和 神经元连接权值为 ,f=( )…又 被称为侧面连接(Lateral Interaction)矩阵,用于存储含有需要感知分组的特征信息;h,J,C为网络参数, 用于保证网络收敛.(,I函数为Linear Threshold(LT)激励函数,定义为: (z)=(o-(z1),o-(z2),...,o-(z )) , 这里向量Z∈ . CLM的实质在于:在层和层之间产生层竞争关系,实现当网络收敛后,每一层被激活的神经元(对于 LT神经网络情况,就是该神经元最终输出大于零)代表一组被提取出的特征.在文献l 中,Wersing等设计了 一种连续类型基于LT神经元激励函数的递归神经网络,用于实现CLM,并利用异步CLM迭代方法 (Asynchronous CLM,简称ACLM)用于特征绑定和边缘检测.在文献中【o】,我们设计了一种同步CLM迭代算法 (Synchronous CLM,简称SCLM),在保持原有算法精度的,进一步提高了算法的效率.更多关于CLM的讨论,请 参见文献l . 2 GPGPU和CPU计算的差异 和传统的CPU计算不同,GPGPU计算可以看作是CPU+GPU的异构运算,由CPU负责执行负责逻辑处理和事 务管理等不适合数据并行处理的任务,而由GPU负责计算密集型的大规模并行数据计算工作.对于发掘计算性 能,GPGPU在成本和性价比上具有明显的优势.但是要开发高性能的GPGPU程序,开发人员还需要掌握并行算 法和GPU硬件架构方面的知识.虽然GPU计算在有些应用上实现了较CPU运算百倍的性能超越,但由于GPU运 算通常需要将大量数据存储在显存内,数据在主存和显存间的切换会对由于内存带宽的影响成为整个程序执行 的瓶颈,因此直接将现有CPU算法转化为基于GPGPU的算法,在性能上提高有限,需要根据具体硬件架构采取 不同的优化策略以获得更好的性能表现. 3 SCLM算法描述 SCLM ̄表述如下: 1)初始化所有Zia(0)的值,选择为很小的正的随机数Zi。(O)∈(O,0+ ).计算f的最大最小特征值 和 i .设定 = .。1.*max max f nI), {喜 ) ,C=I.01*J/,r=1.01,Tm ̄=1.35, =0.001, =1, =。.1,N l ( )=o,Nqueue=。,N ̄ueue=1O0,七=。, =1, = J兀,(FI,为 Z11(0) h ...h ,×,维的全1矩阵),Z(O)= z 1(o)…Znl(0) ,Ho= H:J_乙 H、 … 2)计算 = + 木厂水z(尼)一z(尼)木 +z( ). 3)设置z(k+1)=max((,O).若 ==1,则查找Ⅳz( ),即Z(尼+1)中Ziet(尼+1)==0的个数.如果 656 西南民族大学学报・自然科学版 第38卷 Nz 1、<,2,则z(k)=z(k+1),k=k+1,进入步骤2;否则令 =0,进入步骤4. 4)如对所有 , ,都满足Iz, ( +1)一z, (尼)l<P,则进入步骤5;否则令z(k)=Z(k+1),k=k+1,进入 步骤2. 5)查找Z0(尼+1),这里定义Z0(尼+1)={Ziot(七十1) (七+1)> },Mean(Zo(尼+1))为zo(尼+1)的期望, 计算Z’(七+1)=Zo(k+1)一Mean(Zo( +1)).再查找Nzt Nz・ l1==0,则结束退出;否则进入步骤6. 6)如果Nq ==0,则有Nq =Nq 。+1,Ⅳ ・( )=Nz-( ),进入步骤9;否则进入步骤7. 7)如果Ⅳz1-( )≠Ⅳz・( ),则JVg一 =o,Ⅳ -入步骤8. ( ) 即Z ( +1)中大于O.1/n的项的个数.如果 Ⅳz-( ),进入步骤9,否则设置Nq… =Nq… +1,进 8)如果^, … ==Ⅳ 1 ,则结束退出;否则进入步骤9. r r 9)设置J=J r, = +o.o1,c=1.o1水 , 果 < ,则进入步骤2;否则结束退出. = 兀,, = 乙 乙 ,z(七)=z(k+1),k=k+1.如 4实验验证 这里用图像分割实验做比较,使用64×64 Lena图片作为实验对象.这里总特征数为64×64=4096,层数 为5,这意味最后得到的分割图像将用5种灰度值进行表示,而CLM共有64×64×5=20480个神经元.本文实 验的平台是Window 7 Ultimate Service Pack l 64位操作系统;CPU为Intel i7 9600k CPU,具有4个处理核心,支 持8线程数;8GB DDR3 1333内存;GPU运算的显卡为显存1GB的GTX 560 Ti,具有384个CUDA核心;编程 工具为支持GPGPU的MATLAB 2010a. 作为参考,我们先给出ACLM算法一次实验的数据:使用时间为3.4776×10 秒(大约9个半小时),能量为 一3.4326×1 O .对于SCLM算法,对基于GPGPU和CPU计算的情况,都分别进行了50次实验.实验结果请参 表1基于CPU和GPCPU的SCLM算法实验比较 见表1. 5 结论 实验证明,基于GPGPU的SCLM算法的效率显著高于之前基于CPU计算的ACLM和SCLM算法.这是 因为CPU擅长于复杂逻辑计算,而GPU适合于处理计算密度高、逻辑分支简单的大规模数据并行任务.考虑到 实验所采用的显卡只是家用级显卡,编程工具是MATLAB,而不是专业从事GPU运算的Tesla系列显卡和执行 效率更高的CUDA C编程工具,因此在应对实际工程需要,后者在发挥算法性能的潜力要更大.传统神经网络 方法存在求解精度高,但收敛速度慢的问题,采用GPGPU方法提高现有神经网络方法是一种有效的途径,希望 我们的工作能给同行们带来一些有益的启示. .参考文献: …1 JASON SANDERS,EDWARD KANDROT.GPU高性能编程CUDA实战【M】.聂雪军,译.北京:机械工业出版社,2011 第4期 周伟等:利用GPU通用计算的同步层竞争算法研究 657 【2】DAVID B KIRK,WEN-MEI W HWU.大规模并行处理器程序设计【M】.北京:清华大学出版社,2010. 【3】J ONTRUP,H RITTER.Perceptual grouping in a neural model:Reproducing human texture perception[R].Technical report SFB360-TR-98/6.Technical repo ̄,University of Bielefeld,1 998. 【4】H RITTER.A spatial approach to feature linking.Proceedings of the International Neural Network Conference Paris[C].Kluwer Publishers,1 990,2:898—90 1. 【5】H WERSING,川Steil,H Ritter.A competitive layer model for feature binding nd asensory segmentation]J].Neural Computation. 2001,13:357-387. 【6】ZHOU WEI,JACEK M Zurada.Competitive layer model of discrete.time recurrent neural networks with LT neurons[J].Neural Computation,2010,22:2137-2160. 【7】S WENG,H Wersing,J J Steil,et a1.Learning lateral interactions orf feature binding and sensory segmentation from prototypic basis interactions[J].IEEE Transactions on Neural Networks,2006,l7r2):843.862. 【8 ZHANG YI8】.Foundations of implementing the Competitive Layer Model by Lotka-Volterra recurrent neural networks[J].IEEE Transactions on Neural Networks,2010,21(3):494.507. The implementation of synchronous competitive layer model(SCLM)method with general purpose GPU computing ZHOU Wei,LI Ping (School ofComputer Science and Technology,Southwest University ofr Nationalities,Chengdu 610041,E R.C.) Abstract:Compared with other optimization methods,neural networks always have beRer precision but are a1sO time。consuming.With the advantage of parallel computing,synchronous update mode of neural networks caJ1 be used to peruse beRer performance instead of asynchronous update mode.In this paper,a synchronous competitive layer model (SCLM)method is implemented in two different ways:General Purpose GPU computing,and CPU computing.From the image segmentation results,it can be concluded that General Purpose GPU can efifciently increase the performance of SCLM method. Key words:recurrent neural network;parallel computing;competitive layer model;image segmentation