開始使用免費開始

建立你的 LSTM 模型

你已經準備好文字序列了。現在來建立你的 LSTM 模型!

記得每個序列有 4 個詞。模型會以每個序列的前 3 個詞作為訓練輸入,預測第 4 個詞。你將使用 Embedding 層,讓模型學會把詞轉換成有意義的向量。這些向量會傳入一個簡單的 LSTM 層。輸出則是 Dense 層,神經元數與詞彙表大小相同,並使用 softmax 活化函式。這樣做是因為我們想從所有可能的詞中選出機率最高的下一個詞。

詞彙表(不重複詞的數量)的大小已儲存在 vocab_size

本練習屬於課程

Keras 深度學習入門

檢視課程

練習說明

  • tensorflow.keras 的 layers 匯入 EmbeddingLSTMDense
  • 新增一個 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()
編輯並執行程式碼