BindsNET/bindsnet

Simulation of spiking neural networks (SNNs) using PyTorch.

何を解決するか

BindsNETはPyTorchを使用してスパイキングニューラルネットワーク(SNN)をシミュレートする方法を提供し、機械学習および強化学習の生物学的にインスパイアされたアルゴリズムの開発を容易にします。神経科学的なシミュレーション(通常、複雑な微分方程式に依存)と現代の機械学習フレームワークの間のギャップを、CPUおよびGPU上で効率的に実行できる差分方程式による近似によって埋めます。

仕組み

このライブラリは、SNNシミュレーションに必要な数学的演算を処理するためにPyTorchのTensor機能を活用しています。通常の微分方程式(ODE)を直接解くのではなく、短い一定間隔で解かれる差分方程式に変換します。これにより、標準的なPyTorch関数(たとえば畳み込みやプーリング)をSNNアーキテクチャ内で再利用できます。特に、ニューロンのスパイクの相対的なタイミングに基づいてシナプス重みを調整する生物学的に妥当な学習ルールであるスパイク時依存性可塑性(STDP)を実装しています。

対象ユーザー

神経形態計算、生物学的にインスパイアされた機械学習、およびSNNをデータクラスタリング、識別、強化学習エージェントなどのタスクに応用したい研究者や開発者向けに設計されています。

特徴

  • ハードウェアアクセラレーション:PyTorchを介してCPUおよびGPU計算を完全にサポート。
  • 生物学的に妥当な学習:シナプス重みを変更するためのSTDPを組み込みサポート。
  • ML/RL統合:教師なし、教師あり、強化学習用のスタートスクリプトを含む(例:OpenAI Gymとの統合)。
  • パフォーマンス:BRIAN2やPyNESTなどの他のSNNライブラリと比較して、効率的に動作することがベンチマークで確認されています。

関連

  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト