Bouw je LSTM-model
Je hebt je tekstsequenties al voorbereid. Tijd om je LSTM-model te bouwen!
Onthoud: je sequenties hadden elk 4 woorden. Je model wordt getraind op de eerste drie woorden van elke sequentie en voorspelt het vierde woord. Je gaat een Embedding-laag gebruiken die in essentie leert om woorden om te zetten in betekenisvolle vectoren. Deze vectoren gaan vervolgens naar een eenvoudige LSTM-laag. Onze output is een Dense-laag met evenveel neuronen als woorden in de vocabulaire en met softmax-activatie. Dit doen we omdat we het meest waarschijnlijke volgende woord uit alle mogelijke woorden willen krijgen.
De omvang van de vocabulaire (het aantal unieke woorden) staat in vocab_size.
Deze oefening maakt deel uit van de cursus
Introductie tot Deep Learning met Keras
Oefeninstructies
- Importeer de lagen
Embedding,LSTMenDenseuittensorflow.keraslayers. - Voeg een
Embedding()-laag toe op basis van de vocabulairegrootte, die woorden omzet in vectoren van 8 getallen en sequenties van lengte 3 ontvangt. - Voeg een
LSTM()-laag met 32 neuronen toe. - Voeg een verborgen
Dense()-laag met 32 neuronen toe en een outputlaag metvocab_sizeneuronen metsoftmax.
Praktische interactieve oefening
Probeer deze oefening eens door deze voorbeeldcode in te vullen.
# 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()