Zum Inhalt springen

Long Short-Term Memory Networks (LSTM) – einfach erklärt!

Das Long Short-Term Memory (kurz: LSTM) Modell ist eine Unterform der Recurrent Neural Networks (RNN). Es wird genutzt, um Muster in Datensequenzen zu erkennen, wie sie beispielsweise in Sensordaten, Aktienkursen oder in der natürlichen Sprache auftauchen. Die RNN sind dazu in der Lage, weil sie neben dem tatsächlichen Wert auch dessen Position in der Sequenz in die Vorhersage mit einbeziehen.

Was sind Recurrent Neural Networks?

Um verstehen zu können, wie Recurrent Neural Networks funktionieren, müssen wir uns nochmal vor Augen führen, wie normale Feedforward Neuronale Netze aufgebaut sind. In diesen ist ein Neuron der Hidden Layer jeweils mit den Neuronen aus der vorherigen Schicht und den Neuronen aus der folgenden Schicht verbunden. Der Output eines Neurons kann in einem solchen Netzwerk immer nur nach vorne weitergereicht werden, jedoch niemals an ein Neuron auf derselben Schicht oder sogar der vorherigen Schicht, daher auch der Name „Feedforward“.

Das Bild zeigt den Grundaufbau eines Künstlichen Neuronalen Netzwerkes mit den verschiedenen Schichten.
Aufbau Feedforward Neural Network

Bei Rekurrenten Neuronalen Netzwerken ist das anders. Der Output eines Neurons kann dort sehr wohl als Input einer vorherigen Schicht oder der aktuellen Schicht genutzt werden. Das kommt tatsächlich auch der Funktionsweise unseres Gehirns nochmal deutlich näher, als die Art und Weise, wie Feedforward Neuronale Netze aufgebaut sind. In vielen Anwendungen benötigen wir auch ein Verständnis für unmittelbar davor berechnete Schritte, um das Gesamtergebnis zu verbessern.

Welche Probleme haben RNNs?

Recurrent Neural Networks waren ein echter Durchbruch im Bereich des Deep Learnings, da zum ersten Mal auch die Berechnungen aus der jüngeren Vergangenheit mit in die aktuelle Berechnung mit einbezogen wurden und dadurch die Ergebnisse in der Sprachverarbeitung deutlich verbesserten. Trotzdem bringen sie während des Trainings auch einige Probleme mit sich, die es zu beachten gilt.

Wie wir in unserem Beitrag zum Gradientenverfahren bereits erläutert haben, kann es beim Training von Neuronalen Netzwerken mit dem Gradientenverfahren dazu kommen, dass der Gradient entweder sehr kleine Werte nahe 0 oder sehr große Werte in der Nähe von Unendlich annimmt. In beiden Fällen können wir die Gewichtungen der Neuronen während der Backpropagation nicht mehr abändern, da sich die Gewichtung entweder so gut wie gar nicht ändert oder wir aber die Zahl mit so einem großen Wert überhaupt nicht multiplizieren können. Aufgrund der vielen Vernetzungen im Rekurrenten Neuronalen Netzwerk und der leicht abgeänderten Form des Backpropagation Algorithmus, die dafür genutzt wird, ist die Wahrscheinlichkeit, dass es zu diesen Problemen kommen wird, deutlich höher als in normalen Feedforward Netzen.

Normale RNNs sind sehr gut dafür geeignet, sich Kontexte zu merken und in die Vorhersage mit einzubeziehen. Das ermöglicht es dem RNN beispielsweise zu erkennen, dass in dem Satz „Die Wolken sind am ___“ das Wort „Himmel“ benötigt wird, um in diesem Kontext den Satz richtig zu vervollständigen. In einem längeren Satz wird es hingegen deutlich schwieriger den Kontext aufrechtzuerhalten. Beim dem leicht veränderten Satz „Die Wolken, die teilweise fließend ineinander übergehen und tief hängen, sind am ___“ wird es für ein Recurrent Neural Network schon deutlich schwieriger auf das Wort „Himmel“ zu schließen.

Wie funktionieren Long Short-Term Memory Modelle?

Das Problem von Recurrent Neural Networks ist, dass sie zwar ein Kurzzeitgedächtnis besitzen, um vorherige Informationen im aktuellen Neuron noch vorzuhalten. Diese Fähigkeit nimmt jedoch bei längeren Sequenzen sehr schnell ab. Als Abhilfe dafür wurden die LSTM Modelle eingeführt, um vergangene Informationen noch länger vorhalten zu können.

Das Problem von Recurrent Neural Networks ist, dass sie die vorherigen Daten einfach in ihrem „Kurzzeitgedächtnis“ abspeichern. Sobald der Speicher darin ausgeht, wird einfach die am längsten erhaltene Informationen gelöscht und durch die neue Daten ersetzt. Das LSTM Modell versucht diesem Problem zu entkommen, indem es nur ausgewählte Informationen im Kurzzeitgedächtnis behält.

Dazu besteht die LSTM Architektur aus ingesamt drei verschiedenen Stufen:

  1. Im sogenannten Forget Gate wird entschieden welche aktuellen und vorherigen Informationen behalten werden und welche rausfliegen. Darin enthalten sind der Hidden Status aus dem vorherigen Durchlauf und der aktuelle Status. Diese Werte werden in eine Sigmoid Funktion gegeben, die lediglich Werte zwischen 0 und 1 ausgeben kann. Der Wert 0 bedeutet, dass alle vorherigen Informationen vergessen werden und 1 entsprechend, dass alle vorherigen Informationen erhalten bleiben.
  2. Im Input Gate wird entschieden wie wertvoll der aktuelle Input ist, um die Aufgabe zu lösen. Dazu wird der aktuelle Input mit dem Hidden State und der Weight Matrix des letzten Durchlaufs multipliziert.
  3. Im Output Gate wird dann der Output des LSTM Modells berechnet. Je nach Anwendung kann es beispielsweise ein Wort sein, das die Bedeutung des Satzes komplementiert.

Das solltest Du mitnehmen

  • LSTM Modelle sind eine Unterform von Recurrent Neural Networks.
  • Sie werden genutzt, um Muster in Datensequenzen zu erkennen, wie sie beispielsweise in Sensordaten, Aktienkursen oder in der natürlichen Sprache auftauchen.
  • Durch eine besondere Architektur kann das LSTM Modell entscheiden, ob es vorherige Informationen im Kurzzeitgedächtnis behält oder sie verwirft. Dadurch werden auch längere Abhängigkeiten in Sequenzen erkannt.

Andere Beiträge zum Thema LSTM

  • TensorFlow bietet ein Tutorial, wie man LSTM Schichten in deren Modellen nutzen kann.
close
Das Logo zeigt einen weißen Hintergrund den Namen "Data Basecamp" mit blauer Schrift. Im rechten unteren Eck wird eine Bergsilhouette in Blau gezeigt.

Verpass keine neuen Beiträge!

Wir versenden keinen Spam! Lies die Details gerne in unserer Datenschutzrichtlinie nach.

Cookie Consent mit Real Cookie Banner