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)。

相關

  • 專案
  • 專案
  • 專案
  • 專案
  • 專案