Konzeption und Umsetzung eines Neuroevolutionären Algorithmus zur
Steuerung eines Fahrzeugs in Unity
Genetische Algorithmen (GA) können zur Optimierung der Wichtungen
künstlicher neuronaler Netze (kNN) verwendet werden. Die Lernaufgabe ist
in diesem Fall das Finden einer Policy, die in der Lage ist, in einer
einfachen simulierten Umgebung ein Fahrzeug zu steuern und gehört damit
zum Reinforcement-Learning. Hierzu ist der GA zu implementieren und auf
die Lernaufgabe anzuwenden. Die (physikbasierte) Simulation ist in
geeigneter Weise in Unity zu entwickeln und soll Aspekte der Vermittlung
von Konzepten berücksichtigen. Dies wäre denkbar durch die
Visualisierung der Genotypen, der Fitnessverteilung oder der
Fitnessentwicklung. Die besondere Schwierigkeit besteht in der
Entwicklung einer Gesamtapplikation mit Simulation, Prozess-Steuerung,
Visualisierung und KI-Komponente.
Im Ergebnis entstand eine anschauliche, motivierende
Unity/C#-Applikation, die eine Population von neuronalen Netzen als
Policy für die Steuerung der Fahrzeuge evolviert. Die Evolution kann
mittels Fitnessverteilung und Fitnesskurven über die Generationen
verfolgt werden. Die Verwandschaftsverhältnisse werden durch Farbcodes
im Genotyp verdeutlicht. Trainierte Populationen können dann auf andere
Strecken übertragen werden und zeigen dort eine ähnlich gute Leistung.
Kolloqium: 29.03.2021
Betreuer: Dipl.-Inform. Ingo Boersch, Prof. Dr. Jochen Heinsohn
Download: A1-Poster,
Abschlussarbeit
Categories: Abschlussarbeiten, Maschinelles Lernen
Benchmarking Post-Training Quantization for Optimizing Machine Learning
Inference on compute-limited Edge Devices
In den letzten Jahren hat die Edge-KI, d.h. die Übertragung der
Intelligenz von der Cloud in Edge-Geräte wie Smartphones und
eingebettete Systeme an großer Bedeutung gewonnen. Dies erfordert
optimierte Modelle für maschinelles Lernen (ML), die auf Computern mit
begrenzter Rechenleistung funktionieren können. Die Quantisierung ist
eine der wesentlichen Techniken dieser Optimierung. Hierbei wird der
Datentyp zur Darstellung der Parameter eines Modells verändert. In
dieser Arbeit wurde die Quantisierung untersucht, insbesondere die
Quantisierungstechniken nach dem Training, die in TensorFlow Lite
(TFLite) verfügbar sind. Ein auf dem MNIST- Datensatz trainiertes
Bildklassifizierungsmodell und ein auf dem Cityscapes-Datensatz
trainiertes semantisches Segmentierungsmodell wurden für die
Durchführung von Experimenten eingesetzt. Für das Benchmarking wurde die
Inferenz auf zwei Hardware-unterschiedlichen CPU-Architekturen
ausgeführt, und zwar auf einem Laptop und einem Raspberry Pi. Für das
Benchmarking wurden Metriken wie Modellgröße, Genauigkeit, mittlere
Schnittmenge über Vereinigung (mIOU) und Inferenzgeschwindigkeit
gehandhabt. Sowohl für Bildklassifizierungs- als auch für semantische
Segmentierungsmodelle zeigten die Ergebnisse eine erwartete Verringerung
der Modellgröße, wenn verschiedene Quantisierungstechniken angewendet
wurden. Genauigkeit und mIOU haben sich in beiden Fällen nicht
wesentlich von der des Originalmodells geändert. In einigen Fällen
führte die Anwendung der Quantisierung sogar zu einer Verbesserung der
Genauigkeit. Dabei hat sich die Inferenzgeschwindigkeit bezüglich des
Bildklassifizierungsmodells adäquat verbessert. In einigen Fällen erhöhte
sich die Inferenzgeschwindigkeit auf Raspberry Pi sogar um den Faktor 10.
Kolloqium: 02.03.2021
Betreuer: Prof. Dr.-Ing. Jochen Heinsohn, Abhishek Saurabh (MSc)
Volkswagen Car.Software Organization, Dipl. Inform. Ingo Boersch
Download: A1-Poster,
Bachelorarbeit
Categories: Abschlussarbeiten, Maschinelles Lernen