jeshraghian/snntorch

Deep and online learning with spiking neural networks in Python

解決する課題

現代のディープラーニングは通常、連続値を使用して情報を処理するため、計算コストが高くなります。一方、人間の脳は、離散的な「スパイク」で情報を符号化するため、非常に効率的です。snnTorch は、使い慣れた PyTorch エコシステムを使用してスパイキングニューラルネットワーク(SNN)を構築およびトレーニングできるようにすることで、このギャップを埋めます。

仕組み

snnTorch は、スパイキングニューロンモデルをリカレント活性化ユニットとして PyTorch に直接統合します。これらのモデルは再帰関数で表現されるため、勾配を計算するために各ニューロンの膜電位トレースを保存する必要がなく、メモリ効率が向上します。PyTorch のネイティブな GPU アクセラレーションを活用して高速計算を実現し、代理勾配降下をサポートしてバックプロパゲーションによるトレーニングを可能にします。

対象ユーザー

このツールは、ニューロモーフィックコンピューティングを探求したり、PyTorch を使用してエネルギー効率の高いニューラルネットワークを構築したい研究者やエンジニア向けに設計されています。標準的なディープラーニングのワークフローに精通しており、スパイクベースのアーキテクチャへの移行を希望する人に適しています。

ハイライト

  • PyTorch との深い統合により、スパイキングニューロンを標準的なレイヤー(畳み込み層や全結合層など)のように使用できます。
  • スパイク生成、データ変換、可視化のための組み込みサポート。
  • ニューラル中間表現(NIR)形式を介した他の SNN ライブラリとの相互運用性。
  • スパイク対応の重み初期化と代理勾配関数のための専用ツールが含まれています。
  • 基本的なニューロンモデルから高度な回帰および分類タスクまでをカバーする、豊富なチュートリアルとノートブックのライブラリ。

関連

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