Bygg din LSTM-modell
Du har redan förberett dina textsekvenser. Nu är det dags att bygga din LSTM-modell!
Kom ihåg att dina sekvenser innehåller 4 ord vardera. Modellen tränas på de första tre orden i varje sekvens och ska förutsäga det fjärde. Du använder ett Embedding-lager som lär sig att omvandla ord till meningsfulla vektorer. Dessa vektorer skickas sedan vidare till ett enkelt LSTM-lager. Utdatalagret är ett Dense-lager med lika många neuroner som det finns ord i vokabulären, med softmax-aktivering. Det beror på att vi vill identifiera det mest sannolika nästa ordet bland alla möjliga ord.
Vokabulärens storlek (det unika antalet ord) lagras i vocab_size.
Den här övningen är en del av kursen
Introduktion till djupinlärning med Keras
Övningsinstruktioner
- Importera lagren
Embedding,LSTMochDensefråntensorflow.keraslayers. - Lägg till ett
Embedding()-lager med vokabulärens storlek, som omvandlar ord till vektorer med 8 tal och tar emot sekvenser av längd 3. - Lägg till ett
LSTM()-lager med 32 neuroner. - Lägg till ett dolt
Dense()-lager med 32 neuroner och ett utdatalager medvocab_sizeneuroner ochsoftmax.
Interaktiv övning med praktiskt arbete
Testa den här övningen genom att slutföra den här exempelkoden.
# 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()