Science Advances | 自动化所与北京大学合作开源深度脉冲神经网络学习框架SpikingJelly CASIA 中国科学院自动化研究所
【ZiDongHua 之技术文章区收录关键词:中国科学院自动化研究所 北京大学 开源深度脉冲 解决方案】
Science Advances | 自动化所与北京大学合作开源深度脉冲神经网络学习框架SpikingJelly
CASIA 中国科学院自动化研究所
为了解决上述问题,中国科学院自动化研究所李国齐研究员与北京大学计算机学院田永鸿教授团队合作构建并开源了深度脉冲神经网络学习框架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(惊蜇)具有最快的仿真速度,比其他框架快10倍以上。
SpikingJelly(惊蜇)框架自2019年冬季一经推出就受到了研究者们的欢迎和广泛使用,基于SpikingJelly(惊蜇)的研究工作已经大量出版,将SNN的应用从简单的MNIST数据集分类扩展到人类水平的ImageNet图像分类、网络部署、事件相机数据处理等实际应用。此外,一些尖端前沿领域的探索也被报道,包括可校准的神经形态感知系统、神经形态忆阻器、事件驱动加速器硬件设计等。目前有超过95篇公开论文使用SpikingJelly(惊蜇)框架进行实验,其中25篇发表在CCF-A类人工智能顶级会议,5篇发表在IEEE Transactions,1篇发表在Nature Communications。以上应用和研究表明,SpikingJelly(惊蜇)的开源,极大促进了脉冲深度学习领域的发展。
介绍SpikingJelly (惊蜇)框架的论文SpikingJelly: An open-source machine learning infrastructure platform for spike-based intelligence于2023年10月6号在Science子刊《科学进展》(Science Advances)在线发表。北京大学计算机学院田永鸿教授、中国科学院自动化研究所李国齐研究员为论文共同通讯作者,北京大学计算机学院直博生方维为论文第一作者。国家自然科学基金、鹏城云脑网络智能重大科技基础设施项目、北京市自然科学基金为此项研究提供了资助。SpikingJelly(惊蜇)框架在2020-2022连续三年获得科技部领导的启智社区优秀开源项目,启智社区亦为框架的发展提供了大力支持。
评论排行