|
引用本文
李千鹏, 贾顺程, 张铁林, 陈亮. 基于自适应时间步脉冲神经网络的高效图像分类. 自动化学报, 2024, 50(9): 1724−1735 doi: 10.16383/j.aas.c230656
Li Qian-Peng, Jia Shun-Cheng, Zhang Tie-Lin, Chen Liang. Adaptive timestep improved spiking neural network for efficient image classification. Acta Automatica Sinica, 2024, 50(9): 1724−1735 doi: 10.16383/j.aas.c230656
http://www.aas.net.cn/cn/article/doi/10.16383/j.aas.c230656
关键词
脉冲神经网络,低功耗推理,高效训练,低延迟
摘要
脉冲神经网络(Spiking neural network, SNN)由于具有相对人工神经网络(Artifcial neural network, ANN)更低的计算能耗而受到广泛关注. 然而, 现有SNN大多基于同步计算模式且往往采用多时间步的方式来模拟动态的信息整合过程, 因此带来了推理延迟增大和计算能耗增高等问题, 使其在边缘智能设备上的高效运行大打折扣. 针对这个问题, 本文提出一种自适应时间步脉冲神经网络(Adaptive timestep improved spiking neural network, ATSNN)算法. 该算法可以根据不同样本特征自适应选择合适的推理时间步, 并通过设计一个时间依赖的新型损失函数来约束不同计算时间步的重要性. 与此同时, 针对上述ATSNN特点设计一款低能耗脉冲神经网络加速器, 支持ATSNN算法在VGG和ResNet等成熟框架上的应用部署. 在CIFAR10、CIFAR100、CIFAR10-DVS等标准数据集上软硬件实验结果显示, 与当前固定时间步的SNN算法相比, ATSNN算法的精度基本不下降, 并且推理延迟减少36.7% ~ 58.7%, 计算复杂度减少33.0% ~ 57.0%. 在硬件模拟器上的运行结果显示, ATSNN的计算能耗仅为GPU RTX 3090Ti的4.43% ~ 7.88%. 显示出脑启发神经形态软硬件的巨大优势.
文章导读
人工神经网络(Artificial neural network, ANN)已经被广泛应用于各个场景, 如计算机视觉、自然语言处理、机器人控制、医疗诊断等. 然而, 随着模型参数规模的不断扩大, ANN需要更多的计算能耗以支持实现更复杂的应用任务, 这无疑限制了边缘智能设备的应用推广[1]. 尽管研究人员已经开展了关于网络量化、结构剪枝以及知识蒸馏等模型压缩技术研究, 但功耗问题依然十分突出.
作为第三代人工神经网络的脉冲神经网络(Spiking neural network, SNN), 脉冲式异步编码特征为高能效计算提供了一种生物合理的解决方案, 支持多尺度和多维度的时空信息高效处理. 与以浮点运算为主的ANN相比, SNN通过单比特的激活值避免了高能耗的浮点乘法操作, 从而实现高能效计算; 同时SNN使用具有丰富时间维度信息的生物动力学神经元, 如采用泄漏整合发放(Leaky-integrated and fire, LIF)神经元模型, 可以帮助动态积累时序输入信息, 并且只有当膜电位超过阈值时才会编码异步事件脉冲. SNN在保持生物合理性的同时展示出了计算高效性, 并在许多人工智能任务上展现出与ANN相近的精度表现. 这些关键特性使得面向SNN的类脑芯片成为研究热点, 如TrueNorth[2]、Loihi[3]和TianjiC[4]等类脑芯片, 这些神经形态芯片具有低延迟、低功耗和并行度高的特点[5].
然而, 在现有计算设备上模拟时序动态信息需要多时间步计算, 而为了保证SNN的运算精度, 这个多时间步的步长又往往设置的很高, 这就导致了推理延迟过大和推理能耗过高的问题. 如现有的SNN学习方法部分采用先ANN训练再SNN转换的方式, 在较为复杂的数据集任务或深层网络结构上, 通常需要几十到数百个时间步才能获得比较好的运算精度, 因此这类SNN模型的部署能耗很高. 此外, 部分学者提出时空依赖的反向传播方法(Spatio-temporal backpropagation, STBP)[6], 可以采用反向传播的微调方法来直接训练SNN, 能够降低计算时间步到十几个量级. 由此可见, 无论是转换方法还是直接训练方法, SNN都需要运行多个时间步, 这不可避免地增加了计算延迟与能量消耗, 对边缘设备的低功耗推理带来了挑战; 另一方面, 现有计算设备如GPU, 无法充分利用SNN稀疏二值脉冲特性, 仍然在使用高能耗的浮点乘法计算. 设计一款更适用于SNN量化计算本身的硬件加速器也迫在眉睫.
针对上述挑战, 本文从SNN的学习方法、计算能耗、硬件部署等实际应用需求出发, 提出一系列降低SNN软硬件部署能耗的方式方法, 并在实际的标准分类任务上测试通过, 本文的主要贡献如下:
1) 提出一种自适应时间步(Adaptive timestep, AT)选择算法. 通过关联输出层置信度和推理所需要的时间步, 支持更加精准地获得样本正确分类所需最小时间步, 可以有效降低平均推理延迟和能耗.
2) 提出一种表征不同时间步重要性的损失函数Limp. 通过设置时间步越低重要性越高的基本原则, 并使用不重置膜电位的神经元组成输出层, 保留输出层的动态时间信息. 与基于标准交叉熵损失函数的SNN相比, 本文在仅使用1个时间步时的推理准确率就可以提升27% ~ 55%.
3) 设计一款低能耗脉冲神经网络加速器以进一步降低能耗. 在硬件模拟器上开展CIFAR10、CIFAR100、CIFAR10-DVS数据集能耗实验, 自适应时间步脉冲神经网络 (Adaptive timestep improved spiking neural network, ATSNN)算法在不降低精度的情况下, 推理延迟减少36.7% ~ 58.7%、计算复杂度减少33.0% ~ 57.0%, 并且能耗仅为GPU RTX 3090Ti 的4.43% ~ 7.88%, 显示出边缘端智能应用的巨大优势.
图 1 ATSNN结构及训练和动态时间推理流程图
图 2 加速器架构((a)常规加速器; (b) DTSNN的加速器; (c)本文加速器)
图 3 不同平均推理时间步时的准确率
本文介绍了一种自适应时间步脉冲神经网络, 能够在推理过程中自动选择适当的时间步. 本文改进了 SNN 输出层与表征方式, 构建了具有时间重要性的损失函数Limp, 提出了可自适应选择时间步的方法, 并分析了所提自适应时间步选择算法的有效性. 此外本文也设计了一款适用于ATSNN的低功耗脉冲神经网络加速器. 实验结果表明, ATSNN 的延迟减少36.7% ~ 58.7%, 计算复杂度减少33.0% ~ 57.0%. 与目前最先进的动态时间步脉冲神经网络DTSNN相比, ATSNN 能有效缩短时间步, 提升网络准确率, 具有更高的能效. 同时, 本文加速器具有与GPU相当的推理速度, 能耗仅为GPU RTX 3090Ti的4.43% ~ 7.88%. 综上, ATSNN 能在推理过程中自适应地选择时间步, 降低复杂度、推理延迟和能耗, 有效解决了多时间步带来的问题, 非常适合在低功耗智能终端设备上部署.
作者简介
李千鹏
中国科学院自动化研究所硕士研究生. 主要研究方向为类脑智能, 类脑处理器. E-mail: liqianpeng2021@ia.ac.cn
贾顺程
中国科学院自动化研究所博士研究生. 主要研究方向为类脑脉冲神经网络模型与学习算法. E-mail: jiashuncheng2020@ia.ac.cn
张铁林
中国科学院脑科学与智能技术卓越创新中心研究员. 主要研究方向为类脑计算. E-mail: zhangtielin@ion.ac.cn
陈亮
中国科学院自动化研究所副研究员. 主要研究方向为计算机架构与集成电路设计, 类脑计算. 本文通信作者. E-mail: liang.chen@ia.ac.cn
Archiver|手机版|科学网 ( 京ICP备07017567号-12 )
GMT+8, 2024-12-22 13:33
Powered by ScienceNet.cn
Copyright © 2007- 中国科学报社