Auf dem Weg zur künstlichen Intelligenz

Neuromorphe Hardware

Was ist neuromorphe Hardware?

Neuromorphe Hardware basiert auf spezialisierten Rechnerarchitekturen, die die Struktur (Morphologie) Neuronaler Netze (NN) von Grund auf widerspiegeln: Dedizierte Verarbeitungseinheiten bilden direkt in der Hardware die Funktionsweise von Neuronen nach, zwischen denen ein physisches Verbindungsnetz (Bus-System) für den schnellen Austausch von Informationen sorgt. Dieses Konzept ist prinzipiell vom menschlichen Gehirn inspiriert, wo biologische Neuronen und Synapsen in ähnlicher Weise zusammenarbeiten. Spezialisierte neuromorphe Einheiten sind zwar weniger flexibel als klassische Mehrzweckprozessoren (CPUs), dafür aber außerordentlich leistungsfähig und energieeffizient im Einsatz für Training und Inferenz von tiefen Neuronalen Netzen (Deep Neural Networks, DNNs).

Warum neuromorphe Hardware?

Klassische Computer basieren auf einer sogenannten Von-Neumann-Architektur, in der Prozessorkerne sequenziell Befehle ausführen und dabei die Daten im zentralen Speicher bearbeiten. Das heißt, die Rechenleistung der Computersysteme ist abhängig von der Datenübertragungsrate zwischen Prozessor und Speicher. Man spricht hier vom »Von-Neumann-Flaschenhals«. Mit zunehmend anspruchsvolleren Anwendungen haben sich deshalb Hochleistungsrechner mit Multi-Core-Architekturen durchgesetzt, die Berechnungen hochgradig parallelisiert ausführen können. Tatsächlich aber sind die Möglichkeiten Berechnungen zu parallelisieren durch den Zugriff auf gemeinsame Speicherressourcen immer zu einem gewissen Grad limitiert. Neueste Fortschritte im Bereich Deep Learning fordern diese Einschränkungen besonders heraus, weil die hochgradig parallelisierte Struktur tiefer Neuronaler Netze ganz spezifisch verteilte Speicherzugriffsmuster erfordert. Solche Zugriffsmuster können mit herkömmlicher Computertechnologie kaum effizient abgebildet werden. Neuromorphe Hardware geht diese Herausforderung an und hilft dabei, Geräten und Systemen künstlichen Intelligenz (KI) zur verleihen.

Neuromorphe Architekturen

Wie Neuronale Netze selbst, sind auch die entsprechenden neuromorphen Architekturen und Designs sehr unterschiedlich und reichen von binären Netzen auf digitaler Hardware über analoge In-Memory-Beschleuniger für Convolutional Neural Networks (CNNs) bis hin zu Beschleunigern für gepulste Neuronale Netze, in denen die Informationsweitergabe auf elektrischen Impulsen beruht. Die Wahl des optimalen Designs ist abhängig von der geplanten Anwendung und der sich daraus ergebenden Anforderungen bezüglich Energieeffizienz, Latenz, Flexibilität und Leistungsfähigkeit.

Analoges neuromorphes Hardware-Design

Bereits seit den ersten Anläufen zur Entwicklung neuromorpher Hardware in den 1950er-Jahren werden analoge Schaltungen eingesetzt, um Neuronale Netze in Hardware zu implementieren. Bei diesem Ansatz werden die Werte zur Berechnung Neuronaler Netze durch reelle Werte physikalischer Größen abgebildet, zum Beispiel durch analoge Spannung, Stromstärke und elektrische Ladung. Die Berechnungen stützen sich dann auf einfache Operationen wie Multiplikation und Addition unter direkter Berücksichtigung physikalischer Gesetzmäßigkeiten, zum Beispiel der ohmschen und kirchhoffschen Gesetze.

Die zahlreichen Koeffizienten Neuronaler Netze können entweder festverdrahtet mit entsprechenden resistiven Elementen abgebildet oder direkt in neuartige und über die Schaltung verteilte Speicherelemente einprogrammiert werden (In-Memory-Computing), was zusätzlich den Flaschenhals beim Datentransfer zum Speicher deutlich entlastet.

Anwendungen für analoge Beschleuniger

Analoge Schaltungen sind starr und speziell für eine bestimmte Netzwerkarchitektur optimiert, aber gleichzeitig extrem energieeffizient und durch asynchrones In-Memory-Computing auch besonders schnell. Deshalb ist analoge neuromorphe Hardware eine vielversprechende Lösung für die hochoptimierte Daten- und Signalverarbeitung speziell bei ultra-energieeffizienten und echtzeitfähigen Anwendungen. Ein klassischer Einsatzbereich für analoge Beschleuniger ist die Verarbeitung niedrigdimensionaler Sensorsignale, zum Beispiel für bestimmte Audio-, Healthcare- oder Condition-Monitoring-Anwendungen.

Digitales neuromorphes Hardware-Design

In digitalen Deep-Learning-Beschleunigern werden dedizierte Logikschaltungen, statt generische arithmetisch-logische Recheneinheiten eingesetzt, um exakt die Operationen auszuführen, die für die Simulation eines tiefen Neuronalen Netzes notwendig sind. Damit erreicht man ein optimiertes Design, mit dem sich die hochparallelisierte Struktur Neuronaler Netze wirksam einsetzen lässt, um Inferenz und maschinelles Lernen zu beschleunigen.

Durch neuartige Speicherelemente, die über die Schaltung verteilt eingesetzt werden können, lässt sich die Speicherbandbreite reduzieren, was die Verarbeitung großer Datenmengen in Highspeed-Geschwindigkeit möglich macht.

Anwendungen für digitale Beschleuniger

Digitale Beschleuniger können als dedizierte ASICs mit geringem Stromverbrauch, als generische Beschleuniger für verschiedenste Netzwerkarchitekturen oder als extrem flexible FPGA-Lösungen umgesetzt werden. Aufgrund ihrer Flexibilität, Erweiterbarkeit, Skalierbarkeit und durch einfache Integration in digitale Plattformen eignen sich digitale Beschleuniger insbesondere für sich rasch entwickelnde Use Cases, rekonfigurierbare Geräte mit Cloud-Anbindung und für besonders anspruchsvolle Rechenanwendungen. Digitale Beschleuniger werden deshalb meist für die Verarbeitung großer Datenmengen und hochdimensionaler Daten eingesetzt, beispielsweise zur Analyse von Bild- und Videomaterial sowie medizinischer Daten.

Gepulstes neuromorphes Hardware-Design

Spezifisch entwickelte neuromorphe Hardware ermöglicht den Einsatz neuartiger NN-Architekturen wie zum Bespiel gepulste Neuronale Netze (Spiking Neural Networks). Sie basieren auf mathematischen Grundlagen, die dem klassischen Rechenparadigma trotzen.

In solchen Netzen beruht der Informationsaustausch auf binärer pulsbasierter (engl.: spike-based) Kommunikation, wobei jedes Neuron relevante Ereignisse in Form kurzer, stereotypischer Pulse weitergibt.

Anwendungen für Spiking Neural Networks

Diese ereignisbasierte Funktionsweise lässt sich mit konventionellen Von-Neumann-Rechnerarchitekturen nur schwer realisieren, kann aber in einem analogen oder mixed-signal Hardware-Stack sehr effizient umgesetzt werden. Pulsbasierte neuromorphe Hardware verspricht enorme Verbesserungen hinsichtlich Energieverbrauch und Latenz und eröffnet deshalb eine völlig neue Entwicklungsrichtung für Ultra-Low-Power-Anwendungen. Entsprechende Beschleuniger können gewinnbringend für die energieeffiziente Verarbeitung von Zeitreihendaten eingesetzt werden, beispielsweise für Sprach- und Videoanalyse oder im Bereich Predictive Maintenance.

Hardware für KI – Beratung, Design und Implementierung

Das Fraunhofer-Institut für Integrierte Schaltungen IIS hat langjährige Erfahrungen mit maschinellem Lernen in verschiedenen Anwendungsgebieten. Unsere Experten verwenden neuromorphe Hardware, um die Rechenvorgänge in Embedded-Produkten zu beschleunigen.

Wir beraten Sie gerne zu den Themen maschinelles Lernen und geeignete neuromorphe Hardware speziell in Ihrem Anwendungsfall. Darüber hinaus kümmern wir uns um Design und Implementierung neuromorpher Hardwaremodule für Ihre Geräte.

Wir finden das passende neuromorphe Design für Ihren Anwendungsfall.

Überblick über neuromorphe Hardware

Die Tabelle gibt einen Überblick über verschiedene Hardware-Plattformen und deren Vor- und Nachteile in Bezug auf die neuromorphe Datenverarbeitung:

  • Mehrzweckprozessoren (GP CPUs: General Purpose Central Processing Units)
  • GP CPUs mit Beschleunigern
  • Grafikprozessoren (GP GPUs: General Purpose Graphics Processing Units)
  • Spezielle Hardware (ASICs: Application Specific Integrated Circuits)
  • Field-Programmable Gate Arrays (FPGAs)
  • Digital Signal Processors (DSPs)

 

Tabelle mit Überblick über neuromorphe Hardware
© Fraunhofer IIS

Überblick über Deep-Learning-Inference-Beschleuniger und deren Einsatz in Embedded-Geräten

 

Fachartikel
Elektronenhirn 4.0

Quelle: Elektronik, 9/2019

Aktuelle Forschungsprojekte

Weitere Informationen

 

Referenzprojekt
»KI-FLEX«

Rekonfigurierbare Hardwareplattform zur KI-basierten Sensordatenverarbeitung für das autonome Fahren

 

Embedded Machine Learning

Implementierung und Integration von Machine Learning auf Embedded-Geräten

 

Machine Learning am Fraunhofer IIS

Übersicht zum Thema Maschinelles Lernen am Fraunhofer IIS