脉冲时序编码的有监督脉冲神经网络算法研究
作者单位:浙江大学
学位级别:硕士
导师姓名:朱晓雷
授予年度:2019年
学科分类:12[管理学] 1201[管理学-管理科学与工程(可授管理学、工学学位)] 081104[工学-模式识别与智能系统] 08[工学] 0835[工学-软件工程] 0811[工学-控制科学与工程] 0812[工学-计算机科学与技术(可授工学、理学学位)]
主 题:脉冲神经网络 Recurrent SpikeProp 软件加速 芯片架构
摘 要:脉冲神经网络是以具有生物行为的神经元构建的计算模型。相比于人工神经网络,其具有与生物神经系统更相似的计算模式。在脉冲神经网络算法中,基于脉冲时序编码的算法,相比基于频率编码的算法,能更充分地利用脉冲序列所编码的信息,因而具有更强的计算能力。本文的研究围绕脉冲时序编码的脉冲神经网络算法展开,梳理了脉冲神经网络模型的具体构建方法,详细分析了SpikeProp算法,并将其推广应用于循环网络结构,提出并比较了算法的软件加速方案,且在Iris Flower数据集和MNIST数据集上对推广的算法进行了验证,最后还分析了脉冲神经网络推理的硬件加速方案。其创新之处主要在于:1.本文以形式化的方法证明了 SpikeProp算法中的关键公式及其适用范围;以计算图的方法直观地解释了 SpikeProp算法所涉及的误差反向传播过程;且基于计算图,利用全微分的形式不变性将SpikeProp算法推广应用于一般的循环结构的脉冲神经网络上,得到了 Recurrent SpikeProp算法。2.本文分别提出了以GeNN库和Pytorch库构建算法软件代码的GPU加速方案;且对两种方案的加速性能进行了测试比较。3.本文提出了一种具有良好扩展性的数模混合脉冲神经网络推理加速芯片的架构设计方案。其通过引入CAM和SRAM存储脉冲神经网络结构参数,并以单个突触电路复用于多个逻辑突触的方式,实现了计算和参数存储的分离,提高了单元电路的利用效率;通过引入多个输入输出单元,配合基于二叉树的路由方案,实现了芯片的灵活扩展性。