Baue dein LSTM-Modell
Du hast deine Textsequenzen bereits vorbereitet. Zeit, dein LSTM-Modell zu bauen!
Erinnere dich: Deine Sequenzen hatten jeweils 4 Wörter. Dein Modell wird auf den ersten drei Wörtern jeder Sequenz trainiert und sagt das vierte voraus. Du wirst eine Embedding-Schicht verwenden, die im Grunde lernt, Wörter in aussagekräftige Vektoren zu verwandeln. Diese Vektoren werden dann an eine einfache LSTM-Schicht weitergegeben. Unsere Ausgabe ist eine Dense-Schicht mit so vielen Neuronen, wie es Wörter im Vokabular gibt, und mit softmax-Aktivierung. So erhalten wir das wahrscheinlichste nächste Wort aus allen möglichen Wörtern.
Die Größe des Wortschatzes (die Anzahl einzigartiger Wörter) ist in vocab_size gespeichert.
Diese Übung ist Teil des Kurses
<Kurs>Einstieg ins Deep Learning mit Keras</Kurs>Übungsanweisungen
- Importiere die Schichten
Embedding,LSTMundDenseaus dentensorflow.keras-Layers. - Füge eine
Embedding()-Schicht der Vokabulargröße hinzu, die Wörter in 8-dimensionale Zahlvektoren verwandelt und Sequenzen der Länge 3 entgegennimmt. - Füge eine
LSTM()-Schicht mit 32 Neuronen hinzu. - Füge eine verborgene
Dense()-Schicht mit 32 Neuronen und eine Ausgabeschicht mitvocab_sizeNeuronen undsoftmaxhinzu.
Interaktive praktische Übung
Versuche dich an dieser Übung, indem du diesen Beispielcode vervollständigst.
# Import the Embedding, LSTM and Dense layer
from tensorflow.keras.____ import ____, ____, ____
model = Sequential()
# Add an Embedding layer with the right parameters
model.add(____(input_dim = ____, input_length = ____, output_dim = ____, ))
# Add a 32 unit LSTM layer
model.add(____(____))
# Add a hidden Dense layer of 32 units and an output layer of vocab_size with softmax
model.add(Dense(____, activation='relu'))
model.add(Dense(____, activation=____))
model.summary()