Wie kann eine Maschine Sequenzen verstehen?
Wieso spricht man in Bezug auf ein Machine Learning Modell von einem
Gedächtnis?
In diesem Video erklären wir aus der theoretischen Perspektive, wie
ein rekurrentes neuronales Netz funktioniert.
Wir haben schon gelernt, wie ein künstliches neuronales Netz
strukturiert ist.
Neuronen sind zusammen in Schichten verbunden, um am Ende eine
passende mathematische Beschreibung des Trainingsdatensatzes zu
finden.
Bei diesen Netzen ist es wichtig, vorab zu wissen, wie das Datenformat
der Eingänge ist.
Das heißt, die Länge und Form der Eingangsvariablen muss bekannt sein,
bevor mit der Trainingsphase begonnen wird.
Das ist eine wichtige Einschränkung, da viele Datensätze am besten mit
Sequenzen beschrieben werden, deren Länge vorab nicht bekannt ist.
Beispiele sind die Spracherkennung und die maschinelle Übersetzung von
Texten.
Wie lang der Eingangstext ist, ist nicht im Vorfeld bekannt.
Deswegen wurden RNNs entwickelt.
Sie haben den Vorteil, dass Sequenzen aller Länge als Eingang
verwendet werden können.
Außerdem eignen sie sich besonders für Datensätze, die eine
Zeitabhängigkeit aufweisen.
Rekurrente neuronale Netze haben entweder Verbindungen zwischen
Neuronen aus unterschiedlichen Schichten, aus der gleichen Schicht
oder zu sich selbst.
Wir werden diesen letzten Fall betrachten, da es am häufigsten in der
Praxis verwendet wird.
Wir können die Verbindung zu sich selbst als eine Schleife sehen.
Diese füttert den im letzten Zeitschritt erzeugten Ausgang der
Aktivierungsfunktion dem Neuron im nächsten Zeitschritt.
Die Schleife, die in dieser Architektur gebaut wird, beeinflusst
deswegen den Ausgang des gesamten Netzes.
Betrachten wir zusammen ein zeitliches Diagramm, um diesen
Rückkopplungseffekt besser zu verstehen.
Einfachheitshalber zeigen wir den Fall eines einzigen Neurons.
Die Erklärung gilt aber auch für den Fall mit mehreren Neuronen.
Bei t gleich 0 kommt ein Eingangswert aus unserem Datensatz rein.
Das Neuron übergibt seinen Zustand auf Englisch hidden state zu sich
selbst.
Im nächsten Zeitschritt, t gleich 1, kommt ein neuer Eingangswert.
Das Neuron rückkoppelt wieder sein hidden state.
In t gleich 2 erzeugt das Neuron den ersten Ausgangswert.
Der zweite und dritte Ausgangswert wird in den nächsten zwei Schritten
ausgegeben.
Die jeweilige Problemstellung bestimmt die Architektur des RNNs.
Wir können zum Beispiel Ausgänge direkt im ersten Zeitschritt haben.
Wenn wir mehrere Zeitschritte vom Eingang und Ausgang erwarten, wird
das Netz many-to-many genannt.
Diese Modelle werden beispielsweise bei der Sprachübersetzung Text als
Eingang, Text als Ausgang verwendet.
Die Architektur kann aber ebenfalls als one-to-many gewählt werden.
Eine typische Problemstellung dafür ist die Bildtitelerzeugung, da ein
einziges Bild als Eingang und ein Text als Ausgang erwartet wird.
Many-to-one-Architekturen existieren auch und werden beispielsweise
für Stimmungserkennung benutzt.
Text als Eingang, eine Stimmung als Ausgang.
Eine wichtige Art der Rekurrenten neuronalen Netze sind die Long-Short
-Term -Memory-Netze oder kurz LSTMs.
Sie ermöglichen im Gegensatz zu herkömmlichen Rekurrenten neuronalen
Netzen eine Art Erinnerung an frühere Erfahrungen.
Ein Kurzzeitgedächtnis, das lange anhält.
Das LSTM schafft diese Eigenschaft, indem es für ein LSTM-Neuron, nun
LSTM -Zelle genannt, zur besseren Erinnerung drei Arten von Toren
verwendet.
Ein Eingangstor, Input-Gate, ein Merk- und Vergess-Tor, Forget-Gate
und ein Ausgangstor, Output-Gate.
Diese Tore sind gewichtete Funktionen, die den Informationsfluss in
der Zelle steuern.
Das Input-Gate legt fest, welche Werte vom Eingang zum Aktualisieren
des internen Zustands verwendet werden.
Das Forget-Gate bestimmt, welche Informationen aus dem internen
Zustand der Zelle verworfen werden sollen.
Und das Output-Gate legt basierend auf dem Eingang und dem internen
Zustand der Zelle fest, was ausgegeben werden soll.
Nun, wie verbinden wir diese LSTM-Zellen untereinander?
Genauso wie bei den künstlichen neuronalen Netzen, in Schichten aus
mehreren Zellen.
RNNs sind von Natur aus zeitlich tief, wegen der Rückkopplung ihrer
inneren Zustände.
Man kann aber sehr häufig von einem gestapelten Modell aus mehreren
Schichten profitieren.
Nach den LSTM-Schichten und genau vor dem Ausgang hat man häufig eine
künstliche neuronale Schicht, auch Denslayer genannt, welche die
Ausgänge der LSTM-Zellen miteinander kombiniert.
Wie Sie sehen, sind neuronale Netze vielfältig.
Man kann ein künstliches Gedächtnis auf Basis von Schleifen und Toren
erstellen.
Die LSTM-Netze können sich an Sequenzen auch über eine lange Zeit
erinnern, was die Genauigkeit dieser Modelle deutlich verbessert.