建立你的 LSTM 模型
你已經準備好文字序列了。現在來建立你的 LSTM 模型!
記得每個序列有 4 個詞。模型會以每個序列的前 3 個詞作為訓練輸入,預測第 4 個詞。你將使用 Embedding 層,讓模型學會把詞轉換成有意義的向量。這些向量會傳入一個簡單的 LSTM 層。輸出則是 Dense 層,神經元數與詞彙表大小相同,並使用 softmax 活化函式。這樣做是因為我們想從所有可能的詞中選出機率最高的下一個詞。
詞彙表(不重複詞的數量)的大小已儲存在 vocab_size。
本練習屬於課程
Keras 深度學習入門
練習說明
- 從
tensorflow.keras的 layers 匯入Embedding、LSTM和Dense。 - 新增一個
Embedding()層,維度為詞彙表大小,將詞轉成長度為 8 的向量,並接收長度為 3 的序列。 - 新增一個具有 32 個神經元的
LSTM()層。 - 新增一個具有 32 個神經元的隱藏
Dense()層,以及一個具有vocab_size個神經元並使用softmax的輸出層。
動手互動練習
試著完成這個範例程式碼,體驗一下這個練習。
# 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()