LSTM Sammelsurium

Modellierung Künstlicher Intelligenz

Darstellung von Text im Kontext von NLP

Keras Tokenizer

LSTM Sammelsurium

Optimizer

Transformer

Autoencoder

Verschiedene Einstiegsseiten

Chritopher Ohla über LSTM gibt einen kurzen Einblick in den inneren Aufbau einer LSTM-Zelle. Es werden verschiedene Varianten wie das Gated Recurrent Unit (GRU) mit Links zu den initialen Veröffentlichungen in arxiv beleuchtet.

Die Bildchen kann man fast direkt in Code umsetzen. In groben Zügen sieht ein Plain-Vanilla Recurrent Network-Unit in etwa wie folgt aus:

class RNN:
    def step(self, x):
        self.h = np.tanh(np.dot(self.W_hh, self.h) + np.dot(self.W_xh, x))
        y = np.dot(self.W_hy, self.h)
    return y
layer1 = RNN()
layer2 = RNN()
b = layer1.schritt(a)
d = layer2.schritt(b)

Der entscheidende Unterschied in den Varianten liegt in dem Teil self.h = …
Hier entscheidet sich, ob es eine der LSTM-Varianten oder ein GRU oder eine sonstige Variante ist. Sofern man die Backpropagation in den Griff bekommt sind der Phantasie keine Grenzen gesetzt.

AppMonitor LSTM-Networks zeigt LSTMs aus Entwicklersicht mit kurzen und vollständigen Beispielen.

LSTM is Dead Long Live Transformers spricht kurz die Schwäche von LSTM-Netzen an und zeigt am Code wie heute (2020) damit umgegangen wird.

The unreasonable Effectiveness of Recurrent Neural Networks/ enthält nicht wirklich Fakten dafür aber einige schöne Beispiel-Ergebnisse.

Modellierung Künstlicher Intelligenz

Keras Tokenizer Optimizer