开始使用免费开始使用

迁移学习

您已经看到,训练一个嵌入层需要学习大量参数。

在本练习中,您将看到使用迁移学习时,可以直接使用预训练权重且不再更新它们。也就是说,嵌入层的所有参数都会固定不变,模型只需学习其他层的参数。

环境中已提供函数 load_glove,它会以 numpy.ndarray 向量的形式返回 GloVe 矩阵。该函数基于本课幻灯片介绍的方法,获取本练习词表对应的 200 维嵌入向量。

本练习是课程的一部分

使用 Keras 构建语言建模的循环神经网络(RNN)

查看课程

练习说明

  • 使用预定义函数加载 GloVe 向量。
  • 在预训练向量上使用 Constant 初始化器。
  • 添加输出层,使用 1 个单元的 Dense
  • 打印模型摘要并检查可训练参数。

交互式实操练习

通过完成这段示例代码来试试这个练习。

# Load the glove pre-trained vectors
glove_matrix = ____('glove_200d.zip')

# Create a model with embeddings
model = Sequential(name="emb_model")
model.add(Embedding(input_dim=vocabulary_size + 1, output_dim=wordvec_dim, 
                    embeddings_initializer=____(glove_matrix), 
                    input_length=sentence_len, trainable=False))
model.add(GRU(128))
model.add(____)
model.compile(loss='binary_crossentropy', optimizer='adam', metrics=['accuracy'])

# Print the summaries of the model with embeddings
model.____
编辑并运行代码