【技术实现步骤摘要】
脉冲卷积神经网络算法、集成电路、运算装置及存储介质
[0001]本专利技术涉及一种脉冲卷积神经网络脉冲卷积神经网络算法、集成电路、运算装置及存储介质,可以将传统的卷积神经网络转换成脉冲神经网络,具体涉及图像分类领域。
技术介绍
[0002]传统的计算机大多采取冯诺依曼架构,然而,因为冯诺依曼架构存储单元和运算单元的分立,导致了在数据传输上产生了极大的能量消耗,并且影响运算速度。目前卷积神经网络在图像分类领域具有非常好的效果,拥有大量成熟的训练方法和工具,还有经过大量验证的经典卷积神经网络模型,如lenet-5、alexnet、vgg-16等。如果在采用冯诺依曼架构的硬件上运行,比如CPU、GPU、FPGA,则需要大量的数据传输过程,对于规模很大的矩阵,计算速度比数据传输的速度要快得多,优化计算速度不能够加快整个系统的速度。
[0003]存算一体单元由于能够将数据直接保存在计算单元上且不需要片上缓存,从而解决了上述问题,但是卷积神经网络运算中依然存在大量的中间数据需要缓存,且在存算一体单元上实现时,需要使用大量模数转换器将电流转换为数字信号,占用了整个系统大部分的面积和功耗。另外由于模数转换器的频率有限,所以整个系统的计算速度也受到其限制,无法再进行提升。
技术实现思路
[0004]脉冲神经网络试图尽可能模拟人脑的计算方式,明显的特征就是数据都是以脉冲信号的形式在网络里流动,在用硬件实现时,功耗远小于卷积神经网络。
[0005]脉冲卷积神经网络结合了卷积神经网络和脉冲神经网络的特点,将卷 ...
【技术保护点】
【技术特征摘要】
1.一种脉冲卷积神经网络算法,基于存算一体单元,所述存算一体单元包括至少一个存输入端,至少一个算输入端以及一个输出端,其特征在于:1)将脉冲卷积神经网络的第一层的权值复制至若干份,份数至少为用于表征待分析物属性的量所转换成的二进制数的位数以及所述存算一体单元的存输入端的最小值,并且将复制后的所述份数的权值进行处理,使复制后的各个权值在数值上依次缩小两倍,所得数值被分别输入到多个所述存算一体单元的存输入端,所述存算一体单元的个数与所述份数相同;2)将所选的、集中用于表征待分析物属性的量转换成二进制数,并将待输入的所述二进制数的每一位数值,或者根据系统位宽截位后的数值作为输入脉冲,输入到所述脉冲卷积神经网络的存算一体计算单元中;并且,对于每个表征待分析物属性的输入集合,在对应于所述输入集合的时间周期内,使所述输入脉冲保持不变并不间断地输入到所述脉冲卷积神经网络中相应的计算单元,直到完成对该被分析物的所述属性的处理;3)对于用于表征待分析物属性的、对应于所述一个组中的每个基本的二进制数,使所述每个存输入端的输入量,分别与一个算输入端的输入量相对应,并且绝对值较大的存输入端的输入量与较高位的算输入端的输入量一一对应;4)在每个所述存算一体单元中,使所述存输入端的量与所述算输入端的量进行运算,输出端得到的电流值代表所述存算一体单元的存输入端的值与算输入端的值进行乘法运算的结果。2.如权利要求1所述的脉冲卷积神经网络算法,其特征在于:1)包括所述第一层的运算以及其它层的运算,并且在其中的任意层,在所述存输入端与所述算输入端的运算以外,再加一个运算累加项,所述运算累加项为一个经过修正的偏置值,所述经过修正的偏置值正比于其原始值再除以该层之前所有层的正阈值的累乘,所述正比的比例与该偏置所在的层以及之前的层的权值缩放比例有关;2)所述脉冲卷积神经网络算法,对所述存算一体单元的输出持续地进行累加,当所述累加和超过一个设定的正阈值后,对所述累加和进行清零,并且向下一层相应位置的算输入端释放一个输出脉冲;并且当所述累加和小于一个设定的负阈值之后,使该累加和保持在该负阈值上。3.如权利要求2所述的脉冲卷积神经网络算法,其特征在于,所述脉冲卷积神经网络中包括批标准化层,对该批标准化层之前的一个卷积层或全连接层中的权值和偏置进行线性变换,其中所述线性变换中的参数由前面的训练过程中得到。4.如权利要求1至3中任一项所述的脉冲卷积神经网络算法,其特征在于,用多个计数器对所述脉冲卷积神经网络最后一个全连接层中每个神经元的脉冲个数以及最早出现脉冲的时间进行统计,所述计数器个数为所述神经元的数目或其两倍。5.如权利要求4所述的脉冲卷积神经网络算法,其特征在于,如果所述多个计数器中至少两个计数器计数结果均为相同的最大值,则选取最早接收到脉冲的计数器所对应的类别值为最终结果。6.如权利要求4所述的脉冲卷积神经网络算法,其特征在于,计数器显著地多,则输出终止运算,将最终的分类结果作为所述多个计数器计数结果的最大值所对应的类别值进行输出。
7.如权利要求1所述的脉冲卷积神经网络算法,其特征在于,在所述第一层的运算之后,还进行平均池化、最大池化、卷积层和全连接层运算中的至少一种。8.如权利要求1至3,及7中任一项所述的脉冲卷积神经网络算法,其特征在于:1)设定若干个时钟信号的时长为一个分析周期;2)将待分析的标的物分为若干分区;3)以所述分析周期为时间单位,逐次分析一个分区的时间序列信号,将代表该分区的运算结果送至一个存储器;4)分析下一个分区的信号,将所述代表该分区的运算结果送至所述存储器,直到所完成的多个分区的信号联合地满足下一层的分析条件;5)将所述存储器存储的各个所述分区的信号送入下一层进行运算。9.如权利要求8所述的脉冲卷积神经网络算法,其特征在于,所述存储器为寄存器、片上缓存、片外存储或者云存储中的至少一种,或者它们的组合。10.一种基于脉冲卷积神经网络的集成电路,其特征在于,所述集成电路执行如权利要求1-3,及7中任一项所述的脉冲卷积神经网络算法。11.一种基于脉冲卷积神经网络的集成电路,其特征在于,所述集成电路执行如权利要求8所述的脉冲卷积神经网络算法。12.一种计算机可读记录介质,其上存储计算机可读指令,当所述计算机可读指令由计算机执行时,使得所述计算机执行脉冲卷积神经网络算法,所述脉冲卷积神经网络算法的特征在于:1)将脉冲卷积神经网络的第一层的权值复制至若干份,份数至少为用于表征待分析物属性的量所转换成的二进制数的位数以及所述存算一体单元的存输入端的最小值,并且将复制后的所述份数的权值进行处理,使复制后的各个权值在数值上依次缩小两倍,所得数值被分别输入到多个所述存算一体单元的存输入端,所述存算一体单元的个数与所述份数相同;2)将所选的、集中用于表征待分析物属性的量转换成二进制数,并将待输入的所述二进制数的每一位数值,或者根据系统位宽截位后的数值作为输入脉冲,输入到所述脉冲卷积神经网络的存算一体计算单元中;并且,对于每个表征待分析物属性的输入集合,在对应于所述输入集合的时间周期内,使所述输入脉冲保持不变并不间断地输入到所述脉冲卷积神经网络中相应的计算单元,直到完成对该被分析物的所述属性的处理;3)对于用于表征待分析物属性的、对应于所述一个组中的每个基本的二进制数,使所述每个存输入端的输入量,分别与一个算输入端的输入量相对应,并且绝对值较大的存输入端的输入量与较高位的算输入端的输入量一一对应;4)在每个所述存算一体单元中,使所述存输入端的量与所述算输入端的量进行运算,输出端得到的电流值代表所述存算一体单元的存输入端的值与算输入端的值进行乘法运算的结果。13.如权利要求12所述的计算机可读记录介质,其特征在于:1)所述脉冲卷积神经网络算法包括所述第一层的运算以及其它层的运算,并且在其中的任意层,在所述存输入端与所述算输入端的运算以外,再加一个运算累加项,所述运算累加项为一个经过修正的偏置值,所述经过修正的偏置值正比于其原始值再除以该层之前所
有层的正阈值的累乘,所述正比的比例与该偏置所在的层以及之前的层的权值缩放比例有关;2)所述脉冲卷积神经网络算法,对所述存算一体单元的输出持续地进行累加,当所述累加和超过一个设定的正阈值后,对所述累加和进行清零,并且向下一层相应位置的算输入端释放一个输出脉冲;并且当所述累加和小于一个设定的负阈值之后,使该累加和保持在该负阈值上。14.如权利要求12所述的计算机可读记录介质,其特征在于,所述脉冲卷积神经网络中包括批标准化层,对该批标准化层之前的一个卷积层或全连接层中的权值和偏置进行线性变换,其中所述线性变换中的参数由前面的训练...
【专利技术属性】
技术研发人员:王瑶,陈轩,李张南,王宇宣,
申请(专利权)人:南京惟心光电系统有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。