CN106779056A - 用于aer前馈分类***的脉冲神经元硬件架构 - Google Patents

用于aer前馈分类***的脉冲神经元硬件架构 Download PDF

Info

Publication number
CN106779056A
CN106779056A CN201611190874.3A CN201611190874A CN106779056A CN 106779056 A CN106779056 A CN 106779056A CN 201611190874 A CN201611190874 A CN 201611190874A CN 106779056 A CN106779056 A CN 106779056A
Authority
CN
China
Prior art keywords
weights
psp
read
aer
clk
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
CN201611190874.3A
Other languages
English (en)
Other versions
CN106779056B (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.)
Qingdao Zhencheng Technology Co ltd
Original Assignee
Tianjin 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 Tianjin University filed Critical Tianjin University
Priority to CN201611190874.3A priority Critical patent/CN106779056B/zh
Publication of CN106779056A publication Critical patent/CN106779056A/zh
Application granted granted Critical
Publication of CN106779056B publication Critical patent/CN106779056B/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/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

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)
  • 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)
  • Neurology (AREA)
  • Image Analysis (AREA)
  • Image Processing (AREA)

Abstract

本发明涉及AER图像传感器图像识别领域,为满足基于AER图像传感器的事件驱动前馈分类***对于实时性、并行处理和小型化的要求,本发明旨在提供一种基于FPGA平台的SNN脉冲神经元硬件实现结构。本发明采用的技术方案是,用于AER前馈分类***的脉冲神经元硬件架构,由权值储存区、权值读写选通器、膜电势乘法累加器、PSP函数产生器、触发判断器、控制和时序以及权值修正模块,共计7个部分构成。本发明主要应用于图像传感器图像识别场合。

Description

用于AER前馈分类***的脉冲神经元硬件架构
技术领域
本发明涉及AER图像传感器图像识别领域,尤其涉及一种用于AER图像识别分类脉冲神经网络中的神经元硬件实现。
背景技术
AER(Address-Event Representation,AER,地址-事件表示)图像传感器实时探测目标场景的变化,相比基于“帧扫描”成像方式的传统图像传感器,能够滤除静止的背景像素数据,大幅降低冗余数据。AER只输出相关信息的异步数字事件流,这使得后面的处理***能够设计为完全事件驱动。
基于AER图像传感器的事件驱动前馈分类***,与其他分类***相似,可分为两部分:特征提取和分类。特征提取部分使用Gabor方向滤波器和最大化操作,而分类则采用脉冲神经网络(Spiking Neuron Networks,SNN)。首先利用AER像素上的差分硬件,达到阈值时输出地址事件流,并行进入基于Gabor函数的方向滤波器,输出包含特征信息的卷积结果,完成特征提取。每个输出都包含相应地址坐标,在指定接受域范围内,利用最大化操作滤除非显著信息,接着通过TFS(Time-to-first spike)单元,转换为脉冲响应,提供给SNN进行分类。
针对AER输出信息和分类***的要求,选用SNN众多模型中的LIF(LeakageIntegrate-and-fire)模型。LIF的输入通过TFS产生突触后电势(postsynapticpotential,PSP),具有快速上升和缓慢下降的形状。每个神经元之间都用权值代表突触强度,神经元的膜电势由所有输入脉冲的PSP的加权和叠加得到。通过与阈值进行比较,决定神经元触发与否,符合真实世界基于刺激的分类任务。SNN训练阶段如果神经元应该触发,而实际上没有触发,那么会提高膜电势峰值(tmax)处的权值。如果不应该触发,而实际上触发,则会降低膜电势峰值处的权值。若无误,则不用修正。测试时,通过统计相应神经元的触发状态实现分类。
该分类***的SNN硬件结构如图1所示。硬件结构包含特征输入、脉冲编码器、控制和时序、脉冲神经元以及触发状态输出,共计5个部分。包含特征信息的输入进入脉冲编码器,在控制和时序的作用下,进入脉冲神经元,进行对应的权值累加等操作,接着进行阈值比较,判断触发状态的输出。AER图像传感器的前馈分类***,对AER芯片输出的信息进行处理,通过Gabor卷积和最大化操作完成特征提取并减少非显著特征,输出信息进入采用LIF神经元的SNN网络,其中包含地址信息和时间信息,地址信息可以获知事件产生的像素位置以及对应滤波器种类,时间信息可以获知事件发生的时间。脉冲编码器工作原理为:如果网络的输入数量为N,输入有效时会有规律地激活一个脉冲,在无有效输入时不产生脉冲。
目前SNN算法主要依靠软件实现,速度慢,并行程度低,无法进行实时处理。而且软件需要较大的计算机支持,除了成本较高外,也无法实现设备的小型化。为了满足基于AER图像传感器的事件驱动前馈分类***对小型化和实时性的要求,对于所采用的SNN硬件实现变得十分必要,而SNN硬件中最重要的就是数量极大,具有可复制性的脉冲神经元。现场可编程门阵列(Field-Programmable Gate Array,FPGA)在近年得到了高速的发展,很容易实现高速、并行计算。利用FPGA实现SNN的脉冲神经元对于该分类***的性能具有极为重要的意义。
发明内容
为克服现有技术的不足,满足基于AER图像传感器的事件驱动前馈分类***对于实时性、并行处理和小型化的要求,本发明旨在提供一种基于FPGA平台的SNN脉冲神经元硬件实现结构。本发明采用的技术方案是,用于AER前馈分类***的脉冲神经元硬件架构,由权值储存区、权值读写选通器、膜电势乘法累加器、PSP函数产生器、触发判断器、控制和时序以及权值修正模块,共计7个部分构成,各部分具体如下:
(1)控制和时序以及权值修正模块:用于提供两个内部时钟,CLK和SLOW_CLK,其中CLK时钟周期远小于SLOW_CLK,比例范围为1:10000到1:500000,用于脉冲编码采样、膜电势比较,决定了网络处理的速度;SLOW_CLK用于协调神经元内部的工作,在不到一个SLOW_CLK的周期内能够获得所有的输入的膜电势累加结果;另外需要RST信号用于复位置零,以及RE读信号和WE写信号用于控制权值读写;
(2)权值读写选通器:通过控制信号选择权值的操作方式,在读阶段,连接权值储存器,提供适当的权值,在写阶段,线路连接至输入端,通过外部端口实现权值更新;
(3)权值储存器:在神经元内部用于储存权值,每个神经元权值储存器空间为输入数量乘以数据宽度;
(4)PSP函数产生器:PSP是具有迅速上升和缓慢下降的形状,(1)为PSP函数公式:
其中,K为PSP函数值,V0控制上升最大值,这里τm和τs是控制上升和下降坡度的时间常数,两常数关系为τs=τm/4,PSP波形共持续30个SLOW_CLK个周期,根据公式可采用30个离散点储存对应PSP函数值,形成30个数据宽度的查找表;
(5)膜电势乘法累加器:包括一个乘法器和一个加法器,在每个SLOW_CLK周期,根据公式(2)进行加权计算,其中n为累加周期内所有输入的数量,Δt为当前时间和上个脉冲的时间差,通过PSP查找表直接求值,ω为对应权值,通过权值储存器读取:
(6)触发判断器:在每一个CLK周期,膜电势乘法累加器的结果都会和膜电势阈值进行比较,如果阈值达到,则产生触发状态,否则不触发;触发判断器包含一个比较器,产生SNN触发状态输出;
(7)权值修正模块:用于SNN网络训练学习时,对错误触发的神经元权值实行修正。
SNN网络训练规则如下:应触发而未触发或不应触发而触发,读取PSP函数产生器响应数值,乘以学习速率后叠加到原权值位置,进行更新;利用内部PSP产生器和乘法器实现权值修正操作。
7个部分流程为:首先通过读写控制信号,来控制权值的更新和读取;在读取阶段,也就是测试阶段,根据输入的地址从权值储存区获取权值,另外从PSP函数产生器获取PSP函数值,共同进入膜电势乘法累加器中,进行加权计算;计算结果在每个时钟周期都会与触发阈值进行比较,利用比较器判断神经元的触发状态;在学习阶段,如果需要进行权值修正,读写控制信号此时处在写阶段,利用权值修正模块,读取PSP函数产生器的响应数值,对权值储存单元的权值进行修正。
7个部分集成于现场可编程门阵列FPGA中,权值存储器综合成存储RAM。
本发明的特点及有益效果是:
本发明基于FPGA平台实现了SNN脉冲神经元的硬件结构,满足了基于AER图像传感器的事件驱动前馈分类***软件支持下的速度慢、并行度低、成本高、体积大等劣势,有利于设备的小型化和实时性。
附图说明:
图1 SNN网络硬件结构。
图2神经元硬件结构。
图3四输入脉冲编码。
具体实施方式
本发明提出的用于该分类***SNN的神经元硬件结构如图2所示。脉冲神经元可具体分为权值储存区、权值读写选通器、膜电势乘法累加器、PSP函数产生器、触发判断器、控制和时序以及权值修正模块,共计7个部分,各部分功能如下:
(1)控制和时序:为了满足神经元内部的协调和网络处理的速度,需要采用两个内部时钟,CLK和SLOW_CLK,其中CLK时钟周期远小于SLOW_CLK,用与脉冲编码采样、膜电势比较,决定了网络处理的速度。SLOW_CLK用于协调神经元内部的工作,在不到一个SLOW_CLK的周期内就可以获得所有的输入的膜电势累加结果。另外需要RST信号用于复位置零,以及RE和WE用于控制权值读写。
(2)权值读写选通器:通过控制信号选择权值的操作方式。在读阶段,连接权值储存器,提供适当的权值,在写阶段,线路连接至输入端,通过外部端口实现权值更新。
(3)权值储存器:在神经元内部用于储存权值。每个神经元权值储存器空间为输入数量乘以数据宽度。在FPGA里被综合成存储RAM。
(4)PSP函数产生器:PSP是具有迅速上升和缓慢下降的形状,(1)为PSP函数公式:
其中,K为PSP函数值,V0控制上升最大值,这里τm和τs是控制上升和下降坡度的时间常数,两常数关系为τs=τm/4,PSP波形共持续30个SLOW_CLK个周期,根据公式可采用30个离散点储存对应PSP函数值,形成30个数据宽度的查找表。
(5)膜电势乘法累加器:包括一个乘法器和一个加法器,在每个SLOW_CLK周期,根据公式(2)进行加权计算,其中Δt为当前时间和上个脉冲的时间差,可通过PSP查找表直接求值,ω为对应权值,通过权值储存器读取。
(6)触发判断器:在每一个CLK周期,膜电势乘法累加器的结果都会和膜电势阈值进行比较,如果阈值达到,则产生触发状态,否则不触发。触发判断器包含一个比较器,产生SNN触发状态输出。
(7)权值修正模块:用于SNN网络训练学习时,对错误触发的神经元权值实行修正,学习规则如下:应触发而未触发或不应触发而触发,读取PSP函数产生器响应数值,乘以学习速率后叠加到原权值位置,进行更新。可利用内部PSP产生器和乘法器实现权值修正操作。
首先通过读写控制信号,来控制权值的更新和读取。在读取阶段,也就是测试阶段,根据输入的地址从权值储存区获取权值,另外从PSP函数产生单元获取PSP函数值,共同进入膜电势乘法累加器中,进行加权计算。计算结果在每个时钟周期都会与触发阈值进行比较,利用比较器判断神经元的触发状态。在学习阶段,如果需要进行权值修正,读写控制信号此时处在写阶段,利用权值修正模块,读取PSP函数产生器的响应数值,对权值储存单元的权值进行修正。
根据本发明提出的基于FPGA的SNN脉冲神经元的硬件结构,能够满足基于AER图像传感器的事件驱动前馈分类***的要求。输入输出数量,采样时钟频率和数据宽度等参数可调整。PSP函数持续周期为30个SLOW_CLK,包含30个等距离散点。CLK时钟周期远小于SLOW_CLK,可选择1:10000的比例。SNN的脉冲编码器在输入为4个的时候原理如图3所示,其中以白块代表有效输入,黑块代表无效输入。权值储存区大小与输入数量和数据宽度有关。由于AER图像传感器在降低冗余数据上的优势以及前馈分类***滤除非显著特征的操作,实际SNN输入数量可以远小于全连接所需要的输入数量。数据宽度由所需精度决定,默认为16位bit宽度。本发明基于FPGA硬件平台,因而具有极强的灵活性和低成本优势,通过参数的修改,可以获得专用SNN神经网络的脉冲神经元结构,通过并行数据处理,解决软件处理平台低速问题。

Claims (4)

1.一种用于AER前馈分类***的脉冲神经元硬件架构,其特征是,由权值储存区、权值读写选通器、膜电势乘法累加器、PSP函数产生器、触发判断器、控制和时序以及权值修正模块,共计7个部分构成,各部分具体如下:
(1)控制和时序以及权值修正模块:用于提供两个内部时钟,CLK和SLOW_CLK,其中CLK时钟周期远小于SLOW_CLK,比例范围为1:10000到1:500000,用于脉冲编码采样、膜电势比较,决定了网络处理的速度;SLOW_CLK用于协调神经元内部的工作,在不到一个SLOW_CLK的周期内能够获得所有的输入的膜电势累加结果;另外需要RST信号用于复位置零,以及RE读信号和WE写信号用于控制权值读写;
(2)权值读写选通器:通过控制信号选择权值的操作方式,在读阶段,连接权值储存器,提供适当的权值,在写阶段,线路连接至输入端,通过外部端口实现权值更新;
(3)权值储存器:在神经元内部用于储存权值,每个神经元权值储存器空间为输入数量乘以数据宽度;
(4)PSP函数产生器:PSP是具有迅速上升和缓慢下降的形状,(1)为PSP函数公式:
K = V 0 × ( exp ( - t τ m ) - exp ( - t τ s ) ) - - - ( 1 )
其中,K为PSP函数值,V0控制上升最大值,这里τm和τs是控制上升和下降坡度的时间常数,两常数关系为τs=τm/4,PSP波形共持续30个SLOW_CLK个周期,根据公式可采用30个离散点储存对应PSP函数值,形成30个数据宽度的查找表;
(5)膜电势乘法累加器:包括一个乘法器和一个加法器,在每个SLOW_CLK周期,根据公式(2)进行加权计算,其中n为累加周期内所有输入的数量,Δt为当前时间和上个脉冲的时间差,通过PSP查找表直接求值,ω为对应权值,通过权值储存器读取:
u ( t ) = Σ i = 1 n ω i × K ( Δ t ) - - - ( 2 )
(6)触发判断器:在每一个CLK周期,膜电势乘法累加器的结果都会和膜电势阈值进行比较,如果阈值达到,则产生触发状态,否则不触发;触发判断器包含一个比较器,产生SNN触发状态输出;
(7)权值修正模块:用于SNN网络训练学习时,对错误触发的神经元权值实行修正。
2.如权利要求1所述的用于AER前馈分类***的脉冲神经元硬件架构,其特征是,SNN网络训练规则如下:应触发而未触发或不应触发而触发,读取PSP函数产生器响应数值,乘以学习速率后叠加到原权值位置,进行更新;利用内部PSP产生器和乘法器实现权值修正操作。
3.如权利要求1所述的用于AER前馈分类***的脉冲神经元硬件架构,其特征是,7个部分流程为:首先通过读写控制信号,来控制权值的更新和读取;在读取阶段,也就是测试阶段,根据输入的地址从权值储存区获取权值,另外从PSP函数产生器获取PSP函数值,共同进入膜电势乘法累加器中,进行加权计算;计算结果在每个时钟周期都会与触发阈值进行比较,利用比较器判断神经元的触发状态;在学习阶段,如果需要进行权值修正,读写控制信号此时处在写阶段,利用权值修正模块,读取PSP函数产生器的响应数值,对权值储存单元的权值进行修正。
4.如权利要求1所述的用于AER前馈分类***的脉冲神经元硬件架构,其特征是,7个部分集成于现场可编程门阵列FPGA中,权值存储器综合成存储RAM。
CN201611190874.3A 2016-12-21 2016-12-21 用于aer前馈分类***的脉冲神经元硬件架构 Active CN106779056B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201611190874.3A CN106779056B (zh) 2016-12-21 2016-12-21 用于aer前馈分类***的脉冲神经元硬件架构

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201611190874.3A CN106779056B (zh) 2016-12-21 2016-12-21 用于aer前馈分类***的脉冲神经元硬件架构

Publications (2)

Publication Number Publication Date
CN106779056A true CN106779056A (zh) 2017-05-31
CN106779056B CN106779056B (zh) 2019-05-10

Family

ID=58893571

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201611190874.3A Active CN106779056B (zh) 2016-12-21 2016-12-21 用于aer前馈分类***的脉冲神经元硬件架构

Country Status (1)

Country Link
CN (1) CN106779056B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110046695A (zh) * 2019-04-09 2019-07-23 中国科学技术大学 一种可配置的高并行度脉冲神经元阵列
CN110378469A (zh) * 2019-07-11 2019-10-25 中国人民解放军国防科技大学 基于异步电路的scnn推理装置及其pe单元、处理器及计算机设备
CN110674928A (zh) * 2019-09-18 2020-01-10 电子科技大学 一种融合人工神经网络和神经形态计算的在线学习方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105469039A (zh) * 2015-11-19 2016-04-06 天津大学 基于aer图像传感器的目标识别***
CN105611114A (zh) * 2015-11-02 2016-05-25 天津大学 用于aer图像传感器的全数字多卷积核卷积处理芯片
CN105760930A (zh) * 2016-02-18 2016-07-13 天津大学 用于aer的多层脉冲神经网络识别***
CN106127800A (zh) * 2016-06-14 2016-11-16 天津大学 基于aer图像传感器的实时多物体追踪方法和装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105611114A (zh) * 2015-11-02 2016-05-25 天津大学 用于aer图像传感器的全数字多卷积核卷积处理芯片
CN105469039A (zh) * 2015-11-19 2016-04-06 天津大学 基于aer图像传感器的目标识别***
CN105760930A (zh) * 2016-02-18 2016-07-13 天津大学 用于aer的多层脉冲神经网络识别***
CN106127800A (zh) * 2016-06-14 2016-11-16 天津大学 基于aer图像传感器的实时多物体追踪方法和装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
XAVIER LAGORCE 等: "《Asynchronous Event-Based Multikernel Algorithm for High-Speed Visual Features Tracking》", 《IEEE TRANSACTIONS ON NEURAL NETWORKS AND LEARNING SYSTEMS》 *

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110046695A (zh) * 2019-04-09 2019-07-23 中国科学技术大学 一种可配置的高并行度脉冲神经元阵列
CN110046695B (zh) * 2019-04-09 2021-04-23 中国科学技术大学 一种可配置的高并行度脉冲神经元阵列
CN110378469A (zh) * 2019-07-11 2019-10-25 中国人民解放军国防科技大学 基于异步电路的scnn推理装置及其pe单元、处理器及计算机设备
CN110674928A (zh) * 2019-09-18 2020-01-10 电子科技大学 一种融合人工神经网络和神经形态计算的在线学习方法
CN110674928B (zh) * 2019-09-18 2023-10-27 电子科技大学 一种融合人工神经网络和神经形态计算的在线学习方法

Also Published As

Publication number Publication date
CN106779056B (zh) 2019-05-10

Similar Documents

Publication Publication Date Title
CN111401516B (zh) 一种神经网络通道参数的搜索方法及相关设备
Tapiador-Morales et al. Neuromorphic LIF row-by-row multiconvolution processor for FPGA
CN107239727A (zh) 手势识别方法和***
CN105760930A (zh) 用于aer的多层脉冲神经网络识别***
EP3195193A1 (en) Event-based down sampling
EP3108410A2 (en) Event-based inference and learning for stochastic spiking bayesian networks
EP3087538A2 (en) Neural watchdog
CN106779056A (zh) 用于aer前馈分类***的脉冲神经元硬件架构
US20150278641A1 (en) Invariant object representation of images using spiking neural networks
WO2015167765A2 (en) Temporal spike encoding for temporal learning
CN110147163B (zh) 面向移动设备的多模型融合驱动的眼动跟踪方法和***
CN101299233A (zh) 基于fpga实现的运动目标识别与跟踪装置及方法
CA2926824A1 (en) Implementing synaptic learning using replay in spiking neural networks
WO2015153150A2 (en) Probabilistic representation of large sequences using spiking neural network
EP3063707A2 (en) Evaluation of a system including separable sub-systems over a multidimensional range
US20140310216A1 (en) Method for generating compact representations of spike timing-dependent plasticity curves
CN110197212A (zh) 图像分类方法、***及计算机可读存储介质
WO2015148254A2 (en) Invariant object representation of images using spiking neural networks
CN108875500A (zh) 行人再识别方法、装置、***及存储介质
WO2015057305A1 (en) Dynamically assigning and examining synaptic delay
Kulkarni et al. Learning and real-time classification of hand-written digits with spiking neural networks
CN105203045B (zh) 一种基于异步时域视觉传感器的产品形状完整性检测***及检查方法
CN116758331A (zh) 物体检测方法、装置及存储介质
RU179930U1 (ru) Вероятностный комбинированный умножитель
CN115562969B (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
TR01 Transfer of patent right

Effective date of registration: 20220713

Address after: 266000 No. 39, Shandong Road, Shinan District, Qingdao, Shandong Province

Patentee after: Qingdao Zhencheng Technology Co.,Ltd.

Address before: No.92 Weijin Road, Nankai District, Tianjin 300072

Patentee before: Tianjin University

TR01 Transfer of patent right