基于虚拟突触思想的大规模视觉皮层神经网络仿真方法,涉及类脑计算、神经网络建模与仿真。使用“虚拟突触”的突触电导计算策略;降低各个状态变量计算过程中的独立性,借助CUDA运算平台对神经元参数更新进行多线程同步运行。“虚拟突触”的突触电导计算策略,“虚拟突触”是突触后神经元接收突触输入的整合,每一个突触后神经元拥有n条“虚拟突触”。本发明专利技术在对大规模神经网络进行仿真运算时,减少庞大的突触电流计算过程,降低各个状态变量计算过程中的独立性,以节省内存占用并降低时间消耗。以节省内存占用并降低时间消耗。以节省内存占用并降低时间消耗。
【技术实现步骤摘要】
基于虚拟突触思想的大规模视觉皮层神经网络仿真方法
[0001]本专利技术涉及类脑计算、神经网络建模与仿真,尤其涉及一种基于虚拟突触的大规模视觉皮层神经网络仿真方法。
技术介绍
[0002]大脑是生物的控制中心,包含10
11
数量级的神经元和10
14
数量级的突触结构,数量巨大的神经元和突触构成了极其复杂的生物神经网络。视觉是感知外部世界获取信息的最重要的途径之一。视网膜接收到光并转变为电信号,层层传递到大脑视觉皮层的各个脑区,进行更深入的加工处理,最终形成由神经活动表征的人们所意识到的画面。人类对初级视皮层(V1)中神经元的反应特性有相当多的了解。这些神经元同时对一系列不同的参数表现出刺激选择性,比如物体的位置、大小、形状和颜色。
[0003]神经科学的研究途径主要有两类:采用各种实验技术进行从微观分子到宏观行为、从动物脑到人脑功能的实验;使用数学分析、数值计算和计算机模拟等方法,从不同水平上对生物神经系统进行模拟和研究,从计算角度研究和探索脑的信息处理机制揭示脑神经系统的奥秘。一方面视觉神经生理学的一个重要目标是建立这些神经元的模型,以描述这种刺激选择性是如何产生的,最终将所有这些模型整合到一个单一的理论中,从而预测神经元和群体对任意刺激的反应。另一方面为了回答大脑里的神经活动如何引起视觉认知以及视觉认知相关的行为的问题,基于神经基质结构与功能关系的知识整合同样是神经信息学和数据驱动计算建模的主要目标之一。
[0004]然而,生物神经网络系统是复杂的非线性动力学系统,其复杂的神经元及突触动力学属性、错综复杂的网络连接拓扑结构、海量网络状态数据计算的相互耦合等特性给生物神经网络系统的建模及计算带来了极大的挑战,尤其是大规模生物神经网络仿真算法的时效性、并行实现等方面。如大规模生物神经网络仿真计算中,突触电流计算资源消耗是整个大规模仿真计算资源消耗的重要部分,如何有效减少庞大的突触电流计算过程的资源消耗是一个重要的难点问题;如何有效降低生物神经网络各个状态变量计算过程中的独立性,以提高仿真效率是另一个重要问题。
技术实现思路
[0005]本专利技术的目的是:提供了一种基于虚拟突触思想的大规模视觉皮层神经网络仿真方法,在对大规模神经网络进行仿真运算时,减少庞大的突触电流计算过程,降低各个状态变量计算过程中的独立性,以节省内存占用并降低时间消耗。
[0006]为了实现该目的,本专利技术提供了一种基于虚拟突触的大规模视觉皮层网络仿真算法。其中为了减少庞大的突触电流计算过程,本专利技术使用了“虚拟突触”的突触电导计算策略;为了降低各个状态变量计算过程中的独立性,本专利技术借助CUDA运算平台对神经元参数更新进行多线程同步运行。
[0007]为了减少庞大的突触电流计算过程,本专利技术使用了“虚拟突触”的突触电导计算策
略,“虚拟突触”是突触后神经元接收突触输入的整合,每一个突触后神经元拥有n条“虚拟突触”(n取决于网络所使用的突触类型数量)。神经元的总输入突触电流计算包含三个阶段,本策略针对这三个阶段进行优化:
[0008]第一阶段,在突触后神经元端,根据突触前神经元状态信息(放电序列、突触离子通道门开度序列)进行当前时钟步的单条突触离子门开度计算;针对这一阶段,考虑到突触权重与突触前神经元放电序列有关,而与当前时刻状态无关,本策略将突触权重的时间过程离散化,并只在突触前神经元放电时刻,根据具体突触的延迟,对突触后神经元“虚拟突触”的突触电导进行更新,避免了每个时刻的电导更新。
[0009]第二阶段,根据获取的突触参数(延时、最大电导)逐条突触进行单条突触电导计算;针对这一阶段,相同类型的突触具有相同的时间演化过程,因此“虚拟突触”整合了相同类型的突触输入,并进行同步时间演化,避免了对所有突触的逐条计算。
[0010]第三阶段,根据突触电导计算突触电流,将所有输入突触电流进行累计获得神经元总输入突触电流。考虑到突触电流计算时,只与突触后神经元有关,只需遍历累加自身的虚拟突触权重,避免突触电导系数在突触后神经元端的重复计算,简化计算过程。
[0011]同时,将突触电导计算从突触后神经元的电流计算中分离出来,使得突触电流计算过程中突触前后神经元状态的耦合度降低,增强了传统时钟驱动算法的并行性能,因此,“虚拟突触”概念模型的引入,降低了传统时钟驱动算法的计算资源消耗,提高了其算法的并行性能。
[0012]优选地,软件实现时,虚拟突触被设计为一个循环数组结构,数组长度由最大突触延时决定,并且存在一个指向数组当前位置的“标志”。“标志”指向的数组成员为当前时刻虚拟突触电导,每个时间步神经元据此计算输入电流,并根据当前时刻状态和突触电导的时间演化过程更新下一时刻的电导,然后该位置归零,“标志”后移一位。当突触前神经元产生动作电位,会对突触电导有一个修正作用,此修正量被记录在数组标志位后移突触延时对应位数的位置。
[0013]为了降低各个状态变量计算过程中的独立性,本专利技术借助CUDA运算平台对神经元参数更新进行多线程同步运行,算法结构和思想如下:
[0014]1)代表神经网络中神经元节点的类“Neuron”。它的成员变量记录了神经元膜电位和膜电位更新所需的各种参数、神经元接收和发出的突触连接结构和仿真过程中数据记录的结构。
[0015]2)代表神经网络中神经元发出突触的类“Synapse”。它的成员变量记录了突触的基础电导、延时和突触后神经元。
[0016]3)代表神经网络中神经元接收虚拟突触的类“VirtualSyn”。它的成员变量记录了突触电导循环数组及电导时间过程相关的参数。
[0017]由于虚拟突触条件下,输入电流的计算和膜电位的更新只与自身相关,因此每个Neuron的膜电位在GPU单个线程中同步进行;若神经元产生动作电位,则更新突触后神经元虚拟突触权重循环数组特定位置的修正量,为确保写内存安全,这里使用原子运算的方式。最后同步线程确保所有神经元状态完成更新且突触计算结束,进入下一个时间步的运算。
[0018]通过虚拟突触和CUDA同步运算,本专利技术简化了神经网络仿真中耗时最长的遍历突触计算突触权重和遍历神经元更新膜电位的两个过程,从而缩短了仿真时间,为突触连接
拓扑结构更为复杂的大规模神经元网络的仿真提供新的思路。
附图说明
[0019]图1是突触后神经元j的虚拟突触结构示意图。
[0020]图2是指数差突触电导同步衰减和局部修正的算法示意图。
[0021]图3是C++/CUDA软件实现的数据结构示意图。
[0022]图4是C++/CUDA软件实现的运行流程示意图。
具体实施方式
[0023]下面结合具体实施例,进一步阐述本专利技术。应理解,这些实施例仅用于说明本专利技术而不用于限制本专利技术的范围。此外应理解,在阅读了本专利技术讲授的内容之后,本领域技术人员可以对本专利技术作各种改动或修改,这些等价形式同样落于本申请所附权利要求书所限定的范围。
[0024]本本文档来自技高网...
【技术保护点】
【技术特征摘要】
1.一种基于虚拟突触思想的大规模视觉皮层神经网络仿真方法,其特征在于:使用“虚拟突触”的突触电导计算策略;降低各个状态变量计算过程中的独立性,借助CUDA运算平台对神经元参数更新进行多线程同步运行。2.根据权利要求1所述的大规模视觉皮层神经网络仿真方法,其特征在于:上述“虚拟突触”的突触电导计算策略,“虚拟突触”是突触后神经元接收突触输入的整合,每一个突触后神经元拥有n条“虚拟突触”。3.根据权利要求2所述的大规模视觉皮层神经网络仿真方法,其特征在于:上述神经元的总输入突触电流计算包含三个阶段,具体的:第一阶段,在突触后神经元端,根据突触前神经元状态信息进行当前时钟步的单条突触离子门开度计算;将突触权重的时间过程离散化,并只在突触前神经元放电时刻,根据具体突触的延迟,对突触后神经元“虚拟突触”的突触电导进行更新,避免了每个时刻的电导更新;第二阶段,根据获取的突触参数逐条突触进行单条突触电导计算;整合了相同类型的突触输入,并进行同步时间演化,避免了对所有突触的逐条计算;第三阶段,根据突触电导计算突触电流,将所有输入突触电流进行累计获得神经元总输入突触电流;遍历累加自身的虚拟突触权重,避免突触电导系数在突触后神经元端的重复计算,简化计算过程。4.根据权利要求3所述的大规模视觉皮层神经网络仿真方法,其特征在于:虚拟突触被设计为一个循环数组结构,数...
【专利技术属性】
技术研发人员:韩芳,杨豪,王直杰,王青云,
申请(专利权)人:东华大学,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。