CN110378469A - 基于异步电路的scnn推理装置及其pe单元、处理器及计算机设备 - Google Patents

基于异步电路的scnn推理装置及其pe单元、处理器及计算机设备 Download PDF

Info

Publication number
CN110378469A
CN110378469A CN201910624787.1A CN201910624787A CN110378469A CN 110378469 A CN110378469 A CN 110378469A CN 201910624787 A CN201910624787 A CN 201910624787A CN 110378469 A CN110378469 A CN 110378469A
Authority
CN
China
Prior art keywords
unit
pulse
neuron
module
convolution kernel
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.)
Granted
Application number
CN201910624787.1A
Other languages
English (en)
Other versions
CN110378469B (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.)
National University of Defense Technology
Original Assignee
National University of Defense Technology
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 National University of Defense Technology filed Critical National University of Defense Technology
Priority to CN201910624787.1A priority Critical patent/CN110378469B/zh
Publication of CN110378469A publication Critical patent/CN110378469A/zh
Application granted granted Critical
Publication of CN110378469B publication Critical patent/CN110378469B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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/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/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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/04Inference or reasoning models

Abstract

本发明公开了一种基于异步电路的SCNN推理装置及其PE单元、处理器及计算机设备,本发明基于异步电路模拟IF神经元的PE单元来仿真SCNN的神经元模型,针对AER事件的卷积算法为实现AER脉冲事件的卷积运算的计算引擎提供了基本的计算部件,本发明的SCNN推理装置、处理器及计算机设备基于PE单元等实现基于异步电路技术的SCNN硬件推理引擎,可用于目标图像AER脉冲事件的处理,在完成目标识别的同时,能够有效减少计算量,实现对SCNN推理计算的硬件加速,将AER事件作为输入和网络神经元之间的通信,使用基于AER事件的卷积运算,在完成目标识别的同时,减少计算量,本发明还使用PE阵列中的分布式存储来降低内存访问的成本。

Description

基于异步电路的SCNN推理装置及其PE单元、处理器及计算机 设备
技术领域
本发明涉及及图像处理识别领域,具体涉及一种基于异步电路的SCNN(SpikingConvolution Neuron Network,脉冲卷积神经网络)推理装置及其PE单元、处理器及计算机设备,用于处理脉冲神经网络中目标图像AER脉冲事件的硬件推理。
背景技术
人脑可以用很少的能量消耗来执行复杂的任务。脑启发式计算模仿大脑神经元的计算模型,并以高能效执行认知计算任务。类脑计算是人工智能领域的一个重要分支。脉冲神经网络(Spiking Neural Network,SNN)具有更好的生物逼近性和事件驱动的特性,被称为第三代人工神经网络,是类脑计算的一个突出代表。基于SNN的神经形态计算显示出良好的能量效率。
SNN与传统的CNN(Convolution Neuron Network)有着相似的网络结构,包括输入层,卷积层,池化层,分类层等。CNN网络中的每个网络层都是基于帧进行运算。对于SNN,可以采用CNN的处理方式,即数据的处理是基于帧的数据,但是这种方式不能体现SNN良好的计算能效。这是因为,SNN是事件驱动型的网络,依赖于网络中脉冲进行数据处理与信息的传递。由于脉冲是高度稀疏的数据流,若采用基于帧的处理,则该帧是高度稀疏数据图,不能利用SNN高效的处理能力。
AER(Address Event Representation,地址事件表示)是一种新兴的异步协议。每个基于AER的事件都包含了地址,时间信息,具有高速、实时等优势。AER事件的天然异步特性非常适合SNN网络的处理。也就是说,SNN网络的输入以及脉冲事件的处理与传递都是基于AER协议。不能简单的使用传统的卷积算法来处理高度稀疏的AER脉冲事件。因此需要采用适配与AER事件的卷积算法。
脉冲神经网络中每个神经元激活函数的阶跃特点,使得SNN不能很好的使用传统CNN中的BP算法进行训练。SNN一种很好的变种是SCNN(Spiking Convolution NeuronNetwork,脉冲卷积神经网络)。SCNN是有CNN经过转化后得到的网络,与CNN有相同的网络结构和参数,区别在于SCNN是基于脉冲事件的网络。这种转换方法是通过先用传统的反向传播等训练方法训练CNN,得到可用的CNN后,使其在推理阶段执行SCNN的数据处理方式。SCNN推理的结果不是仅通过一次前向执行过程可以得到的,而是需要多次前向执行过程,通过最后一层累积结果才能得到最终结果。SCNN事件驱动型的计算过程具有天然的异步特性,因此采用异步电路技术来SCNN的计算过程非常自然,并且能够带来低功耗的优势。运算单元与分布式的存储共同对SCNN神经元进行建模。因为计算和通信的稀疏性,以及脉冲事件的稀疏性,采用异步电路技术来实现SCNN推理过程的硬件平台是非常自然。但是,具体如何采用异步电路来实现对SCNN推理,则仍然是一项亟待解决的关键技术问题。
发明内容
本发明要解决的技术问题:针对现有技术的上述问题,提供一种基于异步电路的SCNN推理装置及其PE单元、处理器及计算机设备,本发明基于异步电路模拟IF神经元的PE单元来仿真SCNN的神经元模型,针对AER事件的卷积算法为实现AER脉冲事件的卷积运算的计算引擎提供了基本的计算部件,本发明的SCNN推理装置、处理器及计算机设备基于PE单元等实现基于异步电路技术的SCNN硬件推理引擎,可用于目标图像AER脉冲事件的处理,在完成目标识别的同时,能够有效减少计算量,实现对SCNN推理计算的硬件加速。
为了解决上述技术问题,本发明采用的技术方案为:
一种基于异步电路模拟IF神经元的PE单元,该PE单元包括:
控制通路,用于在本PE单元收到的脉冲信号Reqj上升时根据四阶段握手协议在本地产生3个时钟信号Lt1,Lt2,Lt3;
数据通路,用于执行数据处理模拟IF神经元进行脉冲放电;
所述数据通路中嵌入有神经元模型模拟单元和3个寄存器PE(i,j)、T_Reg、W_Reg,其中寄存器PE(i,j)表明该神经元的全局坐标,寄存器T_Reg存储神经元阈值电压,寄存器W_Reg保存神经元的膜电压,所述神经元模型模拟单元用于在3个时钟信号Lt1,Lt2,Lt3根据收到的膜电位K_dataj以及3个寄存器PE(i,j)、T_Reg、W_Reg实现集成-释放神经元的模拟。
优选地,所述神经元模型模拟单元包括:
锁存器,用于在时钟信号Lt1的作用下将在本PE单元收到的对本PE单元产生的膜电位K_dataj锁存;
加法器,用于在时钟信号Lt2的作用下将锁存器中的值、寄存器W_reg中的值相加得到新的膜电位A;
ACK信号生成模块,用于在时钟信号Lt2的作用下产生用于传递下一个脉冲事件的P_Ack信号输出;
比较器,用于将加法器输出的新的膜电位A、寄存器T_Reg中存储的神经元阈值电压Mth进行比较,且在新的膜电位A大于神经元阈值电压Mth时输出比较结果为真,在时钟信号Lt3的作用下将默认膜电压值写入寄存器W_Reg,否则输出比较结果为假,并在时钟信号Lt3的作用下将新的膜电位A写入寄存器W_Reg;
Done信号生成模块,用于在比较器的比较结果为真时输出Done信号;
脉冲产生模块,用于在比较器的比较结果为真时输出脉冲信号。
此外,本发明还提供一种基于异步电路的SCNN推理装置,其特征在于,包括:
PE阵列,用于执行每个AER脉冲事件的卷积运算,所述PE阵列为由多个所述基于异步电路模拟IF神经元的PE单元构成的阵列结构;
卷积核RAM模块,用于存储每个卷积层计算所需的卷积权重;
控制模块,用于将AER脉冲事件发送到计算引擎,接收到的信号传送给行/列译码模块,同时访问卷积核RAM模块;当控制模块接收到所有参与运算的PE单元的Done信号后会生成C_Ack信号,以获取下一个AER脉冲事件;
行/列译码模块,用于将数据从卷积核RAM模块发送到相应的卷积核行缓存模块,实现卷积核RAM模块中的每个卷积核值发送到相应的PE单元;
卷积核行缓存模块,用于存储要发送到PE阵列中对应行PE单元的数据;
脉冲缓存模块,用于存储PE阵列中对应行PE单元产生的新的脉冲事件;
异步脉冲输出逻辑,用于在固定时间窗口内,当处理完所有AER脉冲事件时将所有脉冲缓存模块中存储的新生成的脉冲事件由异步输出到下一层以用于下一步操作;
配置模块,用于初始化和配置PE阵列中各个PE单元中的寄存器的值;
所述控制模块具有外部的请求端口Req、脉冲输入端口spike(i,j)和输出响应信号端口ACK,且其通过输出端分别与卷积核RAM模块、行/列译码模块相连,通过输入端与PE阵列中各个PE单元相连,所述行/列译码模块的输出端分别与各个卷积核行缓存模块相连,每一个所述卷积核行缓存模块与PE阵列中一行PE单元相连,每一个所述脉冲缓存模块的输入端与PE阵列中一行PE单元相连、且输出端与异步脉冲输出逻辑相连,所述配置模块的输出端分别与PE阵列中各个PE单元相连。
此外,本发明还提供一种处理器,该处理器的基片中设有所述基于异步电路模拟IF神经元的PE单元或所述的基于异步电路的SCNN推理装置。
此外,本发明还提供一种计算机设备,该计算机设备中设有所述基于异步电路模拟IF神经元的PE单元,或所述的基于异步电路的SCNN推理装置,或所述的处理器。
本发明基于异步电路模拟IF神经元的PE单元具有下述优点:本发明基于异步电路模拟IF神经元的PE单元来仿真SCNN的神经元模型,针对AER事件的卷积算法为实现AER脉冲事件的卷积运算的计算引擎提供了基本的计算部件。
本发明基于异步电路的SCNN推理装置、处理器以及计算机设备具有下述优点:本发明的SCNN推理装置、处理器及计算机设备基于PE单元等实现基于异步电路技术的SCNN硬件推理引擎,可用于目标图像AER脉冲事件的处理,在完成目标识别的同时,能够有效减少计算量,实现对SCNN推理计算的硬件加速,且将AER事件作为输入和网络神经元之间的通信,使用基于AER事件的卷积运算,在完成目标识别的同时,减少计算量,本发明还使用PE阵列中的分布式存储来降低内存访问的成本。
附图说明
图1为现有技术的SCNN结构示意图。
图2为现有的基于帧的Gabor卷积操作示意图。
图3为现有的基于高度稀疏图的Gabor卷积操作示意图。
图4为本发明实施例中基于AER脉冲事件的卷积运算示意图。
图5为本发明实施例中集成-释放(Integrate-and-Fire,IF)神经元的行为图。
图6为本发明实施例中PE单元的结构示意图。
图7为本发明实施例中SCNN推理装置的结构示意图。
图8为本发明实施例中PE单元行通过通道与卷积核行缓存模块数据交互示意图。
具体实施方式
如图1所示,SCNN的结构包含输入层L1、卷积层C2、池化层P3、分类(线性分类)层R4,每层神经网络都采用集成-释放(Integrate-and-Fire,IF)神经元来构建,每层网络的神经元都有一个全局坐标,每个神经元的输出是一个基于AER表示的脉冲序列。
图2所示的是传统的基于帧的Gabor卷积操作,完成该图的卷积运算共需要5×5×(3×3+3×3-1)=425次操作,这些操作中并没有考虑每个像素点的值,只有24个操作产生非0结果。图3是更加高度稀疏图的Gabor卷积操作,只有像素点(3,3)处包含一个有效值1,该图Gabor卷积的结果等同于在尺寸等于原始图尺寸,但全部像素点为0的图,在像素点(3,3)中心投影Gabor卷积核的结果。
图4基于AER脉冲事件的卷积运算。t1~t4分别表示4个脉冲事件的产生时刻。根据每个脉冲事件的坐标(深色区域),将卷积核叠加到相应的计算域(灰色区域,包括深色与浅色)。由于AER脉冲是高度稀疏的数据流,若采用基于帧的卷积运算,则该帧是高度稀疏数据图,不能利用SCNN高效的处理能力,因此需要针对AER脉冲事件更有效的卷积算法,本实施例中采用的基于AER脉冲事件的卷积算法的数学定义如下式(1)所示:
G(i+a,j+b):=G(i+a,j+b)+K(a,b), (1)
(2N+1)*(2M+1)=dim(K)
式(1)中,K是卷积核,G是输出图像,(i,j)是脉冲事件的坐标,M/N分别为卷积核的高和宽,(a,b)为投影计算域的坐标,dim(K)为卷积核的大小。例如,假设卷积核大小是3×3,并且AER脉冲事件的坐标是(i,j)。因此,计算域的范围是(i-1:i+1,j-1:j+1)。图4显示了由AER事件触发的累积计算过程,原始图像产生4脉冲。本实施例基于每个脉冲的坐标将卷积核心投影到相关的计算域中,根据每个脉冲事件(正或负)的符号,对计算域进行相应的加法或减法。SCNN中每层IF神经元接收到上一层网络的神经元的输出AER脉冲时,其膜电位的变化过程如图5所示,每个周期膜电位会进行累积,累积后如果达到阈值则进行放电产生脉冲并进行复位,从而通过各个周期的输出(放电为1,不放电为0)形成脉冲事件流。数学上定义如下式(2)和(3)所示;
式(2)和(3)中,Vj(t)表示神经元j在t时刻膜电位;Vj(t-1)表示神经元j在t-1时刻的膜电位;Mspike表示神经元j的输入脉冲事件产生的膜电位;Mth表示每个IF神经元的阈值电压;Spikej(t)表示神经元j在t时刻是否产生脉冲事件。神经元j在t时刻接收到一个输入脉冲事件,如果该神经元在t-1时刻的膜电位与输入脉冲事件产生的膜电位之和小于神经元的阈值,则该神经元在此时刻(t时刻)的膜电位更新为两者之和;否则,神经元j的膜电位在此刻更新为0;如果Vj(t)<Mth,则神经元j在t时刻不产生输出脉冲;否则产生输出脉冲。在硬件实现上,本实施例中设计一个PE单元(处理单元)来建模单个IF神经元的行为。基于AER脉冲事件的异步特性,本实施例中设计的PE单元(处理单元)是基于异步电路技术的,是脉冲事件驱动型的。
参见图6,本实施例基于异步电路模拟IF神经元的PE单元包括:
控制通路,用于在本PE单元收到的脉冲信号Reqj(参见图6,来自相应的通道Channel)上升时根据四阶段握手协议在本地产生3个时钟信号Lt1,Lt2,Lt3;
数据通路,用于执行数据处理模拟IF神经元进行脉冲放电;
数据通路中嵌入有神经元模型模拟单元和3个寄存器PE(i,j)、T_Reg、W_Reg,其中寄存器PE(i,j)表明该神经元的全局坐标,寄存器T_Reg存储神经元阈值电压,寄存器W_Reg保存神经元的膜电压,所述神经元模型模拟单元用于在3个时钟信号Lt1,Lt2,Lt3根据收到的膜电位K_dataj(参见图6,来自相应的通道Channel)以及3个寄存器PE(i,j)、T_Reg、W_Reg实现集成-释放神经元的模拟。
本实施例中的PE单元为事件驱动型PE单元,包含控制通路(Control Path)和数据通路(Data Path),如图6示所述,本实施例中使用数据捆绑(Bundled-Data)编码方法和四阶段握手来实现异步控制电路,该电路使用捆绑延迟(BD)的延迟模型。每个PE单元连接到相应的通道(Channel),并具有来自译的码模块唯一Req信号。通道中的数据包表示该神经元接收到的脉冲信号(Reqj)和对该神经元产生的膜电位(K_dataj)。当数据包通过信道到达时,PE单元将检查Req信号。如果Req信号上升表明该PE单元被触发,控制通路根据4段握手协议在本地产生3个时钟信号(Lt1,Lt2,Lt3),如图6所示。数据通路部分为PE单元的主体,用来建模IF神经元的行为。如图6所示,PE单元嵌入3个寄存器PE(i,j),T_Reg,W_Reg。PE(i,j)表明该神经元的全局坐标。T_Reg存储神经元的阈值电压,对应于式(2)中的Mth。W_Reg保存神经元的膜电压,对应于式(2)中的Vj(t)。
如图6所示,本实施例中经元模型模拟单元包括:
锁存器,用于在时钟信号Lt1的作用下将在本PE单元收到的对本PE单元产生的膜电位K_dataj锁存;
加法器,用于在时钟信号Lt2的作用下将锁存器中的值、寄存器W_reg中的值相加得到新的膜电位A;
ACK信号生成模块,用于在时钟信号Lt2的作用下产生用于传递下一个脉冲事件的P_Ack信号输出;
比较器,用于将加法器输出的新的膜电位A、寄存器T_Reg中存储的神经元阈值电压Mth进行比较,且在新的膜电位A大于神经元阈值电压Mth时输出比较结果为真,在时钟信号Lt3的作用下将默认膜电压值写入寄存器W_Reg,否则输出比较结果为假,并在时钟信号Lt3的作用下将新的膜电位A写入寄存器W_Reg;
Done信号生成模块,用于在比较器的比较结果为真时输出Done信号(完毕信号);
脉冲产生模块,用于在比较器的比较结果为真时输出脉冲信号。
本实施例中,在时钟信号Lt1下,来自通道的数据K_data锁存在锁存器(Latch)中,对应于(2)中的Mspike。在时钟信号Lt2下,锁存器中的值(即Mspike)与寄存器W_reg中的值(即Vj(t))相加得到新的膜电位A。另外,产生一个ACK信号给通道(Channel)。该信号用于传递下一个脉冲事件。根据每个IF神经元的行为,如果A>=Mth(阈值电压),则PE单元产生一个脉冲信号,PE重置神经元的膜电压。如果此时A<Mth,则PE单元不产生输出脉冲并将新电压A写入W_Reg。并且此时,产生一个Done信号,用来表明该PE单元已经运算结束。在时钟信号Lt3下,更新PE单元的寄存器组。
如图7所示,本实施例还提供一种基于异步电路的SCNN推理装置,包括:
PE阵列1,用于执行每个AER脉冲事件的卷积运算,PE阵列1为由多个前述基于异步电路模拟IF神经元的PE单元构成的阵列结构;
卷积核RAM模块2,用于存储每个卷积层计算所需的卷积权重;
控制模块3,用于将AER脉冲事件发送到计算引擎,接收到的信号传送给行/列译码模块4,同时访问卷积核RAM模块2;当控制模块3接收到所有参与运算的PE单元的Done信号后会生成C_Ack信号,以获取下一个AER脉冲事件;
行/列译码模块4,用于将数据从卷积核RAM模块2发送到相应的卷积核行缓存模块5,实现卷积核RAM模块2中的每个卷积核值发送到相应的PE单元;
卷积核行缓存模块5,用于存储要发送到PE阵列1中对应行PE单元的数据;
脉冲缓存模块6,用于存储PE阵列1中对应行PE单元产生的新的脉冲事件;
异步脉冲输出逻辑7,用于在固定时间窗口内,当处理完所有AER脉冲事件时将所有脉冲缓存模块6中存储的新生成的脉冲事件由异步输出到下一层以用于下一步操作;
配置模块8,用于初始化和配置PE阵列1中各个PE单元中的寄存器的值;
所述控制模块3具有外部的请求端口Req、脉冲输入端口spike(i,j)和输出响应信号端口ACK,且其通过输出端分别与卷积核RAM模块2、行/列译码模块4相连,通过输入端与PE阵列1中各个PE单元相连,所述行/列译码模块4的输出端分别与各个卷积核行缓存模块5相连,每一个所述卷积核行缓存模块5与PE阵列1中一行PE单元相连,每一个所述脉冲缓存模块6的输入端与PE阵列1中一行PE单元相连、且输出端与异步脉冲输出逻辑7相连,所述配置模块8的输出端分别与PE阵列1中各个PE单元相连。
本实施例中,PE阵列1由PE单元组成,它是整个基于异步电路的SCNN推理装置的核心组件,PE阵列1执行每个AER脉冲事件的卷积运算。为了快速访问相应的PE单元,每行的PE单元连接到通道,如图8所示。每个PE单元通过通道从卷积核行缓存模块接收卷积核值。在PE单元接收到适当的数据之后,它通过通道向卷积核行缓存模块返回ACK信号,允许发送下一个卷积核值。每个PE单元通过异步握手与卷积核行缓存模块交互。如果膜电位超过M_th,则从PE单元新产生的脉冲事件被发送到脉冲缓存模块。一旦所参与运算PE单元完成卷积操作,它就返回一个Done信号到控制模块。每个PE单元都包含了这样的寄存器组,采用这样的分布式存储以此来拉近PE运算单元和存储单元的距离,从而降低访问存储器的代价。卷积核RAM模块2存储每个卷积层计算所需的卷积权重。控制模块3将脉冲事件发送到计算引擎。接收到的信号传送给行/列译码模块模块,同时访问卷积核RAM模块。当该模块接收到所有参与运算的PE单元的Done信号,会生成Ack信号,以获取下一个AER脉冲事件。行/列译码模块4将数据从卷积核RAM模块发送到相应的卷积核行缓存模块。实现卷积核RAM模块中的每个卷积核值发送到相应的PE单元。卷积核行缓存模块5存储要发送到PE阵列的相关数据。我们根据处理的卷积核值的行号和AER脉冲事件的坐标将每个卷积核值存储在相应的卷积核行缓存模块中。如图8所示,卷积核行缓存模块中的每个元素都有两个字段。K_data字段表示相应的卷积核值值。Req字段表示K_data有效。数据被广播到该行的所有PE单元。一旦PE单元产生新的脉冲事件,该事件就被写入脉冲缓存模块6的相应行。在固定时间窗口内,当处理完所有AER脉冲事件时,所有新生成的脉冲事件由异步脉冲输出逻辑7传送到下一层以用于下一步操作。配置模块8用于初始化和配置每个PE单元中的寄存器的值。从而,使得本实施例基于异步电路的SCNN推理装置的PE阵列1可执行式(1)所示基于AER脉冲事件的卷积算法。
此外,本实施例还提供一种处理器,该处理器的基片中设有前述基于异步电路模拟IF神经元的PE单元或前述的基于异步电路的SCNN推理装置。
此外,本实施例还提供一种计算机设备,该计算机设备中设有前述基于异步电路模拟IF神经元的PE单元,或前述的基于异步电路的SCNN推理装置,或前述的处理器。
以上所述仅是本发明的优选实施方式,本发明的保护范围并不仅局限于上述实施例,凡属于本发明思路下的技术方案均属于本发明的保护范围。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理前提下的若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

Claims (6)

1.一种基于异步电路模拟IF神经元的PE单元,其特征在于,该PE单元包括:
控制通路,用于在本PE单元收到的脉冲信号Reqj上升时根据四阶段握手协议在本地产生3个时钟信号Lt1,Lt2,Lt3;
数据通路,用于执行数据处理模拟IF神经元进行脉冲放电;
所述数据通路中嵌入有神经元模型模拟单元和3个寄存器PE(i,j)、T_Reg、W_Reg,其中寄存器PE(i,j)表明该神经元的全局坐标,寄存器T_Reg存储神经元阈值电压,寄存器W_Reg保存神经元的膜电压,所述神经元模型模拟单元用于在3个时钟信号Lt1,Lt2,Lt3根据收到的膜电位K_dataj以及3个寄存器PE(i,j)、T_Reg、W_Reg实现集成-释放神经元的模拟。
2.根据权利要求1所述的基于异步电路模拟IF神经元的PE单元,其特征在于,所述神经元模型模拟单元包括:
锁存器,用于在时钟信号Lt1的作用下将在本PE单元收到的对本PE单元产生的膜电位K_dataj锁存;
加法器,用于在时钟信号Lt2的作用下将锁存器中的值、寄存器W_reg中的值相加得到新的膜电位A;
ACK信号生成模块,用于在时钟信号Lt2的作用下产生用于传递下一个脉冲事件的P_Ack信号输出;
比较器,用于将加法器输出的新的膜电位A、寄存器T_Reg中存储的神经元阈值电压Mth进行比较,且在新的膜电位A大于神经元阈值电压Mth时输出比较结果为真,在时钟信号Lt3的作用下将默认膜电压值写入寄存器W_Reg,否则输出比较结果为假,并在时钟信号Lt3的作用下将新的膜电位A写入寄存器W_Reg;
Done信号生成模块,用于在比较器的比较结果为真时输出Done信号;
脉冲产生模块,用于在比较器的比较结果为真时输出脉冲信号。
3.一种基于异步电路的SCNN推理装置,其特征在于,包括:
PE阵列(1),用于执行每个AER脉冲事件的卷积运算,所述PE阵列(1)为由多个权利要求1或2所述基于异步电路模拟IF神经元的PE单元构成的阵列结构;
卷积核RAM模块(2),用于存储每个卷积层计算所需的卷积权重;
控制模块(3),用于将AER脉冲事件发送到计算引擎,接收到的信号传送给行/列译码模块(4),同时访问卷积核RAM模块(2);当控制模块(3)接收到所有参与运算的PE单元的Done信号后会生成C_Ack信号,以获取下一个AER脉冲事件;
行/列译码模块(4),用于译码将数据从卷积核RAM模块(2)发送到相应的卷积核行缓存模块(5),实现卷积核RAM模块(2)中的每个卷积核值发送到相应的PE单元;
卷积核行缓存模块(5),用于存储要发送到PE阵列(1)中对应行PE单元的数据;
脉冲缓存模块(6),用于存储PE阵列(1)中对应行PE单元产生的新的脉冲事件;
异步脉冲输出逻辑(7),用于在固定时间窗口内,当处理完所有AER脉冲事件时将所有脉冲缓存模块(6)中存储的新生成的脉冲事件由异步输出到下一层以用于下一步操作;
配置模块(8),用于初始化和配置PE阵列(1)中各个PE单元中的寄存器的值;
所述控制模块(3)具有外部的请求端口Req、脉冲输入端口spike(i,j)和输出响应信号端口ACK,且其通过输出端分别与卷积核RAM模块(2)、行/列译码模块(4)相连,通过输入端与PE阵列(1)中各个PE单元相连,所述行/列译码模块(4)的输出端分别与各个卷积核行缓存模块(5)相连,每一个所述卷积核行缓存模块(5)与PE阵列(1)中一行PE单元相连,每一个所述脉冲缓存模块(6)的输入端与PE阵列(1)中一行PE单元相连、且输出端与异步脉冲输出逻辑(7)相连,所述配置模块(8)的输出端分别与PE阵列(1)中各个PE单元相连。
4.根据权利要求3所述的基于异步电路的SCNN推理装置,其特征在于,所述行/列译码模块(4)译码具体是指根据公式(1)以及来自控制模块(3)的AER脉冲事件的坐标(i,j)进行译码,从而得到卷积核的尺寸对应的n*n个PE单元构成的计算域,从而根据计算域确定用于接收数据的相应卷积核行缓存模块(5);
式(1)中,K是卷积核,G是输出图像,(i,j)是AER脉冲事件的坐标,M/N分别为卷积核的高和宽,(a,b)为投影计算域的坐标,dim(K)为卷积核的大小。
5.一种处理器,其特征在于,该处理器的基片中设有权利要求1或2所述基于异步电路模拟IF神经元的PE单元或权利要求3或4所述的基于异步电路的SCNN推理装置。
6.一种计算机设备,其特征在于,该计算机设备中设有权利要求1或2所述基于异步电路模拟IF神经元的PE单元,或权利要求3或4所述的基于异步电路的SCNN推理装置,或权利要求5所述的处理器。
CN201910624787.1A 2019-07-11 2019-07-11 基于异步电路的scnn推理装置及其pe单元、处理器及计算机设备 Active CN110378469B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910624787.1A CN110378469B (zh) 2019-07-11 2019-07-11 基于异步电路的scnn推理装置及其pe单元、处理器及计算机设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910624787.1A CN110378469B (zh) 2019-07-11 2019-07-11 基于异步电路的scnn推理装置及其pe单元、处理器及计算机设备

Publications (2)

Publication Number Publication Date
CN110378469A true CN110378469A (zh) 2019-10-25
CN110378469B CN110378469B (zh) 2021-06-04

Family

ID=68252835

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910624787.1A Active CN110378469B (zh) 2019-07-11 2019-07-11 基于异步电路的scnn推理装置及其pe单元、处理器及计算机设备

Country Status (1)

Country Link
CN (1) CN110378469B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113627603A (zh) * 2021-10-12 2021-11-09 成都时识科技有限公司 在芯片中实现异步卷积的方法、类脑芯片及电子设备

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140081893A1 (en) * 2011-05-31 2014-03-20 International Business Machines Corporation Structural plasticity in spiking neural networks with symmetric dual of an electronic neuron
CN105095961A (zh) * 2015-07-16 2015-11-25 清华大学 一种人工神经网络和脉冲神经网络的混合系统
CN105760930A (zh) * 2016-02-18 2016-07-13 天津大学 用于aer的多层脉冲神经网络识别系统
CN106446937A (zh) * 2016-09-08 2017-02-22 天津大学 用于aer图像传感器的多层卷积识别系统
CN106779056A (zh) * 2016-12-21 2017-05-31 天津大学 用于aer前馈分类系统的脉冲神经元硬件架构
CN108182471A (zh) * 2018-01-24 2018-06-19 上海岳芯电子科技有限公司 一种卷积神经网络推理加速器及方法
CN108197705A (zh) * 2017-12-29 2018-06-22 国民技术股份有限公司 卷积神经网络硬件加速装置及卷积计算方法及存储介质
CN108537331A (zh) * 2018-04-04 2018-09-14 清华大学 一种基于异步逻辑的可重构卷积神经网络加速电路
CN108846408A (zh) * 2018-04-25 2018-11-20 中国人民解放军军事科学院军事医学研究院 基于脉冲神经网络的图像分类方法及装置

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140081893A1 (en) * 2011-05-31 2014-03-20 International Business Machines Corporation Structural plasticity in spiking neural networks with symmetric dual of an electronic neuron
CN105095961A (zh) * 2015-07-16 2015-11-25 清华大学 一种人工神经网络和脉冲神经网络的混合系统
CN105760930A (zh) * 2016-02-18 2016-07-13 天津大学 用于aer的多层脉冲神经网络识别系统
CN106446937A (zh) * 2016-09-08 2017-02-22 天津大学 用于aer图像传感器的多层卷积识别系统
CN106779056A (zh) * 2016-12-21 2017-05-31 天津大学 用于aer前馈分类系统的脉冲神经元硬件架构
CN108197705A (zh) * 2017-12-29 2018-06-22 国民技术股份有限公司 卷积神经网络硬件加速装置及卷积计算方法及存储介质
CN108182471A (zh) * 2018-01-24 2018-06-19 上海岳芯电子科技有限公司 一种卷积神经网络推理加速器及方法
CN108537331A (zh) * 2018-04-04 2018-09-14 清华大学 一种基于异步逻辑的可重构卷积神经网络加速电路
CN108846408A (zh) * 2018-04-25 2018-11-20 中国人民解放军军事科学院军事医学研究院 基于脉冲神经网络的图像分类方法及装置

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
卢成业: "基于事件的卷积算法研究及事件型卷积处理器设计", 《中国优秀硕士学位论文全文数据库信息科技辑》 *
沈阳靖: "基于FPGA的脉冲神经网络加速器的设计", 《中国优秀硕士学位论文全文数据库信息科技辑》 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113627603A (zh) * 2021-10-12 2021-11-09 成都时识科技有限公司 在芯片中实现异步卷积的方法、类脑芯片及电子设备

Also Published As

Publication number Publication date
CN110378469B (zh) 2021-06-04

Similar Documents

Publication Publication Date Title
US11481621B2 (en) Unsupervised, supervised and reinforced learning via spiking computation
CN107092959B (zh) 基于stdp非监督学习算法的脉冲神经网络模型构建方法
WO2022134391A1 (zh) 融合神经元模型、神经网络结构及训练、推理方法、存储介质和设备
CN113449864B (zh) 用于图像数据分类的反馈型脉冲神经网络模型训练方法
CN103279958B (zh) 一种基于Spiking神经网络的图像分割方法
JP2022509754A (ja) 改良されたスパイキングニューラルネットワーク
CN111176758B (zh) 配置参数的推荐方法、装置、终端及存储介质
CN114118383A (zh) 基于多突触可塑性脉冲神经网络快速记忆编码方法和装置
Gupta et al. FPGA implementation of simplified spiking neural network
CN108009635A (zh) 一种支持增量更新的深度卷积计算模型
CN112085198A (zh) 基于全局反馈以及局部突触可塑的脉冲神经网络优化方法
CN115346096A (zh) 一种基于忆阻器所构建的脉冲神经网络模型
He et al. A low-cost fpga implementation of spiking extreme learning machine with on-chip reward-modulated stdp learning
CN110378469A (zh) 基于异步电路的scnn推理装置及其pe单元、处理器及计算机设备
CN113033795B (zh) 基于时间步的二值脉冲图的脉冲卷积神经网络硬件加速器
Schoenauer et al. Simulation of a digital neuro-chip for spiking neural networks
KURŞUN et al. Single-frame super-resolution by inference from learned features
Wu et al. Spiking neural network performs discrete cosine transform for visual images
CLEE Neural networks with memory for intelligent computations
CN116663620A (zh) 脑仿生片上学习脉冲神经网络及边缘端神经形态处理器
Hu et al. Optimization and Implementation of Image Compression Algorithm Based on Neural Network
CN117592537A (zh) 一种动态场景下的图数据表示学习方法
Domen et al. Implementation of Massive Artificial Neural Networks with Field-programmable Gate Arrays
CN115222794A (zh) 一种基于脉冲神经网络的视觉重建方法、装置、存储介质及终端
CN115423087A (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