1、五邑大学学报(自然科学版)JOURNAL OF WUYI UNIVERSITY (Natural Science Edition)第 37 卷 第 4 期 2023 年 11 月 Vol.37 No.4 Nov.2023 文章编号:1006-7302(2023)04-0031-07 基于 GPU 实时仿真小脑模型神经 网络优化的研究 陈嘉卿,黄嘉嘉,许弢(五邑大学 智能制造学部,广东 江门 529020)摘要:为了解决实时仿真小脑模型存在仿真规模小、仿真时序波动较大以及不能充分利用硬件性能等问题,本文提出了一种并行处理多种不同计算模块的优化方案.首先引入显卡的流特性优化模型的并行架构,然后为不
2、同计算模块和不同细胞分配相应的线程加速网络计算.最后通过仿真延迟眨眼条件反射试验验证小脑模型在运动学习中的记忆形成,并分析了仿真细胞的电生理结果.本文提出的优化方案对多并行模型同样适用,该模型对小脑控制器的研究和小脑运动学习记忆形成具有理论意义和工程上的应用价值.关键词:图形处理器;统一计算设备架构;小脑模型;运动记忆 中图分类号:TP389.1 文献标志码:A A Real-time Simulation Cerebellar Neural Network Model Based on GPU Optimization Research CHEN Jia-qing,HUANFG Jia-ji
3、a,XU Tao(Faculty of Intelligent Manufacturing,Wuyi University,Jiangmen 529020,China)Abstract:Abstract:In order to solve the problems of small simulation scale,large simulation time sequence fluctuation and insufficient utilization of hardware performance,an optimization scheme for parallel processin
4、g of various computing modules is proposed in this paper.Firstly,the streaming characteristics of the graphics card are introduced to optimize the parallel architecture of the model,and then the network computation is accelerated by assigning threads to different computational modules and different
5、cells.Finally,the memory formation of cerebellar model in motor learning was verified by simulated delayed blink conditioned reflex test,the electrophysiological results of the simulated cells were also analyzed.The optimization scheme proposed in this paper is also applicable to multi-parallel mode
6、ls,which has theoretical implications and engineering application value for the study of cerebellar controllers and cerebellar motor learning memory formation.Key words:Key words:Graphics Processing Unit;Compute Unified Device Architecture;Cerebral Model;Motor learning memory 收稿日期:2022-12-26 基金项目:五邑
7、大学高层次人才科研启动项目(2019AL020);江门市科技局项目(2020JC01036)作者简介:陈嘉卿(1994),男,广东江门人,在读硕士生,研究方向为计算神经科学;许弢,讲师,博士,硕士生导师,通信作者,研究方向为计算神经科学.五邑大学学报(自然科学版)2023 年 32 小脑模型是由 Albus1于 1975 年仿照小脑皮层结构重建的关联控制器经多年发展形成的神经网络模型,该模型能对生物小脑学习行为进行仿真,但其仿真结果与实际细胞电位变化还存在差异,其预测功能和记忆形成的机制尚未明确.大规模细胞的电生理测量难度非常大,生物实验需要花费的时间和材料成本非常高,构建大规模的仿生小脑模型
8、可以解决这些难题.目前比较流行的小脑模型基础架构有 Marr-Albus-Ito1的小脑模型、Hodgkin-Huxley-model 模型2等.基于这些基础模型,科学家能很好地结合模型的特点去解决工程上的一些难题,比如对机器人控制的改进3-4和利用小脑模型的生物行为特性进行控制器开发5-7等,可见模型在工程上有很大的应用价值.同时,科学家通过实时仿生小脑模型可以进一步探讨学习记忆在小脑中的形成与保存,对研究小脑的学习机制8有很大帮助.实时的模型一般以现场可编程门阵列(Field Programmable Gate Array,FPGA)9和图形处理器(Graphics Processing
9、Unit,GPU)10为基础,值得注意的是随着统一计算设备架构(Compute Unified Device Architecture,CUDA)11技术的进一步优化,并行加速开始进入了研究人员的视野,比如针对神经网络的并行计算改进12-13,但 GPU 的实时模型还有优化的空间,在资源利用和时序上还能进一步优化.因此本文在 Yamazaki 模型14的基础上通过引入流的概念15优化 GPU 并行线程,为不同计算模块和不同细胞分配相应的线程并使用新的 CUDA 特性(如区块均衡和驱动内存对齐等技术)加速网络的计算,最后在不同细胞数量规模下观察小脑模型的实时运行规模和速度.1 材料与方法 1.1
10、 模型结构 小脑皮层接受到刺激,进行信息处理的信息流如图 1 的网络结构所示.以约 10 万个细胞规模的模型作为例子,模型由 6 种细胞组成,分别为颗粒细胞(granule cells,GCs)、高尔基细胞(golgi cells,GOs)、蓝状细胞(basket cell,BS)、浦肯野细胞(purkinje cells,PC)、下橄榄核(inferior olive,IO)和小脑深部核团(deep cerebellar nuclei,DCN).还有 3 种突触纤维,分别为苔藓纤维(mossy fibers,MF)、平行纤维(parallel fibers,PF)和攀延纤维(climbing
11、 fiber,CF).整体信息流从 MF流入颗粒细胞层和小脑核,信息通过颗粒层分别传输到中间层和浦肯野细胞,最后浦肯野细胞抑制DCN,DCN 作为最后的输出.指导信号由 IO 发出,通过 CF 传递给 PC.模型的规模包括102 400个颗粒细胞,1 024个高尔基细胞,16 个浦肯野细胞,16 个中间层细胞和 1 个小脑核细胞.程序每次试验的仿真时长为1666 ms,其他细节参考试验方案章节.苔藓纤维的突触数目为 100 条,平行纤维的突触数目由颗粒细胞簇决定.模型输入的刺激信号以概率形式表示16.有条件刺激信号由 MF 输入到 GR,以 0.5%的概率使GR 产生激活状态,受到刺激的时候有
12、两个方向的受体分别以 3%和 0.5%的概率影响 GR 的激活状态.其中颗粒细胞层内包含 GO 负责抑制 GR 的活性,这样做能对输入信号进行预处理,而且 GR 与 GO的链接是随机的,所以能对输入的信号进行模糊处理,包括信号的延迟、衰减和增强等.无条件刺激信号输入到 IO 中,直接激活 IO 不需要概率,通过 CF 影响 PC 的前馈网络中的 PF 突触权重.信号经过颗粒层后由 PF 输入到 PC 中,另外一路信号通过中间层的星状细胞和 BS 处理后发出抑制信号给 PC.PC 同时受到了颗粒层的刺激和中间层的抑制.CF 的信号只作为突触权重调节的诱导,诱导 LTP(long-term pot
13、entiation)和 LTD(long-term depression)17的产生.模型的输出是 DCN,它同时受到浦肯野细胞抑制输入和苔藓纤维的刺激输入.类似于输出的时第 37 卷 第 4 期 33 陈嘉卿等:基于 GPU 实时仿真小脑模型神经网络优化的研究 候加入一个正则项,最后通过调节平行纤维的权重达到学习的效果.图 1 中箭头表示刺激信号传递方向,圆头表示抑制信号的传递方向.颗粒层中的圆圈表示颗粒细胞,方框为高尔基细胞.纤维上的数字代表其规模.1.2 计算机制 每个细胞,通过建立积分电导模型18式(1)以及概率电导模型式(2)来计算模型中的单个神经元以及一簇神经元随时间变化的活性.最
14、后神经元的膜电位变化按式(3)计算.c()()dtcjjjggwtsss,(1)其中,g是电导,cg是最大电导,用下标 c表示不同离子通道;jw是突触权重;()ts是电势衰减函数;()js是脉冲发射情况,用 1 和 0 分别代表有或没有触发动作电位.nccgg m,(2)其中,cg 代表相关离子通道的导通概率,m是化学能推动离子通道打开的概率,n 次方代表有多少个这样的离子通道.d()()dcccV tCgEV tt,(3)其中,()V t 是t时刻的神经元膜电位;cE 是触发电势;C是膜电容.该公式是每个细胞总电势的积分公式.这里以浦肯野细胞作为例子,刺激信号的正向模型中预测计算为:GRPC
15、PC()MF()iiitwt,(4)其中,PC()t 是t时刻 MF 输入经过 PF 后的结果,GRPCiw为第i个苔藓纤维链接的突触权重,MF()it在t时刻的时候刺激信号.当 IO 被激发的时候 PC 也同时被激发,计算在固定窗口下 GR 的触发数量作为减少权重的指数,公式如下:WinGRGRPCGRPCGRPCGRPCIO()*0.94GR()(0.0001(1)iiiiiiwt wt ww,(5)其中,GRPCiw为突触权重,左侧项为 LTD 权重减少策略,右侧为 LTP 权重增加策略.GR()it 是在t时刻 GR 活跃状态,IO()t 是在t时刻 IO 的活跃状态,WinGRi是在
16、制定时间窗口下 GR 的激活次数,公式的后半段是防止权重更新过快,在接近 1 的时候变化缓慢.最终结果是由苔藓纤维传输的刺激信号和浦肯野细胞的抑制共同作用输出的:MFCNPCCNCN()MF()PC()iiiiiitwtwt,(6)颗粒层 320 32 320 320 102 4001 随机连接 MF 卷积 161 102 40016 PF 突触可塑性 误差传递 模型输出 BS 16 PC IO CF DCN 图 1 小脑模型网络架构图 五邑大学学报(自然科学版)2023 年 34 其中,第二项主要为负数,对 CN 起抑制作用.最后根据 CN 是否激活来判断输出:cncn1 CN()OUT()
17、0 CN()iftEtiftE,(7)其中,OUT 作为最终输出,可以根据不同任务改变输出的形式,比如本文采用激活率作为标准,在一段时间内激活率达到一定程度作为模型触发的输出标准.1.3 硬件实现 本文代码使用 C+语言,并使用 CUDA 框架提供的 API 在内存和显存之间传输数据.先构建数据结构,每个种类的细胞包含细胞数目、电导和触发电势等各项参数.自动平衡 CUDA 分配的区块和块内线程数,尽可能利用显卡的所有资源,比传统的固定区块数计算要更加有效.其次,在多流处理上采用原子操作(类似数据的加锁和解锁),防止在异步操作时候取旧数据或者覆盖了不应该覆盖的数据.同时,优化对比数据大小的机制,
18、采用类似减法器的对比方案.如图 2 所示,不同的工作流处理指定的运算,因为输入信号是概率模型,所以由梅森旋转法19在显存中生成随机数并作为刺激信号的发生器.Aph 是每个细胞超极化后电位恢复的处理过程,超极化指前一个时刻被激活后,则当前时刻膜电位就变成衰减的膜电位.英文缩写(如 GR)表示该细胞(颗粒细胞)的内部膜电位变化处理,一般是针对刺激信号进行膜电位积分.而带箭头的英文缩写(如 MFGR)表示信号从输出纤维(苔藓纤维)到目标细胞(颗粒细胞)的过程.图中每个块的高度代表运算规模,最长的运算模块统一为颗粒细胞数目与 2 的次方对齐,在 10 万规模细胞下,单个方框的规模是102 400.一共
19、分为 100 块,每个块内有1 024个线程数.每次任务的块大小相同能增加运算效率.2 实验结果与分析 为了测试模型的性能,本文使用8 Gb显存的 NVIDIA 显卡,单精度浮点性能不低于 8.1 TFlops.通过梅森旋转算法生成伪随机序列模拟细胞在小脑中的电生理活动.最后通过运行不同规模的小脑网络对比不同方案下的耗时.2.1 实验方案 本文进行了小鼠的延迟眨眼条件反射 dEBC(delay eyeblink conditioning)20仿真试验,观察小脑对于延迟眨眼条件反射记忆的形成.刺激信号如图 3 所示,总仿真时长1 666 ms.200 ms之前作为稳定时间,从205 ms开始发送
20、有条件刺激,在450 ms的时候发送无条件刺激并持续30 ms,最后有条件刺激信号在1 200 ms时结束.这样一个流程作为一次试验,重复 100 次以达到现实小鼠学习到眨眼条件反射的最低次数,观察过程中各个细胞的电生理变化.数据拷贝 初始化网络 GR GO MFGR Aph GRGO GOGR CFPKJ PKJ IO 异步等待 计算细胞电位 判断细胞是否 激活 权重更新 Stream BS PFPKJ Stream1 Stream2 CN MFCN 图 2 GPU 计算流架构图 第 37 卷 第 4 期 35 陈嘉卿等:基于 GPU 实时仿真小脑模型神经网络优化的研究 图 3 中蓝色部分为
21、条件刺激信号,以均匀分布的概率形式刺激颗粒细胞神经元的触发,黄色条状作为无条件刺激信号输入到下橄榄体(IO).而图中上部作为普通训练时候的刺激信号,下部作为测试时候的刺激信号.因为学会延迟眨眼后小鼠会在有条件刺激下产生无条件刺激的反应.2.2 实验分析 模型仿真延迟眨眼条件反射试验结果如下:如图 4 所示,上部分为不同训练次数下各个细胞的神经元尖峰放电情况,下部分为学习过程中各个细胞在各个阶段的电生理仿真图像.观察到 PC 和 CN 随着训练次数变化明显,CN 在 IO 激活位置的激活率逐渐增加.其中 trial 1 是网络刚刚开始学习的时候,明显发现这个时候的 PC 的激活率很高,但随着学习
22、的进行,激活率慢慢下降,到了 trial 30 已经有明显的学习迹象.最后在 trial 50的时候习得了延迟眨眼,判断标准是 CN 的激活率在 IO 给出信号的位置激活率显著上升,表明 CN在这个时候的输出.再随着学习的进行,在 trial 100 的时候已经会提前预判眨眼的动作,观察 CN最开始的激活位置比 IO 的指导信号还提前了,到此该模型已经学会了延迟眨眼条件反射试验.观察发现 GR 和 GO 在学习的过程中激活情况变化不大,而 PC 的变化很大,可以看出学习的位点并不在前面信号预处理的细胞上而是在浦肯野细胞上.而浦肯野细胞在 IO 的指导信号下,受到LTP 和 LTD 的机制影响调
23、节平行纤维(PF)的权重.图 5 是颗粒细胞(GR)和高尔基细胞(GO)在一次仿真过程中的神经元激活情况,图中每个黑点代表该序列的神经元细胞在该时间点激活,纵轴是每个不同的细胞,并按一定顺序排序.可以刺激信号 0 200 1 200 1 666 仿真时间 t/ms 测试信号 图 3 延迟眨眼刺激信号 仿真时间 t/ms 图 4 电生理仿真图 500 1 000 1 500 500 1 000 1 500 500 1 000 1 500 500 1 000 1 500 500 1 000 1 500 500 1 000 1 500 500 1 000 1 500 500 1 000 1 500
24、五邑大学学报(自然科学版)2023 年 36 看出不同簇的细胞对刺激信号产生不同的反应,在收到刺激信号的时候高尔基细胞的平均激活率显著提高,颗粒细胞则是表现出对刺激信号的不同特性,有的反而激活率下降.这样有利于信号的模糊化和预处理特性,使信号的隐藏特征通过网络的随机连接关系展现出来.3 讨论 针对实时仿生小脑模型的加速和扩大运算规模的问题,本文提出了一种基于 GPU 的流式处理优化方法.通过试验,仿真小脑模型能学习延迟眨眼条件反射,并仿真其学习过程中神经元的激活状态变化,而学习记忆离不开突触可塑性的形成,平行纤维是学习延迟眨眼条件反射的关键位点.GR和 GO 细胞则对数据起着清洗作用,挖掘输入
25、信号的潜在特征同时也给神经网络提供了更多的输入模板.在不同细胞规模下的模型对比仿真表明,使用流方案的模型运行速度更快,这个加速效果除了是流技术带来的高效并行化12,还离不开优化运算单元分配13.保证每次进入显卡的任务序列的运算单元数目尽可能相同.本模型相比于 Yamazaki15的模型,使用流方案并行多模块运行,同时将所有数据都存放在显存当中,减少数据拷贝时间,加快了模型运行速度.而在硬件方面对比 FPGA 有着更大规模的神经元,不受限于硬件上资源的紧缺.本文的关键点在于将不同运算量的细胞分配到不同的流中,使并行程序中的有效并行数目得到充分的发挥.同时使用显存存储数据,减少了数据转移带来的性能
26、损失,并且利用 CUDA 的新特性加速计算单元.图 6 是原方案和使用流方案的模型在不同规模神经元下的仿真耗时对比,最大取 40 万规模进行比较是因为本模型实时模拟1 666 ms在 40 万规模左右接近极限.从图中可以看出使用流方案的模型耗时更少.在小规模下两者差距不明显,但在大规模下两者差距逐渐拉开,而且流方案下耗时方差更小更加稳定,但随着规模变大方差也逐渐变大.在 40 万规模下,原方案运行时间已超过仿真总时长,不能满足实时要求.2 048 1 0 200 400 600 800 1 000 1 200 1 400 t/ms 200 450 1 200 GR 神经元序列 1 024 0
27、200 400 600 800 1 000 1 200 1 400 t/ms 200 450 1 200 GO 图 5 细胞激活散点图 2 500 2 000 1 500 1 000 500 0 1 万 10 万 40 万 神经元规模 原方案 流方案 模型耗时/ms 图 6 仿真耗时图 第 37 卷 第 4 期 37 陈嘉卿等:基于 GPU 实时仿真小脑模型神经网络优化的研究 4 结语 本论文主要利用 CUDA 新特性以及均衡各个线程的计算量来优化模型,提高了模型的运行速度,并且在相同规模下模型耗时更短.通过延迟眨眼条件反射实验的仿真,验证了模型的基本学习功能.本模型使用 C+语言直接编写 C
28、UDA 脚本.目前模型中的数值运算采用矩阵运算,但是有很多细胞不参与某些时刻的运算,是否可以采用稀疏矩阵21或者优化算法本身加速运算是未来要研究的方向.参考文献 1 YAMAZAKI T.Evolution of the Marr-Albus-Ito model M.Cham:Springer,2021:239-255.2 NELSON M,RINZEL J.The hodgkinhuxley model M.New York:Springer,1998:29-49.3 ZAHRA O,NAVARRO-ALARCON D,TOLU S.A neurorobotic embodiment for
29、 exploring the dynamical interactions of a spiking cerebellar model and a robot arm during vision-based manipulation tasks J.International Journal of Neural Systems,2022,32(8):2150028.DOI:10.1142/s0129065721500283.4 张奇.仿生小脑控制模型及其在手臂运动中的应用D.大连:大连理工大学,2021.5 TAN N,YU P,NI F.A cerebellum-inspired netwo
30、rk model and learning approaches for solving kinematic tracking control of redundant manipulators J.IEEE Transactions on Cognitive and Developmental Systems,2022,15(1):150-162.6 ABADIA I,NAVEROS F,GARRIDO J A,et al.On robot compliance:a cerebellar control approach J.IEEE Transactions on Cybernetics,
31、2019,51(5):2476-2489.7 杨婕,李泽辉,马锴,等.基于小脑模型神经网络的温控负荷优化调度方法J.电力系统自动化,2022,46(10):199-208.8 SPAETH L,ISOPE P.What can we learn from synaptic connectivity maps about cerebellar internal models?J.The Cerebellum,2022,22(3):468-474.9 XU T,XIAO N,ZHAI X,et al.Real-time cerebellar neuroprosthetic system based
32、 on a spiking neural network model of motor learning J.Journal of Neural Engineering,2018,15(1):016021.DOI:10.1088/1741-2552/aa98e9.10 NAVEROS F,LUQUE N R,GARRIDO J A,et al.A spiking neural simulator integrating event-driven and time-driven computation schemes using parallel CPU-GPU co-processing:a
33、case study J.IEEE Transactions on Neural Networks and Iearning Systems,2014,26(7):1567-1574.11 SANDERS J,KANDROT E.CUDA by example:an introduction to general-purpose GPU programming M.Boston:Addison-Wesley Professional,2010.12 蒋文斌,刘湃,陈雨浩,等.基于 CUDA 流技术的深度学习系统优化J.华中科技大学学报(自然科学版),2020,48(7):107-111.13
34、胡琪琳.基于数据并行的深度神经网络加速方法研究D.咸阳:西北农林科技大学,2022.14 YAMAZAKI T,IGARASHI J.Realtime cerebellum:a large-scale spiking network model of the cerebellum that runs in realtime using a graphics processing unit J.Neural Netw,2013,47:103-111.15 LI H,YU D,KUMAR A,et al.Performance modeling in CUDA streamsA means for
35、 high-throughput data processing C/2014 IEEE international conference on big data(big data).Sydney:IEEE,2014:301-310.16 GOSUI M,YAMAZAKI T.Real-world-time simulation of memory consolidation in a large-scale cerebellar model J.Frontiers in neuroanatomy,2016,10:21.17 BEAR M F,MALENKA R C.Synaptic plas
36、ticity:LTP and LTD J.Current opinion in neurobiology,1994,4(3):389-399.(下转第 46 页)五邑大学学报(自然科学版)2023 年 46 12 TALMOR A,HERZIG J,LOURIE N,et al.CommonsenseQA:a question answering challenge targeting commonsense knowledge J.NAACL-HLT,2019:4149-4158.DOI:10.48550/arXiv.1811.00937.13 ZELLERS R,BISK Y,FARHAD
37、I A,et al.From recognition to cognition:visual commonsense reasoning C/Proceedings of the IEEE/CVF conference on computer vision and pattern recognition.Long Beach:CVPR,2019:6720-6731.DOI:10.48550/arXiv.1811.10830.14 ZHANG Y,WAN X.BiRdQA:a bilingual dataset for question qnswering on tricky riddles J
38、.National Conference on Artificial Intelligence,2022,36(10):11748-11756.DOI:10.48550/arXiv.2109.11087.15 SONG Y,SHI S,LI J,et al.Directional skip-gram:explicitly distinguishing left and right context for word embeddings J.North American Chapter of the Association for Computational Linguistics,2018,2
39、:175-180.16 XU F,ZHANG Y,WAN X.CC-Riddle:a question answering eataset of Chinese character riddles EB/OL.(2022-06-28)2022-08-18.https:/arxiv.org/abs/2206.13778.17 CLARK P,COWHEY I,ETZIONI O,et al.Think you have solved question answering?Try ARC,the AI2 reasoning challenge EB/OL.(2018-03-14)2022-03-1
40、0.https:/arxiv.org/abs/1803.05457 18 MIHAYLOV T,CLARK P,KHOT T,et al.Can a suit of armor conduct electricity?A new dataset for open book question answering EB/OL.(2018-09-08)2022-01-03.https:/arxiv.org/abs/1809.02789.19 DEVLIN J,CHANG M W,LEE K,et al.Bert:pre-training of deep bidirectional transform
41、ers for language understanding C/Proceedings of NAACL-HLT.Stroudsburg:ACL,2019:4171-4186.20 LIU Y,OTT M,GOYAL N,et al.RoBERTa:a robustly optimized BERT pretraining approach EB/OL.(2019-07-26)2022-03-19.https:/arxiv.org/abs/1907.11692.21 LAN Z,CHEN M,GOODMAN S,et al.ALBERT:a lite BERT for self-superv
42、ised learning of language representations EB/OL.(2019-09-26)2022-09-03.https:/arxiv.org/abs/1909.11942.责任编辑:韦 韬 (上接第37页)18 BURKITT A N.A review of the integrate-and-fire neuron model:I.Homogeneous synaptic input J.Biological cybernetics,2006,95(1):1-19.19 MATSUMOTO M,NISHIMURA T.Mersenne twister:a 6
43、23-dimensionally equidistributed uniform pseudo-random number generator J.ACM Transactions on Modeling and Computer Simulation(TOMACS),1998,8(1):3-30.20 BRACHA V,ZBARSKA S,PARKER K,et al.The cerebellum and eye-blink conditioning:learning versus network performance hypotheses J.Neuroscience,2009,162(3):787-796.21 YUSTER R,ZWICK U.Fast sparse matrix multiplication J.ACM Transactions On Algorithms(TALG),2005,1(1):2-13.责任编辑:韦 韬