CN113379043A - 一种脉冲神经网络 - Google Patents
一种脉冲神经网络 Download PDFInfo
- Publication number
- CN113379043A CN113379043A CN202010115259.6A CN202010115259A CN113379043A CN 113379043 A CN113379043 A CN 113379043A CN 202010115259 A CN202010115259 A CN 202010115259A CN 113379043 A CN113379043 A CN 113379043A
- Authority
- CN
- China
- Prior art keywords
- neuron
- voltage
- moment
- switch
- register
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/06—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
- G06N3/061—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using biological neurons, e.g. biological neurons connected to an integrated circuit
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Theoretical Computer Science (AREA)
- Molecular Biology (AREA)
- Neurology (AREA)
- Computational Linguistics (AREA)
- Artificial Intelligence (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- General Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Feedback Control In General (AREA)
Abstract
一种脉冲神经网络,包括神经元和控制器。所述神经元中包括多个寄存器和多个开关,所述多个开关中的每个开关用于控制所述多个寄存器中的部分寄存器之间的连通。所述控制器用于分别根据多个配置信息控制所述神经元中的多个开关,使得所述神经元根据连通的寄存器中存储的信息实现至少两种神经元模型。本申请提供的脉冲神经网络中的任意一个神经元可实现多种不同的神经网络模型,具有良好的通用性和灵活性。
Description
技术领域
本申请涉及神经网络领域,并且更具体地,涉及一种脉冲神经网络。
背景技术
人工智能(artificial intelligence,AI)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。换句话说,人工智能是计算机科学的一个分支,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。人工智能领域的研究包括机器人,自然语言处理,计算机视觉,决策与推理,人机交互,推荐与搜索,AI基础理论等。
脉冲神经网络(spiking neural network,SNN),作为一种新兴人工神经网络,其在信息处理方式和生物学模型上比传统人工神经网络更加接近真实的生物处理系统。脉冲神经网络中的每个神经元可以根据其实现膜电压累积方式的不同,将神经元分为多种类型的神经元模型。
传统的脉冲神经网络中,神经元只能实现一种神经元模型。该脉冲神经网络的通用性和灵活性较差。
发明内容
本申请提供一种脉冲神经网络,可以利用一种架构实现多种不同的神经网络模型,具有良好的通用性和灵活性。
第一方面,提供了一种脉冲神经网络,包括:神经元,该神经元中包括多个寄存器和多个开关,该多个开关中的每个开关用于控制该多个寄存器中的部分寄存器之间的连通;控制器,用于分别根据多个配置信息控制该神经元中的多个开关,使得该神经元根据连通的寄存器中存储的信息实现至少两种神经元模型。
可选的,该脉冲神经网络中的部分寄存器之间还包括放大器,上述配置信息中还可以包括配置放大器中的系数。
上述脉冲神经网络中,根据多种不同的神经元模型累积膜电压的工作原理确定多种配置信息,控制器根据配置信息去控制神经元中的多个开关状态以及配置放大器中的系数。使得控制器可以根据不同配置信息控制神经元实现不同的神经元模型,从而使得该脉冲神经网络具备良好的通用性和灵活性。
在一种可能的实现方式中,该至少两种神经元模型包括下述神经元模型中的至少两种:累积发放IF神经元模型、泄露累积发放LIF神经元模型、脉冲响应模型SRM、阈值电压可调整的神经元模型。
在另一种可能的实现方式中,该至少两种神经元模型包括该IF神经元模型,该神经元中包括第一开关、第一电压寄存器、第二电压寄存器以及第一电压调整寄存器;
该控制器,用于根据该多个配置信息中的第一配置信息控制该第一开关处于第一位置,其中,该第一开关处于该第一位置用于表示该神经元的输入端连接该第一电压寄存器的输入端,该神经元的输入端用于输入该神经元的输入脉冲;
该第一电压调整寄存器,用于存储该神经元在t-1时刻的电压调整值,该t-1时刻的电压调整值是根据该神经元在该t-1时刻是否发放脉冲确定的;
该第二电压寄存器,用于存储该神经元在该t-1时刻的膜电压;
该第一电压寄存器,用于根据该神经元在t时刻的输入脉冲、在该t-1时刻的膜电压以及该t-1时刻的电压调整值确定该神经元在该t时刻的膜电压,其中该t-1时刻为该t时刻的前一时刻。
在另一种可能的实现方式中,该至少两种神经元模型包括泄露累积发放LIF神经元模型,该神经元包括第一开关、第一电压寄存器、第二电压寄存器、第一电压调整寄存器以及电流输入模块,
该控制器,还用于根据该多个配置信息中的第二配置信息控制该第一开关处于第二位置,其中,该第一开关处于该第二位置用于表示该电流输入模块的输入端连接该神经元的输入端;
该第二电压寄存器,用于存储该神经元在t-1时刻的膜电压;
该第一电压调整寄存器,用于存储该神经元在t-1时刻的电压调整值;
该电流输入模块,用于存储该神经元在t-1时刻的输入电流,该在t-1时刻的输入电流是根据该神经元在t-1时刻的输入脉冲以及在t-2时刻的输入电流确定的;
该第一电压寄存器,用于根据该神经元在该t-1时刻的输入电流、在该t-1时刻的膜电压以及在该t-1时刻的电压调整值确定该神经元在该t时刻的膜电压。
在另一种可能的实现方式中,该至少两种神经元模型还包括脉冲响应模型SRM,该神经元还包括第二电压调整寄存器以及第二开关,
该控制器,还用于根据该多个配置信息中的第三配置信息控制该第一开关处于该第二位置以及控制该第二开关处于关闭状态,该第二开关处于关闭状态表示该第二电压调整寄存器和该第一电压调整寄存器连通;
该第二电压调整寄存器,用于根据该神经元在该t-1时刻是否发放脉冲以及该t-2时刻的电压调整值调整该神经元在该t-1时刻的电压调整值,并将该调整后的t-1时刻的电压调整值发送给该第一电压调整寄存器;
该第一电压调整寄存器,还用于存储该调整后的t-1时刻的电压调整值;
该第一电压寄存器,还用于根据该神经元在该t-1时刻的输入电流、在该t-1时刻的膜电压以及该调整后的t-1时刻的电压调整值确定该神经元在该t时刻的膜电压。
在另一种可能的实现方式中,该至少两种神经元模型还包括第一阈值电压可调整的IF神经元模型,该神经元中还包括阈值调整模块以及第三开关,
该控制器,还用于根据该多个配置信息中的第四配置信息控制该第一开关处于该第一位置、控制该第三开关处于关闭状态,其中,该第三开关处于关闭状态表示该阈值调整模块和该第一电压寄存器连通;
该阈值调整模块,用于存储该神经元在t-1时刻的第一阈值电压,该t-1时刻的第一阈值电压是根据该神经元在t-1时刻是否发放脉冲以及在t-2时刻的阈值电压确定的;
该第一电压寄存器,还用于根据该神经元在该t时刻的输入脉冲、在该t-1时刻的膜电压、该t-1时刻的电压调整值以及在该t-1时刻的第一阈值电压确定该神经元在该t时刻的膜电压。
在另一种可能的实现方式中,该至少两种神经元模型还包括第二阈值电压可调整的IF神经元模型,该神经元还包括第四开关,
该控制器,还用于根据该多个配置信息中的第五配置信息控制该第一开关处于该第一位置、控制该第三开关处于关闭状态、控制该第四开关处于关闭状态,该第四开关处于关闭状态用于表示该阈值调整模块与该第二电压寄存器连通;
该阈值调整模块,还用于存储该神经元在t-1时刻的第二阈值电压,该t-1时刻的第二阈值电压是根据该神经元在t-1时刻是否发放脉冲、在t-2时刻的阈值电压以及在该t-1时刻的膜电压确定的;
该第一电压寄存器,还用于根据该神经元在该t时刻的输入脉冲、在该t-1时刻的膜电压、该t-1时刻的电压调整值以及在该t-1时刻的第二阈值电压确定该神经元在该t时刻的膜电压。
在另一种可能的实现方式中,该至少两种神经元模型还包括第一阈值电压可调整的LIF神经元模型,该神经元中还包括阈值调整模块以及第三开关,
该控制器,还用于根据该多个配置信息中的第六配置信息控制该第一开关处于该第二位置、控制该第三开关处于关闭状态;
该阈值调整模块,用于存储该神经元在t-1时刻的第一阈值电压;
该第一电压寄存器,还用于根据该神经元在该t-1时刻的输入电流、在该t-1时刻的膜电压、在该t-1时刻的电压调整值以及在该t-1时刻的第一阈值电压确定该神经元在该t时刻的膜电压。
在另一种可能的实现方式中,该至少两种神经元模型还包括第二阈值电压可调整的LIF神经元模型,该神经元中还包括第四开关,
该控制器,还用于根据该多个配置信息中的第七配置信息控制该第一开关处于该第一位置、控制该第三开关处于关闭状态、控制该第四开关处于关闭状态;
该阈值调整模块,还用于存储该神经元在t-1时刻的第二阈值电压;
该第一电压寄存器,还用于根据该神经元在该t-1时刻的输入电流、在该t-1时刻的膜电压、在该t-1时刻的电压调整值以及在该t-1时刻的第二阈值电压确定该神经元在该t时刻的膜电压。
在另一种可能的实现方式中,该至少两种神经元模型还包括第一阈值电压可调整的SRM神经元模型,该神经元还包括阈值调整模块以及第三开关;
该控制器,还用于根据该多个配置信息中的第八配置信息控制该第一开关处于该第二位置、控制该第二开关处于关闭状态、控制该第三开关处于关闭状态;
该阈值调整模块,用于存储该神经元在t-1时刻的第一阈值电压;
该第一电压寄存器,还用于根据神经元在该t-1时刻的输入电流、在该t-1时刻的膜电压、该调整后的t-1时刻的电压调整值以及在该t-1时刻的第一阈值电压确定该神经元在该t时刻的膜电压。
在另一种可能的实现方式中,该至少两种神经元模型还包括第二阈值电压可调整的神经元模型,该神经元还包括第四开关,
该控制器,还用于根据该多个配置信息中的第九配置信息控制该第一开关处于该第二位置、控制该第二开关处于关闭状态、控制该第三开关处于关闭状态、以及控制该第四开关处于关闭状态;
该阈值调整模块,还用于存储该神经元在t-1时刻的第二阈值电压;
该第一电压寄存器,还用于根据神经元在该t-1时刻的输入电流、在该t-1时刻的膜电压、该调整后的t-1时刻的电压调整值以及在该t-1时刻的第二阈值电压确定该神经元在该t时刻的膜电压。
在另一种可能的实现方式中,在控制器根据多个配置信息控制每个该神经元中的多个开关之前,该控制器还用于接收该多个配置信息。
在另一种可能的实现方式中,该神经元还包括:
比较器,用于比较该第一电压寄存器中存储的该第一神经元在t时刻的膜电压;
脉冲发生器,用于在该比较器确定该第一神经元在t时刻的膜电压大于或等于阈值电压的情况下,产生一个脉冲,并向与该第一神经元连接的神经元发放该脉冲。
附图说明
图1是本申请实施例提供的一种可能的神经网络结构。
图2是本申请实施例提供的一种脉冲神经网络200的结构示意图。
图3是本申请实施例提供的一种通用的脉冲神经网络300的示意性结构图。
图4是本申请实施例提供的一种神经元301实现至少两种神经元模型的方法的示意性流程图。
具体实施方式
下面将结合附图,对本申请中的技术方案进行描述。
人工智能(artificial intelligence,AI)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。换句话说,人工智能是计算机科学的一个分支,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。人工智能领域的研究包括机器人,自然语言处理,计算机视觉,决策与推理,人机交互,推荐与搜索,AI基础理论等。
在机器学习和认知科学领域中,神经网络(neural network,NN)是一种模仿生物神经网络(动物的中枢神经系统,特别是大脑)的结构和功能的数学模型或计算模型,用于对函数进行估计或近似。生物大脑内部是由大量的神经元通过不同的连接方式组合而成,前一个神经元与后一个神经元之间是通过突触结构连接起来进行信息传递的。
图1示出了一种可能的神经网络结构。参见图1,该神经网络中可以包括多个节点,每个节点模拟一个神经元,用于执行某个特定运算,例如激活函数。前一个神经元与后一个神经元之间的连接模拟神经突触(synapse)。应理解,突触是两个神经元之间传递信息的载体,突触的权重值代表了两个神经元之间的连接强度。
脉冲神经网络(spiking neural network,SNN),经常被誉为第三代人工神经网络。脉冲神经网络作为一种新兴人工神经网络,其在信息处理方式和生物学模型上比传统人工神经网络更加接近真实的生物处理系统。因此其在运行过程中并行度更高、功耗更低等特性,使得它在未来模式识别、自然语言处理、复杂控制与最优化等领域有着更加广泛的应用。
脉冲神经网络中的神经元之间通过脉冲的形式进行信息的传递,是基于发生在某些时间点的离散值活动,而不是连续值。一个脉冲的发生是由代表各种生物处理过程的微分方程所决定,其中最重要的是神经元的膜电压。每一个神经元通过累积前序神经元的脉冲序列,其膜电压会随着的输入的脉冲而发生改变。当神经元的膜电压达到某一预设电压值,该神经元会被激活后会产生一个新的信号(例如,发放一个脉冲),并将该信号传递给与其连接的其他神经元。该神经元发放脉冲后,其膜电压会进行复位,并继续通过累积前序神经元的脉冲序列而改变神经元的膜电压。脉冲神经网络中的神经元通过上述方式实现信息的传递和处理,具有非线性、自适应以及容错性等信息处理能力。
应理解,SNN中的两个神经元之间可以采用一个突触连接,或者还可以采用多突触连接,本申请对此不做具体限定。每个突触上具有可修改的突触权值,突触前的神经元传递的多个脉冲可以根据突触权值的大小产生不同的突触后膜电压。
在利用SNN实现任务时,前序神经元的发放的脉冲通过一定的转换关系,形成后序神经元的输入电流,后序神经元接受输入电流使得该神经元的膜电压升高,当膜电压达到一定的阈值电压时,该神经元会产生一个新的脉冲传递至该神经元的后序神经元。同时神经元膜电压通过一定的规则进行复位。根据神经元上膜电压的累积方式、膜电压的复位方式、阈值电压的设置方式的不同,可以将SNN中的神经元分为不同的神经元模型。例如,累积发放(integrate and fire,IF)神经元模型、泄露累积发放(leaky integrate and fire,LIF)神经元模型、脉冲响应模型(spike response model,SRM)神经元模型、阈值可变的神经元模型。
具体的,IF神经元模型是指神经元膜电压通过固定方式累积前序脉冲,到达阈值电压后发放新的脉冲,并且将膜电压复位至静息电压的模型。LIF神经元模型是神经元膜电压在累积前序脉冲时,对于每一个脉冲,神经元累积的电压量随着时间间隔增加而递减,到达阈值电压后发放新的脉冲,并且将膜电压复位至静息电压的模型。SRM神经元模型是指通过动态的累积脉冲函数,以及动态的膜电压复位方式进行膜电压的变化的模型。阈值可变的神经元模型是指神经元的阈值电压根据当前神经元的脉冲发放历史情况进行相应的变化,从而使得阈值电压不固定的模型。
应理解,阈值可变的神经元模型可以和上述IF、LIF、SRM等模型结合,形成IF神经元模型、阈值可变的LIF神经元模型、阈值可变的SRM神经元模型等。
多样化的神经元给SNN的表达力、抗噪性、可迁移性等方向增加了许多有益效果,但是,传统的技术方案中,每个神经元只能实现一种神经元模型。因此,如何设计一种通用的脉冲神经网络,使得该脉冲神经网络中的每个神经元可以实现至少两种神经元模型成为亟需要解决的问题。
本申请实施例提供的一种通用的脉冲神经网络,该脉冲神经网络中的每个神经元可以实现至少两种神经元模型。
为了便于描述,下面先结合图2,对适用于本申请实施例的系统架构进行详细描述。
图2是本申请实施例提供的一种脉冲神经网络200的结构示意图。如图2所示,该脉冲神经网络200中可以包括:成帧器210、SNN前端220、管理单元240、SNN核心处理单元230、SNN后端250,上述模块通过快捷外设互联标准(peripheral component interconnectexpress,PCIE)总线进行连接。
成帧器210,用于接收外界传感器的输入信息,并将该输入信息输入至SNN前端220中。
SNN前端220,用于将所述成帧器210的输入信息转换为脉冲序列,并将该脉冲序列输入至SNN核心处理单元230。
SNN核心处理单元230,包括多个神经元(neural)单元231和多个路由器(router)232。其中,神经元单元231用于实现神经元膜电压的累积以及实现脉冲发放等功能。路由器232用于对神经元231发放的脉冲数据进行传输。
管理单元240,可以包括控制器241和存储器242。需要说明的是,除了图2所示的器件外,管理单元240还可以包括通信接口以及作为外存的磁盘等其他器件,在此不做限制。
控制器241是管理单元240的运算核心和控制核心(control unit)。控制器241中可以包括多个处理器核(core)。控制器241可以是一块超大规模的集成电路。在控制器241中安装有软件程序,从而使得控制器241能够实现对存储器242、缓存、磁盘及外设设备(如图2中的SNN核心处理单元230)的访问。
可以理解的是,在本申请实施例中,控制器241中的core例如可以是中央处理器(central processing unit,CPU),还可以是其他特定集成电路(application specificintegrated circuit,ASIC)。
应理解,本申请实施例中的控制器241还可以为其他通用处理器、数字信号处理器(digital signal processor,DSP)、专用集成电路(application specific integratedcircuit,ASIC)、现成可编程门阵列(field programmable gate array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
存储器242通过双倍速率(double data rate,DDR)总线和控制器241相连。存储器242通常用来存放输入和输出数据等。为了提高控制器241的访问速度,存储器242需要具备访问速度快的优点。在传统的计算机系统架构中,通常采用动态随机存取存储器(dynamicrandom access memory,DRAM)作为存储器242。控制器241能够通过内存控制器(图2中未示出)高速访问存储器242,对存储器242中的任意一个存储单元进行读操作和写操作。
还应理解,本申请实施例中的存储器242可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(read-only memory,ROM)、可编程只读存储器(programmable ROM,PROM)、可擦除可编程只读存储器(erasable PROM,EPROM)、电可擦除可编程只读存储器(electrically EPROM,EEPROM)或闪存。易失性存储器可以是随机存取存储器(random access memory,RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的随机存取存储器(random accessmemory,RAM)可用,例如静态随机存取存储器(static RAM,SRAM)、动态随机存取存储器(DRAM)、同步动态随机存取存储器(synchronous DRAM,SDRAM)、双倍数据速率同步动态随机存取存储器(double data rate SDRAM,DDR SDRAM)、增强型同步动态随机存取存储器(enhanced SDRAM,ESDRAM)、同步连接动态随机存取存储器(synchlink DRAM,SLDRAM)和直接内存总线随机存取存储器(direct rambus RAM,DR RAM)。
SNN后端250,用于对SNN核心处理单元230输出的结果输入至成帧器210。
成帧器210,还用于对SNN核心处理单元230输出的结果进行解码。
本申请实施例中,SNN核心处理单元230的每个神经元231中可包括多个寄存器和多个开关,该开关用于控制该多个寄存器中的部分寄存器之间的连通。管理单元240的控制器241还可接收到用户发送的多个配置信息,根据该多个配置信息能够去控制每个所述神经元中的多个开关,从而控制每个神经元231实现至少两种神经元模型,使得脉冲神经网络具有良好的通用性和灵活性。
下面结合图3,对本申请实施例提供的一种通用的脉冲神经网络进行详细描述。
图3是本申请实施例提供的一种通用的脉冲神经网络300的示意性结构图。如图3所示,该脉冲神经网络300中包括:SNN核心处理单元230以及控制器241。
SNN核心处理单元230,包括至少两个神经元,每个所述神经元中包括多个寄存器和多个开关,所述开关用于控制所述多个寄存器中的部分寄存器之间是否连通。
控制器241,用于根据多个配置信息控制每个神经元中的多个开关,使得每个神经元实现至少两种神经元模型,每个配置信息中包括对每个神经元中的每个开关的控制信号。
为了便于描述,图3中神经元301为例进行说明。神经元301是SNN核心处理单元230中多个神经元中的任意一个。
参见图3,该神经元301中可以包括:电流输入模块310(包括第一电流输入寄存器311,第二电流寄存器312)、第一电压调整寄存器320、第二电压调整寄存器330、阈值调整模块340(包括第一阈值调整寄存器341、第二阈值调整寄存器342)、第一电压寄存器350、第二电压寄存器360、比较器370、脉冲产生器380。
其中,神经元301的输入端与第一电压寄存器350、电流输入模块310之间设置有第一开关,第一电压调整寄存器320和第二电压调整寄存器330之间设置有第二开关,阈值调整模块340与第一电压寄存器350之间设置有第三开关,第二电压寄存器360和第二阈值调整寄存器342之间有第四开关。
第一电流输入寄存器311,用于存储神经元301在上一时刻的输入电流,以便于神经元301根据上一时刻的输入电流计算当前时刻的膜电压。
第二电流寄存器312,用于根据神经元301在当前时刻的输入脉冲、上一时刻的输入电流计算当前时刻的电流输入。并将该当前时刻的电流输入传递至第一电流输入寄存器311中,以便于神经元301在下一时刻,根据第一电流输入寄存器311中存储的当前时刻的电流输入计算下一时刻的膜电压。
应理解,当前时刻的电流输入传递至第一电流输入寄存器311中,可以是在第一电流输入寄存器311中通过当前时刻的电流输入覆盖存储的上一时刻的输入电流。使得第一电流输入寄存器311中可以存储当前时刻的电流输入,以便于神经元301计算下一时刻的膜电压。
第一电压调整寄存器320,用于存储神经元301在上一时刻的电压调整值,以便于神经元301根据上一时刻的电压调整值计算当前时刻的膜电压。
第二电压调整寄存器330,如果与第一电压调整寄存器320之间的第二开关处于打开状态,第二电压调整寄存器330和第一电压调整寄存器320不连通,第二电压调整寄存器330用于根据脉冲产生器380的输出确定当前时刻的电压调整值。如果与第一电压调整寄存器320之间的第二开关处于闭合状态,第二电压调整寄存器330和第一电压调整寄存器320连通,所述第二电压调整寄存器330用于根据脉冲产生器380的输出以及神经元301在上一时刻的电压调整值确定当前时刻的电压调整值。第二电压调整寄存器330还可将计算的当前时刻的电压调整值传递至第一电压调整寄存器320中,以便于神经元301在下一时刻,根据当前时刻的电压调整值计算下一时刻的膜电压。
应理解,如果脉冲产生器380发放一个脉冲之后,该脉冲发生器380的输出为1,神经元301上的膜电压会根据预先设定的规则进行复位和调整,并进行下一时刻的膜电压积累。如果脉冲产生器380不发放脉冲,该脉冲发生器380的输出为0,神经元301上的膜电压不会进行复位和调整,而是继续根据输入脉冲进行膜电压累积。
第一阈值调整寄存器341,用于存储神经元301在上一时刻的阈值调整值,以便于神经元301根据上一时刻的阈值调整值计算当前时刻的膜电压。
第二阈值调整寄存器342,用于根据神经元301脉冲产生器380的输出以及神经元301在上一时刻的阈值调整值计算当前时刻的阈值调整值。并将该当前时刻的阈值调整值传递至第一阈值调整寄存器341中,以便于神经元301在下一时刻,根据第一阈值调整寄存器341中存储的当前时刻的阈值调整值计算下一时刻的膜电压。
还需要说明的是,第一阈值调整寄存器341和第二阈值调整寄存器342是可选的。也就是说,神经元301发放脉冲后,神经元301的阈值电压可以保持不变,也可根据发放脉冲的历史进行阈值电压的调整。
第二电压寄存器360,用于存储神经元301在上一时刻的膜电压。
第一电压寄存器350,用于根据输入信息以及上一时刻的膜电压进行当前时刻的膜电压计算,具体的输入信息与神经元301实现的神经元模型有关,后面会结合具体的神经元模型对第一电压寄存器350计算当前时刻的膜电压的实现方式进行详细描述,此处不再赘述。第一电压寄存器350还会将当前时刻的膜电压传递至第二电压寄存器360中,以便于神经元301在下一时刻,根据第二电压寄存器360中存储的当前时刻的膜电压计算下一时刻的膜电压。
比较器370,存储有阈值电压,用于比较第一电压寄存器350输出的膜电压和阈值电压。
脉冲产生器380,如果膜电压小于当前的阈值电压,脉冲产生器380不会产生脉冲。该神经元中的第一电压寄存器350继续根据输入信息进行膜电压的累积。如果膜电压大于或等于当前的阈值电压,脉冲产生器380会产生一个脉冲,并将该脉冲传递至与其连接的下一个神经元。
下面先结合图4,对神经元301如何实现至少两种神经元模型的方法进行详细描述。
图4是本申请实施例提供的一种神经元301实现至少两种神经元模型的方法的示意性流程图。如图4所示,该方法包括步骤410-430,下面分别对步骤410-430进行详细描述。
步骤410:确定神经元301所想要实现的神经元模型。
步骤420:根据上述神经元模型的定义确定配置信息。
本申请实施例中可以根据确定的神经元301所想要实现的神经元模型的定义和神经元统一的微分方程组确定配置信息,该配置信息中包括神经元301中每个开关的控制信号。
本申请实施例中可以基于表1,根据神经元301所实现的神经元模型的不同,选择第一开关、第二开关、第三开关、第四开关的状态。
表1不同神经元模型对应不同的开关状态
在实际使用时,控制器241可以根据第一开关、第二开关、第三开关、第四开关的状态,使得神经元301实现至少两种不同的神经元模型。
第一开关,处于0状态表示该开关处于第一位置,使得神经元301的输入端连接第一电压寄存器350的输入端。处于1状态表示该开关处于第二位置,使得神经元301的输入端连接电流输入模块310。应理解,神经元301的输入端用于输入神经元301的输入脉冲。
第二开关,处于0状态表示该开关处于打开状态,使得第二电压调整寄存器330和第一电压调整寄存器320之间不连通。处于1状态表示该开关处于关闭状态,使得第二电压调整寄存器330和第一电压调整寄存器320之间连通。
第三开关,处于0状态表示该开关处于打开状态,使得阈值调整模块340和第一电压寄存器350之间不连通。处于1状态表示该开关处于关闭状态,使得阈值调整模块340和第一电压寄存器350之间连通。
第四开关,处于0状态表示该开关处于打开状态,使得阈值调整模块340和第二电压寄存器360之间不连通。处于1状态表示该开关处于关闭状态,使得阈值调整模块340和第二电压寄存器360之间连通。
参见表1,如果第一开关、第二开关、第三开关、第四开关均处于0状态,神经元301可实现IF神经元模型。如果第一开关处于1状态,其余的第二开关、第三开关、第四开关处于0状态,神经元301可实现LIF神经元模型。如果第一开关、第二开关处于1状态,其余的第三开关、第四开关处于0状态,神经元301可实现SRM神经元模型。
如果第三开关处于1状态,神经元301可实现一种可能的阈值可调整的神经元模型。如果第三开关和第四开关均处于1状态,神经元301可实现另一种可能的阈值可调整的神经元模型。该阈值可调整的神经元模型可以和上述IF神经元模型、LIF神经元模型、SRM神经元模型结合,形成阈值可调整的IF神经元模型、阈值可调整的LIF神经元模型、阈值可调整的SRM神经元模型等。有关实现上述各种可调整的神经元模型的开关状态,可参见表1中的描述,此处不再赘述。
可选的,在一些实施例中,神经元301中部分寄存器之间还包括放大器。上述配置信息中还包括放大器中的参数。
下面可以通过公式(1)-公式(2)确定配置信息中的参数。
本申请中,可以将神经元模型统一成如下的微分方程组模型。
其中,Iin反应神经元301的输入脉冲;
Iout反应神经元301在产生脉冲之后膜电压的变化情况;
Iad反应阈值电压的变化情况;
V反应神经元301上的膜电压的累积情况。
(Iin)`表示Iin的导数,(Iout)`表示Iout的导数,(Iad)'表示Iad的导数,(V)`表示V的导数。
公式(1)中,等式右边的参数均为神经元模型所决定,选择好确定的神经元模型后,右边的参数就唯一确定(Wi除外)。Wi为前序神经元与当前神经元连接的突触权重,是由SNN训练算法得到。
在得到神经元模型后,可以求得神经元的膜电压V的计算方式为如下公式(2)。
其中,a0,ac,ak,ak,v,p1,p2,p3,p4等参数均由公式(1)带入eAΔt计算得到,A为公式(1)中的矩阵。
步骤430:控制器241根据多种配置信息配置使得神经元301实现多种不同的神经元模型。
第一种可能实现的方式中,控制器241接收到配置信息1,并根据该配置信息1控制神经元301中的多个开关。该配置信息1指示控制第一开关、第二开关、第三开关以及第四开关均处于0状态,以便于控制神经元301实现IF神经元模型。
在这种实现方式中,神经元301中第一电压寄存器350的输入包括神经元301的输入端、第一电压调整寄存器320、第二电压寄存器360。其中,神经元301的输入端输入在t时刻的输入脉冲,第一电压调整寄存器320中存储有神经元301在t-1时刻的电压调整值,第二电压寄存器360中存储有神经元301在t-1时刻的膜电压。
第一电压寄存器350根据神经元301在t时刻的输入脉冲、在所述t-1时刻的膜电压以及所述t-1时刻的电压调整值确定所述神经元301在所述t时刻的膜电压。所述t-1时刻为所述t时刻的前一时刻。
应理解,第一电压调整寄存器320中存储的神经元301在t-1时刻的电压调整值是第二电压调整寄存器330在t-1时刻传输的。其中,所述第二电压调整寄存器330用于在t-1时刻,根据t-1时刻神经元301中的脉冲发送器380是否发放脉冲确定t-1时刻的电压调整值。
也就是说,如果神经元301在t-1时刻不发放脉冲,脉冲发送器380的输出为0,神经元301在t-1时刻的电压调整值为0,神经元301上的膜电压不进行电压调整和复位,继续在下一时刻累积膜电压。如果神经元301在t-1时刻发放一个脉冲,脉冲发送器380的输出为1,神经元301在t-1时刻的电压调整值不为0,神经元301上的膜电压在上一时刻发放脉冲之后会进行调整和复位。
第二种可能的实现方式中,控制器241接收到配置信息2,并根据该配置信息2控制神经元301中的多个开关。该配置信息2指示控制第一开关处于1状态,其余的第二开关、第三开关以及第四开关均处于0状态,以便于控制神经元301实现LIF神经元模型。
在这种实现方式中,神经元301中第一电压寄存器350的输入包括电流输入模块310、第一电压调整寄存器320、第二电压寄存器360。其中,电流输入模块310中的第一电流输入寄存器311中存储有神经元301在t-1时刻的输入电流,第一电压调整寄存器320中存储有神经元301在t-1时刻的电压调整值,第二电压寄存器360中存储有神经元301在t-1时刻的膜电压。
第一电压寄存器350根据神经元301在t-1时刻的输入电流、在t-1时刻的膜电压以及在t-1时刻的电压调整值确定神经元301在所述t时刻的膜电压。
应理解,第一电流输入寄存器311中存储的神经元301在t-1时刻的输入电流是第二电流输入寄存器312在t-1时刻传输的。其中,第二电流输入寄存器312用于在t-1时刻根据神经元301在t-1时刻的输入脉冲以及t-2时刻的输入电流确定在t-1时刻的输入电流。
还应理解,第一电流输入寄存器311在t-1时刻中存储有所述t-2时刻的输入电流。
第三种可能的实现方式中,控制器241接收到配置信息3,并根据该配置信息3控制神经元301中的多个开关。该配置信息3指示控制第一开关、第二开关处于1状态,其余的第三开关以及第四开关均处于0状态,以便于控制神经元301实现SRM神经元模型。
在这种实现方式中,神经元301中第一电压寄存器350的输入包括电流输入模块、第一电压调整寄存器320、第二电压寄存器360。其中,电流输入模块310中的第一电流输入寄存器311中存储有神经元301在t-1时刻的输入电流,第一电压调整寄存器320中存储有神经元301在t-1时刻的电压调整值,第二电压寄存器360中存储有神经元301在t-1时刻的膜电压。
第一电压寄存器350根据神经元301在t-1时刻的输入电流、在t-1时刻的膜电压以及在t-1时刻的电压调整值确定神经元301在所述t时刻的膜电压。
应理解,第一电压调整寄存器320与第二电压调整寄存器330之间连通,第一电压调整寄存器320中存储的神经元301在t-1时刻的电压调整值是第二电压调整寄存器330在t-1时刻传输的。其中,所述第二电压调整寄存器330用于在t-1时刻根据t-1时刻神经元301中的脉冲发送器380是否发放脉冲以及t-2时刻的电压调整值确定t-1时刻的电压调整值。
还应理解,第一电压调整寄存器320在t-1时刻中存储有t-2时刻的电压调整值。
第四种可能的实现方式中,可以通过控制器241控制第三开关处于1状态,实现阈值可调整的各种神经元模型。
1、控制器241控制神经元301实现阈值可调整的IF神经元模型。
一种示例,控制器241接收到配置信息4,并根据该配置信息4控制神经元301中的多个开关。该配置信息4指示控制第三开关处于1状态,其余的第一开关、第二开关以及第四开关均处于0状态,以便于控制神经元301实现阈值可调整的IF1神经元模型。
在这种实现方式中,神经元301中第一电压寄存器350的输入包括神经元301的输入端、第一电压调整寄存器320、第二电压寄存器360以及阈值调整模块340。其中,神经元301的输入端输入在t时刻的输入脉冲,第一电压调整寄存器320中存储有神经元301在t-1时刻的电压调整值,第二电压寄存器360中存储有神经元301在t-1时刻的膜电压、阈值调整模块340中的第一阈值调整寄存器341中存储神经元301在t-1时刻的阈值调整值。
第一电压寄存器350根据神经元301在t时刻的输入脉冲、在所述t-1时刻的膜电压以及所述t-1时刻的电压调整值确定所述神经元301在所述t时刻的膜电压。所述t-1时刻为所述t时刻的前一时刻。
应理解,第一阈值调整寄存器341中存储的神经元301在t-1时刻的阈值调整值是第二阈值调整寄存器342传输的。其中,第二阈值调整寄存器342根据神经元301中的脉冲发送器380是否发放脉冲确定t-1时刻的阈值调整值。
另一种示例,控制器241接收到配置信息4`,并根据该配置信息4`控制神经元301中的多个开关。该配置信息4`指示控制第三开关、第四开关处于1状态,其余的第一开关、第二开关均处于0状态,以便于控制神经元301实现阈值可调整的IF2神经元模型。
在这种实现方式中,神经元301中第一电压寄存器350的输入包括神经元301的输入端、第一电压调整寄存器320、第二电压寄存器360以及阈值调整模块340。第一电压寄存器350根据神经元301在t时刻的输入脉冲、在所述t-1时刻的膜电压以及所述t-1时刻的电压调整值确定所述神经元301在所述t时刻的膜电压。所述t-1时刻为所述t时刻的前一时刻。
其中,第一阈值调整寄存器341中存储的神经元301在t-1时刻的阈值调整值是第二阈值调整寄存器342在t-1时刻传输的。第二阈值调整寄存器342根据神经元301中的脉冲发送器380是否发放脉冲确定t-1时刻的阈值调整值以及t-2时刻的阈值调整值确定在t-1时刻的阈值调整值。
应理解,第一阈值调整寄存器341在t-1时刻中存储有所述t-2时刻的阈值调整值。
2、控制器241控制神经元301实现阈值可调整的LIF神经元模型。
一种示例,控制器241接收到配置信息5,并根据该配置信息5控制神经元301中的多个开关。该配置信息5指示控制第一开关、第三开关处于1状态,其余的第二开关、第四开关均处于0状态,以便于控制神经元301实现阈值可调整的LIF1神经元模型。
在这种实现方式中,神经元301中第一电压寄存器350的输入包括电流输入模块310、第一电压调整寄存器320、第二电压寄存器360以及阈值调整模块340。第一电压寄存器350根据神经元301在t-1时刻的输入电流、在t-1时刻的膜电压、在t-1时刻的电压调整值以在t-1时刻的阈值调整值确定神经元301在所述t时刻的膜电压。
应理解,第一阈值调整寄存器341中存储的神经元301在t-1时刻的阈值调整值是第二阈值调整寄存器342传输的。其中,第二阈值调整寄存器342根据神经元301中的脉冲发送器380是否发放脉冲确定t-1时刻的阈值调整值。
另一种示例,控制器241接收到配置信息5`,并根据该配置信息5`控制神经元301中的多个开关。该配置信息5`指示控制第一开关、第三开关、第四开关处于1状态,第二开关处于0状态,以便于控制神经元301实现阈值可调整的LIF2神经元模型。
在这种实现方式中,神经元301中第一电压寄存器350的输入包括电流输入模块310、第一电压调整寄存器320、第二电压寄存器360以及阈值调整模块340。第一电压寄存器350根据神经元301在t-1时刻的输入电流、在t-1时刻的膜电压、在t-1时刻的电压调整值以及在t-1时刻的阈值调整值确定神经元301在所述t时刻的膜电压。
第一阈值调整寄存器341中存储的神经元301在t-1时刻的阈值调整值是第二阈值调整寄存器342在t-1时刻传输的。其中,第二阈值调整寄存器342根据神经元301中的脉冲发送器380是否发放脉冲确定t-1时刻的阈值调整值以及t-2时刻的阈值调整值确定在t-1时刻的阈值调整值。
3、控制器241控制神经元301实现阈值可调整的SRM神经元模型。
一种示例,控制器241接收到配置信息6,并根据该配置信息6控制神经元301中的多个开关。该配置信息6指示控制第一开关、第二开关、第三开关均处于1状态,第四开关处于0状态,以便于控制神经元301实现阈值可调整的SRM1神经元模型。
在这种实现方式中,神经元301中第一电压寄存器350的输入包括电流输入模块、第一电压调整寄存器320、第二电压寄存器360以及阈值调整模块340。第一电压寄存器350根据神经元301在t-1时刻的输入电流、在t-1时刻的膜电压在t-1时刻的电压调整值以及在t-1时刻的阈值调整值确定神经元301在所述t时刻的膜电压。
其中,第一阈值调整寄存器341中存储的神经元301在t-1时刻的阈值调整值是第二阈值调整寄存器342传输的。其中,第二阈值调整寄存器342根据神经元301中的脉冲发送器380是否发放脉冲确定t-1时刻的阈值调整值。
另一种示例,控制器241接收到配置信息6`,并根据该配置信息6`控制神经元301中的多个开关。该配置信息6`指示控制第一开关、第二开关、第三开关、第四开关均处于1状态,以便于控制神经元301实现阈值可调整的SRM2神经元模型。
第一阈值调整寄存器341中存储的神经元301在t-1时刻的阈值调整值是第二阈值调整寄存器342在t-1时刻传输的。其中,第二阈值调整寄存器342根据神经元301中的脉冲发送器380是否发放脉冲确定t-1时刻的阈值调整值以及t-2时刻的阈值调整值确定在t-1时刻的阈值调整值。
需要说明的是,上述实施例是以实现t时刻的神经元模型为例,实际应用中,神经元301可以在上述t时刻实现一种神经元模型,在t1时刻实现另一种神经元模型,或者,也可以在上述t时刻根据一种配置信息实现一种神经元模型,或在t时刻根据另一种配置信息实现另一种神经元模型,本申请对此不做具体限定。
应理解,在本申请的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
在本申请所提供的几个实施例中,应该理解到,以上所描述的脉冲神经网络实施例仅仅是示意性的,例如,该单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口。
该作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
该功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例该方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(read-only memory,ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上该,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以该权利要求的保护范围为准。
Claims (11)
1.一种脉冲神经网络,其特征在于,包括:
神经元,所述神经元中包括多个寄存器和多个开关,所述多个开关中的每个开关用于控制所述多个寄存器中的部分寄存器之间的连通;
控制器,用于分别根据多个配置信息控制所述神经元中的多个开关,使得所述神经元根据连通的寄存器中存储的信息实现至少两种神经元模型。
2.根据权利要求1所述的脉冲神经网络,其特征在于,所述至少两种神经元模型包括下述神经元模型中的至少两种:累积发放IF神经元模型、泄露累积发放LIF神经元模型、脉冲响应模型SRM、阈值电压可调整的神经元模型。
3.根据权利要求2所述的脉冲神经网络,其特征在于,所述至少两种神经元模型包括所述IF神经元模型,所述神经元中包括第一开关、第一电压寄存器、第二电压寄存器以及第一电压调整寄存器;
所述控制器,用于根据所述多个配置信息中的第一配置信息控制所述第一开关处于第一位置,其中,所述第一开关处于所述第一位置用于表示所述神经元的输入端连接所述第一电压寄存器的输入端,所述神经元的输入端用于输入所述神经元的输入脉冲;
所述第一电压调整寄存器,用于存储所述神经元在t-1时刻的电压调整值,所述t-1时刻的电压调整值是根据所述神经元在所述t-1时刻是否发放脉冲确定的;
所述第二电压寄存器,用于存储所述神经元在所述t-1时刻的膜电压;
所述第一电压寄存器,用于根据所述神经元在t时刻的输入脉冲、在所述t-1时刻的膜电压以及所述t-1时刻的电压调整值确定所述神经元在所述t时刻的膜电压,其中所述t-1时刻为所述t时刻的前一时刻。
4.根据权利要求2所述的脉冲神经网络,其特征在于,所述至少两种神经元模型包括泄露累积发放LIF神经元模型,所述神经元包括第一开关、第一电压寄存器、第二电压寄存器、第一电压调整寄存器以及电流输入模块,
所述控制器,还用于根据所述多个配置信息中的第二配置信息控制所述第一开关处于第二位置,其中,所述第一开关处于所述第二位置用于表示所述电流输入模块的输入端连接所述神经元的输入端;
所述第二电压寄存器,用于存储所述神经元在t-1时刻的膜电压;
所述第一电压调整寄存器,用于存储所述神经元在t-1时刻的电压调整值;
所述电流输入模块,用于存储所述神经元在t-1时刻的输入电流,所述在t-1时刻的输入电流是根据所述神经元在t-1时刻的输入脉冲以及在t-2时刻的输入电流确定的;
所述第一电压寄存器,用于根据所述神经元在所述t-1时刻的输入电流、在所述t-1时刻的膜电压以及在所述t-1时刻的电压调整值确定所述神经元在所述t时刻的膜电压。
5.根据权利要求4所述的脉冲神经网络,其特征在于,所述至少两种神经元模型还包括脉冲响应模型SRM,所述神经元还包括第二电压调整寄存器以及第二开关,
所述控制器,还用于根据所述多个配置信息中的第三配置信息控制所述第一开关处于所述第二位置以及控制所述第二开关处于关闭状态,所述第二开关处于关闭状态表示所述第二电压调整寄存器和所述第一电压调整寄存器连通;
所述第二电压调整寄存器,用于根据所述神经元在所述t-1时刻是否发放脉冲以及所述t-2时刻的电压调整值调整所述神经元在所述t-1时刻的电压调整值,并将所述调整后的t-1时刻的电压调整值发送给所述第一电压调整寄存器;
所述第一电压调整寄存器,还用于存储述调整后的t-1时刻的电压调整值;
所述第一电压寄存器,还用于根据所述神经元在所述t-1时刻的输入电流、在所述t-1时刻的膜电压以及所述调整后的t-1时刻的电压调整值确定所述神经元在所述t时刻的膜电压。
6.根据权利要求3所述的脉冲神经网络,其特征在于,所述至少两种神经元模型还包括第一阈值电压可调整的IF神经元模型,所述神经元中还包括阈值调整模块以及第三开关,
所述控制器,还用于根据所述多个配置信息中的第四配置信息控制所述第一开关处于所述第一位置、控制所述第三开关处于关闭状态,其中,所述第三开关处于关闭状态表示所述阈值调整模块和所述第一电压寄存器连通;
所述阈值调整模块,用于存储所述神经元在t-1时刻的第一阈值电压,所述t-1时刻的第一阈值电压是根据所述神经元在t-1时刻是否发放脉冲以及在t-2时刻的阈值电压确定的;
所述第一电压寄存器,还用于根据所述神经元在所述t时刻的输入脉冲、在所述t-1时刻的膜电压、所述t-1时刻的电压调整值以及在所述t-1时刻的第一阈值电压确定所述神经元在所述t时刻的膜电压。
7.根据权利要求6所述的脉冲神经网络,其特征在于,所述至少两种神经元模型还包括第二阈值电压可调整的IF神经元模型,所述神经元还包括第四开关,
所述控制器,还用于根据所述多个配置信息中的第五配置信息控制所述第一开关处于所述第一位置、控制所述第三开关处于关闭状态、控制所述第四开关处于关闭状态,所述第四开关处于关闭状态用于表示所述阈值调整模块与所述第二电压寄存器连通;
所述阈值调整模块,还用于存储所述神经元在t-1时刻的第二阈值电压,所述t-1时刻的第二阈值电压是根据所述神经元在t-1时刻是否发放脉冲、在t-2时刻的阈值电压以及在所述t-1时刻的膜电压确定的;
所述第一电压寄存器,还用于根据所述神经元在所述t时刻的输入脉冲、在所述t-1时刻的膜电压、所述t-1时刻的电压调整值以及在所述t-1时刻的第二阈值电压确定所述神经元在所述t时刻的膜电压。
8.根据权利要求4所述的脉冲神经网络,其特征在于,所述至少两种神经元模型还包括第一阈值电压可调整的LIF神经元模型,所述神经元中还包括阈值调整模块以及第三开关,
所述控制器,还用于根据所述多个配置信息中的第六配置信息控制所述第一开关处于所述第二位置、控制所述第三开关处于关闭状态;
所述阈值调整模块,用于存储所述神经元在t-1时刻的第一阈值电压;
所述第一电压寄存器,还用于根据所述神经元在所述t-1时刻的输入电流、在所述t-1时刻的膜电压、在所述t-1时刻的电压调整值以及在所述t-1时刻的第一阈值电压确定所述神经元在所述t时刻的膜电压。
9.根据权利要求8所述的脉冲神经网络,其特征在于,所述至少两种神经元模型还包括第二阈值电压可调整的LIF神经元模型,所述神经元中还包括第四开关,
所述控制器,还用于根据所述多个配置信息中的第七配置信息控制所述第一开关处于所述第一位置、控制所述第三开关处于关闭状态、控制所述第四开关处于关闭状态;
所述阈值调整模块,还用于存储所述神经元在t-1时刻的第二阈值电压;
所述第一电压寄存器,还用于根据所述神经元在所述t-1时刻的输入电流、在所述t-1时刻的膜电压、在所述t-1时刻的电压调整值以及在所述t-1时刻的第二阈值电压确定所述神经元在所述t时刻的膜电压。
10.根据权利要求5所述的脉冲神经网络,其特征在于,所述至少两种神经元模型还包括第一阈值电压可调整的SRM神经元模型,所述神经元还包括阈值调整模块以及第三开关;
所述控制器,还用于根据所述多个配置信息中的第八配置信息控制所述第一开关处于所述第二位置、控制所述第二开关处于关闭状态、控制所述第三开关处于关闭状态;
所述阈值调整模块,用于存储所述神经元在t-1时刻的第一阈值电压;
所述第一电压寄存器,还用于根据神经元在所述t-1时刻的输入电流、在所述t-1时刻的膜电压、所述调整后的t-1时刻的电压调整值以及在所述t-1时刻的第一阈值电压确定所述神经元在所述t时刻的膜电压。
11.根据权利要求10所述的脉冲神经网络,其特征在于,所述至少两种神经元模型还包括第二阈值电压可调整的神经元模型,所述神经元还包括第四开关,
所述控制器,还用于根据所述多个配置信息中的第九配置信息控制所述第一开关处于所述第二位置、控制所述第二开关处于关闭状态、控制所述第三开关处于关闭状态、以及控制所述第四开关处于关闭状态;
所述阈值调整模块,还用于存储所述神经元在t-1时刻的第二阈值电压;
所述第一电压寄存器,还用于根据神经元在所述t-1时刻的输入电流、在所述t-1时刻的膜电压、所述调整后的t-1时刻的电压调整值以及在所述t-1时刻的第二阈值电压确定所述神经元在所述t时刻的膜电压。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010115259.6A CN113379043A (zh) | 2020-02-25 | 2020-02-25 | 一种脉冲神经网络 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010115259.6A CN113379043A (zh) | 2020-02-25 | 2020-02-25 | 一种脉冲神经网络 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113379043A true CN113379043A (zh) | 2021-09-10 |
Family
ID=77568430
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010115259.6A Pending CN113379043A (zh) | 2020-02-25 | 2020-02-25 | 一种脉冲神经网络 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113379043A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115545190A (zh) * | 2022-12-01 | 2022-12-30 | 四川轻化工大学 | 一种基于概率计算的脉冲神经网络及其实现方法 |
-
2020
- 2020-02-25 CN CN202010115259.6A patent/CN113379043A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115545190A (zh) * | 2022-12-01 | 2022-12-30 | 四川轻化工大学 | 一种基于概率计算的脉冲神经网络及其实现方法 |
CN115545190B (zh) * | 2022-12-01 | 2023-02-03 | 四川轻化工大学 | 一种基于概率计算的脉冲神经网络及其实现方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107077637B (zh) | 神经网络中的差分编码 | |
JP2017525038A (ja) | ニューラルネットワークにおける畳込み演算の分解 | |
Lee et al. | Identification and control of dynamic systems using recurrent fuzzy neural networks | |
JP6275868B2 (ja) | ニューラルウォッチドッグ | |
US9330355B2 (en) | Computed synapses for neuromorphic systems | |
US20150206050A1 (en) | Configuring neural network for low spiking rate | |
EP3097517A1 (en) | Monitoring neural networks with shadow networks | |
KR20160123309A (ko) | 확률적 스파이킹 베이지안망들에 대한 이벤트-기반 추론 및 학습 | |
JP2016522495A (ja) | スパイキングネットワークの効率的なハードウェア実装 | |
KR20160136364A (ko) | 콜드 뉴런 스파이크 타이밍 역 전파 | |
US20150212861A1 (en) | Value synchronization across neural processors | |
JP2017511936A (ja) | 現在の計算リソースへのニューラルネットワーク適応 | |
KR20160084401A (ko) | 스파이킹 뉴럴 네트워크들에서 리플레이를 사용한 시냅스 학습의 구현 | |
US10552734B2 (en) | Dynamic spatial target selection | |
KR20160125967A (ko) | 일반적인 뉴런 모델들의 효율적인 구현을 위한 방법 및 장치 | |
WO2015138161A2 (en) | Analog signal reconstruction and recognition via sub-threshold modulation | |
Shrestha et al. | Robustness to training disturbances in SpikeProp learning | |
JP2023543297A (ja) | 過渡同期性によるsnnの適応 | |
CA2924468A1 (en) | Congestion avoidance in networks of spiking neurons | |
CN109155001A (zh) | 基于脉冲神经网络的信号处理方法和装置 | |
CN113379043A (zh) | 一种脉冲神经网络 | |
WO2015127106A1 (en) | Stochastic delay plasticity | |
WO2015023441A2 (en) | Post ghost plasticity | |
CN115204350A (zh) | 脉冲神经网络的训练方法和训练装置 | |
WO2014197175A2 (en) | Efficient implementation of neural population diversity in neural system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |