Jahr | 2023 |
Autor(en) | Moritz Althaus |
Titel | Efficient Software for Event-based Optimization on Neuromorphic Hardware |
KIP-Nummer | HD-KIP 23-69 |
KIP-Gruppe(n) | F9 |
Dokumentart | Masterarbeit |
Abstract (de) | Spikende neuronale Netzwerke (SNNs) propagieren Informationen über Spikes, die durch ihr Timing gekennzeichnet sind. Diese Spikes stellen Diskontinuitäten in ansonsten kontinuierlichen Systemen dar. Das neuromorphe Mixed-Signal-System BrainScaleS-2 (BSS-2) emuliert das Verhalten von SNNs energieeffizient und ähnelt dabei deren zeitkontinuierlicher und event-basierter Natur. Die meisten Softwarebibliotheken für die Simulation von SNNs diskretisieren Zeit in Bins fester Größe, was zu einem Informationsverlust in Bezug auf den genauen Zeitpunkt der Spikes führt. Aufbauend auf JAX wird in dieser Arbeit ein Framework, jaxsnn, skizziert, das Zeit kontinuierlich behandelt und dynamische Systeme simulieren kann, die Diskontinuitäten aufweisen. Diese von Spikes eingeführten Diskontinuitäten stellen eine Herausforderung für Gradienten-basierte Optimierung von SNNs dar. Eine analytische Lösung für die Gradienten der ersten Spike-Zeit des leaky- integrate and fire (LIF)-Neurons kann für spezielle Fälle angegeben werden. Diese Arbeit erweitert diese Lösung auf mehrere Spikes und nicht-vorwärtsgerichtete Topologien. Der EventProp-Algorithmus ist eine weitere Lösung, die die Berechnung exakter Gradienten in SNNs durch Ableitung einer Reihe von adjungierten Gleichungen für das LIF-Neuronenmodell ermöglicht. Er wird auf event-basierten Datenstrukturen implementiert, und ein mit diesem Algorithmus trainiertes SNN erreicht eine Genauigkeit von 98.2 ± 0.2% auf dem Yin-Yang-Datensatz. Es wird eine Schnittstelle zum BSS-2-System entwickelt, und Spike-Beobachtungen der analogen neuromorphen Hardware werden für in-the-loop (ITL)- Training verwendet. Die Event-Datenstrukturen in der Software ähneln der Darstellung der Spikes auf der Hardware, wodurch die Notwendigkeit zeitaufwändiger Datentransformationen minimiert wird. |
Abstract (en) | Spiking neural networks (SNNs) propagate information via spikes characterized by their timing. These spikes present discontinuities in otherwise continuous systems. The mixed-signal neuromorphic system BrainScaleS-2 (BSS-2) emulates the behavior of SNNs energy- efficiently while resembling their time-continuous and event-based nature. Most software libraries for the simulation of SNNs discretize time into fixed-size bins, resulting in information loss regarding the precise timing of spikes. Building on JAX, this work outlines a framework, jaxsnn, which treats time continuously and can simulate dynamical systems which experience discontinuities. These discontinuities introduced by spikes present a challenge for gradient-based optimization of SNNs. An analytic solution for gradients of the first spike time of the leaky-integrate and fire (LIF) neuron can be given for special cases. This work extends this solution to multiple spikes and non-feed-forward topologies. The EventProp algorithm is another solution that allows the computation of exact gradients in SNNs by deriving a set of adjoint equations for the LIF neuron model. It is implemented on event-based data structures, and an SNN trained with this algorithm achieves an accuracy of 98.2±0.2% on the Yin-Yang dataset. An interface to the BSS-2 system is developed, and sparse spike observations from the analog neuromorphic hardware are used for in-the-loop (ITL) training. The event data structures in software closely match the representation of spikes on hardware, minimizing the need for time-consuming data transformations. |