CN112949833B - 一种概率计算神经元计算单元和构造方法 - Google Patents

一种概率计算神经元计算单元和构造方法 Download PDF

Info

Publication number
CN112949833B
CN112949833B CN202110326276.9A CN202110326276A CN112949833B CN 112949833 B CN112949833 B CN 112949833B CN 202110326276 A CN202110326276 A CN 202110326276A CN 112949833 B CN112949833 B CN 112949833B
Authority
CN
China
Prior art keywords
pulse
value
neuron
probability
membrane potential
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.)
Active
Application number
CN202110326276.9A
Other languages
English (en)
Other versions
CN112949833A (zh
Inventor
李洪革
陈宇昊
陈则非
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beihang University
Original Assignee
Beihang University
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beihang University filed Critical Beihang University
Priority to CN202110326276.9A priority Critical patent/CN112949833B/zh
Publication of CN112949833A publication Critical patent/CN112949833A/zh
Application granted granted Critical
Publication of CN112949833B publication Critical patent/CN112949833B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/047Probabilistic or stochastic networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/049Temporal neural networks, e.g. delay elements, oscillating neurons or pulsed inputs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/06Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
    • G06N3/063Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Biophysics (AREA)
  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biomedical Technology (AREA)
  • Evolutionary Computation (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Artificial Intelligence (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • Computational Linguistics (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Probability & Statistics with Applications (AREA)
  • Neurology (AREA)
  • Complex Calculations (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

本申请公开了一种概率计算神经元构造方法,在每一个计算周期,对输入概率脉冲串中的脉冲进行计数,并以上一计算周期膜电位值的衰减值作为基础值累加脉冲数量值,产生当前计算周期的膜电位值;比较当前计算周期的膜电位值和门限值,产生激活信号;比较权值和随机数,进行概率脉冲编码,生成原始概率脉冲串;所述原始概率脉冲串与当前计算周期的激活信号值相乘,产生输出概率脉冲串。本申请还提出实现以上方法的脉冲神经元计算单元及一种双神经元计算单元,解决电路复杂性的问题。

Description

一种概率计算神经元计算单元和构造方法
技术领域
本申请涉及集成电路及其AI芯片技术领域,尤其涉及一种概率计算的脉冲神经元的构造方法及由其构成的计算单元。
背景技术
现代深度学习神经网络,主要是基于卷积运算的神经网络系统,即卷积神经网络(CNN)。通过多层神经网络处理,逐渐将初始的“低层”特征表示转化为“高层”特征表示,用简单模型即可完成复杂的分类、识别等学习任务。近年来,虽然计算机计算能力有所提升,但随着问题复杂度的提高,卷积神经网络需要更多层数的网络才能解决问题,这导致硬件开销与功耗大幅增加。为降低网络运行对功耗和硬件资源的需求,研究人员提出了脉冲神经网络(SNN)这一概念。
脉冲神经网络模仿人脑神经元的工作方式,利用神经元基于时间/空间的峰电位串传递信息,而非二进制编码的数据。然而目前脉冲神经网络主要通过软件的实现方式实现,难以在硬件层面上通过数字电路的方式实现,限制了应用场景。因此,脉冲神经网络的设计需要考虑高效简单的硬件实现方案。
脉冲神经元间传递的脉冲可用概率计算的方式进行计算,但将二进制数字转化为脉冲的步骤依然需要大量硬件资源。
发明内容
为解决脉冲神经网络硬件电路难以实现的问题,本申请提出一种概率计算神经元计算单元和构造方法。
本申请实施例提出一种概率计算神经元构造方法,包括以下步骤:
在每一个计算周期,对输入概率脉冲串中的脉冲进行计数,并以上一计算周期膜电位值的衰减值作为基础值累加脉冲数量值,产生当前计算周期的膜电位值;
计算当前计算周期的膜电位值的衰减值,用于下一计算周期的基础值;
比较当前计算周期的膜电位值和门限值,当膜电位值大于门限值时,产生的激活信号1,当膜电位值小于门限值时,产生的激活信号为0;
在相同位宽条件下,比较权值和随机数,进行概率脉冲编码,生成原始概率脉冲串;
所述原始概率脉冲串与当前计算周期的激活信号值相乘,产生输出概率脉冲串。
优选地,所述衰减值为1/2。
优选地,所述膜电位值用二进制数表示。将当前周期的所述膜电位值的二进制信号向右移位,作为下一周期膜电位值的基础。
本申请实施例还提出一种概率计算神经元计算单元,用于实现本申请任意一项实施例所述方法,包括脉冲计数器、移位寄存器、输入比较器、脉冲生成器。
所述脉冲计数器,用于在每一个计算周期,对输入概率脉冲串中的脉冲进行计数,并以上一计算周期膜电位值的衰减值作为基础值累加脉冲数量值,产生当前计算周期的膜电位值。
所述移位寄存器,用于对当前计算周期的膜电位值的二进制数向右移位输出,产生用于下一计算周期的基础值。
所述输入比较器,用于比较所述当前计算周期的膜电位值和门限值,生成所述激活信号。
所述脉冲生成器,用于根据权值和激活信号,生成所述输出概率脉冲串。
优选地,所述脉冲生成器进一步包含线性移位寄存器、权值比较器、脉冲乘法器。所述线性移位寄存器,用于生成与所述权值位宽相同的伪随机数。所述权值比较器,用于比较所述权值和所述伪随机数,产生原始概率脉冲串。所述脉冲乘法器,用于将所述原始概率脉冲串与所述激活信号的值相乘。
优选地,所述计算单元还包含与门电路,实现状态信号值和激活信号值的乘积,进一步用于使能所述脉冲计数器。
本申请还提出一种概率计算神经元计算单元,包含输入神经元单元、输出神经元单元;所述输入神经元单元,包含所述脉冲生成器、所述输入比较器;所述输出神经元单元,包含所述脉冲计数器、移位寄存器。
本申请实施例采用的上述至少一个技术方案能够达到以下有益效果:
本发明提供了一种脉冲神经元的硬件实现方法,概率计算将数字本身解释为概率,并使其可由简单电路处理的比特流表示,提高了计算电路的容错率,同时也减少了硬件开销;基于此神经元构建的双神经计算单元可使硬件在同一个电路架构下,同时支持SNN和CNN两种不同网络模型的计算功能
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1.1为膜电位增量的衰减特征曲线;
图1.2为多次输入条件下的膜电位变化示意图;
图2为本申请设定的膜电位衰减规律;
图3为概率计算神经元构造方法实施例流程图;
图4为概率计算神经元电路结构;
图5为概率计算的双神经元计算单元。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合本申请具体实施例及相应的附图对本申请技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本发明的第一个目的是解决神经网络硬件电路的实现较复杂的问题,提出一种基于概率计算的脉冲神经元结构,简化其实现方式。
本发明的第二个目的是利用上述脉冲神经元构建一种双神经元计算单元,以实现在同一个电路架构下,同时支持SNN和CNN两种网络模型的计算功能,同时优化网络运算过程,提高运算效率和速度。
本发明的第一个目的可通过如下技术方案实现:脉冲神经元将时间域中的连续活动转换为离散形式,其时间轴被划分为若干个等长时间段(每个时间段内包含多个时钟周期),每个时间段称作一个计算周期,神经元以此为周期进行计算活动。在一个计算周期内,以时分复用的方式实现接收不同神经元所传递脉冲信号,将其恢复成二进制数,用于神经元内部的其他计算。输入信号经过阈值判定,达到阈值电压时,发送使能信号,神经脉冲发生器工作。同时,二进制恢复模块停止接收脉冲,膜电位快速降低至静息电位,神经元进入不应期。根据分段拟合的膜电位衰减曲线,在每个神经元计算周期结束时进行二进制数右移,实现膜电位的自然衰减。基于概率编码的神经脉冲发生器在使能信号控制下将权值与膜电位进行概率脉冲调制乘法,将乘积由二进制数转化为概率脉冲,向下一神经元发送概率脉冲串。
本发明的第二个目的可通过如下技术方案实现:基于上述的脉冲神经元结构,搭建一种双神经元计算单元,其中包括输入神经元、输出神经元。
以下结合附图,详细说明本申请各实施例提供的技术方案。
图1为膜电位增量与膜电位关系示意图。
脉冲神经网络是一种新兴的神经网络模型,通过对人脑神经元的细致模仿,利用脉冲串传递神经信息。这与二进制计算的冯诺依曼架构完全不同,有助于突破现有计算系统的计算瓶颈,解决“内存墙”问题。
但现有的脉冲神经网络大多只在软件层面上实现,而由于其膜电位变化的复杂情况,使得其难以在硬件层面上实现。因此,本文提出一种脉冲神经元结构,以解决现有的神经网络加速器中,二进制计算单元硬件资源消耗大、功耗高的问题。
人工神经网络中的神经元参考了传统神经元的工作原理,其膜电位表达式如下:
Figure BDA0002994781180000051
其中,X=[x1,x2,…xi]为神经元的输入信号,W=[w1,w2,…wi]为与神经元相对应的权值,i表示神经元的编号,每个神经元对输入和权值进行加权求和得到如上式所示的膜电位。
脉冲神经元相比于传统神经元,针对生物神经元的运行特点进行更加细致的模拟。脉冲神经元膜电位u表达式为:
脉冲神经元的膜电位变化所遵循的原始表达式为:
Figure BDA0002994781180000052
其中g(t)为一个尖峰脉冲对膜电位所产生增量;numin为输入神经元数量;uj(t)为第j个输出膜电位;pi(t)表示第i个输入神经元发送的尖峰脉冲波形;Sj(t)为第j个输出神经元t时刻的状态,取值为0或1,为0时神经元处于不应期,膜电位将置零且接收脉冲时膜电位不会产生增量;wij为第i个输入神经元与第j个输出神经元的连接权重;t0表示神经元最近一次不应期结束的时刻。公式1~4中的j的范围为1~numout。其中numout为输出神经元数量。
根据上述公式1,本发明的方案首先对时间域离散的数字脉冲神经元建模,将尖峰脉冲替换为方波。若设T为采样间隔,可以得到下述表达式:
Figure BDA0002994781180000053
将每两个采样点之间的时间段划分为一个计算周期,一个计算周期内的神经元活动(收发脉冲)视为同时进行的,pi(t)在每一个计算周期中取值为0或1。每经过一个计算周期,膜电位根据g(t)进行衰减;tn表示第n个计算周期结束的时刻,即tn=nT;tk、tn-1同理;tn-k则表示tn、tk的时间间隔,用于计算tk时接收的脉冲对tn的膜电位的影响。
当膜电位增量的变化曲线g(t)如图1.1所示时,膜电位变化曲线u(t)如图1.2所示。
由于对公式2进行计算涉及从上一个不应期结束到当前时刻的所有数据,计算量庞大,计算效率低,本发明对计算方法实施以下改进:
令g(nT-kT)=2-(n-k),也就是g(tn-k)=2k-n,如图2所示。得到膜电位值表达式如下:
Figure BDA0002994781180000061
根据公式3,当前计算周期结束时的膜电位仅与上一计算周期结束时的膜电位u(tn-1)以及当前计算周期的接收脉冲pi(tn),以及自身状态sj(tn)有关,且上一计算周期的膜电位衰减系数取为1/2。
基于概率计算,作为膜电位值离散表达式的公式3可以进一步转换为:
Figure BDA0002994781180000062
其中,uj(tn)为第j个输出神经元tn时刻的膜电位值,Wij(m)为由wij所产生的输入概率脉冲串的第m位,取值为0或1,pi(tn)在每一个计算周期中取值为0或1(即下文Pi);sj(tn)为第j个输出神经元tn时刻的状态,取值为0或1;N为脉冲串的长度,α为一常数,与概率脉冲序列的编码长度有关,并且有wi,j≈2α∑Wi,j(m),随编码长度增大该近似产生的误差越小。
图3为概率计算的脉冲神经元构造方法实施例流程图。
步骤301、在每一个计算周期,对输入概率脉冲串中的脉冲进行计数,并以上一计算周期膜电位值的衰减值作为基础值累加脉冲数量值,产生当前计算周期的膜电位值;
例如,通过脉冲计数器接收输入的概率脉冲串PiWij[m],累加概率脉冲串中的“1”,将其恢复为二进制数。其中,神经元的激活状态sj(t)为脉冲计数器的使能信号。其值为1时,脉冲计数器接收脉冲;为0时,脉冲计数器停止接收脉冲。移位衰减信号作为脉冲计数器的复位信号,膜电位移位后作为脉冲计数器的复位值。
在一个神经元计算周期T内,脉冲计数器接收概率脉冲串中的多个脉冲,进行计数累加操作。当计算周期结束时,脉冲计数器将累加结果存储于寄存器,同时接收移位衰减信号进行复位,并读取移位后的膜电位值作为复位值。
步骤302、计算当前计算周期的膜电位值的衰减值,用于下一计算周期的基础值;
根据公式3~4,本申请将相邻计算周期的膜电位衰减量设定为1/2,因此可进行二进制数移位实现膜电位衰减。在每个神经元计算周期结束时,将存储在寄存器中的膜电位值进行右移操作,实现膜电位的自然衰减。输出值作为脉冲计数器的复位值,用于下一个计算周期。
步骤303、比较当前计算周期的膜电位值和门限值,当膜电位值大于门限值时,产生的激活信号为1,当膜电位值小于门限值时,产生的激活信号为0;
例如,可使用比较器判断膜电位是否达到阈值电压Vth,在每个神经元计算周期结束时进行比较,若膜电位达到阈值电压,则表示神经元进入激活状态,比较器发放神经脉冲信号pj(t)作为后续脉冲发生器的使能信号。同时,更新激活状态信号为0,表示神经元进入不应期,暂停接收概率脉冲串。
步骤304、在相同位宽条件下,比较权值和随机数,进行概率脉冲编码,生成原始概率脉冲串;
例如,通过权值存储单元存储的权值与LFSR产生的伪随机序列经过比较器进行概率脉冲编码,将权值由二进制数转化为概率脉冲串的表现形式。
此处的位宽,指二进制数的位数,例如5位二进制数“00010”的位宽为5。
其中,LFSR作为随机数发生器,产生均匀分布的随机序列。由于其并非真随机数发生器,具有周期性的特点,故可避免转换误差和计算误差。进行概率脉冲编码时,LFSR产生的随机数和二进制数形式的权值作为比较器的输入,例如,当伪随机数的位宽为L=5时,LFSR生成2L=25=128个伪随机数,分别与位宽为L=5的一个二进制权值进行比较,生成具有2L=128个脉冲周期的概率脉冲串,当权值大于随机数时输出的脉冲值1,否则输出的脉冲值为0。
步骤305、所述原始概率脉冲串与当前计算周期的激活信号值相乘,产生输出概率脉冲串。
例如,通过脉冲发生器接收步骤302发出的神经脉冲信号,将其与概率脉冲串形式的权值进行概率脉冲调制乘法,生成神经元向外发放的脉冲序列PjWjk[m]。
图4为概率计算神经元电路结构。
本申请实施例提出一种概率计算神经元计算单元,用于实现本申请实施例所述方法,基于概率计算思想,将神经元发送的尖峰脉冲(模拟量)转变为频率编码的0/1脉冲序列(数字量),实现脉冲神经元所需的计算功能。基于数字电路实现的脉冲神经元在时间域中的连续活动转换为离散形式,在一个周期内,以时分复用的方式实现对不同神经元所传递脉冲信号的接收,并仅在每一个计算周期的结束时刻才对膜电位进行衰减。
本申请的计算单元包括脉冲计数器、移位寄存器、输入比较器、脉冲生成器。
所述脉冲计数器,用于在每一个计算周期,对输入概率脉冲串中的脉冲进行计数,并以上一计算周期膜电位值的衰减值作为基础值累加脉冲数量值,产生当前计算周期的膜电位值。通过以上脉冲接收的过程,将概率脉冲串转换为二进制数。
所述移位寄存器,用于对当前计算周期的膜电位值的二进制数向右移位输出,产生用于下一计算周期的基础值。
所述输入比较器,用于比较所述当前计算周期的膜电位值和门限值,生成所述激活信号。比较器实现了阈值判定,判断膜电位是否达到阈值电压,神经元是否发发放神经脉冲信号。
所述脉冲生成器,用于根据权值和激活信号,生成所述输出概率脉冲串。优选地,所述脉冲生成器进一步包含线性移位寄存器、权值比较器、脉冲乘法器。所述线性移位寄存器,用于生成与所述权值位宽相同的伪随机数。所述权值比较器,用于比较所述权值和所述伪随机数,产生原始概率脉冲串。所述脉冲乘法器,用于将所述原始概率脉冲与所述激活信号的值相乘,这样所述脉冲发生器,用概率脉冲调制乘法,将二进制数转换为概率脉冲串。
优选地,所述计算单元还包含与门电路,实现状态信号值和激活信号值的乘积,进一步用于使能所述脉冲计数器。
在本申请的装置中,可使用本地权值存储单元,用于存储网络权值。
在图4所示的概率计算神经元电路结构中,基于概率计算的脉冲发生器也可以替换为其他方案的脉冲发生器。
利用上述的单个脉冲神经元,可构建双神经元计算单元,实现输入神经元到输出神经元的概率脉冲串的传输。为实现一种神经元同时实现脉冲神经元与M-P神经元的计算功能,需要进行一定修改调整。
与脉冲神经元不同,M-P神经元不具有时间记忆功能,不存在膜电位的自然衰减,计算周期开始时的初始膜电位等于M-P神经元中的偏置θ。M-P神经元的乘累加运算结果θ+∑wijxi,即为该计算周期结束后的膜电位u,其表达式如下:
Figure BDA0002994781180000091
由于上述原因,若使用本实施例的脉冲神经元实现M-P神经元的功能,需要进行一定调整。调整后的神经元的脉冲生成逻辑为对wij、f(ui)的乘积进行概率编码,即二进制数值计算经过概率乘法器转换为概率脉冲序列Wij[m],序列中每个脉冲的取值为0或1,且有zα∑Wij≈wijf(ui)。由于M-P神经元不存在不应期,并且神经元一定处于激活状态,故输出神经元的膜电位计算公式如下:
Figure BDA0002994781180000092
公式6将M-P神经元的乘累加计算与激活计算逻辑通过脉冲计数的方式实现,与公式(4)实现脉冲神经元的计算逻辑相统一,故可将两种计算逻辑通过一种电路结构实现。所得到的脉冲神经元可搭建一种双神经元计算单元,可实现CNN和SNN两种神经网络的功能,所得到的双神经元计算单元结构如图5所示。
图5表示一种双神经元结构的概率计算神经元计算单元,包含输入神经元单元、输出神经元单元;所述输入神经元单元,包含图4实施例所述脉冲生成器、所述输入比较器;进一步地,所述脉冲生成器包含原始概率脉冲产生器502和脉冲乘法器503。
由此,在图5所示的双神经元PE中,输入神经元单元包括神经脉冲产生器501、原始概率脉冲串产生器502、脉冲乘法器503。其中,神经脉冲产生器501判断膜电位是否达到阈值电压,包含输入比较器,用于比较输入信号电压uin和阈值电压uth,输出激活信号;原始概率脉冲串产生器502包含权值存储器、LFSR、权值比较器,用于比较权值w和LFSR生成的伪随机数,输出原始概率脉冲串;所述脉冲乘法器,用于将原始概率脉冲串和激活信号相乘,输出概率脉冲串。这样,将存储在本地的权值由二进制数转换为概率脉冲串,实现权值与神经脉冲相乘,并发放概率脉冲串。
所述输出神经元单元,可包含图4实施例所述脉冲计数器、移位寄存器。图5中,输出神经元单元包含脉冲计数器504和移位寄存器505。其中,脉冲计数器504为脉冲接收模块,进行乘累加计算,将接收的概率脉冲串形式的膜电位恢复成二进制数uout并存储。移位寄存器505为实现膜电位衰减,进行二进制数移位,并存储移位后的结果。
用以上技术方案,将M-P神经元的乘累加计算与激活计算逻辑通过脉冲计数的方式实现,实现与脉冲神经元计算逻辑的统一,在一种电路结构中实现两种神经元的计算功能。
这样,对单个神经元,输入数据经过乘法、加法再经过激活函数,根据权值发送脉冲编码信号。在双神经元结构中,输入神经元经过激活函数,根据权重发送脉冲;输出神经元将接收到的脉冲累加至膜电位模块,并进行膜电位的衰减。
综上所述,本申请公开了一种数字电路可实现的基于分段拟合膜电位衰减曲线的脉冲神经元结构及由其构成的双神经元计算单元,解决了现有的基于二进制计算的神经网络加速器结构复杂、硬件资源消耗大、功耗高的问题。所提出的脉冲神经元结构,包含用于将概率脉冲串恢复为二进制数的部件、判断激活条件的部件、实现膜电位衰减的部件、基于概率脉冲调制乘法的神经脉冲发生器。基于该结构还提出一种双神经元计算单元,其中,输入神经元包括本地权值存储、膜电位移位寄存、激活和概率脉冲调制乘法的功能;输出神经元包括二进制恢复、膜电位移位的功能。本发明结合概率计算技术,能够以较低的硬件代价实现神经网络的乘累加运算与激活等计算功能,以解决现有的神经网络加速器中,二进制计算单元硬件资源消耗大、功耗高的问题。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。

Claims (10)

1.一种概率计算神经元构造方法,其特征在于,包括以下步骤:
在每一个计算周期,对输入概率脉冲串中的脉冲进行计数,并以上一计算周期膜电位值的衰减值作为基础值累加脉冲数量值,产生当前计算周期的膜电位值;
计算当前计算周期的膜电位值的衰减值,用于下一计算周期的基础值;
比较当前计算周期的膜电位值和门限值,当膜电位值大于门限值时,产生的激活信号为1,当膜电位值小于门限值时,产生的激活信号为0;
在相同位宽条件下,比较权值和随机数,进行概率脉冲编码,生成原始概率脉冲串;
所述原始概率脉冲串与当前计算周期的激活信号值相乘,产生输出概率脉冲串。
2.如权利要求1所述概率计算神经元构造方法,其特征在于,
所述衰减值为1/2。
3.如权利要求1或2所述概率计算神经元构造方法,其特征在于,
所述膜电位值表示为:
Figure FDA0003744084360000011
其中,tn表示第n个计算周期结束的时刻;uj(tn)为第j个输出神经元tn时刻的膜电位值;wij为第i个输入神经元与第j个输出神经元的连接权重,Wij(m)为由wij所产生的输入概率脉冲串的第m位,取值为0或1;N为脉冲串的长度;numin为输入神经元数量;pi(tn)为当前计算周期的接收脉冲,在每一个计算周期中取值为0或1;sj(tn)为第j个输出神经元tn时刻的状态,取值为0或1;α为一常数。
4.如权利要求1所述概率计算神经元构造方法,其特征在于,
所述膜电位值用二进制数表示。
5.如权利要求4所述概率计算神经元构造方法,其特征在于,
将当前周期的所述膜电位值的二进制信号向右移位,作为下一周期膜电位值的基础。
6.一种概率计算神经元计算单元,用于实现权利要求1~5任意一项所述方法,其特征在于,包括脉冲计数器、移位寄存器、输入比较器、脉冲生成器;
所述脉冲计数器,用于在每一个计算周期,对输入概率脉冲串中的脉冲进行计数,并以上一计算周期膜电位值的衰减值作为基础值累加脉冲数量值,产生当前计算周期的膜电位值;
所述移位寄存器,用于对当前计算周期的膜电位值的二进制数向右移位输出,产生用于下一计算周期的基础值;
所述输入比较器,用于比较所述当前计算周期的膜电位值和门限值,生成所述激活信号;
所述脉冲生成器,用于根据权值和激活信号,生成所述输出概率脉冲串。
7.如权利要求6所述概率计算神经元计算单元,其特征在于,
所述脉冲生成器包含线性移位寄存器、权值比较器、脉冲乘法器;
所述线性移位寄存器,用于生成与所述权值位宽相同的伪随机数;
所述权值比较器,用于比较所述权值和所述伪随机数,产生原始概率脉冲串;
所述脉冲乘法器,用于将所述原始概率脉冲串与所述激活信号的值相乘。
8.如权利要求6所述概率计算神经元计算单元,其特征在于,
还包含与门电路,实现状态信号值和激活信号值的乘积,进一步用于使能所述脉冲计数器。
9.如权利要求6所述概率计算神经元计算单元,其特征在于,
包含输入神经元单元、输出神经元单元;
所述输入神经元单元,包含所述脉冲生成器、所述输入比较器;
所述输出神经元单元,包含所述脉冲计数器、移位寄存器。
10.如权利要求9所述概率计算神经元计算单元,其特征在于,
所述输入神经元单元包括神经脉冲产生器、原始概率脉冲串产生器和脉冲乘法器;
神经脉冲产生器,包含输入比较器,用于比较输入信号电压和阈值电压,输出激活信号;
原始概率脉冲串产生器包含权值存储器、LFSR、权值比较器,比较权值和LFSR生成的伪随机数,输出原始概率脉冲串;
所述脉冲乘法器,用于将原始概率脉冲串和激活信号相乘,输出概率脉冲串。
CN202110326276.9A 2021-03-26 2021-03-26 一种概率计算神经元计算单元和构造方法 Active CN112949833B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110326276.9A CN112949833B (zh) 2021-03-26 2021-03-26 一种概率计算神经元计算单元和构造方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110326276.9A CN112949833B (zh) 2021-03-26 2021-03-26 一种概率计算神经元计算单元和构造方法

Publications (2)

Publication Number Publication Date
CN112949833A CN112949833A (zh) 2021-06-11
CN112949833B true CN112949833B (zh) 2022-09-06

Family

ID=76228363

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110326276.9A Active CN112949833B (zh) 2021-03-26 2021-03-26 一种概率计算神经元计算单元和构造方法

Country Status (1)

Country Link
CN (1) CN112949833B (zh)

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105913118B (zh) * 2015-12-09 2019-06-04 上海大学 一种基于概率计算的人工神经网络硬件实现装置
CN106875005B (zh) * 2017-01-20 2019-09-20 清华大学 自适应阈值神经元信息处理方法和系统
CN106875003B (zh) * 2017-01-20 2020-08-04 清华大学 自适应泄漏值神经元信息处理方法和系统
CN108846408A (zh) * 2018-04-25 2018-11-20 中国人民解放军军事科学院军事医学研究院 基于脉冲神经网络的图像分类方法及装置
CN110991610B (zh) * 2019-11-28 2022-08-05 华中科技大学 一种非确定性问题的概率确定方法
CN111340181A (zh) * 2020-02-11 2020-06-26 天津大学 基于增强脉冲的深层双阈值脉冲神经网络转换训练方法
CN112101517B (zh) * 2020-08-04 2024-03-08 西北师范大学 基于分段线性脉冲神经元网络的fpga实现方法

Also Published As

Publication number Publication date
CN112949833A (zh) 2021-06-11

Similar Documents

Publication Publication Date Title
CN108846408A (zh) 基于脉冲神经网络的图像分类方法及装置
CN113033769B (zh) 一种概率计算神经网络方法和异步逻辑电路
CN115061103A (zh) 基于编码器-解码器的多功能雷达功能识别方法
CN112949833B (zh) 一种概率计算神经元计算单元和构造方法
Hikawa Implementation of simplified multilayer neural networks with on-chip learning
CN112949834B (zh) 一种概率计算脉冲式神经网络计算单元和架构
CN114708639B (zh) 一种基于异构脉冲神经网络的人脸识别的fpga芯片
CN113033795B (zh) 基于时间步的二值脉冲图的脉冲卷积神经网络硬件加速器
Shrestha et al. Modular spiking neural circuits for mapping long short-term memory on a neurosynaptic processor
US20230004351A1 (en) Method and device for additive coding of signals in order to implement digital mac operations with dynamic precision
US11475288B2 (en) Sorting networks using unary processing
JP7332193B2 (ja) 因子グラフ上での確率伝搬
US20240346296A1 (en) Low-latency time-encoded spiking neural network
CN115545190B (zh) 一种基于概率计算的脉冲神经网络及其实现方法
CN114398928B (zh) 基于振荡神经网络的信息内容确认方法、装置及系统
Nobari et al. A fast approach for deep neural network implementation on FPGA
US12003255B2 (en) Method and device for binary coding of signals in order to implement digital MAC operations with dynamic precision
CN117436490A (zh) 一种基于fpga脉冲神经网络的神经元硬件实现系统
EP4239531A1 (en) Method and electronic system for inferring a morphological neural network
Htay et al. Correcting errors in linear codes with neural network
JP2017182697A (ja) 信号変換装置及び信号変換システム
JP3338713B2 (ja) 信号処理装置
Damak et al. Fpga implementation of programmable pulse mode neural network with on chip learning
Krid et al. FPGA implementation of programmable pulse mode neural network with on chip learning for signature application
CN115329935A (zh) 一种脉冲神经网络加速器

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
GR01 Patent grant
GR01 Patent grant