PyCARL:一种用于脉冲神经网络软硬件协同仿真的 PyNN 接口
神经与进化计算
2020-05-13 v2
摘要
我们提出 PyCARL,一个基于 PyNN 的用于脉冲神经网络(SNN)软硬件协同仿真的通用 Python 编程接口。通过 PyCARL,我们做出了以下两项关键贡献。首先,我们提供了 PyNN 到 CARLsim 的接口,CARLsim 是一个计算高效、GPU 加速且具生物物理细节的 SNN 模拟器。PyCARL 促进了机器学习模型的联合开发以及 CARLsim 与 PyNN 用户之间的代码共享,推动了集成且更大的神经形态社区。其次,我们将 TrueNorth、Loihi 和 DynapSE 等最先进神经形态硬件的周期精确模型集成到 PyCARL 中,以精确建模在通信神经元之间延迟脉冲并降低性能的硬件延迟。PyCARL 允许用户分析并优化其机器学习模型在纯软件仿真与软硬件协同仿真之间的性能差异。我们表明,系统设计者还可以使用 PyCARL 在产品开发阶段早期进行设计空间探索,从而加快神经形态产品的部署时间。我们使用功能测试、合成 SNN 和实际应用评估了 PyCARL 的内存使用和仿真时间。我们的结果表明,对于大型 SNN,与 CARLsim 相比,PyCARL 不会带来任何显著开销。我们还使用 PyCARL 针对最先进神经形态硬件分析这些 SNN,并展示了与纯软件仿真相比显著的性能偏差。PyCARL 允许在模型开发早期评估并最小化此类差异。
引用
@article{arxiv.2003.09696,
title = {PyCARL: A PyNN Interface for Hardware-Software Co-Simulation of Spiking Neural Network},
author = {Adarsha Balaji and Prathyusha Adiraju and Hirak J. Kashyap and Anup Das and Jeffrey L. Krichmar and Nikil D. Dutt and Francky Catthoor},
journal= {arXiv preprint arXiv:2003.09696},
year = {2020}
}
备注
10 pages, 25 figures. Accepted for publication at International Joint Conference on Neural Networks (IJCNN) 2020