一种基于量化ANN的脉冲神经网络转化训练方法、装置及芯片

文档序号:35209368发布日期:2023-08-24 02:52阅读:127来源:国知局
一种基于量化ANN的脉冲神经网络转化训练方法、装置及芯片

本发明属于类脑计算领域,尤其是涉及一种基于量化ann的脉冲神经网络转化训练方法、装置及芯片。


背景技术:

1、脉冲神经网络(spiking neural network,snn),是实现低功耗高效机器智能的关键。作为第三代人工智能网络,脉冲神经网络(snn)具有至少与第二代人工神经网络(ann)相同的计算能力。

2、不同于ann中使用的实数激活的神经元,snn中的神经元使用脉冲(非0即1的二进制事件)来进行基于事件驱动的信息的处理以及传递。由于生物神经网络基于脉冲(spike)的稀疏信息处理和传递机制被认为是其高效的原因,snn也因此被认为具有低功耗的潜质。在snn的事件驱动计算模型中,所有的神经元不再受全局时钟的驱动而是基于事件异步驱动并进行计算。由于神经元之间的计算仅由事件驱动,互相独立,因此snn不受时钟轮询的限制。结合新兴的神经形态器件,将极大的提升snn的低能耗潜力。

3、目前现有技术中训练snn的技术方法,主要包括以下两大类:

4、直接训练技术:通过使用替代梯度克服了脉冲函数的不可微性,并应用时间反向传播(bptt,back-propagation through time)类似于ann中的反向传播方法来直接优化snn。如公开号为cn115358261a的中国专利文献公开了一种基于脉冲时间序列误差反向传播的触觉物体识别方法,将用于模型训练的触觉数据输入脉冲神经网络模型,并通过脉冲时间序列的误差反向传播算法对建立的脉冲神经网络模型进行训练,根据计算所得的梯度来迭代更新直到得到最优的网络权重参数,最终得到训练完毕的脉冲神经网络模型。

5、然而,由于脉冲训练的稀疏性,直接使用bptt训练snn在主流计算设备(如gpu)上的计算资源和内存的利用率都较低,不利于网络训练。另一方面,替代梯度引起的深度网络中梯度消失或爆炸问题会使得直接训练方法对于高复杂性任务的效果较差。

6、ann到snn转化技术:采用与ann完全相同的训练过程,能够在主流硬件上利用现有针对ann的高效计算框架。此外,通过将ann中的神经网络激活值近似为snn中的脉冲发放率,ann到snn的转换算法在具有挑战性的任务上取得了良好的性能。然而,现有技术方案由于存在量化误差和累积误差,会导致转换过程中性能下降,特别是在延迟较短的情况下。


技术实现思路

1、本发明提供了一种基于量化ann的脉冲神经网络转化训练方法,在保证snn精度与ann精度相当的前提下大幅降低snn的推断延迟,提高了潜在snn应用的实时性以及能效。

2、一种基于量化ann的脉冲神经网络转化训练方法,包括:

3、(1)采用量化训练的方法来训练量化ann;

4、(2)构建量化ann和脉冲神经网络snn之间的等价映射,通过量化ann训练对阈值和权重的优化来最小化ann到snn转化过程中的量化误差;

5、(3)构建有符号if神经元模型,对错误发放的脉冲进行检测并以负脉冲的形式进行补偿,以降低ann到snn转化过程中每层的序列误差;

6、(4)使用逐层微调方法,以降低ann到snn转化过程中逐层传递累积的序列误差。

7、步骤(2)中,构建量化ann和脉冲神经网络snn之间的等价映射具体为:

8、通过构建ann中在空域上对于输入浮点数的量化结果(量化数值)与snn在时域上通过脉冲发放函数对输入膜电位在时域上的量化结果(脉冲发放率)之间的映射来实现量化ann到snn的映射。

9、在量化训练ann的时候同时对激活和权重进行量化,将量化ann中的低精度权值直接映射到转化snn的低精度突触权值中。

10、对于激活值量化精度为b位的量化ann,其量化后的激活值映射到步长为t=2b-1的snn的脉冲发放率。

11、步骤(3)中,有符号if神经元模型通过对于已经发放脉冲的数目以及当前的膜电位来判断是否有错误发放的脉冲;

12、当膜电位低于负阈值同时发放的脉冲数大于零时,有符号if神经元模型认为存在错误发放的脉冲,并发放一个负脉冲以纠正错误同时将膜电位加上正阈值以复位。

13、步骤(4)中,使用逐层微调方法时,通过构建与snn共享权值的代理ann,通过代理ann间接实现对snn权重的优化。

14、逐层微调方法的具体过程为:

15、通过代理ann逐层降低snn输出的脉冲发放率图谱与原始量化ann的激活值图谱之间的欧式距离,让snn输出的脉冲发放率尽可能的近似原始量化ann中的激活值;

16、在训练数据集上,从网络的第二层开始,将当前层的snn的脉冲发放率图谱作为代理ann的输出,上一层的snn的脉冲发放率图谱作为输入,优化ann权重以降低snn脉冲发放率与量化ann之间的欧式距离;然后将优化后权重更新给snn对应层的突触权重,并更新当前层snn的输出;重复这一过程直到抵达网络最后的分类层。

17、本发明还提供了一种基于量化ann的脉冲神经网络转化训练装置,包括存储器和一个或多个处理器,所述存储器中存储有可执行代码,所述一个或多个处理器执行所述可执行代码时,用于实现上述训练方法。

18、本发明还提供了一种类脑芯片,其部署有脉冲神经网络snn,所述的脉冲神经网络snn采用上述训练方法进行训练。

19、与现有技术相比,本发明具有以下有益效果:

20、1、本发明采用snn中的时序量化和ann中的空间量化之间的等效映射。基于此映射,展示了时序量化误差可以通过量化ann监督学习最小化,从而通过找到最佳裁剪范围和网络每层的权重以及激活的分布从而提高ann到snn的转化效率。

21、2、本发明采用有符号的if神经元模型以及利用额外的代理ann来减少snn和原始ann之间在脉冲发放率和激活值之间差异的逐层微调机制在ann到snn转化过程中降低序列误差及其累积误差的作用,从而提高ann到snn的转化效率。

22、3、本发明采用在最小化量化误差以及序列误差之下的量化ann到snn转化效率,在snn性能精度接近全精度ann的前提下大幅降低了snn网络的推断延迟,提高了潜在snn应用的实时性以及能效。



技术特征:

1.一种基于量化ann的脉冲神经网络转化训练方法,其特征在于,包括:

2.根据权利要求1所述的基于量化ann的脉冲神经网络转化训练方法,其特征在于,步骤(2)中,构建量化ann和脉冲神经网络snn之间的等价映射具体为:

3.根据权利要求2所述的基于量化ann的脉冲神经网络转化训练方法,其特征在于,在量化训练ann的时候同时对激活和权重进行量化,将量化ann中的低精度权值直接映射到转化snn的低精度突触权值中。

4.根据权利要求3所述的基于量化ann的脉冲神经网络转化训练方法,其特征在于,对于激活值量化精度为b位的量化ann,其量化后的激活值映射到步长为t=2b-1的snn的脉冲发放率。

5.根据权利要求1所述的基于量化ann的脉冲神经网络转化训练方法,其特征在于,步骤(3)中,有符号if神经元模型通过对于已经发放脉冲的数目以及当前的膜电位来判断是否有错误发放的脉冲;

6.根据权利要求1所述的基于量化ann的脉冲神经网络转化训练方法,其特征在于,步骤(4)中,使用逐层微调方法时,通过构建与snn共享权值的代理ann,通过代理ann间接实现对snn权重的优化。

7.根据权利要求6所述的基于量化ann的脉冲神经网络转化训练方法,其特征在于,逐层微调方法的具体过程为:

8.一种基于量化ann的脉冲神经网络转化训练装置,其特征在于,包括存储器和一个或多个处理器,所述存储器中存储有可执行代码,所述一个或多个处理器执行所述可执行代码时,用于实现权利要求1~7任意一项所述的训练方法。

9.一种类脑芯片,其部署有脉冲神经网络snn,其特征在于,所述的脉冲神经网络snn采用权利要求1~7任一所述的训练方法进行训练。


技术总结
本发明公开了一种基于量化ANN的脉冲神经网络转化训练方法、装置及芯片,其中,训练方法包括:(1)采用量化训练的方法来训练量化ANN;(2)构建量化ANN和脉冲神经网络SNN之间的等价映射,通过量化ANN训练对阈值和权重的优化来最小化ANN到SNN转化过程中的量化误差;(3)构建有符号IF神经元模型,对错误发放的脉冲进行检测并以负脉冲的形式进行补偿,以降低ANN到SNN转化过程中每层的序列误差;(4)使用逐层微调方法,以降低ANN到SNN转化过程中逐层传递累积的序列误差。利用本发明,在保证SNN精度与ANN精度相当的前提下大幅降低SNN的推断延迟,提高了潜在SNN应用的实时性以及能效。

技术研发人员:郑乾,潘纲,胡扬帆
受保护的技术使用者:浙江大学
技术研发日:
技术公布日:2024/1/14
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1