Technische Anforderungen an eine Hardware zum Training von Deep-Learning-Algorithmen für die Entwicklung autonomer Fahrzeuge


Masterarbeit, 2021

106 Seiten, Note: 1,6

Anonym


Leseprobe


Inhaltsverzeichnis

1 Einleitung

2 Bestandteile der Arbeit
2.1 Stand der Forschung
2.2 Relevanz und Ziel der Arbeit
2.3 Methodik und Eingrenzung der Arbeit

3 Darlegung des theoretischen Hintergrundes
3.1 Künstliche Intelligenz
3.1.1 Historischer Überblick
3.1.2 Machine Learning
3.1.3 Deep Learning
3.2 Hintergrund zu autonomen Fahrzeugen
3.2.1 Historischer Überblick und Ausblick
3.2.2 Stufen der Autonomie
3.2.3 Relevante Komponenten zur Entwicklung autonomer Fahrzeuge
3.3 Relevante Aspekte zum Datenmanagement
3.3.1 Entwicklungsprozess autonomer Fahrzeuge aus Sicht der Hardware
3.3.2 Datei-, Block- und Objektspeicher
3.3.3 Speichermedien
3.3.4 GPU und CPU

4 Implementierung der Objekterkennung in CARLA
4.1 Virtueller Fahrsimulator Car Learning to Act (CARLA)
4.2 Iterativer Data Mining Zyklus
4.2.1 Problemdarstellung und Geschäftsverständnis
4.2.2 Datenerfassung
4.2.3 Datenaufbereitung
4.2.4 Modelltraining – Objekterkennung mit YOLO V3 tiny und Darknet
4.2.5 Modellevaluation
4.2.6 Modellbereitstellung – Implementierung des trainierten YOLO V3 tiny Modells in CARLA

5 Ergebnisse
5.1 Ergebnisse des Hardware-Monitorings
5.2 Hardware Extrapolation
5.3 Technische Hardware-Anforderungen
Fazit
5.4 Zusammenfassung
5.5 Ausblick

7 Literaturverzeichnis

Kurzfassung

Vor dem Hintergrund der Digitalisierung stellt der Einsatz von Künstlicher Intelligenz einen zentralen Erfolgsfaktor in nahezu jeder Branche dar. Maschinelles Lernen ist hierbei ein Teilaspekt, wobei für das Training eines solchen KI-Modells große Datenmengen benötigt werden. Diese Datenmengen müssen entsprechend aufbereitet und verwaltet werden, um sie zu analysieren und für KI-Algorithmen verwendbar zu machen.

Die Entwicklung autonomer Fahrzeuge wird insbesondere durch den Einsatz solcher KI-Modelle vorangetrieben, wobei die Hardware dabei eine zentrale Rolle spielt. Um einen Beitrag zu dieser Forschung zu leisten, wurde in dieser Masterarbeit in einem realistischen Fahrsimulator ein System integriert, das in der Lage ist, die Geschwindigkeitsverkehrszeichen der Straße zu erkennen und bei einer Geschwindigkeitsüberschreitung den Fahrer darauf aufmerksam zu machen. Der in dieser Arbeit verwendete Simulator ist der CAR Learning to Act (CARLA), ein Open-Source-Simulator für autonome Fahrzeuge. Um Verkehrszeichen zu erkennen, wurde ein Algorithmus zur Objekterkennung verwendet: der You Only Look Once (Yolo)-Algorithmus. Dieser Algorithmus sieht während der Trainings- und Testphase das gesamte Bild und kodiert Kontextinformationen über die Objektklassen sowie deren Erscheinungsbild.

Das Hauptziel der Arbeit war es, durch das Training des Systems, technische Anforderungen an eine Hardware zum Training solcher Deep Learning Algorithmen aufzuzeigen. Dafür wurde das System auf einer NVIDIA GeForce 1080 GTX Grafikkarte trainiert. Die Objekterkennung dauerte insgesamt 6,3 Millisekunden, um die aktuelle CARLA-Szene zu bewerten und festzustellen, ob ein Geschwindigkeitsverkehrszeichen vorhanden ist oder nicht. Dabei erreichte YOLO eine Präzision von 91%. Hardware-Anforderungen ergaben sich konkret an GPU, CPU, RAM, VRAM, SSD und HDD. Ohne ausreichend Kapazität und einen schnellen Zugriff auf diese Komponenten, kann eine Hardware die Menge an Daten nicht ausreichend schnell bewältigen, die zum Training von Deep Learning Algorithmen notwendig sind.

Schlüsselwörter:

Datenspeicherung, Datenverwaltung, Training eines KI-Modells, Autonomes Fahren, Entwicklung autonomer Fahrzeuge, virtueller Fahrsimulator, Objekterkennung

Abstract

In the context of digitalization, Artificial Intelligence (AI) becomes a central factor to success to almost any business. Machine learning is an aspect of AI which requires large quantities of data for the purpose of training AI models. This data needs to be prepared and managed accordingly so it can be analyzed and made suitable for processing by the AI algorithms.

The development of autonomous vehicles is driven forward mainly by AI models, where as hardware plays a significant role. This Master’s thesis aims at contributing to this research by taking a realistic drive simulator and integrating to it a system able to recognize road speed signs and alert the driver in case the vehicle speed exceeds the limit. The simulator used for the purpose of this work is the CAR Learning to Act (CARLA), an Open Source Simulator designed for autonomous vehicles. In order to recognize the traffic signs, a modern algorithm for object recognition was utilized: the You Only Look Once (Yolo) algorithm. During the training and test phases, this algorithm looks at the whole picture and codes the context information related to the object classes as well as their appearance.

The main goal of this work was to train the system in order to identify the precise technical requirements which the hardware should meet. For this purpose, the system was trained using a NVIDIA GeForce 1080 GTX graphics card. Evaluating and determining if a road speed sign is present or not in the current CARLA scene took the GPU a total of 6.3 milliseconds. At the same time, YOLO reached an accuracy of 91%. The hardware requirements were specifically GPU, CPU, RAM, VRAM, SSD and HDD. Without sufficient capacity and fast access to these components, a hardware cannot handle the amount of data needed to train deep learning algorithms sufficiently quickly.

Keywords:

Data storage, data management, training AI models, autonomous driving, development autonomous vehicles, virtual drive simulator, object recognition

Anmerkung im Sinne der Gleichbehandlung

Im Sinne der Gleichberechtigung sind alle in der vorliegenden Arbeit verwendeten personenbezogenen Bezeichnungen geschlechtsneutral zu verstehen. Zur leichteren Lesbarkeit wird daher auf das „binnen-I“ bzw. eine geschlechtsspezifische Differenzierung, wie Leser(innen) verzichtet.

Abkürzungsverzeichnis

ADAS Advanced Driver Assistance Systems

API Application Programming Interface

AV Autonomous Vehicle

BB Bounding Boxes

Bspw. Beispielsweise

Bzw. Beziehungsweise

C° Celsius

Ca. Circa

CARLA Car Learning to Act

CMD Command Promt

CEO Chief Executive Officer

COCO Common Objects in Context

COS Cloud Object Storage

CNN Convolutional Neural Network

CPU Central Processing Unit

D.h. Das heißt

DL Deep Learning

DNN Deep Neural Network

DRAM Dynamic Random Access Memory

DWPD Drive Writes Per Day

EU Europäische Union

FLOPS Floating Point Operation Per Second

FPS Frames per Second

GB Gigabyte

GHz Gigahertz

GFLOPS GigaFLOPS

GPU Graphics Processing Unit

GUI Graphical User Interface

H Stunde

HDD Hard Disk Drive

HdM Hochschule der Medien

HiL Hardware-in-the-Loop

Hz Hertz

IoU Intersection Over Union

YOLO You Only Look Once

KI Künstliche Intelligenz

mAP Mean Average Precision

MB Megabyte

MHz Megahertz

ML Machine Learning

MM Millimeter

MRD Milliarden

MS Millisekunden

NAS Network Attached Storage

NMS Non-Maximum-Suppression

NPC Non-Player-Character

PB Petabyte

PFLOPS PetaFLOPS

RAM Random Access Memory

R-CNN Regions Based Convolutional Neural Networks

R-FCN Region Based Fully Convolutional Network

RNN Recurrent Neural Network

RL Reinforcement Learning

S Sekunde

SAN Storage Area Network

SEA Society of Automotive Engineers

SiL Software-in-the-Loop

SSD Solid State Drive

SSD Single Shot MultiBox Detector

TFLOPS TeraFLOPS

V Volt

ViL Vehicle-in-the-Loop

VRAM Video Random Access Memory

W Watt

Z.B. Zum Beispiel

Abbildungsverzeichnis

Abbildung 1 CRISP-DM.

Abbildung 2 Übersicht des Vorgehens und der Ziele dieser Masterarbeit. Eigene Darstellung.

Abbildung 3: Zusammenhang und Abgrenzung zwischen KI, ML und DL Eigene Darstellung.

Abbildung 4: Traditionelle Programme vs. Machine Learning. Eigene Darstellung.

Abbildung 5: Beispiel des Aufbaus eines DNN mit Hidden Layers.

Abbildung 6 Dropout bei einem künstlichen neuronalen Netz.

Abbildung 7 Eine CNN-Sequenz zum Klassifizieren eines Autos.

Abbildung 8 Erkennung mehrerer Objekte in einem Bild mit Hilfe des YOLO-Algorithmus.

Abbildung 9 Ergebnis von YOLO V3 bei eigens generierten Bildern. Eigene Darstellung.

Abbildung 10 Architektur von Darknet-53.

Abbildung 11 Stufen der Autonomie. Eigene Darstellung.

Abbildung 12 Ein mit verschiedenen Sensoren ausgestattetes Fahrzeug.

Abbildung 13 Komponenten autonomer Systeme. Eigen Darstellung.

Abbildung 14 Vergleich GigaFLOPS von GPU und CPU.

Abbildung 15 Straßenumgebungen in CARLA von oben links: Abend nach Regenschauer, Sonnenschein, Sonnenuntergang, Starkregen.

Abbildung 16 Vorgangs dieser Masterarbeit in Anlehnung an das CRISP-DM Modell. Eigene Darstellung.

Abbildung 17 Bilderdatensatz mit jeweilig generierter Textdatei durch LabelIMG. Eigene Darstellung.

Abbildung 18 Erfolgreiche Installation von Darknet in Visual Studio 2019. Eigene Darstellung.

Abbildung 19 Trainingsprozess direkt nach Starten von Darknet. Eigene Darstellung.

Abbildung 20 Berechnung des IoU.

Abbildung 21 Verlauf der Verlustfunktion. Eigene Darstellung.

Abbildung 22 Erkennung von zufällig ausgewählten Tempolimit-Straßenschildern in CARLA. Eigene Darstellung.

Abbildung 23 Beispiel eines 90 km/h Schildes aus Sicht der Frontkamera am Auto. Eigene Darstellung.

Abbildung 24 Aufrufen des trainieren YOLO V3 tiny Netzes.

Abbildung 25 Erkennung des Tempolimit-Straßenschildes im PyGame Window. Eigene Darstellung.

Abbildung 26 Warnapplikation im PyGame Window bei Überschreitung der erlaubten Geschwindigkeit. Eigene Darstellung.

Abbildung 27 Verteilung von GPU-Clock, GPU-Temperatur und Speicher-Clock (Speichertakt). Eigene Darstellung.

Abbildung 28 Read Rate in MB/s. Eigene Darstellung.

Abbildung 29 Write Rate in MB/s über den gesamten Trainingszeitraum hinweg. Eigene Darstellung.

Abbildung 30 Write Rate in MB/s zu einem ausgewählten Zeitpunkt. Eigene Darstellung.

Abbildung 31 Kern 0 Thread 0 Nutzung in % und Kern 0 Thread 1 Nutzung in %. Eigene Darstellung.

Abbildung 32 Kern 1 Thread 0 Nutzung in % und Kern 1 Thread 1 Nutzung in %. Eigene Darstellung.

Abbildung 33 Kern 2 Thread 0 Nutzung in % und Kern 2 Thread 1 Nutzung in %. Eigene Darstellung.

Abbildung 34 Kern 3 Thread 0 Nutzung in % und Kern 3 Thread 1 Nutzung in %. Eigene Darstellung.

Abbildung 35 RAM-Speicher über den gesamten Trainingszeitraum hinweg. Eigene Darstellung.

Tabellenverzeichnis

Tabelle 1 Vorteile und Kosten autonomer Fahrzeuge, einschließlich externer Auswirkungen.

Tabelle 2 Empfohlene und verwendete Anforderungen zur Nutzung von CARLA.

Tabelle 3 Manuelle Netzwerk-Konfiguration der YOLO V3 tiny Architektur.

Tabelle 4 Vergleich der erhaltenen Gewichte aus dem Trainingsverfahren.

Tabelle 5 Hardware Extrapolation im Vergleich.

Formelverzeichnis

Formel 1 Klassifikationsverlust.

Formel 2 Lokalisierungsvverlust

Formel 3 Vertrauensverlust bei Erkennung des Objektes.

Formel 4 Vertrauensverlust bei Nichterkennung des Objektes.

Formel 5 Finale Verlustfunktion.

1 Einleitung

Enorm hohe Speicherkapazitäten, eine rasant steigende Rechengeschwindigkeit und immer größere Bandbreiten haben den Weg für neuen Technologien wie die Künstliche Intelligenz (KI) geebnet, die heute so gut wie jeden Sektor der Wirtschaft revolutionieren. Die Automobilbranche ist wohl eine der am stärksten von der digitalen Revolution betroffenen Branchen. Zu Beginn des 20. Jahrhunderts markiert den ersten großen Wendepunkt die Erfindung motorisierter Fahrzeuge, die das damalige Verkehrsmittel Pferd ersetzten. Heute, in den 2020er Jahren, befinden wir uns unmittelbar vor dem nächsten großen Wendepunkt der Mobilität, der dieses Mal überwiegend durch digitale Technologien angetrieben wird.1 Das Ziel lautet nach McKinsey: „ Nahtloser Transport in autonomen Fahrzeugen auf miteinander verbundenen Straßennetzen".2 Um diese Vision zu verwirklichen, werden neue Technologien entwickelt, um die Umgebung des Fahrzeugs automatisch zu erfassen und abzubilden sowie es mit wenig bis gar keinem menschlichen Eingriff sicher zu bewegen.3 So formulierte es Harald Krüger, ehemaliger CEO von BMW: "Der Schlüssel für die Mobilität der Zukunft ist Technologieoffenheit".4

In vielen Fällen hängt Künstliche Intelligenz allerdings von einem physischen Gerät ab, das dieses Programm enthält. Wie ein Roboter seinen Körper, benötigt KI eine Hardware, um funktional zu sein. Da KI-Systeme immer ausgeklügelter werden, benötigen sie zudem mehr Rechenleistung. Um ihren Bedürfnissen gerecht zu werden, soll Hardware, die speziell für die KI entwickelt wurde, das Training neuronaler Netze beschleunigen und zudem den Stromverbrauch senken.5

Die Grundlage für ein solches Training sind qualitätsgekennzeichnete Daten, die in großen Mengen erfasst werden müssen. Im Bereich Autonomes Fahren bspw. durch spezielle Testwagen mit einer Vielzahl an Sensorik. Eine kostengünstigere Alternative ist das Sammeln von Daten durch Computersimulatoren. Solche Simulatoren sind hochentwickelte Programme, die zum Verständnis von Prozessen in der realen Welt beitragen, indem sie diese in Software nachbilden. Der entscheidende Vorteil ist, dass eine größere Menge und Diversität an Szenarien geprüft werden kann.6 Das gilt bspw. für Grenzfälle wie z.B. starker Schneefall. Oder zu gefährliche Fälle, um diese in der Realität zu testen (z.B. Kind läuft auf die Straße). Wenn eine hohe Simulationspräzision erforderlich ist, werden die Simulationsmodelle immer komplexer. Hochspezialisierte Simulatoren sind in der Lage, reale Prozesse innerhalb eines definierten Fehlerbereichs abzuschätzen. Sie ermöglichen die Berechnung neuer Komponenten oder kleiner Änderungen an bestehenden Komponenten auf eine schnelle, kostengünstige, reproduzierbare und einfache Weise. Die Simulatoren erhalten Eingabedaten, auf deren Basis sie das Simulationsergebnis berechnen. Dieses Ergebnis kann dann analysiert oder als erneuten Input für weitere Simulatoren verwendet werden.7

Der dabei angewendete Prozess der Datengenerierung, Datenaufbereitung, Modelltraining, Modellbereitstellung sowie der Modellevaluation ist der wesentliche Anwendungsfall für jeden Data Scientist. Konkret ist ein schnelles und performantes Training und die damit einhergehende Hardware ausschlaggebend für die erfolgreiche Entwicklung autonomer Fahrzeuge. Aus diesem Grund werden die technischen Anforderungen einer solchen Hardware in dieser Masterarbeit analysiert und kritisch betrachtet evaluiert.

2 Bestandteile der Arbeit

Im theoretischen Teil der Arbeit wird der Stand der Forschung, die aktuellen Herausforderungen bei der Entwicklung autonomer Fahrzeuge sowie die technischen Hintergründe einer dafür notwendigen Hardware beschrieben. Der praktische Teil besteht aus dem Training und der Implementierung eines Systems zur Erkennung von Geschwindigkeitsbegrenzungen für den Open Source Simulator CAR Learning to Act (CARLA). Ziel der Masterarbeit ist die Ausarbeitung von technischen Anforderungen an eine Hardware, die für solche Deep Learning Algorithmen benötigt wird. Abgeschlossen wird die Arbeit mit einer Zusammenfassung, einem Fazit und einem Ausblick.

2.1 Stand der Forschung

Der Traum vom selbstfahrenden Auto ist fast so alt wie das Automobil selbst. Bereits 1939 werden autonome Fahrzeuge zum ersten Mal auf der Futurama Weltausstellung für Technik in New York genannt.8 1976 veröffentlichte General Motors das erste Werbevideo von einem selbstfahrenden Auto. Im Jahr 1977 wurde erstmalig mit Hilfe der Computertechnik ein autonomer Prototyp in einem japanischen Ingenieurbüro entwickelt.9

Heutzutage ist die Automobilbranche eine der am stärksten von der digitalen Revolution betroffenen Branchen.10 „Das Automobil entwickelte sich rapide von einem isolierten, weitgehend mechanischen Gerät zu einer der technisch anspruchsvollsten und vernetztesten Plattformen der Welt.“11 Im Jahr 2012 gab das Nevada Department of Motor Vehicles erstmalig Google die Lizenz für autonome Fahrzeugtests.12 Im Jahr 2013, 125 Jahre nachdem Bertha Benz das erste Auto für den öffentlichen Gebrauch vorgeführt hatte, demonstrierte Mercedes Benz seine Fähigkeiten im Bereich Autonomes Fahren, indem das Unternehmen die gleiche 106 Kilometer lange Strecke unbemannt zurücklegte.13 Gegen Ende 2015 integrierte Google eine Reihe autonomer Funktionen in die Software. Bis 2016 hatten sie demonstriert, wie sich das Auto mit Hilfe des Autopiloten z.B. selbst einparken konnte. Dies war zu dieser Zeit der weitreichendste Einsatz von teilweise autonomen Funktionen.14 Ungefähr zum gleichen Zeitpunkt legte auch Tesla weitere Strecken mit dessen Autopiloten zurück. Nach zahlreichen Testfahrten geschah 2016 in Florida allerdings der erste tödliche Unfall mit einem Tesla Modell S. Der Unfall wurde durch ein gleichzeitiges Versagen der Kamera- und Radarsensoren verursacht, die einen links abbiegenden Transporter nicht korrekt identifizieren konnten und zudem durch einen unaufmerksamen Fahrer, der an ein Auto gewöhnt war, das sich ohne sein Zutun fortbewegt.15 Dieser Rückschlag zeigt die Gefahren von realen Tests von selbstfahrenden Systemen. Eine sichere und zudem kostengünstigere Alternative sind virtuelle Fahrsimulatoren. Zudem sagen Automobilhersteller wie Toyota voraus, dass autonome Fahrzeuge fast neun Milliarden Meilen an Tests durchlaufen müssen, bevor sie sicher verwendet werden können. Virtuelle Tests sind somit die einzige Möglichkeit, dies zu erreichen, ohne die Entwicklungskosten in die Höhe zu treiben und die Markteinführung der Fahrzeuge um viele Jahre zu verzögern.16

2.2 Relevanz und Ziel der Arbeit

Die Forschung auf dem Gebiet autonomer Fahrzeuge nimmt kontinuierlich zu. Ein Ziel der Ingenieure ist es, die Fahrzeuge so sicher wie möglich zu entwickeln, um die Zahl tödlicher Unfälle zu verringern.17 Etwa jeder dritte tödliche Verkehrsunfall war im vergangenen Jahr auf überhöhte oder unangepasste Geschwindigkeit zurückzuführen. Auf den Bundesautobahnen war sogar bei jedem zweiten tödlichen Verkehrsunfall nicht angepasste Geschwindigkeit unfallursächlich. Bereits seit einigen Jahrzehnten ist die unangepasste Geschwindigkeit zu einem, von den großen Automobilkonzernen umfassend untersuchten, Thema geworden.18 Die Europäische Union (EU) hat bspw. neue Maßnahmen für 2022 angekündigt, um die Zahl der Autounfälle zu reduzieren. Die relevanteste Maßnahme ist die Integration von intelligenten Geschwindigkeitsassistenten in Neufahrzeuge, die den Fahrer bei Überschreiten der zulässigen Höchstgeschwindigkeit darauf aufmerksam machen.19Die Fähigkeit, die Umgebung eines Fahrzeugs wahrzunehmen, das Fahrzeug dabei stabil auf der Straße zu halten und zugleich der aktuellen Verkehrssituation angemessene Fahrmanöver auszuführen, ist nach wie vor ein herausragendes Leistungsmerkmal menschlicher Fahrer.“20 Jedoch gibt es unzählige Gründe dafür, diese Fähigkeiten nachzubilden und von einem intelligenten System übernehmen zu lassen. Seit dem vermehrten Einsatz solcher Systeme ist seit den letzten 15 Jahren die Zahl der Verkehrstoten auf den Straßen der EU um mehr als 50% zurückgegangen.21 Doch trotz dieser Fortschritte sterben täglich immer noch 3.700 Menschen täglich auf europäischen Straßen.22 Daher kann davon ausgegangen werden, dass die Ermittlung der zulässigen Höchstgeschwindigkeit einer Straße und die Warnung an den Fahrer bei einer Überschreitung dieser Grenze, zu deren Vermeidung beitragen könnte. Erreicht werden kann dies bspw. durch intelligente Erkennungssysteme von Tempolimit-Schildern.

Ziel dieser Arbeit ist es daher, einen Beitrag zu dieser Forschung zu leisten, indem in einem realistischen Fahrsimulator ein System integriert wird, das in der Lage ist, Tempolimit-Schilder einer Straße zu erkennen und den Fahrer darauf aufmerksam zu machen. Die Simulation soll somit im Kleinen den Entwicklungsprozess der Wirklichkeit nachbilden. Zudem ist es Ziel, die technischen Anforderungen an eine Hardware zum Training solcher Deep Learning Algorithmen auszuarbeiten, die bei der Entwicklung autonomer Fahrzeuge zum Einsatz kommen.

Aus Problemstellung und Zielsetzung ergeben sich folgende forschungsleitende Fragestellungen:

1. Wie sollte das Training des YOLO-Algorithmus erfolgen, um die Erkennung von Tempolimit-Schildern zuverlässig zu ermöglichen?
2. Wie sollte der Algorithmus in einen virtuellen Fahrsimulator implementiert werden, um bei einer Geschwindigkeitsüberschreitung den Fahrer zu warnen?
3. Welche technischen Anforderungen bezüglich der eingesetzten Hardware sind beim Training solcher Deep Learning Algorithmen ausschlagegebend?

2.3 Methodik und Eingrenzung der Arbeit

Der für diese Masterarbeit ausgewählte virtuelle Fahrsimulator ist der Car Learning to Act (CARLA)-Simulator. Er basiert auf der Spiele-Engine „Unreal Engine 4“ und hat zudem flexible Programmierschnittstellen (APIs), mit denen die Benutzer alle mit der Simulation zusammenhängenden Aspekte steuern können. Außerdem können Benutzer verschiedene Sensoren wie Radar oder LIDAR simulieren. Namenhafte Unternehmen wie Microsoft oder Toyota dem Forschungsteam von CARLA ein Computer Vision Centre gesponsert, um die Entwicklung und Validierung autonomer Fahrsysteme zu unterstützen.23 Ein weiterer Grund, warum der CARLA-Simulator für diese Masterarbeit verwendet wird, ist die breite Akzeptanz der Anwender sowie die hohe Zahl an Benutzern und Forschern, die das System kontinuierlich weiterentwickeln.

Der gewählte Algorithmus, der in CARLA implementiert werden soll, hat die Anforderungen, in Echtzeit arbeiten zu können, Open-Source zu sein sowie leicht in einen Python-Code integrierbar zu sein. Zudem muss er möglichst schnell, einfach zu benutzen und auf ähnliche Anwendungsgebiete übertragbar sein. Der Erkennungssalgorithmus, der all diese Anforderungen erfüllt, ist der YOLO-Algorithmus (engl. You Only Look Once). Sowohl CARLA als auch YOLO, werden in Kapitel 3 detaillierter beschrieben.

Der branchenübergreifende Standardprozess für Data Mining, bekannt als CRISP-DM (engl. Cross-industry standard process for data mining) ist ein Standardprozessmodell, das gemeinsame Ansätze beschreibt, die von Data-Mining-Experten verwendet werden und der auch in dieser Masterarbeit Anwendung findet. Dargestellt ist dieser in Abbildung 1.

Anmerkung der Redaktion: Diese Abbildung wurde aus urheberrechtlichen Gründen entfernt.

Abbildung 1 CRISP-DM.24

CRSIP-DM ist ein weit verbreitetes Analysemodell. Jedes gegebene Lernproblem im Bereich Data Science beginnt mit einer Problemdarstellung bzw. einem Geschäftsverständnis, einer Datenerfassung und -aufbereitung, einem Modelltraining bzw. einer Modelloptimierung, einer Modellbereitstellung bzw. einer Modellimplementierung sowie einer Evaluation. Der Fokus dieses Projektes liegt auf dem Modelltraining. Dieser Prozess ist zudem nicht immer streng linear. Beispielsweise kann es vorkommen, dass das Modell die Sammlung weiterer Daten benötigt und damit Schritte wiederholt werden müssen.25

Zur finalen Konkretisierung der Hardware-Anforderungen in Kapitel 5 wird eine Extrapolation bzw. Dimensionierung durchgeführt. Es handelt sich dabei um eine Schätzung, die auf der Ausdehnung einer bekannten Abfolge von Werten oder Fakten über den Bereich hinaus besteht, der sicher bekannt ist. Im allgemeinen Sinne bedeutet extrapolieren, aus vorhandenen Informationen auf etwas zu schließen, das nicht explizit angegeben ist.26

Eine Zusammenfassung des Vorgehens, der Methodik, der Eingrenzung und des Ziels dieser Arbeit liefert Abbildung 2. Der Fokus liegt auf dem Modelltraining und der Analyse der dabei gemessenen Hardware-Auslastung.

Abbildung in dieser Leseprobe nicht enthalten

Abbildung 2 Übersicht des Vorgehens und der Ziele dieser Masterarbeit. Eigene Darstellung.

3 Darlegung des theoretischen Hintergrundes

In Kapitel 3 werden zunächst die theoretischen Grundbegriffe definiert, um einen Rahmen für den praktischen Teil der Arbeit zu schaffen. Hierzu wird der Begriff der Künstlichen Intelligenz und dessen Untergruppen beschrieben. Der Fokus liegt dabei auf der allgemeinen Einführung in künstliche neuronale Netze, was die Methode des Trainierens beinhalten. Weiter wird in das Thema Autonomen Fahrzeuge eingeführt. Abschließend werden relevanten Aspekte des Datenmanagements dargelegt.

3.1 Künstliche Intelligenz

Um den Begriff der Künstlichen Intelligenz, kurz KI, zu erläutern und eine Begriffserklärung abzuleiten, sollte zunächst der Begriff der menschlichen Intelligenz dargelegt werden. Bei der Suche nach einer Definition der menschlichen Intelligenz lässt sich jedoch keine einheitliche Aussage finden. Würde man mehrere Intelligenzforscher nach einer Begriffserklärung fragen, so würde man ebenso viele unterschiedliche Antworten darauf erhalten.27 Maier betont, dass Intelligenz „ in der Psychologie ein hypothetisches Konstrukt (d. h. eine Erklärung für ein nicht direkt beobachtbares Phänomen) [ sei ], das die erworbenen kognitiven Fähigkeiten und Wissens bestände einer Person bezeichnet [...]“.28 Darüber hinaus definiert Klug Intelligenz als „ eine generelle geistige Fähigkeit, die unter anderem die Fähigkeit umfasst, Regeln sowie Gründe zu erkennen, abstrakt zu denken, aus Erfahrungen zu lernen, komplexe Ideen zu entwickeln, zu planen und Probleme zu lösen.“29 Diese menschlichen Eigenschaften soll eine KI nachbilden.30 Grundgedanke hierbei ist, dass eine KI die Fähigkeit des selbstständigen Lernens besitzt.31 Gegenüber klassischen Softwaresystemen, die auf Basis vordefinierter Regeln arbeiten, können KI-Systeme die bestmöglichen Regeln für die Lösung eines bestimmten Problems selbst lernen.32

Eine weit verbreitete Definition für KI stammt aus dem Lehrbuch von Russell und Norvig. Sie definieren KI als ein Computersystem, das wie Menschen rational denkt und handelt.33 Hierbei kommen Methoden zum Einsatz, die dem KI-System das Lösen von Aufgaben ermöglichen, die menschliche Intelligenz erfordern.34 Damit kommt zum Ausdruck, dass eine KI eine Simulation des intelligenten menschlichen Denkens und Handelns darstellt.

Der Begriff der Künstlichen Intelligenz muss als Überbegriff betrachtet werden und kann in verschiedene Technologien und Methoden unterteilt werden.35 Die Zusammenhänge der Entwicklung von KI und den Untergruppen Machine Learning (ML) und Deep Learning (DL) werden in Abbildung 3 aufgezeigt und in den nachfolgenden Kapiteln näher erläutert.

Abbildung in dieser Leseprobe nicht enthalten

Abbildung 3: Zusammenhang und Abgrenzung zwischen KI, ML und DL Eigene Darstellung.36

3.1.1 Historischer Überblick

Um zu testen, ob ein Programm intelligent ist oder nicht, entwickelte der britische Mathematiker Alan Mathison Turing im Jahr 1950 den Turing-Test.37 Der Logiker schuf damit ein bedeutendes und richtungsweisendes Fragment für die moderne Informations- und Computertechnologie.38 Bei diesem Test kommuniziert eine Testperson über ein Computerterminal, d. h. über einen Textchat, mit zwei ihr unbekannten Gesprächspartnern. Einer der Kommunikationspartner ist hierbei ein Programm (eine Maschine), der andere ein Mensch. Beide Partner versuchen die Person über den Textchat davon zu überzeugen, dass sie mit einem Menschen kommuniziert. Sobald die Testperson nicht zwischen den Partnern unterscheiden kann, also nicht feststellen kann, ob sie mit einem Menschen oder einem Computerprogramm kommuniziert, gilt der Turing-Test als bestanden und das Programm wird als intelligent bezeichnet.39 Doch erst nach Turings Tod, im Jahr 1956, wurde in Dartmouth ein Forschungsprojekt abgehalten, welches später als „KI-Urknall“ bezeichnet wird. Unter den Anwesenden befanden sich unteranderem der IBM-Mitarbeiter Nathaniel Rochester, der LISP-Erfinder John McCarthy, der KI-Forscher Marvin Minsky sowie der Ökonomie-Nobelpreisträger Herbert Simon. Die wohl bedeutendste Erkenntnis des Projekts war, dass Computer auch Symbole und nicht nur Zahlen verarbeiten können.40 McCarthy entwickelte anschließend LISP, eine Programmiersprache für die Verarbeitung symbolischer Strukturen. LISP wurde in dieser Zeit zur Standardsprache für KI-Anwendungen.41 In den 80er Jahren verfügten die Forscher schließlich über deutlich mehr Wissen sowie Fördermittel und die Bedeutung des Themas in der Gesellschaft stieg. Doch zu diesem Zeitpunkt stieß man schnell an die Grenzen der Computerleistung. Zudem gab es nicht genügend Trainingsdaten und es fehlten Lösungen zur Modularisierung sowie Strukturierung von künstlichen Intelligenzen.42 Ab etwa 1990 entstand durch Marvin Minsky mit der sogenannten Verteilten-KI (engl. Distributed Intelligence) ein neuer Ansatz. „ Intelligenz “, so Minsky, „ setzt sich zusammen aus kleinen Einheiten, die primitive Aufgaben erledigen und deren Zusammenwirken erst intelligentes Verhalten erzeugt.“43 Minsky forderte damals die KI-Gemeinde auf, sozial inspirierte Algorithmen für Parallelrechner zu entwerfen.44 Rückblickend erweist sich Minskys Ansatz als der Beginn der Agententechnologie, bei der die Zusammenarbeit vieler verschiedener Agenten (Multiagentensysteme) ein enormes Potenzial entfaltet.45 Ein KI-Meilenstein im Jahr 1997 war schließlich der erste Sieg einer KI-Schachmaschine (IBM-Rechner Deep Blue) über den damaligen Schachweltmeister Garry Kasparov.46

2011 wurde die KI-Technologie schließlich kommerziell nutzbar. Dafür verantwortlich waren Technologiesprünge bei der Hard- und Software. Leistungsstarke Prozessoren in Computern, Smartphones und Tablets ermöglichen es, dass Verbraucher auf KI-Programme zuzugreifen können.47 Vor allem die Einführung von Grafikprozessoren, kurz GPU (engl . Graphic Processing Unit), die eine massive parallele Verarbeitungsleistung bieten, war ausschlaggebend für die Kommerzialisierung. Dadurch wurde in den meisten Datenbank- und Datenanalyseanwendungen ein noch nie dagewesenes Leistungsniveau erreicht sowie ein erheblich besseres Preis-Leistungs-Verhältnis erzielt.48 Dies prädestiniert sie für die Analyse riesiger Datenmengen (engl. Big Data), wie sie für KI benötigt werden.49 NVIDIA, einer der größten Entwickler von Grafikprozessoren, gilt heute als eines der innovativsten Unternehmen im Silicon Valley und zudem als eine der führenden Technologieplattformen für die Ausrüstung autonomer Fahrzeuge.50 Im Detail wird die Technologie der GPUs in Abschnitt 3.3.5 beschrieben.

3.1.2 Machine Learning

Beim maschinellen Lernen, kurz ML (engl. Machine Learning) handelt es sich um eine KI-Technologie. Diese umfasst Computeralgorithmen, die sich automatisch durch Erfahrung verbessern.51 Dafür bauen ML-Algorithmen ein mathematisches Modell auf der Grundlage von Beispieldaten (bzw. Trainingsdaten) auf, um Vorhersagen oder Entscheidungen zu treffen, ohne explizit dafür programmiert zu sein.52 Dargestellt ist dies in Abbildung 4.

Abbildung in dieser Leseprobe nicht enthalten

Abbildung 4: Traditionelle Programme vs. Machine Learning. Eigene Darstellung.53

Durch diese Vorgehensweise werden gestellte Aufgaben in Zukunft besser erfüllt, da das Programm aus Erfahrungen der zuvor ausgeführten Aufgaben lernt.54 Die Differenz zu traditionellen Programmen besteht darin, dass die Entscheidungsregeln über eine Rückkopplung an das Erlernte angepasst werden. Das resultierende Ergebnis eines ML-Prozesses wird als Feedback (engl. Output) dem Algorithmus zurückgemeldet (engl. Input), um diesen und die resultierenden Ergebnisse stetig zu verbessern.55

ML kann in verschiedene Kategorien unterteilt werden. Zu den drei Hautkategorien gehören überwachtes Lernen (engl. Supervised Learning), nicht überwachtes Lernen (engl. Unsupervised Learning) und verstärktes oder auch verstärkendes Lernen (engl. Reinforcement Learning), die im Folgenden erklärt werden.56 Die drei Arten des ML unterscheiden sich in ihrem Ansatz, der Art der Daten, die als Ein- und Ausgabe verwendet werden, sowie in der Art der Aufgabe oder des Problems, das sie lösen sollen.57

Supervised Learning

Supervised-Learning-Algorithmen bauen ein mathematisches Modell eines Datensatzes auf, der sowohl die Eingaben als auch die gewünschten Ausgaben enthält.58 Die Daten werden als Trainingsdaten bezeichnet und bestehen aus einer Reihe von Trainingsbeispielen. Jedes Trainingsbeispiel hat eine oder mehrere Eingaben und eine gewünschte Ausgabe, die auch als Überwachungssignal bezeichnet werden kann. Im mathematischen Modell wird jedes Trainingsbeispiel durch ein Datenfeld (engl. array) oder einen Vektor (auch Merkmalsvektor genannt) dargestellt.59 Die Trainingsdaten werden mithilfe einer Matrix abgebildet. Durch iterative Optimierung einer Zielfunktion lernen Supervised-Learning-Algorithmen eine Funktion, die zur Vorhersage der mit neuen Eingaben verbundenen Ausgabe, verwendet werden kann.60 Eine optimale Funktion ermöglicht es dem Algorithmus, die Ausgabe für Eingaben korrekt zu bestimmen, die nicht Teil der Trainingsdaten waren. Ein Algorithmus, der die Genauigkeit seiner Ausgaben oder Vorhersagen im Laufe der Zeit verbessert, hat gelernt, diese Aufgabe auszuführen.61

Zu den Arten von Supervised-Learning-Algorithmen gehören Klassifikations- und Regressionsalgorithmen. Klassifikationsalgorithmen werden verwendet, wenn die Ausgaben auf einen begrenzten Satz von Werten beschränkt sind. Regressionsalgorithmen kommen hingegen zum Einsatz, wenn die Ausgaben einen beliebigen numerischen Wert innerhalb eines Bereichs annehmen können.62 Supervised-Machine-Learning-Algorithmen werden in den unterschiedlichen Bereichen eingesetzt:

- Medizinische Diagnoseverfahren (z. B. Diagnose von Krebs)
- Erkennung von Spam-E-Mails oder Kreditkartenbetrug
- Sprach- und Texterkennung (z. B. Chatbots)
- Lernen von Verkehrsregeln für automatisierte Fahrzeuge63

Unsupervised Learning

Unsupervised-Learning-Algorithmen nutzen einen Datensatz, der nur Eingaben enthält, und finden Strukturen wie Gruppierungen oder Cluster von Datenpunkten in den Daten. Die Algorithmen lernen daher aus Test- bzw. Validierungsdaten, die nicht beschriftet, klassifiziert oder kategorisiert wurden. Anstatt auf Rückmeldungen zu reagieren, identifizieren Unsupervised-Learning-Algorithmen Gemeinsamkeiten in den Daten und reagieren auf der Grundlage des Vorhandenseins oder Fehlens solcher Gemeinsamkeiten in jedem neuen Datenstück.64 Zentrale Anwendungen von Unsupervised-Learning-Algorithmen liegen im Bereich der Dichteschätzung in der Statistik, wie:

- das Auffinden der Wahrscheinlichkeitsdichtefunktion65
- das Erkennen und Verhindern von Kundenabwanderung (engl. Churn-Prediction-Model ) 66
- die optimale Planung von Wartungsterminen für Maschinen und Fahrzeuge (engl. Predictive Maintenance)67
- komplexen Bildanalysen wie bei der Erkennung von Emotionen (engl. Affective Computing)68

Reinforcement Learning

Die Lernmuster der Modelle beim Reinforcement Learning sind der Natur konzeptionell nachempfunden.69 Das bedeutet, dass dem Algorithmus zu Beginn kein optimaler Lösungsweg vorliegt, sondern das System direkt aus seinen Erfahrungen lernt.70 Mittels „ Trial-and-Error “, d. h. durch Ausprobieren und ein Belohnungs- oder Bestrafungsprinzip, muss der optimale Lösungsweg gefunden werden.71 Das Computerprogramm interagiert dafür mit seiner Umgebung. Für die richtige Lösung erhält das Programm eine Belohnung, für ein falsches Ergebnis eine Bestrafung. Zudem ist das Programm in der Lage, seine getroffenen Entscheidungen zu optimieren, indem eine Vielzahl von Umwelteinflüssen in diese miteinbezogen werden. Das Ziel bei diesem Vorgehen ist, dass sich der Algorithmus den Konsequenzen seiner Handlung bewusst wird und dadurch versucht, Bestrafungen zu minimieren und Belohnungen zu maximieren.72 Der Lernprozess weist damit Verbindungen zu Methoden der Biologie, der Psychologie und den Neurowissenschaften auf.73

3.1.3 Deep Learning

„ I think the brain is essentially a computer and consciousness is like a computer program. It will cease to run when the computer is turned off. Theoretically, it could be re-created on a neural network, but that would be very difficult, as it would require all one’s memories. “

—Stephen Hawking, Time magazine74

Deep Learning-Algorithmen sind die zunehmend gängigsten Algorithmen des ML. 75 Beim tiefgehenden Lernen, kurz DL (engl. Deep Learning) handelt es sich um besondere Optimierungsmethoden von künstlichen neuronalen Netzwerken. 76 Die DL-Algorithmen sind ein zentraler Entwicklungstreiber im Bereich KI, da mit dieser Technik auffallend gute Resultate erlangt werden, wenn viele Daten zur Verfügung stehen, mit denen ein neuronales Netz trainiert werden kann. Zudem können mit DL mentale und intellektuelle Prozesse dargestellt werden, von denen lange Zeit angenommen wurde, dass sie dem Menschen vorbehalten sind.77 Allerdings muss festgehalten werden, dass es sich nicht um ‚ das neuronale Netz‘ handelt, sondern verschiedene Paradigmen dazu existieren, was neuronale Netze sind und wie sie trainiert werden.78

Um zu verstehen, warum neuronale Netze die zentralen Entwicklungstreiber im Bereich KI sind, muss die Lernfähigkeit des menschlichen Gehirns betrachtet werden. Es gibt Probleme, die von einer großen Menge subtiler Faktoren abhängen und sich daher (noch) schwer in einem Algorithmus darstellen lassen. Darunter zählt bspw. die Bestimmung des Kaufpreises eines Autos. Das menschliche Gehirn kann den Kaufpreis in etwa bestimmen, bspw. anhand von Erfahrung. Ein Computer in Ermangelung eines Algorithmus jedoch nicht. Der Unterschied hierbei ist, dass der Mensch lernt, eine solche Bestimmung abzugeben.79 Einem Computer mangelt es an dieser Lernfähigkeit. Ein großer Unterschied zum Computer ist zudem der Fakt, dass der größte Teil des Gehirns parallel arbeitet, ein Computer in der Regel seriell.80 Zudem ist das Gehirn als biologisches neuronales Netz fähig, sich umzustrukturieren und so zu lernen, Fehler zu kompensieren.81

Ein künstliches neuronales Netz soll daher ein von einem Computer erstelltes Modell sein, welches auf einem vereinfachten Prinzip des Gehirns basiert. Wie das menschliche Gehirn, verbessert sich ein solches Netz über die Zeit. Für diesen Lernvorgang werden allerdings Trainingsdaten benötigt.82 Mit den Fortschritten bei Hardware und Rechenleistung wurden tiefe neuronale Netze, kurz DNN (engl. Deep Neural Network) als Erweiterung der flachen künstlichen neuronalen Netze entwickelt. 83 Ein aus dem Lernvorgang resultierender Faktor besteht in der Generalisierungs- bzw. Assoziationsfähigkeit von DNNs.84 Das bedeutet, dass nach erfolgreichem Training ein neuronales Netz ähnliche Probleme derselben Klasse meistern kann, die nicht explizit trainiert wurden, um auf diese Weise plausible Lösungen zu finden. Daraus resultiert wiederum eine Fehlertoleranz gegenüber verrauschten Eingabedaten.85 Verrauschte Daten bezeichnen Daten, die eine große Menge zusätzlicher bedeutungsloser Informationen enthalten.86 Bei einem DNN-Algorithmus existieren zwischen der Eingabe- und der Ausgabeschicht (engl. Input- and Output Layer) mehrere Zwischenschichten (engl. Hidden Layers), wie in Abbildung 5 dargestellt. Diese Hidden Layers können, je nach Komplexität der Aufgabenstellung, von beliebiger Anzahl sein und sind menschlichen Neuronen nachgebildet.87

Abbildung in dieser Leseprobe nicht enthalten

Abbildung 5: Beispiel des Aufbaus eines DNN mit Hidden Layers.88

Abbildung 5 zeigt außerdem, dass die Technologien vor der Prozessierung durch Maschinen jegliche Daten codiert werden. Diese sind somit für den Menschen nicht direkt zugänglich und die Informationen nicht explizit lesbar. Das bedeutet, dass das Wissen systematisch erfasst und codiert wird. Beispielhaft für eine solche Codierung ist der Einsatz von Binärcode.89 Mit einem DNN werden daher Strukturen geschaffen, die intelligentes Verhalten lernen.90. Zum Anlernen des Netzes kommen die bereits beschriebenen Arten des Lernens (Abschnitt 3.1) zur Anwendung. Dieses Anlernen bzw. Training ist meist deutlich aufwendiger und rechenintensiver als die spätere Nutzung des Netzes91 und daher Grund dafür, dass das Training für diese Masterarbeit im besonderen Maße betrachtet wird.

Training eines DNN

Eine typische Aufgabe von DDNs ist die Objekterkennung. Wie bereits beschrieben, muss ein neuronales Netz dafür erst lernen, um zu erkennen, ob auf einem gegebenen Bild bspw. ein Tumor abgebildet ist oder nicht.92 Das Training ist daher der zentrale Bestandteil eines präzisen neuronalen Netzes. Dazu werden z.B. Millionen von Bildern benötigt, um die Gewichtungen der Neuroneneingänge so exakt abzustimmen, dass vom neuronalen Netz die richtige Antwort bestimmt wird (Tumor ja oder nein). Wird eine akzeptable Antwortgenauigkeit erreicht, ist das Training des erstellten neuronalen Netzes beendet, und kann als Inferenz zum Einsatz in verschiedenen Anwendungsszenarien bereitgestellt werden.93 Im Folgenden werden wichtige Begriffe und Bestandteile, die beim Training eines DNNs anfallen und in dieser Masterarbeit eine wichtige Rolle spielen, genauer beschrieben.

Lernrate

Konkret ist die Lernrate ein konfigurierbarer Hyperparameter beim Training von DNNs. Die Lernrate steuert, wie schnell das Modell an das Problem angepasst wird. Dies bedeutet, der Faktor bestimmt, wie stark bereits früher Erlerntes behalten wird und wie stark neue Erkenntnisse Einfluss auf das Netzwerk haben. Ist die Lernrate zu klein gewählt, kann der Lernfortschritt zu gering sein. Ist die Lernrate allerdings zu groß gewählt, kann es passieren, dass ein Minimum der Fehlerfunktion (engl. Loss) nicht gefunden wird.94

Epoche und Losgröße

Die Losgröße (engl. Batch Size) und die Anzahl der Epochen (engl. epochs) sind ebenfalls Hyperparameter beim DNN Training. Die Losgröße bestimmt die Anzahl der Trainingsbeispiele, die vor der Aktualisierung des Modells verarbeitet werden. Die Anzahl der Epochen ist die Anzahl der vollständigen Durchläufe durch den Trainingsdatensatz. Die Größe eines Loses muss größer oder gleich eins und kleiner oder gleich der Anzahl der Stichproben im Schulungsdatensatz sein. Werden zu wenige Epochen durchgeführt, kann es zu einer Unteranpassung (engl. Underfitting) kommen, bei zu vielen Epochen zu einer Überanpassung (engl. Overfitting).95 Das Erreichen der richtigen Einstellung bzw. Komplexität ist eine der Schlüsselkompetenzen bei der Entwicklung jeder Art von statistisch fundiertem Modell.

Overfitting und Underfitting

Wenn die Genauigkeit der Ergebnisse im Validierungs-Datensatz geringer ist als die Genauigkeit der Ergebnisse im Trainings-Datensatz, spricht man von einer Überanpassung bzw. Overfitting. Tritt Overfitting auf, lernt das Netz zwar die Daten des Trainings-Datensatzes, kann das erlernte Wissen jedoch nicht richtig auf unbekannte Daten anwenden. Um diesem Phänomen entgegen zu wirken, kann zum einen der Trainings-Datensatz vergrößert werden oder auch die Komplexität des Netzwerkes reduziert werden. Hierfür kann bspw. die Anzahl der Hidden Layers oder die Anzahl der Neuronen verringert werden. Auch ein Verringern der Epochen-Anzahl ist eine mögliche Lösungen.96 Kann ein neuronale Netzwerk trotz Lernaufwand nicht bewerkstelligen, Daten richtig zu kategorisieren, spricht man von einer Unteranpassung bzw. Underfitting. Um diesem Problem entgegenzuwirken, kann die Komplexität des neuronalen Netzes erhöht werden, indem bspw. die Anzahl der Hidden Layers, die Anzahl der Neuronen in den Layern oder die Anzahl der Epochen erhöht wird.97

Dropout

Bei einem Dropout, dargestellt in Abbildung 6, wird beim Training eine vorher spezifizierte Anzahl (z.B. 25 %) von zufälligen Neuronen in jedem Layer des Netzwerks entfernt (engl. dropout). Diese werden damit für die folgende Berechnung nicht berücksichtigt. Das hat den positiven Effekt, dass das Netz keinen zu hohen Einfluss von einzelnen Neuronen hat und führt somit zu einer verbesserten Generalisierung des Netzes.98

Anmerkung der Redaktion: Diese Abbildung wurde aus urheberrechtlichen Gründen entfernt.

Abbildung 6 Dropout bei einem künstlichen neuronalen Netz.99

Convolutional Neural Network

Zur Klassifizierung von Bildern wird eine spezielle Art von künstlichem neuronalem Netzwerk verwendet, das als CNN (engl. Convolutional Neural Network) bezeichnet wird. Das CNN bezieht seinen Namen vom mathematischen Prinzip der Faltung (engl. Convolution) und kann Merkmale bzw. Eigenschaften in Bildern klassifizieren. Die durch die Faltung (engl. Layer) entstehende Beschneidung der Daten erhöht die Schnelligkeit der Berechnungen. Dadurch komprimiert sich der Lernprozess. Die Leistungsfähigkeit wird allerdings nicht beeinträchtigt. Der Aufbau eines typischen CNNs ist in Abbildung 7 dargestellt.

Abbildung in dieser Leseprobe nicht enthalten

Abbildung 7 Eine CNN-Sequenz zum Klassifizieren eines Autos.100

Ein CNN besteht aus einem Input Layer, einer Kombination aus mehreren Convolutional und Pooling Layern sowie von ein oder mehreren Fully Connected Layern. Hierbei soll das CNN ein Inputbild (Auto) richtig klassifizieren. Der Output Layer ist schließlich für die finale Klassifizierung der Input-Bilder verantwortlich. Bewährte und bekannte CNNs sind LeNet, AlexNet, VGGNet, GoogLeNet und das ResNet.101 nachstehend werden die einzelnen Layer ausführlicher beschrieben.

Convolutional Layer

Convolutional Layer sind die Hauptbausteine der CNNs. Sie implementieren unterschiedliche Filter und integrieren diese in einem neuronalen Netz. Dabei wird eine Faltungsmatrix (auch genannt Kernel) über alle Pixelwerte gelegt. Dabei sind die Gewichte der Kernel jeweils verschieden dimensioniert. Durch die Verrechnung mit den Eingabewerten können differenzierte Merkmale (Features und Kanten) extrahiert werden.102

Pooling Layer

Die Funktion eines Pooling Layers besteht darin, die räumliche Größe der Darstellung schrittweise zu verringern, um die Anzahl der Parameter und Berechnungen im Netzwerk zu reduzieren. Die Pooling-Schicht arbeitet auf jeder Merkmalskarte (engl. Feature Map) unabhängig. Ein Pooling Layer wird angewendet, da dadurch Rechenaufwand eingespart werden kann und so tiefere Netzwerke möglich sind. Zudem gehen dabei verhältnismäßig wenig Informationen verloren. Der Pooling Layer funktioniert ähnlich wie ein Convolutional Filter. Der Unterschied ist jedoch, dass beim Pooling Layer keine Matrizen-Berechnung durchgeführt wird, sondern lediglich der größte bzw. der durchschnittliche Wert aus dem Input-Bereich, der vom Filter ausgewählt ist, als Output weitergegeben wird. Somit dient ein Pooling Layer dazu, die Daten besser verallgemeinern zu können. Die am meisten verwendeten Pooling-Strategien sind Max-Pooling und Average-Pooling.103

Fully Connected Layer

Ein Fully Connected Layer (auch Dense Layer genannt) übernimmt das Endergebnis des Faltungs- bzw. Pooling-Prozesses. Die Ausgabe dieser letzten Schicht wird häufig durch eine Softmax-Funktion geführt. Der Layer ist dabei eine Schicht, die nicht aus Filtern, sondern aus Neuronen besteht, die einen einzelnen Wert speichern. Die Anzahl der Neuronen im Output Layer entspricht somit der Anzahl der möglichen Bildkategorien. Das Ergebnis fließt schließlich in eine vollständig verbundene neuronale Netzstruktur ein, die die endgültige Klassifizierungsentscheidung trifft.104

Objekterkennung

Wichtig zu verstehen ist, dass die Bildklassifikation ausschließlich bei der Klassifizierung des Objektes zuständig ist. Wenn zusätzlich die Position eines Objekts auf dem Bild definiert werden soll, braucht es bestimmte Objekterkennungs-Algorithmen. Dazu werden oft sogenannten Begrenzungsrahmen (engl. Bounding Boxes) genutzt, die auch in dieser Masterarbeit angewendet werden (Abschnitt 4.2.3). Zudem können mittels Objekterkennung auch mehrere Objekte innerhalb eines Bildes erkannt werden, siehe Abbildung 8.

Anmerkung der Redaktion: Diese Abbildung wurde aus urheberrechtlichen Gründen entfernt.

Abbildung 8 Erkennung mehrerer Objekte in einem Bild mit Hilfe des YOLO-Algorithmus.105

Mit einem klassischen CNN kann diese Aufgabe nicht direkt gelöst werden, da die Anzahl der Objekte innerhalb eines Bildes im Vorhinein nicht bestimmt werden kann und der Output Vektor somit eine variable Länge aufweist. Ein Versuch, dieses Problem zu lösen war, verschiedene Interessensregionen im Bild zu definieren und auf jede dieser Regionen ein CNN zur Klassifikation anzuwenden. Daraufhin wurden z.B. RNNs (engl. Regionbased Convolutional Neural Networks) oder der YOLO-Algorithmus (engl. You Only Look Once) entwickelt106, der im Folgenden beschrieben wird. Außer YOLO und R-CNN gibt es noch weitere Objekterkennungsmethoden. Die bekanntesten sind SSD (engl. Single Shot MultiBox Detector), R-FCN (engl. Regionbased Fully Convolutional Network) und RetinaNet.107

[...]


1 Vgl. Gillhuber/Decker, o. J, S. 4 f.

2 Vgl. Dhawan et al., 2019.

3 Vgl. Decker, 2017, S. 19-24.

4 Vgl. Fasse, 2019.

5 Vgl. Wittpahl, 2018, S. 36 ff.

6 Vgl. Bosch Global, o.J.

7 Vgl. Ziegler et al., 2020, S. 41. ff.

8 Vgl. Borchers, 2009; Vgl. Geddes, 1940.

9 Vgl. Sommershof, 2017.

10 Vgl. Ziegler et al., 2020, S. 41. f.

11 Ziegler et al., 2020, S. 41. f.

12 Vgl. Pluta, 2012.

13 Vgl. Meichsner, 2018; Vgl. Daimler, o.J.

14 Vgl. Cacilo et al., 2015, S. 247 f.

15 Vgl. Yadron/Tynan, 2016.

16 Vgl. Kalra/Paddock, 2016, S. 189.

17 Vgl. Beiker, 2015, S. 199 f.

18 Vgl. Land Baden-Württemberg, 2019.

19 Vgl. Europäische Kommission, 2019.

20 Kammel, 2012, S. 651.

21 Vgl. Winkle, 2015, S. 366 f; Vgl. Randelhoff, 2019.

22 Vgl. Randelhoff, 2019.

23 Vgl. Toyota Motor Corporation, 2018.

24 Enthalten in: IBM Knowledge Center, o.J.

25 Vgl. IBM Knowledge Center, o.J.

26 Vgl. Slonczewski, 2008.

27 Vgl. Kaplan, 2017, S. 15-16.

28 Maier, 2018.

29 Klug o. J.

30 Vgl. Brockhaus, 2020; Vgl. Artificial Intelligence, 2019

31 Vgl. Klawonn et al., o. J.

32 Vgl. Ertel, 2016, S. 1.

33 Vgl. Russell/Norvig, 2004, S. 22.

34 Vgl. Gentsch, 2017, S. 17 f.

35 Vgl. Gentsch, 2017, S. 30, Vgl. Böttcher/Mentel, 2020, S. 9.

36 Enthalten in: Kirste/Schürholz, 2018; Enthalten in: Wittpahl, 2018, S. 22.

37 Vgl. Turing, 1950.

38 Vgl. Jannidis et al., 2017, S. 23; Vgl. Böttcher/Mentel, 2020, S. 9.

39 Vgl. Turing, 1950, S. 433–460.

40 Vgl. McCarthy et al., 1955.

41 Vgl. McCarthy, 1960.

42 Vgl. Manhart, 2020.

43 Minsky, 1988, S. 23.

44 Vgl. Minsky, 1988.

45 Vgl. Manhart, 2020.

46 Vgl. IBM, o.J.

47 Vgl. Bosch Global, 2020.

48 Vgl. Cai/See, 2014, S. 1 ff.

49 Vgl. Wittpahl, 2018, S. 23.

50 Vgl. NVIDIA, o.J.

51 Vgl. Mitchell, 1997, S. 1-5.

52 Vgl. Vgl. Koza et al., 2012, S. 151-170.

53 Enthalten in: Kirste/Schürholz, 2018, S. 25; Enthalten in: Wittpahl, 2018, S. 25.

54 Vgl. Gentsch 2018, S. 37.

55 Vgl. Kirste/Schürholz, 2018, S. 21-35.

56 Vgl. Russell/Norvig, 2004, S. 811; Vgl. Buxmann/Schmidt, 2018, S. 3-19; Vgl. Böttcher/Mentel, 2020, S. 18.

57 Vgl. Kirste/Schürholz, 2018, S. 21-35; Gentsch 2018, S. 37 ff.

58 Vgl. Russell/Norvig, 2004, S. 811 f.

59 Vgl. Universität Bayreuth, o.J.

60 Vgl. Mohri et al., 2012, S. 2-9.

61 Vgl. Mitchell, 1997, S. 1-5.

62 Vgl. Alpaydin, 2010, S. 21 ff.

63 Vgl. Tiedemann, 2018.

64 Vgl. Jordan/Bishop, 1996, S. 1-2.

65 Vgl. Tiedemann, 2018.

66 Vgl. Shaaban et al., 2012, S. 693 f.

67 Vgl. Mobley, 2002, S.4 ff.

68 Vgl. Calvo et al., 2015, S. 1 ff.

69 Vgl. Gentsch 2018, S. 38.

70 Vgl. Russell/Norvig 2012, S. 811.

71 Vgl. Kirste/Schürholz, 2018, S. 29; Vgl. Arulkumaran et al., 2017, S. 1 ff.

72 Vgl. Kirste/Schürholz, 2018, S. 29.

73 Vgl. AT Redaktion, 2019.

74 Vgl. Awad/Khanna, 2015, S. 127.

75 Vgl. IBM Services, 2018, S. 4.

76 Vgl. Tiedemann, 2018a; Vgl. Akerkar, 2018, S. 33.

77 Vgl. IBM Services, 2018, S. 7 f; Vgl. Tiedemann, 2018a.

78 Vgl. Kriesel, 2007, S. 5.

79 Vgl. Kriesel, 2007, S. 3 f; Vgl. Paulus, 1999, S. 13 ff.

80 Vgl. Kriesel, 2007, S. 3 f.

81 Vgl. Paulus, 1999, S. 17 ff.

82 Vgl. Panchal, 2018.

83 Vgl. Awad/Khanna, 2015, S. 127 f; Vgl. IBM Services, 2018, S. 5.

84 Vgl. Kriesel, 2007, S. 4; Vgl. Universität Jena, o. J.

85 Vgl. Kriesel, 2007, S. 4.

86 Vgl. University of Granada, o. J.

87 Vgl. Tiedemann, 2018a; Vgl. Gentsch, 2018, S. 36.

88 Vgl. IBM Services, 2018, S. 4.

89 Vgl. Gentsch 2018, S. 35; Vgl. Fink, 2016.

90 Vgl. Mainzer 2016, S. 110.

91 Vgl. Kirste/Schürholz, 2018, S. 32; Vgl. Wittpahl, 2018, S. 32.

92 Vgl. Gentsch 2018, S. 37.

93 Vgl. Gentsch 2018, S. 37 ff.

94 Vgl. Nielsen, 2015, S. 7 ff; Vgl. Zulkifli, 2018.

95 Vgl. Sharma, 2017.

96 Vgl. Sharma, 2017; Vgl. Bhande, 2018.

97 Vgl. Bhande, 2018; Vgl. Perervenko, 2018.

98 Vgl. Srivastava et al., 2014.

99 Enthalten in: Convnet-Notebook, o. J.

100 Enthalten in: Perbos-Brinck, 2018.

101 Vgl. Standford University, o. J.; Vgl. Saha, 2018.

102 Vgl. AT Redaktion, 2020b; Vgl. Jain, 2017; Vgl. Brownlee, 2020; Vgl. Raschka, 2019.

103 Vgl. Standford University, o. J.

104 Vgl. o. V., o. J; Vgl. Standford University, o. J.

105 Enthalten in: Wuttke, 2020.

106 Vgl. Gandhi, 2018; Vgl. Gross, 2017.

107 Vgl. Gandhi, 2018.

Ende der Leseprobe aus 106 Seiten

Details

Titel
Technische Anforderungen an eine Hardware zum Training von Deep-Learning-Algorithmen für die Entwicklung autonomer Fahrzeuge
Hochschule
Hochschule der Medien Stuttgart
Note
1,6
Jahr
2021
Seiten
106
Katalognummer
V1032841
ISBN (eBook)
9783346445407
ISBN (Buch)
9783346445414
Sprache
Deutsch
Schlagworte
Autonomes Fahren, Hardware, Data Science, Deep Learning, KI, Künstliche Intelligenz, Objekterkennung, Fahrsimulator, Datenverarbeitung, Algorithmus, Training von KI-Modellen
Arbeit zitieren
Anonym, 2021, Technische Anforderungen an eine Hardware zum Training von Deep-Learning-Algorithmen für die Entwicklung autonomer Fahrzeuge, München, GRIN Verlag, https://www.grin.com/document/1032841

Kommentare

  • Noch keine Kommentare.
Blick ins Buch
Titel: Technische Anforderungen an eine Hardware zum Training von Deep-Learning-Algorithmen für die Entwicklung autonomer Fahrzeuge



Ihre Arbeit hochladen

Ihre Hausarbeit / Abschlussarbeit:

- Publikation als eBook und Buch
- Hohes Honorar auf die Verkäufe
- Für Sie komplett kostenlos – mit ISBN
- Es dauert nur 5 Minuten
- Jede Arbeit findet Leser

Kostenlos Autor werden