Definition: Long Short-Term Memory-Layer

Als Long Short-Term Memory Layer (kurz LSTM Layer) bezeichnen wir eine Art rekurrenten Layer, der über zwei hidden states verfügt:

  • das “Kurzzeitgedächtnis” und
  • das “Langzeitgedächtnis” (auch Zellzustand) .

Die Aktualisierung des Langzeitgedächtnisses geschieht mithilfe sogenannter Gates, die selber durch parametrisierte Layer berechnet werden. Wir unterscheiden zwischen

  • Forget Gate
    • Entscheidet auf Basis des Inputs und des vorigen Hidden States, welche Informationen des Langzeitgedächtnisses noch relevant sind und skaliert sie entsprechend.
  • Input Gate
    • Entscheidet auf Basis des Inputs und des vorigen Hidden States, welche Dimensionen des Inputs für das Langzeitgedächtnis von Relevanz sind und skaliert den transformierten Input value entsprechend.
  • Output Gate
    • Entscheidet auf Basis des Inputs und des vorigen Hidden States, welche Dimensionen des Langzeitgedächtnisses für den Output relevant sind und skaliert sie entsprechend.

Als Output produziert das LSTM einen neuen Cell State und einen neuen Hidden State , der als primärer Output des Netzwerkes in nachfolgenden Schichten genutzt wird.

Die Gates berechnen wir wie folgt:

Die States erhalten wir durch

Anmerkung

Komponentenweise Gate-Multiplikation

Die Multiplikation mit den Gates ist unbedingt komponentenweise zu verstehen!

Weshalb ist ein Langzeitgedächtnis?

Da an keiner Stelle mit einer Gewichtsmatrix multipliziert wird (höchstens mit dem Forget-Gate ) und Informationen nur durch Addition zum Langzeitgedächtnis hinzugefügt werden, haben LSTMs weniger Probleme mit Vanishing / Exploding Gradients und dem Vergessen von Informationen.