BindsNET/bindsnet

Simulation of spiking neural networks (SNNs) using PyTorch.

解决的问题

BindsNET 提供了一种使用 PyTorch 模拟脉冲神经网络(SNN)的方法,使开发用于机器学习和强化学习的生物启发式算法变得更加容易。它通过使用差分方程近似神经科学风格的模拟(通常依赖复杂的微分方程),在依赖复杂微分方程的神经科学模拟与现代机器学习框架之间架起桥梁,这些差分方程可在 CPU 和 GPU 上高效运行。

工作原理

该库利用 PyTorch 的 Tensor 功能来处理 SNN 模拟所需的数学运算。它不直接求解常微分方程(ODE),而是将它们转换为在短而规律的时间间隔内求解的差分方程。这使得项目能够将标准的 PyTorch 函数(如卷积和池化)重新用于 SNN 架构中。它特别实现了脉冲时序依赖可塑性(STDP),这是一种生物学习规则,其中突触权重根据神经元脉冲的相对时间进行调整。

适用人群

专为对神经形态计算、生物启发式机器学习以及将 SNN 应用于数据聚类、分类和强化学习智能体等任务的研究人员和开发者设计。

主要亮点

  • 硬件加速:通过 PyTorch 完全支持 CPU 和 GPU 计算。
  • 生物合理性学习:内置 STDP 支持,用于修改突触权重。
  • ML/RL 集成:包含无监督、监督和强化学习的启动脚本(例如,与 OpenAI Gym 集成)。
  • 性能:经过基准测试,性能优于其他 SNN 库(如 BRIAN2 和 PyNEST)。

相关

  • 项目
  • 项目
  • 项目
  • 项目
  • 项目