Zbuduj model LSTM
Sekwencje tekstu masz już przygotowane. Czas zbudować model LSTM!
Pamiętaj, że każda sekwencja składa się z 4 słów – model będzie uczył się na pierwszych trzech słowach każdej sekwencji i przewidywał czwarte. Użyjesz warstwy Embedding, która nauczy się przekształcać słowa w znaczące wektory. Te wektory zostaną następnie przekazane do prostej warstwy LSTM. Wyjście stanowi warstwa Dense z tyloma neuronami, ile jest słów w słowniku, z aktywacją softmax. Dzięki temu model wskazuje najlepsze prawdopodobne następne słowo spośród wszystkich możliwych.
Rozmiar słownika (liczba unikalnych słów) jest przechowywany w zmiennej vocab_size.
To ćwiczenie jest częścią kursu
Wprowadzenie do uczenia głębokiego z Keras
Instrukcje do ćwiczenia
- Zaimportuj warstwy
Embedding,LSTMiDensez modułutensorflow.keraslayers. - Dodaj warstwę
Embedding()o rozmiarze słownika, która zamieni słowa na wektory 8-liczbowe i będzie przyjmować sekwencje o długości 3. - Dodaj warstwę
LSTM()z 32 neuronami. - Dodaj ukrytą warstwę
Dense()z 32 neuronami oraz warstwę wyjściową zvocab_sizeneuronami i aktywacjąsoftmax.
Interaktywne ćwiczenie praktyczne
Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.
# 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()