Neuromorphe Komponenten für TinyML Maschinelles Lernen auf Mikrocontrollern an der Edge

Von Michael Eckstein

Anbieter zum Thema

In „intelligenten“ Edge-Anwendungen kommt bislang Inferenz zum Einsatz: Das Anwenden von vorab mit viel Rechenleistung trainierter KI-Algorithmen. Neuromorphe, also an biologische Hirne angelehnte IP-Blöcke ermöglichen erstmals selbstlernende Edge-Anwendungen.

Blitzgescheit: Spik­ing Neural Networks sind sehr energieeffizient – und sollen maschinelles Lernen auf Mikrocontrollern ermöglichen.(Bild:  Renesas Electronics)
Blitzgescheit: Spik­ing Neural Networks sind sehr energieeffizient – und sollen maschinelles Lernen auf Mikrocontrollern ermöglichen.
(Bild: Renesas Electronics)

Das Verwenden neurowissenschaftlicher Begriffe wie Neuronen und Synapsen ist zum Beschreiben der meisten neuronalen Netze eigentlich ungeeignet – schließlich sind sie von der Funktionsweise des menschlichen Gehirns weit entfernt. Mittlerweile gibt es eine neue, dritte Generation: Diese Spiking Neural Networks (SNN) basieren auf einer Hardware, die es erlaubt, Abläufe ähnlich denen im menschlichen Gehirn auszuführen – daher spricht man von einer neuromorphen Architektur.

Spiking Neural Networks

SNNs sind künstliche neuronale Netze (ANN, Artificial Neural Network), die sich stärker am menschlichen Gehirn orientieren als NN der zweiten Generation. Hauptunterschied ist, dass SNNs räumlich-zeitliche NNs sind, d. h. sie berücksichtigen bei ihrer Funktionsweise die Zeit. SNNs arbeiten mit diskreten Spikes, die durch eine Differentialgleichung bestimmt werden und verschiedene biologische Prozesse abbilden.

Bildergalerie

Der kritische Prozess ist die Entladung des Neurons nach dem Erreichen des Membranpotentials („Entladungsschwelle“), was durch die Entladung von Spikes in diesem Neuron zu bestimmten Zeitpunkten geschieht. Analog dazu besteht ein Gehirn aus durchschnittlich 86 Milliarden Recheneinheiten, den Neuronen, die über Dendriten Eingaben von anderen Neuronen empfangen. Sobald die Eingaben einen bestimmten Schwellenwert überschreiten, wird das Neuron abgefeuert und sendet einen elektrischen Impuls über eine Synapse. Die synaptische Gewichtung steuert die Intensität des Impulses, der an das nächste Neuron gesendet wird.

Im Gegensatz zu anderen künstlichen neuronalen Netzen werden bei SNNs die Neuronen asynchron in verschiedenen Schichten des Netzes ausgelöst und kommen zu unterschiedlichen Zeiten an, während sich die Informationen traditionell durch die Schichten hindurch in Abhängigkeit von der Systemuhr übertragen. Die raumzeitliche Eigenschaft von SNNs zusammen mit der diskontinuierlichen Natur der Spikes bedeutet, dass die Modelle spärlicher verteilt sein können. Die Neuronen verbinden sich nur mit relevanten Neuronen und verwenden die Zeit als Variable. Dadurch lassen sich die Informationen im Vergleich zur traditionellen binären Kodierung von ANNs dichter kodieren. Dies führt dazu, dass SNNs rechnerisch leistungsfähiger und effizienter sind. Das asynchrone Verhalten von SNNs zusammen mit der Notwendigkeit, Differentialgleichungen auszuführen, ist für herkömmliche Hardware sehr rechenintensiv. An dieser Stelle kommt die neuromorphe Architektur ins Spiel.

Neuromorphe Architektur

Die neuromorphe Architektur besteht aus Neuronen und Synapsen und unterscheidet sich erheblich von der Von-Neuman-Architektur. In neuromorphen Computern erfolgt das Verarbeiten und Speichern der Daten in derselben Region – und umgeht so eine Schwäche der Von-Neumann-Architektur: Hier müssen zu verarbeitende Daten erst aus dem Speicher in die Verarbeitungseinheiten geladen werden. Die Speicherschnittstelle ist ein Flaschenhals, der den Datendurchsatz ausbremst. Zudem unterstützt die neuromorphe Architektur SNNs und akzeptiert Spikes als Eingaben, so dass die Informationen im Hinblick auf die Zeit des Auftreffens, Größe und Form der Spikes kodiert werden können.

Zu den Hauptmerkmalen neuromorpher Systeme gehören ihre inhärente Skalierbarkeit, die ereignisgesteuerte Berechnung und die Stochastik. Da die Neuronen nur auslösen, wenn ihre Triggerschwelle überschritten wird, kann die neuromorphe Architektur mit einer extrem niedrigen Leistungsaufnahme punkten. Diese ist meist um Größenordnungen geringer ist als bei herkömmlichen Computersystemen. Neuromorphe Komponenten haben daher das Potenzial, im kommenden Zeitalter der Edge- und Endpunkt-KI eine große Rolle zu spielen.

Sheer Analytics & Insights schätzt, dass der weltweite Markt für neuromorphes Computing bis 2028 780 Millionen Dollar mit einer durchschnittlichen jährlichen Wachstumsrate von 50,3 Prozent erreichen wird [1]. Mordor Intelligence geht davon aus, dass der Markt bis 2026 366 Millionen Dollar erzielen wird, mit einer durchschnittlichen jährlichen Wachstumsrate von 47,4 Prozent [2]. Im Internet finden sich weitere Marktforschungsergebnisse, die einen ähnlichen Anstieg erwarten lassen. Marktforschungsunternehmen prognostizieren, dass verschiedene Branchen wie Industrie, Automotive, Mobilfunk und Medizin neuromorphe Systeme für eine Vielzahl von Anwendungen einsetzen werden.

Jetzt Newsletter abonnieren

Verpassen Sie nicht unsere besten Inhalte

Mit Klick auf „Newsletter abonnieren“ erkläre ich mich mit der Verarbeitung und Nutzung meiner Daten gemäß Einwilligungserklärung (bitte aufklappen für Details) einverstanden und akzeptiere die Nutzungsbedingungen. Weitere Informationen finde ich in unserer Datenschutzerklärung. Die Einwilligungserklärung bezieht sich u. a. auf die Zusendung von redaktionellen Newslettern per E-Mail und auf den Datenabgleich zu Marketingzwecken mit ausgewählten Werbepartnern (z. B. LinkedIn, Google, Meta).

Aufklappen für Details zu Ihrer Einwilligung

Bei TinyML (Tiny Machine Learning) geht es um die Ausführung von ML und NNs auf Komponenten mit begrenztem Speicher/Prozessor, etwa Mikrocontrollern (MCU). Daher ist es sinnvoll, einen neuromorphen Kern für TinyML-Anwendungsfälle zu integrieren. Neuromorphe Komponenten sind ereignisbasierte Prozessoren, die mit Ereignissen arbeiten, die nicht Null sind. Die ereignisbasierte Konvolution und Punktprodukte sind deutlich weniger rechenaufwändig, da Nullen nicht verarbeitet werden. Die Leistung verbessert sich weiter, wenn die Anzahl der Nullen in den Filterkanälen oder Kernen größer wird. Zusammen mit Aktivierungsfunktionen wie Relu, die um Null zentriert sind, bietet dies den ereignisbasierten Prozessoren die Eigenschaft der inhärenten Aktivierung mit geringer Leistungsaufnahme, wodurch die effektiven MAC-Anforderungen reduziert werden.

Neuromorphes TinyML: Lernen an der Edge

Da neuromorphe Systeme Spikes verarbeiten, können im Vergleich zur konventionellen 8-Bit-Quantisierung bei ANNs auch 1-, 2- und 4-Bit-Quantisierungen verwendet werden. Da SNNs in die Hardware integriert sind, verfügen neuromorphe Komponenten (etwa Akida von Brainchip) über die einzigartige Fähigkeit des On-Edge-Lernens. Dies ist mit herkömmlichen Komponenten nicht möglich, da sie nur ein neuronales Netzwerk mit Von-Neumann-Architektur simulieren. Dies führt dazu, dass On-Edge-Learning rechenintensiv ist und einen hohen Speicherbedarf hat, der das Systembudget eines TinyML-Systems übersteigt.

Darüber hinaus bieten Ganzzahlen für das Training eines NN-Modells nicht genügend Reichweite, um ein Modell genau zu trainieren. Daher ist das Training mit 8-Bit auf traditionellen Architekturen derzeit nicht möglich. Bei den herkömmlichen Architekturen haben derzeit einige wenige On-Edge-Learning-Implementierungen mit Machine-Learning-Algorithmen (Autocodierer, Decision Trees) ein Produktionsstadium für einfache Echtzeit-Analyseanwendungsfälle erreicht, während NNs noch in der Entwicklungsphase sind. Die Vorteile der Nutzung neuromorpher Komponenten und SNNs am Endpunkt lassen sich wie folgt zusammenfassen:

  • extrem niedrige Leistungsaufnahme (Milli- bis Mikrojoule pro Inferenz)
  • Weniger Bedarf an MACs im Vergleich zu herkömmlichen NNs
  • Geringere Nutzung des Parameterspeichers im Vergleich zu konventionellen NNs
  • On-Edge-Lernfähigkeiten

Renesas hat das enorme Potenzial neuromorpher Systeme und SNNs erkannt und einen Kern von Brainchip [3] lizenziert, dem weltweit ersten kommerziellen Hersteller im Bereich neuromorpher IP. Am unteren Ende der Leistungsskala steht nun eine MCU mit M33-Prozessor von Arm und einem Spiking Neural Network mit einem lizenzierten Brainchip-Kern inklusive passender Software.

Neuromorphe TinyML-Anwendungsfälle

Alles in allem können Mikrocontroller mit neuromorphen Kernen in Anwendungsfällen in der gesamten Industrie mit ihren besonderen Merkmalen des On-Edge-Lernens überzeugen:

  • Bei Anwendungen zum Erkennen von Anomalien in bestehenden Industrieanlagen, bei denen die Nutzung der Cloud zum Trainieren eines Modells ineffizient ist, würde das Hinzufügen eines KI-Endpunktgerätes am Motor und das Training am Edge eine einfache Skalierbarkeit ermöglichen. Denn die Alterung der Anlagen ist von Maschine zu Maschine unterschiedlich, auch wenn es sich um dasselbe Modell handelt.
  • In der Robotik neigen die Gelenke von Roboterarmen im Laufe der Zeit dazu, sich abzunutzen, sich zu verstellen und nicht mehr wie erforderlich zu funktionieren. Eine Neueinstellung der Steuerung am Edge ohne menschliches Eingreifen verringert die Notwendigkeit, einen Fachmann hinzuzuziehen, reduziert die Ausfallzeiten und spart Zeit und Geld.
  • Bei Gesichtserkennungsanwendungen müsste ein neuer Anwender sein Gesicht dem Datensatz hinzufügen und das Modell in der Cloud neu trainieren. Mit ein paar Schnappschüssen des Gesichts einer Person kann die neuromorphe Komponente den Endnutzer durch On-Edge-Lernen identifizieren. So lassen sich die Daten des Nutzers auf dem System sichern und ein optimales Anwendererlebnis gewährleisten. Dies kann in Autos zum Einsatz kommen, in denen verschiedene Fahrer unterschiedliche Vorlieben in Bezug auf Sitzposition, Klimatisierung usw. haben.
  • Bei Anwendungen zum Erkennen von Schlüsselwörtern ist das Hinzufügen zusätzlicher Wörter, die das Device am Edge erkennen soll, wesentlich. Dies kann in biometrischen Anwendungen zum Einsatz kommen, bei denen eine Person ein „Codewort“ hinzufügt, das sie auf dem Gerät sicher aufbewahren möchte.

Dank der Ausgewogenheit zwischen der extrem niedrigen Leistungsaufnahme neuromorpher Endpunktsysteme und der verbesserten Rechenleistung eignen sie sich für Anwendungen mit längerem Batteriebetrieb. Dabei lassen sich Algorithmen ausführen, die auf anderen Komponenten mit niedriger Leistungsaufnahme aufgrund ihrer eingeschränkten Rechenleistung nicht möglich sind. Umgekehrt sind Highend-Anwendungen, die eine ähnliche Rechenleistung bieten, zu energieintensiv.

Mögliche Anwendungsfälle umfassen: Smartwatches, die die Daten am Endpunkt überwachen und verarbeiten und nur relevante Informationen an die Cloud senden; intelligente Kamerasensoren zur Erkennung von Personen, um einen logischen Befehl auszuführen. Zum Beispiel automatische Türöffnung, wenn sich eine Person nähert, da die aktuelle Technologie auf Näherungssensoren basiert; Bereiche ohne Konnektivität oder Lademöglichkeiten, z. B. in Wäldern zum intelligenten Tracken von Tieren oder zur Überwachung von Rohrleitungen unter dem Meer auf mögliche Risse mithilfe von Echtzeit-Vibrations-, Bild- und Tondaten; sowie für Infrastrukturüberwachungen, bei denen eine neuromorphe MCU zur kontinuierlichen Überwachung von Bewegungen, Vibrationen und strukturellen Veränderungen in Brücken (über Bilder) eingesetzt werden kann, um potenzielle Schäden zu erkennen. (me)

Quellen

[1] „Neuromorphic computing market – industry analysis, size, share, growth, trends, and forecast, 2020-2028”

[2] „Neuromorphic chip market growth, forecast: Industry trends”

[3] „BrainChip's Akida set for spaceflight via NASA as Renesas America signs First IP agreement”

(ID:48674835)