构建您的 LSTM 模型
您已经准备好了文本序列。现在来构建 LSTM 模型吧!
请记住,每个序列包含 4 个单词。模型将用每个序列的前三个单词进行训练,去预测第 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()