1.基于STDP法则的全数字脉冲神经网络硬件系统,其特征在于:该脉冲神经网络系统包含输入层神经元模块、可塑性学习模块、数据线控制模块、突触阵列模块、输出层神经元模块和实验报告模块;
输入层神经元模块的输出端连接数据线控制模块的输入端和可塑性学习模块的输入端,可塑性学习模块的输出端连接数据线控制模块的输入端,数据线控制模块的输出端连接突触阵列模块的输入端,突触阵列模块的输出端连接输出层神经元的输入端,输出层神经元的输出端连接实验报告模块的输入端;
所述的可塑性学习模块包括突触地址寄存模块、多个突触计算模块、突触权重寄存器、多个突触后脉冲产生模块;输入层神经元模块的输出端将突触前脉冲输入给每个突触计算模块;每个突触计算模块计算出更新后的突触权重并通过第二突触权重连接线输入到突触权重寄存器,通过第一突触权重连接线输入到每个突触后脉冲产生模块;所述的突触后脉冲产生模块的输出端通过突触后脉冲连接线将突触后脉冲输入到每个突触计算模块;突触权重寄存器通过突触权重输出端口接突触阵列模块;突触地址寄存模块的输出端接突触阵列模块;
所述的每个突触计算模块包括状态机和加法器;所述的状态机从突触阵列模块读取突触权重,输入到突触后脉冲产生模块;突触后脉冲产生模块根据突触权重的大小决定突触后脉冲产生的时间,从而调整突触前后脉冲的时间间隔,根据时间间隔,将突触权重变量传输到加法器,完成突触权重的更新,最后传输到突触阵列模块存储。
2.根据权利要求1所述的基于STDP法则的全数字脉冲神经网络硬件系统,其特征在于:所述的输入层神经元模块包括输入神经元计数器、图像像素点计数器、输入神经元;所述的输入神经元的输入端接图像信息输入连接线、输入神经元序号连接线和输入神经元计数器,所述的图像像素点计数器的识别阶段和初始化阶段写使能输出端口、识别阶段和初始化阶段写地址输出端口、识别阶段和初始化阶段学习使能输出端口、识别阶段和初始化阶段读写地址输出端口连接数据线控制模块;所述的输入层神经元将196个输入层神经元压缩成28个综合的输入层神经元模块,在有效降低了数字逻辑使用量的同时与28组突触计算模块相对应。
3.根据权利要求1所述的基于STDP法则的全数字脉冲神经网络硬件系统,其特征在于:所述的数据线控制模块包括数据选择器;所述的数据选择器;在训练阶段,数据选择器的突触权重输入端口写使能信号输入端口、写地址输入端口、写使能输入端口、写地址输入端口分别控制学习阶段突触权重的读写,控制突触地址的读取;写使能决策端口则决定写使能输出端口的输出,决定由哪一列突触阵列进行训练;在识别阶段,识别阶段和初始化阶段写使能输入端口、识别阶段和初始化阶段写地址输入端口、识别阶段和初始化阶段学习使能输入端口、识别阶段和初始化阶段读写地址输入端口,分别控制识别阶段突触权重的读写;
初始化权重输入端口,则控制初始化阶段,突触权重的输入。
4.根据权利要求1所述的基于STDP法则的全数字脉冲神经网络硬件系统,其特征在于:所述的输出层神经元模块包括状态机、突触权重寄存器、横向抑制信号寄存器;其中状态机根据学习使能信号、横向抑制信号来进行状态的跳转,突触权重会从突触阵列模块输入到突触权重寄存器,在训练阶段,当突触权重的累加值超过阈值时,横向抑制信号寄存器从横向抑制信号输出端口发出横向抑制,抑制其它列向层神经元;在识别阶段,累加后的突触权重会从突触权重输出端口输入到实验报告模块。
5.根据权利要求1所述的基于STDP法则的全数字脉冲神经网络硬件系统,其特征在于:所述的实验报告模块包括编码转换模块、标签号寄存器、膜电位寄存器、最大膜电位寄存器、膜电位判断器、正确图像计数器和准确率计算器,在训练阶段,横向抑制输入端口输入各个输出层神经元的抑制信号,编码转换模块将输入的抑制信号转化成4位二进制,同时标签输入端口将正确的标签与转化后的4位二进制码进行匹配,利用标签号寄存器进行寄存;
在识别阶段,权重输入端口会输入各层的突触权重,膜电位寄存器会选出最大的膜电位,输入到最大膜电位寄存器,膜电位判断器会判断出识别图像的标签和学习图像的标签是否一致,正确图像计数器会对识别正确的图像计数,通过准确率计算器计算出结果,由准确率输出端口输出。
6.根据权利要求1所述的基于STDP法则的全数字脉冲神经网络硬件系统,其特征在于:所述的突触计算模块的状态跳转方式,具体为:状态S0:迭代学习的初始化阶段,进行突触权重的初始化,应用伪随机数产生突触权重;在条件学习使能端为高电平并且有突触后脉冲进入状态S2,在条件学习使能端为高电平并且有突触前脉冲进入状态S1;
其中状态S1:突触权重增强状态,增加突触的权重,在条件学习使能端为低电平或者计算器值为4进入状态S0;状态S2:突触权重减弱状态,减小突触的权重,在条件学习使能端为低电平或者计算器值为4进入状态S0;
所述的条件学习使能端为低电平或者计算器值为4;
条件学习使能端为高电平并且有突触后脉冲;
条件学习使能端为高电平并且有突触前脉冲;
状态S0:迭代学习的初始化阶段;
状态S1:突触权重增强状态;
状态S2:突触权重减弱状态;
状态S3:未学习的初始化状态。
7.根据权利要求1所述的基于STDP法则的全数字脉冲神经网络硬件系统,其特征在于:所述的输出层神经元的状态方式具体为:
状态S3:未学习的初始化状态,在条件学习使能端为高电平进入状态S4;
状态S4:竞争学习状态,竞争出哪一列突触阵列模块进行学习,在条件横向抑制信号62为高电平进入状态S5,在条件输入的横向抑制信号56为高电平进入状态S6;
状态S5:学习竞争成功状态,该状态主要是学习阶段,在条件学习使能端为低电平进入状态S7;
状态S6:学习竞争失败状态,在条件学习使能端为低电平进入状态S3;
状态S7:识别阶段,在条件学习使能端为高电平进入状态S8;
状态S8:不干扰阶段,学习成功后的神经元不会在干扰未学习的神经元,在条件学习使能端为低电平进入状态S4;
所述的条件学习使能端为低电平;
条件学习使能端为高电平;
条件输入的横向抑制信号端为高电平;
条件横向抑制信号为高电平;
状态S3:未学习的初始化状态;
状态S4:竞争学习状态;
状态S5:学习竞争成功;
状态S6:学习竞争失败;
状态S7:识别阶段;
状态S8:不干扰阶段。
8.根据权利要求1所述的基于STDP法则的全数字脉冲神经网络硬件系统,其特征在于:所述的突触阵列模块是由10组FPGA内部的BRAM构成,各组BRAM模块间的写使能信号相互独立;在初始化阶段,10组突触阵列会被写入随机化的突触权重;在训练阶段,突触权重的迭代更新只与当前竞争成功的列向突触阵列相关,此BRAM模块的写使能为高电平,而其他的BRAM模块的写使能为低电平。
9.根据权利要求1所述的基于STDP法则的全数字脉冲神经网络硬件系统的实现方法,其特征在于:包括初始化阶段、训练阶段和识别阶段;在初始化阶段,突触的权重会通过将伪随机数输入到突触阵列模块;在训练阶段,通过将图像的像素信息串联输入到输入层神经元模块,输入层神经元模块首先会判断输入的像素点是否超过阈值,超过阈值则产生脉冲方波,即突触前脉冲;突触前脉冲会输入到可塑性学习模块,可塑性学习模块从突触阵列模块中读出相应的突触权重,依据突触权重的大小,决定突触后脉冲发出的快慢,从而决定突触权重的增量大小,将更新后的突触权重写进突触阵列模块;输出层神经元模块会根据突触阵列模块输入的突触权重进行求和,这个和值会被寄存在一个膜电位寄存器中,当其率先超过设定好的膜电位阈值后,输出横向抑制信号,以便抑制其他列向的输出层神经元,实现WTA机制,实现一列突触阵列模块对一类图像的学习;在识别阶段,将需要识别的图像的像素依次输入输入层神经元,超过阈值的像素点会产生脉冲,从而突触的权重进行求和,找出输出层神经元中膜电位最大者,同时,将膜电位最大者标号与识别图像的标号进行对比,从而判断是否识别正确。