Künstliche Intelligenz in Fahrzeugen. Die Nutzung von Long Short Term Memory-Netzwerken zur Gangwahl im Automobil


Projektarbeit, 2020

48 Seiten


Leseprobe

Inhaltsverzeichnis

1 Einleitung

2 Neuronale Netze
2.1 Aufbau kunstlicher neuronaler Netze
2.1.1 Kunstliche Neuronen
2.1.2 Aufbau neuronaler Netze im Allgemeinen
2.2 Ausprägungsformen kunstlicher neuronaler Netze
2.2.1 Perzeptron
2.2.2 Convolutional Neural Network
2.2.3 Rekurrente neuronale Netze
2.2.4 Long Short Term Memory Netzwerke
2.3 Trainingsmethoden

3 Programmierung und Implementierung
3.1 Trainingsdatensätze
3.1.1 Trainingsdaten als eine Sequenz
3.1.2 Trainingsdaten in mehreren, gleichgroßen Sequenzen
3.1.3 Trainingsdaten mit einem Schaltzeitpunkt als letztes Element
3.1.4 Zusammenfassung Trainingsdaten
3.2 LSTM Architektur
3.2.1 Matlab
3.2.2 Python

4 Zusammenfassung

A Neural Network Zoo

B Matlab-Code fur LSTM

C Trainingergbnisse erstes LSTM

Formelverzeichnis

2.1 Nettogewicht der gewichteten Eingangssignale

2.2 Tangens hyperbolicus

2.3 Logistische Funktion

2.4 Ausgangsfunktion des ersten Layers 8

2.5 Aufgangsfunktion der Sigmoidschicht des zweiten Layers 8

2.6 Ausgangsfunktion der tanh-Schicht des zweiten Layers 8

2.7 Berechnung des Zellzustands in einem LSTM 8

2.8 Ausgangsfunktion des dritten Layers 8

2.9 Berechnung des Ausgangs des Gedachtnismoduls 8

3.1 Hochschalten

3.2 Herunterschalten

3.3 Kein Gangwechsel

Abkürzungsverzeichnis

NN neuronales Netz

TDS Trainingsdatensatz

RNN Rekurrente NN

BP Backpropagation

LSTM Long Short Term Memory

ST Supervised Training

IDE Integrated Development Environments (integrierte Entwicklungsumgebung)

NumPy NumericalPython

MSE mean squared error

1 Einleitung

Eine der zurzeit wohl am schnellsten wandelnden Technologien stellt die kuänstliche In­telligenz dar, allen voran die Nutzung von kuänstlichen neuronalen Netzen zur Bewäaltig- ung von komplexen Aufgaben. Ein sehr gutes Beispiel ist hierbei das sogenannte Hydra- net des US-amerikanischen Automobilbauunternehmens Tesla. Tesla arbeitet an diesem sehr komplexen neuronalen Netz um eine der wohl schwierigsten Aufgaben der Automo­bilindustrie zu läsen: dem autonomen Fahren. Das Prinzip das Tesla hierbei verfolgt ist im Grunde simpel: durch einen Strom aus Bilddaten soll das Hydranet relevante Muster - wie zum Beispiel Stoppschilder, Geschwindigkeitsbegrenzungen oder Ampelfarben - erkennen und das Fahrzeug sicher und selbstäandig durch den Verkehr manoävrieren. Das Hydranet ist somit ein Bild- beziehungsweise Mustererkennungsalgorithmus, der eine Vielzahl von verkehrrelvanten Objekten erkennen1 und entsprechend reagieren muss. Obgleich das Prinzip einfach klingen mag, die Entwicklung solcher kuänstlicher neu­ronaler Netze ist schwierig. Die Mäoglichkeiten, die durch kuänstliche neuronale Netze entstehen, sind dabei so enorm, dass der Aufwand rentabel wird. So koännten neurona­le Netze beispielsweise die Qualitatsuberpriifung wesentliche effizienter gestalten oder Produktionslinien flexibler werden lassen.

Kuänstliche neuronale Netze und das gesamte Gebiet des maschinellen Lernens stel­len somit zukuänftig sehr wichtiges Thema dar. Um Erfahrungen in diesem Bereich zu sammeln sind viele Projekte moäglich, beispielsweise die Kategorisierung von Fussbal­laufzeichnungen in echter Spielzeit und Werbung. Aber auch praktischere Anwendun­gen koännen einen guten Einblick in dieses Themengebiet geben. Eine schon in einer vorangegangenen Arbeit (13) beschriebene Aufgabe, die durch die Verwendung eines kuänstlichen neuronalen Netzes geläost werden kann, ist die Kopie“ eines Gangwahl­algorithmus in einem Fahrzeug mit Automatikgetriebe. In 13 wurde untersucht, wie ein einfaches“ kuänstliches neuronales Netz verwendet werden kann um den Gangwahl­algorithmus eines VW Golf VII zu „kopieren“. Das in 13 erstellte kunstliche neuro­nale Netz hat hierbei die Fahrzeugdaten Geschwindigkeit, Motordrehzahl, Fahrpedal- Stellung und aktueller Gang als Eingangsgräßen erhalten und wurde darauf trainiert, bei einem bestimmten Zustand eine Hoch- beziehungsweise Ruäckschaltempfehlung an das Getriebesteuergeraät zu senden. Mit diesem kuänstlichen neuronalen Netz konnten zwar schon Erfolge gemacht werden, die Performance ist jedoch ausbaufaähig. Eine Moäglichkeit zur Verbesserung des Netzes ist die Nutzung von vergangenen Fahrzeug­werten und eine darauf basierende Schaltempfehlung. Statt einfacher Momentanwerte soll das kuänstliche neuronale Netz auf eine Sequenz an Fahrzeugdaten zugreifen, um das Hoch- und Ruäckschalten praäziser zu gestalten.

Diese Arbeit beschäaftigt sich mit dieser Aufgabe, die mit Hilfe sogenannter rekurrenter Netze gelost werden soll. Dabei wird als erstes ein kurzer Überblick uber die Grundlagen der kunstlichen neuronalen Netze gegeben um diese Grundlagen fur die beschriebene Aufgabe anzuwenden.

2 Neuronale Netze

Ein kunstliches neuronales Netz (NN) (artificial neural network) ist ein Netz aus kunstlichen Neuronen und schon seit dem fruhen 40er Jahren des letzten Jahrhun­derts Forschungsthema 16. Als Vorbild fiir die Entwicklung kunstlicher NN dienen die natuärlichen NN, also das Gehirn beziehungsweise das zentrale Nervensystem von Menschen und Tieren. Kuänstliche NN stellen hierbei eine starke Vereinfachung des natuärlichen Vorbilds dar. Der prinzipielle Aufbau kuänstlicher NN ist demnach den Aufbau natuärlicher NN nachempfunden. Wie in Abbildung 2.1 dargestellt, ist bei bei­den Formen der NN die Verbindung zwischen den zahlreichen einzelnen Neuronen das essentielle Merkmal von NN. Neben dem Aufbau ist auch die Funktionsweise des Net­zes, also die Kommunikation der verknuäpften Neuronen untereinander eine weitere Gemeinsamkeit von kuänstlichen und neuronalen Netzen.

Abbildung in dieser Leseprobe nicht enthalten

Kruse et al. beschreibt in 14 die Motivation zur Nutzung kunstlicher NN im Vergleich zur klassischen kunstlichen Intelligenz (artificial intelligence): Die klassische kunstliche Intelligenz ist zwar sehr gut darin, (physikalische) Symbole und Symbolstrukturen ma­ nipulieren zu kännen2, die Nachbildung von Sinneswahrnehmungen - allen voran der Mustererkennung - zu unflexibel und zu wenig fehlertolerant sind 14. Entsprechend werden kunstliche NN verwendet, bei der die Abbildung naturlicher Intelligenz erfolg­versprechend scheint. Kruse et al. fuhrt dabei unter anderem die Expertensysteme auf, die durch Verwendung von neuronalen Netzen wesentlich leistungsstarker umgesetzt werden kännen. Daneben gibt es unzahlige Verwendungsmäglichkeiten von kunstlichen NN in Industrie und Finanzwirtschaft, beispielsweise die schon in 13 behandelte und in dieser Arbeit fortgesetzte Nutzung von kunstlichen NN zur Gangwahl im Fahrzeug. Um kunstliche NN zur Losung verschiedener Fragestellung verwenden zu kännen, sind folgende Schritte notwendig:

- Erstellung des kunstlichen NN. Hierfur gibt es viele verschiedene Software-Tools, wie zum Beispiel Python in Verbindung mit Tensorflow oder PyTorch oder auch die sogenannte Deep Learning Toolbox in Matlab.
- Das Trainieren des kunstlichen NN. Das Training kann auf verschiedene Arten geschehen. Zudem ist fur das Training ein Trainingsdatensatz (TDS) notwendig.

In den Folgenden Kapiteln werden die einzelnen Elemente von kunstlichen NN, der Aufbau verschiedener Auspragungsformen von kunstlichen NN und verschiedene Trai­ningsmethoden näher gebracht werden. Dabei soll auch besonders auf den hier behan­delten Anwendungsfall - der Analyse von Zeitreihen - eingegangen werden.

2.1 Aufbau künstlicher neuronaler Netze

2.1.1 Kunstliche Neuronen

Wie schon in Abbildung 2.1 zu erkennen ist, bestehen kunstliche NN aus einer Vielzahl miteinander verknupfter Neuronen. Es gibt eine Vielzahl an Neuronen, wie in Anhang A in Abbildung A.1 auf der linken Seite dargestellt ist, die fur verschiedene Formen von kunstlicher NN verwendet werden. Der prinzipielle Aufbau eines kunstlichen Neu­rons ist in Abbildung 2.2 dargestellt. So kann ein Neuron mehrere Eingangssignale (x) besitzen. Diese Eingangssignale werden jeweils mit einem Gewicht (weight w) multipliziert. Aus diesen Gewichten wird nach Formel 2.1 das Nettogewicht der Eingangssignale gebildet. Diese Gewichtete Summe der Eingangssignale dient als Argument der Akti­vierungsfunktion (a f). Der sich ergebende Funktionswert wird als Ausgangssignal (in der Abbildung als 0 bezeichnet) an weitere Neuronen weitergegeben.

Abbildung in dieser Leseprobe nicht enthalten

Abbildung 2.2: Prinzipieller Aufbau eines Neurons nach 10

Die Gewichte dienen dazu, der Verbindung zweier Neuronen eine (Verbindungs-)Starke zu zuweisen. Sie werden dabei vom Netzarchitekten3 initial mit Werten4 hinterlegt, die sich wahrend der Trainings-Session(s) entsprechend der Trainingsmethoden anpassen. Die Anpassung der Gewichte wird im Rahmen der Trainingsmethoden naher behandelt. Weiterhin kann es hilfreich sein, dem kunstlichen Neuron ein neuronenspezifisches Bias - also eine Verzerrung - zu geben. Dieses Bias ist dabei nur ein weiterer Wert, der zu dem Nettogewicht der Eingangssignale addiert wird. Das Bias ist aähnlich den Ge­wichten, es wird somit auch vom Netzarchitekten initial vergeben und waährend des Trainings angepasst.

Die Aktivierungsfunktion ist der Kernbestandteil des Neurons und ein wichtiges Ele­ment fuär die Funktionsweise kuänstlicher NN. Die Aktivierungsfunktion - um wieder auf das natuärliche Vorbild zu verweisen - bildet die komplexen bio-chemischen Pro­zesse in natuärlichen Neuronen ab, die das sogenannte Feuern“ der Neuronen steuern. Die Abbildung dieser „Überschreitung einer Schwelle“, die zum Feuern des Neurons notwendig ist, wird durch die Aktivierungsfunktion umgesetzt. Ahnlich wie die Ge­wichte, ist auch die Aktivierungsfunktion ein Element, welches vom Netzarchitekten festgelegt wird. Die Wahl der Aktivierungsfunktion ist ein entscheidendes Element in der Entwicklung des kunstlichen NN, da durch ein anderes Aktivierungsverhalten die komplette Dynamik und Funktionalitat des kunstlichen NN beeinflusst werden kann. Entsprechend gibt es eine Vielzahl an Aktivierungsfunktionen, von denen einige der meist verwendeten an dieser Stelle vorgestellt werden soll:

- Sigmoidfunktionen sig(xnet).
- Rectified linear unit (ReLu) R(xnet).

Sigmoidfunktionen werden wegen ihrer Differenzierbarkeit vor allem bei der Verwen­dung spezieller Lernalgorithmen, wie beispielsweise der Backpropagation, verwendet 17. Eine Sigmoidfunktion ist im allgemeinen eine beschränkte und differenzierbare reele Funktion 17. Die Menge der Sigmoidfunktionen ist vielfaltig und besteht unter anderem aus dem Tangens hyperbolicus (Gleichung 2.2) und der logistischen Funktion (Gleichung 2.3), zwei der meistverwendeten, sigmoiden Aktivierungsfunktionen. Die Verlauf der beiden Funktionen sind in Abbildung 2.3a und Abbildung 2.3b dargestellt. Beide Grafen verlaufen dabei recht ähnlich, besitzen jedoch verschiedene Schwellwer­te. Die tanh-Funktion besitzt die Schwellen —1 und 1, die logistische Funktion die Schwellen 0 und 1. Die logistische Funktion wird nach 9 allen voran für Wahrschein­lichkeitsvorhersagen verwendet. Es gibt zudem die sogenannte Softmax-Funktion, eine besondere Form der logistischen Funktion, die einen Eingangswert in einen normali­sierten Vektor umwandelt, dessen Koordinaten summiert die Zahl Eins ergeben 5. Die Softmax-Funktion findet, durch die unbegrenzte Anzahl an Eingangssignalen, beson­ders fur Klassifizierungsaufgaben mit mehreren Klassen Anwendung.

Abbildung in dieser Leseprobe nicht enthalten

Im weiteren Verlauf wird die logisitische Funktion als Sigmoidfunktion bezeichnet. So­wohl tanh- als auch Softmax-Funktion werden mit den jeweiligen Namen bezeichnet.

Die ReLu -Funktion (auch Rectifier genannt) ist eine sehr beliebte Aktivierungsfunk­tion. Durch die Verwendung der ReLu -Funktion als Aktivierungsfunktion feuert das kunstliche Neuron nur bei einem positiven Nettogewicht. Wirken also genugend hemmende Eingänge und wird dadurch der Gesamteingang des kunstlichen Neurons nega­tiv, bleibt das Neuron inaktiv und gibt ein Ausgangssignal von Null ab. In 2 werden einige Vor- und Nachteile der ReLu -Funktion genannt. So liegt der großte Nachteil in der ReLu -Funktion darin, dass Neuronen während des Trainings „sterben“ kännen. Dabei wird das Gewicht so drastisch veraändert, dass das kuänstliche Neuron an keinem Datenpunkt mehr feuert - also ein Ausgangssignal liefert. Um diese Problematik zu umgehen werden viele „angepasste“ ReLu-Funktionen entwickelt, beispielsweise Leaky ReLu. Anders als ReLu ermoglicht Leaky ReLu negative Werte durch eine kleine, ne­gative Steigung5.

Abbildung in dieser Leseprobe nicht enthalten

Abbildung 2.3: Verlauf von Sigmoidfunktionen

Neben den genannten Aktivierungsfunktionen gibt es eine Vielzahl an weiteren Akti­vierungsfunktionen, die, sollten Sie im weiteren Verlauf der Arbeit Verwendung finden, kurz vorgestellt werden sollen.

Mit der Aktivierungsfunktion sind die wichtigsten Bestandteile der kuänstlichen Neuro­nen beschrieben.

2.1.2 Aufbau neuronaler Netze im Allgemeinen

Wie schon weiter oben angemerkt sind kuänstliche NN ein Netz aus miteinander ver­bundenen kuänstlichen Neuronen. An dieser Stelle soll die - etwas mathematische - Definition von kunstlichen neuronalen Netzen aus Kruse et al. wiedergegeben werden:

Ein (kunstliches) neuronales Netz ist ein (gerichteter) Graph G = (U,C), dessen Knoten u E U Neuronen und dessen Kanten c E C Verbindungen heißen. Die Menge Ü der Knoten ist unterteilt in die Menge Uin der Einga­beneuronen, die Menge Uout der Ausgabeneuronen und die Menge Uhidden der versteckten Neuronen. 14

Diese Definition legt nahe, dass kunstliche NN in drei sogenannte Schichten bzw. Layers unterteilt werden:

- Der Input-Layer mit den Input-Neuronen der Menge Uin,
- der Output-Layer mit den Output-Neuronen der Menge Uout,
- der beziehungsweise die Hidden-Layer mit den Hidden-Neuronen der Menge Uhidden.

Ein Layer ist hierbei eine Ansammlung von Neuronen. Die Schichten sind ublicherweise zweidimensional, es gibt jedoch auch Netztypen, bei denen die Layer mehr Dimensionen besitzen, zum Beispiel die sogenannten Convolutional NN - auch gefaltete oder faltende NN genannt - die dreidimensionale Schichten besitzen. Einfachste kunstliche NN be­stehen nur aus Input- und Output-Layern mit n Input- und m Output-Neuronen. Der Input-Layer dient als „Gesamteingang“ des kunstlichen NN, wohingegen der Output­Layer als „Gesamtausgang“ des NN dient. Die Neuronen-Anzahl in sowohl der Input­Schicht, als auch der Output-Schicht wird meist Anwendungsbezogen festgelegt. So werden in vielen Fallen die gleich Anzahl an Neuronen im Input-Layern wie es Ein­gangssignale im kunstlichen NN gibt. Analog verhalt es sich mit den Neuronen im Output-Layer, deren Anzahl meist identisch zu den gewunschten Netz-Outputs. Kom­plexere kunstliche NN besitzen neben Input- und Output-Layer noch die Hidden-Layer. Je mehr Hidden-Layer existieren, desto tiefer ist das kunstliche NN - man spricht dann auch vom Deep Learning. Die Anzahl der Hidden-Layer kann dabei beliebig groß gewahlt werden. Je tiefer das kunstliche NN ist - also je mehr Hidden-Layer das kunstliche NN besitzt - desto gräßer ist der Rechenaufwand, der benätigt wird, um das Netz zu betreiben. Die Anzahl der Neuronen in den einzelnen Hidden-Layern ist dabei ebenso beliebig, wie die Anzahl der Hidden-Layer selbst. Auch hier gilt, dass eine große Anzahl an kunstlichen Neuronen sich entsprechend auf die benotigte Rechenleis­tung auswirkt. Die Aktivierungsfunktion der einzelnen Neuronen wird nicht fur jedes Neuronen, sondern fur jede Schicht zu gewiesen. Entsprechend befinden sich in einem Hidden-Layer endlich viele kunstliche Neuronen mit der gleichen Aktivierungsfunktion.

2.2 Ausprägungsformen künstlicher neuronaler Netze

Mit der obigen Vorstellung der kuänstlichen Neuronen und den kuänstlichen NN im Allgemeinen, sollen nun spezifische Auspraägungsformen von kuänstlichen NN behandelt werden.

2.2.1 Perzeptron

Das Perzeptron ist die einfachste Form kuänstlicher NN. Rosenblatt stellte die Grund­form des Perzeptrons in 11 als ein Netzwerk mit einem Neuron vor. Heutzutage werden Perzeptronen als Kombinationen der urspruänglichen Form verstanden und in die Vari­anten der einlagigen Perzeptronen und der mehrlagigen Perzeptronen unterteilt. Nach 6 sind einlagige Perzeptronen kuänstliche NN, die - wie schon weiter oben vorgestellt - nur aus Eingangs- und Ausgangsschicht bestehen. Mehrlagige Perzeptronen entspre­chen den schon in Abbildung 2.1 dargestellten Aufbau kuänstlicher NN, die sich als ein Netz aus endlich vielen kuänstlichen Neuronen in endlich vielen Schichten auspraägen. Dabei sind die mehrlagigen Perzeptronen ausschließlich Feedforward -Netze, was bedeu­tet, dass die Information nur in einem Weg - vom Input-Layer uäber die Hidden-Layer zum Output-Layer - durch das kuänstliche NN stroämt.

2.2.2 Convolutional Neural Network

Ein besonderer Unterschied der Convolutional NN (faltendes NN) zu den „gewähnlich- en“ kuänstlichen NN ist, dass die Layer des Netzes dreidimensional sind. Sie besitzen somit Breite, Hohe und Tiefe, wobei der Begriff der Tiefe an dieser Stelle nicht mit der Anzahl an Layern zu verwechseln ist 2. In Abbildung 2.4 ist der Unterschied des Layeraufbaus gut zu erkennen. Wie in der Abbildung zu erkennen ist, sind al­le Layer eines Convolutional NN dreidimensional. Da das kuänstliche NN somit einen dreidimensionalen Input verarbeiten kann, werden sie fuär Aufgaben in der Bild- und Audiountersuchunng verwendet, da hier oft mehrdimensionale Inputgroäßen existieren - zum Beispiel Pixel-Hoähe und -Breite des Bildes und die Anzahl der Farbkanaäle. Ein weitere Anwendung von Convolutional NN ist das autonome Fahren, wie beispielswei­se in 7 behandelt. In 2 wird naher auf den Aufbau und der Funktionsweise von Convolutional NN fuär die Bilduntersuchung eingegangen.

Abbildung in dieser Leseprobe nicht enthalten

Abbildung 2.4: Vergleich des Layeraufbaus von gewöhnlichen NN und Convolutional NN 2

2.2.3 Rekurrente neuronale Netze

Gewohnliche kunstliche NN funktionieren nach dem schon oben beschriebenen Feedfor­ward-Prinzip, das heißt, dass Information nur auf einem Weg durch ein kunstliches NN stroämt. Dadurch wird es dieser Art der kuänstlichen NN jedoch unmoäglich, Informatio­nen aus der Vergangenheit fuär Problemstellungen aus der Gegenwart zu verwenden. Das Netz besitzt kein „Gedächtnis“.

Rekurrente NN (RNN) versuchen genau diesen Umstand zu losen und ein Gedächtnis zu implementieren. Dabei werden Schleifen verwendet, die Informationen in das RNN zuruckbringen, wie in Abbildung 2.5 auf der linken Seite dargestellt. Diese Schleife bewirkt, dass die Ausgangsinformation dieses Moduls fur den Input Ih als zusätzliche Eingangsgröße fur das gleiche Modul bei dem Input Ih+1 fungiert, wie in Abbildung 2.5 auf der rechten Seite dargestellt wird. RNNs besitzen somit eine Verkettung“ aus Mo- dulen6, die vergangene Informationen - uber eine gewissen Zeitraum - im kunstlichen NN bestehen lassen käonnen.

Abbildung in dieser Leseprobe nicht enthalten

Abbildung 2.5: Das Gedachtnismodul eines RNN mit „ausgerollter“ Darstellung nach 8.

Wie in 8 beschrieben wird, konnen RNNs kurzzeitige Abhangigkeiten von Information nen abspeichern und eine Art Kurzzeitgedachtnis entwickeln. Ist jedoch der Zeitraum zwischen der relevanten Information und dem Punkt an dem sie benotigt wird sehr groß, wird es fur RNNs unmoglich, die Informationen zu verbinden, ohne das spezielle Parameter durch den Netzarchitekten eingestellt werden. Hochreiter beschaäftigt sich in 4 mit der Nutzung von Backpropagation (BP)-Lernalgorithmen um die Performance von RNNs zu verbessern und ein Langzeitgedaächtnis zu ermoäglichen.

Statt „gewohnliche“ RNNs fur Aufgaben zu verwenden, die ein solches Langzeitgedächt­nis des kuänstlichen NN erfordern, kann eine weitere Netzwerkauspraägung verwendet werden. Diese sollen im Folgenden beschrieben werden.

2.2.4 Long Short Term Memory Netzwerke

Long Short Term Memory (LSTM) Netzwerke (im weiteren Verlauf nur LSTM ge­nannt), sind nach 8 spezielle RNNs, die Langzeitabhaängigkeiten von Informationen er­lernen konnen. LSTMs sind von Hochreiter und Schmidhuber in 12 vorgestellt worden. Wie die gewäohnlichen RNNs sind auch LSTMs eine Kette aus Gedaächtnismodulen“. Dabei handelt es sich jedoch - anders wie bei den gewohnlichen RNN - um ein mehrschichtiges Konstrukt, wie in Abbildung 2.6 dargestellt ist. Anders als bei den gewoähnlichen RNNs werden bei LSTMs neben dem Output der vorhergehenden Berech­nung („unterer“ Ausgang in Abbildung 2.6) auch der sogenannte Zellzustand („obe­rer“ Ausgang in Abbildung 2.6) erhalten bleibt. Diese zusätzliche Große ermoglicht den LSTMs ihr Langzeitgedachtnis. Die Funktionsweise und der Informationsfluss im Gedachtnismodul eines LSTM soll anhand von Abbildung 2.6 im Folgenden vorgestellt werden. Dabei wird das Modul zum Zeitpunkt t betrachtet.

Abbildung in dieser Leseprobe nicht enthalten

Abbildung 2.6: Gedächtnismodul eines LSTMs 8.

Der Input xt der gegenwartigen Berechnungszeit wird mit dem Output verknupft Dieser verknupft Vektor wird durch einen ersten Sigmoidlayer gefuhrt. Dabei entsteht ein Output-Wert nach der Formel2.4, wobei f t der Output-Wert,a die Sigmoidfunkti­on, Wf die Gewichtsmatrix des Layers, [h t _ 1,x t] der verknupft Vektor von x t und ht_1 und b f das Bias des Layers ist. Durch die Nutzung der Sigmoidfunktion wird jede Ko­ordinate des Eingangsvektors bewertet, ob der Koordinatenwert vergessen (entspricht 0) oder gemerkt (entspricht 1) werden soll. Der Output dieses ersten Layers wird mit dem Zellzustand C t _ 1 punktweise multipliziert. Somit bleiben nur die Werte des Zell­zustands erhalten, die durch den Sigmoidlayer als „zu merken“ definiert worden sind. Dieser erste Sigmoidlayer des Gedächtnismoduls wird als Forget-Gate (Vergessenstor) bezeichnet .

Abbildung in dieser Leseprobe nicht enthalten

Der zweite Layer des LSTM-Gedaächtnismoduls arbeitet weiter mit dem verknuäpften Eingangsvektor von ht _1 und xt. Dieser wird - wie schon im ersten Layer - durch eine Sigmoidschicht gefuhrt, die als Ausgang die Funktion nach Formel 2.5 besitzt. Diese ist zum groäßten Teil analog zur Funktion aus Formel 2.4, jedoch sind Gewicht und Bias mit anderen Zahlenwerten hinterlegt. Anders als bei dem obigen Forget-Gate ist hier nicht das Ziel zu entscheiden, ob Werte vergessen oder gemerkt werden sollen, sondern welche Werte zum Zellzustand hinzugefuägt werden sollen. Daher wird dieser Teil des Gedächtnismoduls als Input-Gate bezeichnet.

Abbildung in dieser Leseprobe nicht enthalten

Die Werte die hinzugefuägt werden sollen, werden im zweiten Teil der zweiten Schicht des Gedachtnismoduls gebildet. Dabei wird der Eingangsvektor [ht_1,xt] durch einer tanh-Schicht gefuhrt, was ein Output nach Formel 2.6 als Resultat besitzt. Die tanh- Funktion wird verwendet, da durch eine sigmoide Aktivierungsfunktion negative Werte entfallen wuärden. Da es jedoch das Ziel ist, Werte beziehungsweise Informationen, die zum Zellzustand hinzugefugt werden sollen, zu berechnen, wird die sich zwischen — 1 und 1 bewegende tanh-Funktion genutzt. Das Ergebnis wird als Zellzustandskandidat C t bezeichnet.

Abbildung in dieser Leseprobe nicht enthalten

Anschließend werden die beiden Ausgange aus Formel 2.5 und 2.6 miteinander punkt­weise multipliziert. Werte die nicht zum Zellzustand hinzugefuägt werden sollen, werden durch das entsprechende Ergebnis der Sigmoidschicht entfernt. Der dadurch entstan­dene Vektor wird mit dem Zellzustand C t - 1 punktweise addiert. Somit bildet sich der neue Zellzustand nach 2.7. Dieser „neue“ Zellzustand wird in den folgenden Berech­nungsschritt t + 1 weitergeleitet.

Abbildung in dieser Leseprobe nicht enthalten

Als nachstes wird der Eingangsvektor [ht-1,xt] durch einen dritten Sigmoid-Layer gefuhrt. Diese Schicht wird als Output-Gate bezeichnet, da hier der Output des Gedacht- nismoduls berechnet wird. Der Ergebnisvektor des Output-Gates berechnet sich nach Formel 2.8.

Abbildung in dieser Leseprobe nicht enthalten

Der Ergebnisvektor des Outputgates wird mit dem normierten Zellzustand punktweise multipliziert, nach Formel 2.9. Der Output wird zum einem in die nachste Schicht des kunstlichen NN gefuhrt und zum anderem fur den Berechnungsschritt t + 1 weiterge­leitet.

Abbildung in dieser Leseprobe nicht enthalten

Das Gedachtnismodul das in LSTMs den Zugriff auf langer vergangene Informationen ermäoglicht, funktioniert zusammengefasst folgendermaßen:

1. Der „gesamt“ Input-Vektor wird gebildet aus dem Output-Vektor ht-1 der vor­angegangen Berechnungsschrittes und dem Input-Vektor x t.
2. Das Forget-Gate evaluiert die Stellen und läoscht Informationen aus dem Zellzu­stand C t -1.
3. Das Input-Gate evaluiert die Stellen und berechnet neue Informationen, die zum Zellzustand hinzuaddiert werden. Es entseht der neue Zellzustand C t.
4. Das Output-Gate berechnet den Output-Vektor des Gedäachtnismoduls.
5. Der Zellzustand und der Output-Vektor werden im folgenden Berechnungsschritt t +1 weitergeleitet. Der Output-Vektor wird zu dem zur nachsten Schicht des kuänstlichen NNs gefuährt.

Der Zellzustand des Gedachtnismoduls kann somit als Gedächtnis bezeichnet werden. Durch entsprechende Gewichtungen und Bias im Forget- und Input-Gate werden In­formationen7 geläscht respektive hinzugefugt. Da der Zellzustand fur beliebig viele Berechnungsschritte unverändert bleibt, steht dem LSTM Information aus länger ver­gangenen Berechnungsschritten zur Verfügung.

Das vorgestellte Gedachtnismodul ist eine Form von vielen, die fur die Verwendung in LSTMs finden. Olah stellt in 8 noch weitere Formen der Gedachtnismodule vor, die verschiedene Anpassungen zu dem vorgestellten Modul hinzufugen. Beispielsweise wird bei einer Form das invertierte Ergebnis des Output-Gates fur das Input-Gate verwen­det. Alle Formen und Anpassungen der Module vorzustellen wurde an dieser Stelle zu weit fuhren. Werden im folgenden Gedächtnismodule in abgeänderter Form verwendet, so werden diese Anderungen an entsprechender Stelle kurz vorgestellt. In der Anwen­dung von kunstlichen NNs werden eine Vielzahl von solchen Gedachtnismodule, ahnlich wie ein kunstliches Neuron in Layer(n), verwendet. Daher soll im Folgenden diese Layer aus den vorgestellten Gedachtnismodulen als LSTM-Layer bezeichnet werden.

2.3 Trainingsmethoden

Kunstliche NN können nicht ohne weiteres Aufgaben läsen, sie mussen vorbereitet beziehungsweise trainiert werden. Hierbei gibt es zwei grundsatzliche Prinzipien:

- Überwachtes Lernen und
- Ünuberwachtes Lernen.

Das uberwachte Lernen (auch Supervised Training (ST) genannt), zeichnet sich da­durch, dass dem kunstlichen NN neben den Eingangsdaten auch die sogenannten Ziel­daten zur Verfugung gestellt werden. Das kunstliche NN nutzt die Eingangsdaten und versucht, seinen Ausgang den Zieldaten anzupassen. Das unuberwachte Lernen hinge­gen verwendet nur Eingangsdaten, um das Netz zu trainieren. Nach 3 gibt es zwei Hauptmotivationen, unuberwachtes Lernen zu nutzen: zum einem ist dieser Bereich des maschinellen Lernens zum segmentieren von Daten interessant. Vor allem in der Bioinformatik wird unuberwachtes Lernen zum Clustern von beispielsweise Geninfor­mationen verwendet. Zum anderen konnen durch Anwendung von Algorithmen des unuberwachten Lernens Features aus den Datensatzen „gefiltert“ werden, was die Per- formance eines kunstlichen NN verbessern kann.

In 3 wird das unuberwachte Lernen als guter Startpunkt vorgeschlagen, wenn noch keine genaue Aufgabe definiert und nicht viel uber die Zusammenhange der Daten bekannt ist. Da sowohl das Ziel - die Verwendung eines kunstlichen NN zur Steuerung des Getriebes - als auch die Zusammenhange der Daten - Geschwindigkeit, Drehzahl, Fahrpedalstellung und Gang - bekannt sind und es keiner weiteren Reduktion von Features bedarf, wird sich somit das ST beschäftigt.

3 Programmierung und

Implementierung

Mit den in Kapitel 2 dargestellten Grundlagen soll sich im Folgenden mit der Erstellung der Trainingsdatensatzen und dem Aufbau der unterschiedlichen Netzwerken befasst werden.

3.1 Trainingsdatensatze

Die Trainingsdaten werden aus Messreihen erstellt, die während diverser Testfahrten mit dem VW Golf VII der Hochschule Coburg aufgezeichnet worden sind. Diese Mess­reihen liegen als .mat-File vor und enthalten eine Vielzahl verschiedener Fahrzeugdaten. Fur die Problemstellung der automatisierten Gangwahl wird die Annahme getroffen, dass die folgenden Großen ausreichend sind, um eine passende Abschatzung zum opti­malen Gang geben zu kännen:

- Die Motordrehzahl n eng ine,
- die Fahrzeuggeschwindigkeit vcar,
- die Position des Fahrpedals xpedal
- und der aktuelle Gang g curr.

Die Messfrequenz betragt 50 Hz, was bedeutet, das alle 0, 02 Sekunden ein neuer Mess­wert aufgezeichnet ist und sich demnach zwischen zwei Messpunkten ein Zeitfenster von ebenso 0, 02 Sekunden befindet. Dieses Zeitfenster wird im weiteren Verlauf als At bezeichnet.

Das NN soll mit den vorhandenen Messdaten so trainiert werden, dass es entweder eine Änderung des Ganges beziehungsweise einen konkreten Gang als Vorschlag an das Fahrzeug ubergeben kann. Fur die Änderung des Ganges in einem Fahrzeug von einem

Abbildung in dieser Leseprobe nicht enthalten

Abbildung 3.1: Anzahl der Gangwechselfälle in einem Messdatensatz.

Zeitpunkt t zum nächsten Zeitpunkt t + At existieren drei allgemeine Fälle:

1. Wechsel in einem häheren Gang: Hochschalten.
2. Wechsel in einem niedrigeren Gang: Herunterschalten.
3. Kein Gangwechsel.

Diese drei Falle spiegeln sich entsprechend in den Messreihen wieder:

Abbildung in dieser Leseprobe nicht enthalten

Diese drei Fälle sind jedoch, wie zu erwarten, sehr ungleichmaßig verteilt. In Abbildung 3.1 wird die Anzahl der aufgetretenen Falle einer Datenreihe dargestellt. Hier ist deut­lich zu sehen, dass wahrend des Großteils der Messfahrt kein Gangwechsel vollzogen worden ist. Die Zeit ohne Gangwechsel beträagt bei der dargestellten Messreihe circa 1 h 24 min. Die kumulierte Zeit der Herunterschalt beziehungsweise der Hochschalt­vorgänge betragt jeweils circa vier Sekunden.

Die Folge aus diesem Ungleichgewicht ist, wie schon in 13 behandelt, dass die Per­formance des künstlichen NNs stark gesenkt werden kann, wenn ein Zuordnungsfall in den Trainingsdaten überwiegt. In 13 konnte auf diesem Umstand durch Angleichen der Falle reagiert werden, da hier mit „einfachen“ Feedforward-Netzen beziehungsweise Perzeptren gearbeitet wurde. Diese Art der NN beriicksichtigen nicht Information, die sich aus der Reihenfolge der Daten ergibt8. Da Ziel dieser Arbeit genau die Verwendung dieser Informationen durch die Nutzung eines LSTMs ist, kann dieser Losungsweg nicht verwendet werden, da hierdurch die Reihenfolge der Daten und damit auch eventuell Informationen zerstört werden. Es mussen also andere Wege gefunden werden, um die­se Ungleichgewicht der Schaltanderungen entgegen zu wirken. Hierfur werden die drei folgenden Ansatze verwendet:

1. Die Trainingsdaten werden als eine Sequenz behandelt, dem Ungleichgewicht der Schaltfalle wird somit nicht entgegengewirkt.
2. Die Trainingsdaten werden in mehreren, gleichgroßen Sequenzen aufgeteilt. Auch hier wird dem Ungleichgewicht nicht aktiv entgegengewirkt. Aus der Aufteilung in mehreren Sequenzen wird sich jedoch eine Verbesserung der Performance erhofft.
3. Die Trainingsdaten werden als Sequenzen bereitgestellt, die einen definierten Zeit­raum vor einem Hoch- beziehungsweise einem Herunterschaltvorgang beinhalten.

Die Skripte sind als Text im Anhang und als Datei im Github-Repository des Projektes unter dieser URL gefunden werden. Im folgenden soll nur die Form, Dimension und weitere wichtige Eigenschaften der drei Trainingsdaten-Varianten dargestellt werden.

3.1.1 Trainingsdaten als eine Sequenz

Die erste Variante der Trainingsdaten als eine Sequenz ist recht schnell erklärt. Hier werden eine Reihe von „Rohmessdaten“ aneinander gehangen. Als Input fur das Trai­ning des NN wird somit eine endlich lange Folge aus den vier genannten Groäßen n engine,v car,x pedal undgcurr bereitgestellt. Der Ziel-Output, den das NN wahrend des Trainings erreichen soll, ist eine ebenso endlich lange Folge, die zwei Auspraägungen besitzt:

1. Als Ziel-Output wird die Differenz zwischen den Gangen g curr (t) und g curr (t + At) bereitgestellt. Der Trainingsoutput ist somit eine Zahlenfolge mit Werten von circa — 4bis4.

[...]


1 Daher der Name Hydranet, der an das griechische Fabelwesen der Hydra angelehnt ist.

2 In 14 wird das Beispiel gebracht, dass Computer Spiele wie Schach auf sehr hohem Niveau spielen können. Der Autor mochte dieses Beispiel erweitern und auf OpenAI Five hinweisen, eine kunstliche Intelligenz, die das PC-Spiel Dota 2 gegen Menschen spielt. Unter der URL https://www.youtube.com/watch?v=pkGa8ICQJS8&pbjreload=10 ist ein Dota 2 Match gegen OpenAI Five zu finden.

3 Dem Entwickler des kunstlichen NN.

4 Üblicherweise liegt der Wertebereich zwischen —1 und 1.

5 Nach 2 um 0,01.

6 Diese Module können einzelne Neuronen bis hin zu mehreren Layern sein.

7 In Form von Vektorkoordinaten.

8 Sieh Kapitel 2.2

Ende der Leseprobe aus 48 Seiten

Details

Titel
Künstliche Intelligenz in Fahrzeugen. Die Nutzung von Long Short Term Memory-Netzwerken zur Gangwahl im Automobil
Hochschule
Hochschule Coburg (FH)
Autor
Jahr
2020
Seiten
48
Katalognummer
V924687
ISBN (eBook)
9783346249340
Sprache
Deutsch
Schlagworte
LSTM, Neuronale Netze, RNN, Gangwahl, Matlab, Python, Tensorflow
Arbeit zitieren
Daniel Seufferth (Autor), 2020, Künstliche Intelligenz in Fahrzeugen. Die Nutzung von Long Short Term Memory-Netzwerken zur Gangwahl im Automobil, München, GRIN Verlag, https://www.grin.com/document/924687

Kommentare

  • Noch keine Kommentare.
Im eBook lesen
Titel: Künstliche Intelligenz in Fahrzeugen. Die Nutzung von Long Short Term Memory-Netzwerken zur Gangwahl im Automobil



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