Deep Learning, Maschinenlernen oder maschinelles Lernen ist ein Teilbereich der künstlichen Intelligenz und hat sich in diesem Umfeld zu der am schnellsten wachsenden Disziplin entwickelt. Auf der Basis von Deep-Learning-Algorithmen lernen Maschinen, die Welt zu erkennen und zu verstehen, um sich darin bewegen und Entscheidungen treffen zu können. Das Deep-Learning-Konzept basiert auf tiefen neuronalen Netzen (Deep Neural Networks, DNNs), die aus einer Struktur von einfachen, trainierbaren mathematischen Einheiten (Neuronen) bestehen und lernen können, komplexe Funktionen, wie zum Beispiel autonomes Fahren, auszuführen.

Bild 1: Fortschritte von Computer Vision (CV) und Deep Learning (DL) im Image-Net-Benchmark. Mit dem DL-Konzept ließen sich zwischenzeitlich über 95 % der Objekte auf Bildern richtig erkennen.

Bild 1: Fortschritte von Computer Vision (CV) und Deep Learning (DL) im Image-Net-Benchmark. Mit dem DL-Konzept ließen sich zwischenzeitlich über 95 % der Objekte auf Bildern richtig erkennen. Nvidia

Als Deep Learning bezeichnen Fachleute den Prozess, der Daten in Entscheidungen eines Computerprogramms umsetzt. Im Gegensatz zu einem aus mathematischen Algorithmen bestehenden System wird beim Deep Learning eine DNN-Struktur definiert, die erlernt, bestimmte Aufgaben zu erfüllen. Das Aufgabenspektrum erstreckt sich von der Bild- und Spracherkennung über das Durchführen von Drohnentransporten bis hin zu Fahrzeugen, die sich selbstständig fortbewegen können. Das Deep-Learning-Konzept bedient sich dabei der gleichen Methoden, mit denen das menschliche Gehirn Dinge erlernt. So lassen sich Muster und Zusammenhänge erkennen, Sprache verstehen und Mehrdeutigkeiten verhindern.

Eckdaten

Künstliche Intelligenz (KI), basierend auf Deep-Learning-Architekturen (DL) wie dem Deep Neural Network (DNN), findet in der Automobilindustrie weltweit Anwendung in Bereichen wie zum Beispiel Computer Vision, Sprach- und Objekterkennung sowie autonomes Fahren. Die Plattform Nvidia-Drive kombiniert Deep Learning, Sensorfusion und Rundumsicht und ermöglicht somit ein verändertes Fahrerlebnis.

Neuronale Netze (NNs) sind parallel aufgebaut und bestehen aus Neuronen und deren Verbindungen (Synapsen), die mit unterschiedlichen Verstärkungsfaktoren (Weights) versehen sind. Wegen der parallelen Anordnung passen NNs gut zu Grafikprozessoren (GPUs). Moderne GPUs haben hunderte bis tausende von Rechenkernen, die Aufgaben parallel abarbeiten können. Grafikprozessoren sind in vielen Bereichen zu finden. Dazu zählen Konsumerprodukte, Computerspiele, Roboter, Drohnen, CAE- und CAD-Systeme sowie Produkte für die Automobilindustrie.

Die Image-Net-Bibliothek

Ein Beispiel für die Fortschritte im Bereich Deep Learning ist der ILSVRC-Benchmark (Image-Net Large Scale Visual Recognition Challenge). Dabei findet ein Vergleich verschiedener Algorithmen und Methoden zum Erkennen von Objekten auf Fotos und Szenen aus einer Bibliothek von tausenden Bildern und Videos statt. Bis 2012 hat sich die Erkennungsrate, basierend auf klassischen Computer-Vision-Algorithmen (CV), nur langsam auf 70 % erhöht. Im Jahr 2012 konnten Experten diese Rate sprunghaft um über 10% verbessern. Ausschlaggebend war der Einsatz von Deep Learning, wodurch zwischenzeitlich über 95 % der Objekte auf den Bildern richtig erkannt und damit sogar bessere Werte als von Menschen erreicht werden konnten. Alle Teilnehmer der Challenge setzen heute auf das Deep-Learning-Konzept, das damit die CV-Algorithmen als Methode in diesem Benchmark komplett ersetzt hat (Bild 1).

Bild 2: Vereinfachte Darstellung der Schritte zum autonomen Fahren (Self Driving Loop).

Bild 2: Vereinfachte Darstellung der Schritte zum autonomen Fahren (Self Driving Loop). Nvidia

Deep Learning in der Hightech-Industrie

Facebook hat als eines der ersten Unternehmen Grafikprozessoren zur Entwicklung seiner auf DNNs basierenden Applikationen adaptiert. DNNs und GPUs sind wichtige Bestandteile der Computerplattform „Big Sur“ des FAIR-Projekts (Facebook Artificial Intelligence Research) und kommen speziell im Training der Systeme zum Einsatz. Erklärtes Ziel von Facebook ist, die Fortschritte in der Entwicklung der künstlichen Intelligenz voranzutreiben und trainierte DNNs zur verbesserten Kommunikation von Menschen einzusetzen.

Auch Google investiert zunehmend in Deep-Learning-Prozesse. So hat das Unternehmen mit Tensor-Flow sein maschinelles Lernsystem der zweiten Generation entwickelt, um große Datenmengen und Modelle verstehen und bearbeiten zu können. Tensor-Flow basiert auf einer flexiblen Architektur und kommt bei Wahrnehmungs- und Sprachverständnisproblemen zum Einsatz. So zum Beispiel bei der Sprach- und Texterkennung, zur Klassifizierung in Google-Applikationen wie E-Mail, Natural Language Processing, Kartendiensten und der Entwicklung von Robotern. Zur Realisierung dieser Anwendungen verwendet Google tausende GPUs, die bis zu zehnmal schneller sind als vergleichbare Mikroprozessoren. Laut Anelia Angelova – bei Google im Bereich maschinelle Lernsysteme tätig – setzt ihr Unternehmen auch DL in kaskadierten DNNs bei der Entwicklung eines autonomen Fahrzeugs ein, zum Beispiel zum Erkennen von Fußgängern.

Deep Neural Networks (DNNs) bestehen aus mehreren Schichten von neuronalen Netzen und erkennen je nach Schicht Kanten, geometrische Figuren und komplexe Objekte. In diesem Beispiel wurde ein Audi A7 erkannt.

Bild 3: Deep Neural Networks (DNNs) bestehen aus mehreren Schichten von neuronalen Netzen und erkennen je nach Schicht Kanten, geometrische Figuren und komplexe Objekte. In diesem Beispiel wurde ein Audi A7 erkannt.

 Ablauf beim autonomen Fahren

Mit dem Schema in Bild 2 (Self Driving Loop) lassen sich die Schritte zum autonomen Fahren vereinfacht darstellen. Das Ziel besteht darin, das gesamte Fahrzeugumfeld mithilfe von Kameras, Lidar, Radar und Ultraschallsensoren zu registrieren. Dadurch kann der Algorithmus ein 360-Grad-Umfeldmodell, also die genaue und echtzeitfähige Abbildung der Fahrzeugumgebung, erstellen und sämtliche statische und dynamische Objekte dreidimensional erfassen. Mit DNNs für die Sensor-Datenfusion – das Zusammenführen der unterschiedlichen Sensordaten in ein Gesamtumfeld – lässt sich die Qualität des Umfeldmodells weiter verbessern. Dies ist möglich, da sich die Zuverlässigkeit beim Bestimmen des Objekts erhöht (Image-Net-Benchmark).

Die dabei erzeugten und verarbeiteten Daten nutzt das System zum Wahrnehmen des Umfelds (Perception), zum Bestimmen der Position (Localization) sowie zur Planung (Plan) der Bewegung (zum Beispiel Fahrspurwechsel). Dabei beinhaltet der Schritt Perception die Integration der Sensor-Fusion-Daten (Kombination von unterschiedlichen Sensordaten), die Objekterkennung (da ist ein Objekt), die Klassifizierung (es ist ein Fußgänger), die Segmentierung (auf der rechten Seite) sowie das Tracking (Objekt bewegt sich nach links).

Bild 4: Das DNN-Training erfolgt mithilfe eines Trainers, der dem neuronalen Netz mitteilt, wie es auf ein Ereignis (Trigger) reagieren soll. Das Trainingssystem nutzt eine Bewertungsfunktion (Scoring Function), die die Abweichung zwischen gewünschter und tatsächlicher Antwort bestimmt.

Bild 4: Das DNN-Training erfolgt mithilfe eines Trainers, der dem neuronalen Netz mitteilt, wie es auf ein Ereignis (Trigger) reagieren soll. Das Trainingssystem nutzt eine Bewertungsfunktion (Scoring Function), die die Abweichung zwischen gewünschter und tatsächlicher Antwort bestimmt. Nvidia

Im Schritt Localization erfolgt die Zusammenführung von unterschiedlichen Kartenquellen, verschiedener Orientierungspunkte sowie die Triangulation von GPS-Daten. Die Bestimmung der genauen Position ist äußerst wichtig, um ein Fahrzeug im Straßenverkehr sicher zu bewegen. So ermöglicht die Integration der Kartendaten des Herstellers Here beispielsweise, dass das System das Fahrzeug sicher auf der Fahrbahn halten und durch komplexe Verkehrsszenarien leiten kann.

Sicheres Fahrvergnügen

Im letzten Schritt legt das System bei der Planung der Fahrtrichtung das Verhalten des Fahrzeugs fest. Ein fahrerloses Auto muss in einem dynamischen Verkehrsumfeld zuverlässig um mögliche Gefahren herumsteuern können. Ausgefeilte Algorithmen, die den freien Raum (Free Space) sowie dessen Veränderungen vorhersehen können, dienen zum Bestimmen der Fahrzeugbewegung. Darüber hinaus muss sich ein autonom fahrendes Auto fließend im Verkehr bewegen, um nicht durch abrupte Manöver die eigenen Passagiere und andere Verkehrsteilnehmer zu gefährden oder zu behindern. Die Fahrspurberechnung muss dies berücksichtigen, damit ein sicheres Fahrvergnügen gewährleistet ist.

Es zeigt sich also, dass eine intelligente Kamera für autonomes Fahren nicht ausreicht. Jeder Schritt des Self Driving Loops benötigt auch DNNs für Perception, Localization und Planung. Das System muss Objekte und Orientierungspunkte erkennen, das Fahrverhalten anpassen und Entscheidungen treffen, um das Fahrzeug zuverlässig zu bewegen. Zusätzlich repräsentieren DNNs eine offene Plattform, mit der OEMs und Tier-1-Zulieferer ihre DNNs definieren, trainieren, erweitern und warten können, um so eine eigene Lösung zu entwickeln und sich auf dem Markt von anderen Anbietern zu unterscheiden.

Der Deep-Learning-Prozess

DNNs bestehen aus mehreren Schichten von neuronalen Netzen. Die erste Schicht von Neuronen (Bild 3) erkennt Kanten, sprich Hell-Dunkel-Übergänge. Die Neuronen der zweiten Schicht wiederum erkennen bereits erste Strukturen wie Dreiecke, Quadrate und Kreise. In der dritten Ebene lassen sich komplexere Objekte unterscheiden, die zum Beispiel aus den vorher erkannten Strukturen bestehen. Auf diese Art setzt sich der Prozess über weitere Schichten fort. In der letzten Ebene erfolgt die Bestimmung des Objekts, wie zum Beispiel ein Audi A7 in Bild 3. Letztendlich ist die richtige Anzahl von Neuronenschichten und -charakteristika (DNN-Typ) für die Lösung eines speziellen Problems zu wählen.

Bild 5: Realistische Fahrsituation. Der untere Teil des Bildes zeigt die vom System erkannte Verkehrssituation.

Bild 5: Realistische Fahrsituation. Der untere Teil des Bildes zeigt die vom System erkannte Verkehrssituation. Nvidia

Die Entwicklung eines autonomen Fahrzeugs ist eine große Herausforderung, da die Fahrsituation in den heutigen, überfüllten Millionenstädten sehr komplex und schwer vorhersehbar ist. Deshalb müssen so viele Eingangsdaten (Sensoren, Karten, GPS und ähnliches) wie möglich kombiniert werden, um höchstmögliche Zuverlässigkeit zu erreichen. Dieses Szenario ist perfekt für die Verwendung von Deep Learning. In Bild 3 wurde der DNN-Typ Caffe für das Training gewählt. Das Caffe Framework wurde vom Berkeley Vision and Learning Center gemeinsam mit Freiwilligen entwickelt, insbesondere mit Fokus auf seine Ausdrucksfähigkeit, Ausführgeschwindigkeit und Modularität. Darum eignet es sich sehr gut für die Anforderungen des autonomen Fahrens.

Trainer für neuronale Netze

Nach der Auswahl eines geeigneten DNNs muss das Netz zum Beispiel für die Aufgabe Objekterkennung und -klassifizierung trainiert werden. Wie beim Training im Sport benötigt man hierzu einen Trainer, der dem neuronalen Netz sagt, wie es auf ein Ereignis (Trigger) zu reagieren hat. Das Trainingssystem verwendet eine Bewertungsfunktion, die die Differenz zwischen gewünschter und tatsächlicher Antwort bestimmt (Bild 4). Proportional zur Abweichung passt das System die Verstärkungsfaktoren (Weights) der Neuronenverbindungen (ähnlich der Synapsen von Nervenzellen) an und kalibriert somit das Netzwerk für den Anwendungsfall. Daraus folgt, dass das DNN-Netzwerk mit immer kleineren Fehlern auf die jeweiligen Ereignisse reagiert. Das Optimieren der Weights erfolgt beim Training der DNNs durch das Einlesen unterschiedlicher Fahrszenen automatisch und ohne direktes Eingreifen eines Entwicklers.

Um ein Training durchzuführen, ist zunächst eine Datenbank aus Trainingsdaten zu erstellen. Diese Daten beinhalten unter anderem Fahrszenen, eine Beschreibung der Objekte (Audi A7 rechts geparkt) sowie die individuelle Entscheidung eines Fahrers in der jeweiligen Situation (links am A7 vorbeifahren). Sobald die Datenbank erstellt ist, kann das Training beginnen. Als Endergebnis liegt das Netz mitsamt seiner Struktur und den jeweiligen Verstärkungen vor, die sich in Fahrsituationen testen lassen.

Bild 6: Deep-Learning-Plattform zum Training von neuronalen Netzen mit Daten aus echten Fahrsituationen.

Bild 6: Deep-Learning-Plattform zum Training von neuronalen Netzen mit Daten aus echten Fahrsituationen. Nvidia

Kontinuierliches Training

Die Verifikation des neuronalen Netzes findet zunächst in Fahrsimulationen statt. Sollten dabei Fehler auftreten, lässt sich das Netzwerk mit den nicht korrekt erkannten und/oder ausgeführten Fahrsituationen weiter trainieren und damit verbessern. Nachdem diese Optimierungsschleifen erfolgreich abgeschlossen sind, können die Verantwortlichen das trainierte DNN auf eine Embedded-ECU-Plattform im Fahrzeug herunterladen. Das System im Fahrzeug lässt sich jetzt auf einer Teststrecke und anschließend im öffentlichen Straßenverkehr testen. Die gleichen Schritte gelten für alle Bereiche, in denen DNNs im autonomen Fahrzeug zum Einsatz kommen sollen (zum Beispiel Fahrspurplanung). Um dies effizient durchzuführen, ist ein integriertes System zum Trainieren und Testen sowie zur Anwendung von neuronalen Netzwerken erforderlich.

Bild 5 zeigt eine realistische Fahrsituation, bei der in der oberen Hälfte die tatsächliche Verkehrssituation zu sehen ist. Mit dieser Situation wird das DNN „gefüttert“ (kombinierte Daten aus Kamera, Radar, Lidar). Im unteren Teil ist die vom System erkannte Situation zu sehen. Der weiße Wagen im unteren Bildteil stellt das eigene Fahrzeug dar. Darüber hinaus erkennt das System zwei grau dargestellte Fahrzeuge auf der linken Seite und eines schräg hinten rechts richtig. Auf der Grundlage der relativen Position, der Geschwindigkeit und weiterer Daten bestimmt das System mögliche Fahrmanöver (grüne Linien) und entscheidet sich letztendlich für ein Manöver (zum Beispiel geradeaus fahren), das dann ausgeführt wird.

Bild 7: Der KITTI-Benchmark vergleicht unterschiedliche Implementierungen zur Objekterkennung in Fahrzeugsystemen für autonomes Fahren.

Bild 7: Der KITTI-Benchmark vergleicht unterschiedliche Implementierungen zur Objekterkennung in Fahrzeugsystemen für autonomes Fahren. Nvidia

Die Nvidia-Drive-Lösung

Für Entwicklung, Training, Test und Anwendung in autonomen Fahrzeugen gibt es die integrierte Plattformlösung Nvidia Drive (Bild 6). Mit ihr können Fahrzeughersteller, Tier-1-Zulieferer und im Automobilmarkt engagierte Forschungsunternehmen Systeme entwickeln, die sehen, denken und lernen können. Die Ende-zu-Ende-Lösung besteht aus der Deep-Learning-Plattform Nvidia DGX-1 zum Training von digitalen neuronalen Netzen mit Daten aus echten Fahrsituationen, die über viele Jahre in Testfahrten aufgezeichnet wurden. Die Umsetzung für selbstfahrende Autos erfolgt über Nvidia-Drive PX 2, mit dessen Hilfe sich das trainierte System zuverlässig auf die Straße bringen lässt. Drive PX 2 unterstützt verschiedene Datenformate für die Integration unterschiedlicher Eingangsformate und -systeme, wie zum Beispiel Kamera, Radar, Lidar, Ultraschallsensoren, Ethernet-Busse und eine Vielzahl von Ausgabesystemen (Ethernet, CAN, Bildschirme). Das Bindeglied bildet Nvidia Drive-Works, eine Sammlung aus Softwaretools, Bibliotheken und Modulen zur beschleunigten Entwicklung, Simulation und zum Testen autonomer Fahrzeuge sowie zur Integration von hochauflösenden Karten. Mit Drive-Works lassen sich die Sensoren kalibrieren, 360-Grad-Umgebungsdaten aufnehmen und Datenquellen (Fusion) synchronisieren und verarbeiten.

Der KITTI-Benchmark

Nvidia hat die Nvidia-Drive-Lösung auch selbst in einem eigenen DNN-System (Drive-Net) zur Objekterkennung eingesetzt. Seit Mitte 2015 laufen das Training sowie Tests dieses Systems. Es hat den ersten Platz im KITTI-Benchmark erzielt. Die acht bestplatzierten Teilnehmer haben alle ihre Systeme auf Nvidia-GPUs ausgeführt. Der KITTI-Benchmark (Bild 7) stammt aus der Entwicklung des Karlsruher Instituts für Technologie und dem Toyota Technological Institute. Er vergleicht unterschiedliche Implementierungen zur Objekterkennung in Fahrzeugsystemen für autonomes Fahren.

Zahlreiche Automobilfirmen und ihre Zulieferer setzen bereits heute die Deep-Learning-Technologie von Nvidia zur Entwicklung ihrer autonomen Fahrzeugprojekte ein. Dabei erzielen sie im Training der Netze gegenüber Lösungen mit herkömmlichen Systemen wie CPUs eine 30- bis 40-fach schnellere Umsetzung. Unter den Anwendern finden sich Unternehmen wie BMW, Daimler und Ford sowie innovative Start-ups aus Japan wie Preferred Networks und ZMP. Audi trainiert sein DNN-System heute innerhalb von vier Stunden. Bisher benötigte das Unternehmen mit einer Smartkamera zwei Jahre. Volvo Cars setzt Drive PX 2 bereits in den Fahrzeugen ein, die im Rahmen des DriveMe-Projekts 2017 in Göteborg im öffentlichen Verkehr getestet werden sollen.

Bild 8: Wachstumsprognose für Fahrzeuge mit Selbstfahrfunktionen.

Bild 8: Wachstumsprognose für Fahrzeuge mit Selbstfahrfunktionen. BI Intelligence

Zehn Millionen autonome Fahrzeuge

Bis zum Jahr 2020 sollen gemäß BI Intelligence weltweit zehn Millionen Fahrzeuge mit autonomen Fahrfunktionen unterwegs sein (Bild 8). Bei einem nicht unerheblichen Anteil davon soll sich laut BI Intelligence künstliche Intelligenz für das Verständnis der Umgebung, zum Bestimmen der genauen Position und zum Navigieren in komplexen Fahrsituationen im Einsatz befinden.

Der Wettlauf zur Entwicklung des autonomen Fahrzeugs hat gerade erst begonnen, und ständig kommen neue Teilnehmer dazu. Die Venture-Capital-Firma Andreessen Horowitz investierte kürzlich 3,1 Millionen Dollar in das Startup-Unternehmen Comma.ai von George Hotz. „Ich bin überzeugt, dass der Ansatz von George Hotz ein Paradebeispiel für den Whats-App-Effekt ist, der jetzt auch im Bereich KI entsteht“, erklärt Chris Dixon von Andreessen Horowitz in seinem Blog. „Softwaretools wie zum Beispiel Tensor-Flow, kombiniert mit Cloud-Datenzentren für das Training und preisgünstige GPUs für die Umsetzung (im Fahrzeug), erlauben kleinen Teams die Entwicklung von KI-Systemen nach dem neuesten Stand der Technik.“