The field of neuromorphic computing is in a period of active exploration. While many tools have been developed to simulate neuronal dynamics or convert deep networks to spiking models, general software libraries for learning rules remain underexplored. This is partly due to the diverse, challenging nature of efforts to design new learning rules, which range from encoding methods to gradient approximations, from population approaches that mimic the Bayesian brain to constrained learning algorithms deployed on memristor crossbars. To address this gap, we present Neko, a modular, extensible library with a focus on aiding the design of new learning algorithms. We demonstrate the utility of Neko in three exemplar cases: online local learning, probabilistic learning, and analog on-device learning. Our results show that Neko can replicate the state-of-the-art algorithms and, in one case, lead to significant outperformance in accuracy and speed. Further, it offers tools including gradient comparison that can help develop new algorithmic variants. Neko is an open source Python library that supports PyTorch and TensorFlow backends.
翻译:神经形态计算领域处于积极探索的时期。 虽然已经开发了许多工具来模拟神经动态或将深网络转换为跳跃模型,但用于学习规则的一般软件库仍未得到充分探索。 部分原因是设计新学习规则的努力具有多种挑战性,从编码方法到梯度近似,从模仿贝叶斯人大脑的人口方法到限制在分子十字栏上部署的学习算法。 为了解决这一差距,我们展示了内科(一个模块、可扩展图书馆),重点是帮助设计新的学习算法。 我们在三个实例中展示了内科的实用性:在线本地学习、概率学习和模拟的理论学习。我们的结果显示,内科可以复制最新水平的算法,并在一个案例中导致在准确性和速度上显著超前。 此外,它提供了包括梯度比较在内的工具,可以帮助开发新的算法变量。 内科是一个支持 Python 和 TensorFlowends 的开放源 Python 图书馆。