Der Verkehr ist voller komplexer Szenarien, die Computersysteme von selbstfahrenden Autos entschlüsseln müssen. Machine-Learning-Algorithmen an Bord helfen dabei.
Foto: Getty Images / iStock / IGphotography

Die Rechenzentren dieser Welt bearbeiten in jeder Sekunde Millionen Nutzeranfragen. Artificial-Intelligence-Algorithmen und leistungsstarke Hardware helfen etwa beim Erkennen von Gesichtern auf Handy-Fotos und beim Verstehen der Spracheingaben von Smart-Home-Systemen.

Doch bei einer Reihe von Anwendungen ist es nicht möglich, die Berechnung auf zentralen Servern oder in der Cloud durchführen zu lassen. Wenn am Ort des Nutzers keine ausreichende Datenverbindung besteht oder Ergebnisse besonders schnell vorliegen müssen, benötigt man die Rechenkapazität an Ort und Stelle.

Paradebeispiel für eine Anwendung mit diesen Erfordernissen sind Assistenzsysteme in Fahrzeugen, die letztendlich ein menschliches Steuern überflüssig machen sollen. In vielen Fällen geht es hier um eine sehr schnelle Bild- und Objekterkennung: Die individuelle Verkehrssituation samt Straßenverlauf, Fahrzeugen, Fußgängern, Ampeln und Verkehrsschildern muss meist auf Basis optischer Sensoren in Echtzeit interpretiert werden können.

Schnelle Reaktion

"Diese Systeme in den Fahrzeugen müssen innerhalb von Millisekunden reagieren können. Ihre Berechnungen an einen Server auszulagern ist völlig ausgeschlossen", erklärt Axel Jantsch vom Institut für Computertechnik der TU Wien. Die künstliche Intelligenz muss also an Bord der Fahrzeuge ihre Arbeit verrichten – trotz aller Einschränkungen, die es hier bei Rechenleistung, verfügbarer Energie und Platz gibt.

Jantsch arbeitet an Ansätzen, die solche Anwendungen leistungsfähiger machen sollen. Im neuen, von ihm geleiteten Christian-Doppler-Labor für "Embedded Machine Learning" soll die Entwicklung kleiner, in Fahrzeugen oder Maschinen "eingebetteter" Computersysteme optimiert werden.

Letztendlich soll auf kleinem Raum möglichst viel Rechenkraft für Anwendungen des maschinellen Lernens nutzbar gemacht werden. Unterstützt wird das CD-Labor vom Wirtschaftsministerium. Industriepartner sind die Unternehmen Mission Embedded, Siemens Österreich und AVL List. Die TU Graz ist ein weiterer wissenschaftlicher Partner.

Wenig Platz und Energie

"Wir haben für ein System typischerweise nur ein bis zwei Kubikdezimeter Raum und ein Energiebudget von wenigen Watt oder Milliwatt zur Verfügung", beschreibt Jantsch die begrenzten Ressourcen, die bei der Entwicklung der Embedded Systems zu berücksichtigen sind.

Gleichzeitig sollen die Systeme aber neuartige Features mitbringen. Beispielsweise soll eine "Lernfähigkeit" der Systeme während ihres Einsatzes sichergestellt werden. Bisher werden Machine-Learning-Algorithmen anhand von historischen Daten trainiert, um sie dann im Einsatz auf neue Fälle anwenden zu können.

"Künftig könnten auch Daten aus dem laufenden Betrieb gesammelt werden, die dann für eine weitere Trainingsphase in der Cloud genutzt werden. Der so verbesserte Algorithmus wird dann dem lokalen System als Update ausgespielt", sagt der Informatiker.

Drei Plattformen

Grundsätzlich gebe es drei Plattformen, auf die man beim Design der Systeme zurückgreifen könne. Zum einen sind das sogenannte GPUs, also Grafikchips, die sich gut für Deep-Learning-Anwendungen eignen.

Zum anderen gibt es die Möglichkeit, die Hardware mithilfe von FPGAs – das sind "programmierbare" Rechenkerne, deren Logikschaltungen von Entwicklern selbst gestaltet werden können – noch gezielter auf eine konkrete Anwendung hinzutrimmen. "In diesem Fall ist zwar der Designprozess komplexer, man kann aber einen Anforderungsbereich abdecken, der mit den Grafikchips nicht erreicht werden kann", erläutert Jantsch.

Und zuletzt können die Systeme noch als sogenannte ASICs realisiert werden – anwendungsspezifische, integrierte Schaltungen, die industriell gefertigt werden. Ihr Vorteil liegt in einer noch höheren Effizienz. Der Nachteil: Wirtschaftlich kann ihre Herstellung nur bei hohen Stückzahlen sein.

Für Jantsch und Kollegen geht es nun vor allem darum, Methoden zu entwickeln, um Hard- und Software der eingebetteten Systeme bestmöglich entsprechend ihrer Anwendung zu konfigurieren. Diese Arbeit soll für weitere Anwender leichter reproduzierbar werden. Jantsch: "Die abgeleiteten Methodiken werden in Software-Tools gegossen, die in Zukunft die Entwicklung von Embedded Systems einfacher gestalten sollen." (Alois Pumhösel, 24.3.2020)