Training und Benchmarking von Spiking Neural Networks

Training und Benchmarking von Spiking Neural Networks

Diagramm eines mehrschichtigen neuronalen Netzes mit farbigen Knoten und Verbindungen.
Kontext

Spiking Neural Networks (SNNs) sind eine Art von neuronalen Netzwerken, die das Verhalten biologischer Neuronen nachbilden, indem sie Informationen über zeitlich diskrete Ereignisse (Spikes) verarbeiten, anstatt über kontinuierliche Aktivierungen wie bei klassischen Netzwerken. Diese ereignisgesteuerte Arbeitsweise macht sie besonders energieeffizient und gut geeignet für neuromorphe Hardware. Das direkte Training von SNNs ist jedoch schwierig, da ihre Spiking-Mechanismen nicht differenzierbar sind, was den Einsatz traditioneller, gradientenbasierter Lernmethoden wie Backpropagation erschwert. Dennoch ist direktes Training wünschenswert, da es zu präziseren und effizienteren Modellen führen kann, die besser auf die spezifische Dynamik von spiking-basierten Systemen abgestimmt sind.

Aufgaben

Zu den Hauptaufgaben zählen das Trainieren von Spiking Neural Networks und die Beurteilung ihrer Leistung anhand gängiger Benchmarks wie MNIST sowie komplexerer Aufgaben aus der Neurobench-Suite. Aufgrund des hohen Rechenaufwands beim Training nutzen wir JAX für eine möglichst effiziente Ausführung und verteilen die Last nach Möglichkeit über mehrere GPUs.

  • Implementierung von Trainingsmethoden für Spiking Neural Networks
  • Training von SNNs und Benchmarking ihrer Performance
Voraussetzungen
  • Grundlagen von Neuronalen Netzen
  • Solide Kenntnisse in Python