CN106779056A - 用于aer前馈分类***的脉冲神经元硬件架构 - Google Patents
用于aer前馈分类***的脉冲神经元硬件架构 Download PDFInfo
- 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
Links
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/063—Physical 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(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为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网络训练学习时,对错误触发的神经元权值实行修正。
2.如权利要求1所述的用于AER前馈分类***的脉冲神经元硬件架构,其特征是,SNN网络训练规则如下:应触发而未触发或不应触发而触发,读取PSP函数产生器响应数值,乘以学习速率后叠加到原权值位置,进行更新;利用内部PSP产生器和乘法器实现权值修正操作。
3.如权利要求1所述的用于AER前馈分类***的脉冲神经元硬件架构,其特征是,7个部分流程为:首先通过读写控制信号,来控制权值的更新和读取;在读取阶段,也就是测试阶段,根据输入的地址从权值储存区获取权值,另外从PSP函数产生器获取PSP函数值,共同进入膜电势乘法累加器中,进行加权计算;计算结果在每个时钟周期都会与触发阈值进行比较,利用比较器判断神经元的触发状态;在学习阶段,如果需要进行权值修正,读写控制信号此时处在写阶段,利用权值修正模块,读取PSP函数产生器的响应数值,对权值储存单元的权值进行修正。
4.如权利要求1所述的用于AER前馈分类***的脉冲神经元硬件架构,其特征是,7个部分集成于现场可编程门阵列FPGA中,权值存储器综合成存储RAM。
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)
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)
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图像传感器的实时多物体追踪方法和装置 |
-
2016
- 2016-12-21 CN CN201611190874.3A patent/CN106779056B/zh active Active
Patent Citations (4)
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)
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)
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 |