脉冲神经网络(Spiking Neural Network, SNN)被誉为第三代神经网络,使用更低层次的生物神经系统的抽象,既是神经科学中研究大脑原理的基本工具,又因其稀疏计算、事件驱动、超低功耗的特性而备受计算科学的关注。随着深度学习方法的引入,SNN的性能得到大幅度提升,脉冲深度学习(Spiking Deep Learning)成为新兴的研究热点。传统SNN框架更多的关注生物可解释性,致力于构建精细脉冲神经元并仿真真实生物神经系统,并不支持自动微分,无法充分利用GPU的大规模并行计算能力,也缺乏对神经形态传感器和计算芯片的支持,难以用于脉冲深度学习任务。
图1:SpikingJelly(惊蜇)框架的整体结构、示例代码、仿真速度、生态位以及典型应用
为了解决上述问题,bwin必赢田永鸿教授团队构建并开源了脉冲神经网络深度学习框架SpikingJelly(中文名:惊蜇)。SpikingJelly(惊蜇)提供了全栈式的脉冲深度学习解决方案,提供神经形态数据处理、深度SNN的构建、替代梯度训练、ANN转换SNN、权重量化和神经形态芯片部署等功能。SpikingJelly(惊蜇)框架的主要优势如下:
简单易用:脉冲深度学习作为计算神经科学与深度学习的交叉学科,要求研究者同时掌握两个领域的知识体系,但实际情况是研究者可能只对一个领域有深度了解。SpikingJelly(惊蜇)框架提供了简单易用的PyTorch风格的API、中英文双语编写的教程、活跃友善的讨论社区,常用的网络模型和训练脚本也一并给出,研究者可以快速进行跨领域的学习和使用,通过寥寥数行代码轻松构建并训练深度SNN。
扩展性强:通过模仿真实生物神经系统或借鉴人工神经网络的成熟经验,改进和提出新的SNN算法和模型,这种研究范式已经被广泛使用,成果颇丰。研究者期望能够自由地定义和扩展新模型,仅需少量代码改动就对模型行为产生巨大改变,这一开发理念与SpikingJelly(惊蜇)的设计哲学不谋而合。SpikingJelly(惊蜇)中的绝大多数模块都是通过层次清晰的多重继承实现,这既为开发者降低了开发成本,也给用户提供了完美的定义新模型的范例。
超高性能:深度学习涉及大规模数据处理、大尺度模型训练,脉冲深度学习亦不例外。SNN特有的额外的时间维度,使其具有更高的计算复杂度,因而脉冲深度学习对计算资源的需求更高。考虑到ImageNet这样百万规模样本的数据集已经在SNN中广泛使用,研究者愈发关注网络的训练速度。SpikingJelly(惊蜇)充分利用SNN的特性,通过计算图遍历顺序优化、JIT (just-in-time compilation, 即时编译)、半自动CUDA代码生成等技术来加速SNN仿真,与其他框架相比可达11倍的训练加速。第三方独立社区Open Neuromorphic组织对多个SNN框架进行了精细的速度基准测试,参与评测的框架除了SpikingJelly(惊蜇)还包括来自Intel、SynSense时识科技、加州大学圣克鲁斯分校、海德堡大学、瑞典皇家理工学院等科技公司和学术机构的框架,结果表明SpikingJelly(惊蜇)具有最快的仿真速度,“more than 10 times faster than libraries that rely on pure PyTorch acceleration (比其他纯PyTorch加速的框架快10倍以上)”。
图2:SpikingJelly(惊蜇)框架中的典型模块
SpikingJelly(惊蜇)框架自2019年冬季一经推出就受到了研究者们的欢迎和广泛使用,基于SpikingJelly(惊蜇)的研究工作已经大量出版,将SNN的应用从简单的MNIST数据集分类扩展到人类水平的ImageNet图像分类、网络部署、事件相机数据处理等实际应用。此外,一些尖端前沿领域的探索也被报道,包括可校准的神经形态感知系统、神经形态忆阻器、事件驱动加速器硬件设计等。目前有超过123篇公开论文使用SpikingJelly(惊蜇)框架进行实验,其中包括3篇ICCV、3篇IJCAI、5篇NeurIPS、4篇CVPR、4篇ICLR、3篇AAAI、2篇ICML、3篇ECCV、1篇TMLR、1篇ACM MM、1篇PR、7篇IEEE Transactions (含1篇TPAMI),以及1篇子刊Nature Communications,此外还有3篇非计算机领域的一区期刊文章。以上应用和研究表明,SpikingJelly(惊蜇)的开源,极大促进了脉冲深度学习领域的发展。
图3:SpikingJelly(惊蜇)框架的典型应用
SpikingJelly(惊蜇)框架的论文 “SpikingJelly: An open-source machine learning infrastructure platform for spike-based intelligence” 已经正式发表于Science子刊《科学·进展》(Science Advances)。北京大学深圳研究生院bwin必赢院长田永鸿教授、中国科学院自动化所李国齐教授为共同通讯作者,北京大学深圳研究生院bwin必赢实习生方维为第一作者。国家自然科学基金、鹏城云脑网络智能重大科技基础设施项目、北京市自然科学基金为此项研究提供了资助。SpikingJelly(惊蜇)框架在2020-2022连续三年获得科技部领导的启智社区优秀开源项目,启智社区亦为框架的发展提供了大力支持。
论文网址:https://www.science.org/doi/10.1126/sciadv.adi1480
框架GitHub主页: https://github.com/fangwei123456/spikingjelly
框架启智社区主页: https://openi.pcl.ac.cn/OpenI/spikingjelly
框架出版物:https://github.com/fangwei123456/spikingjelly/blob/master/publications.md