開始使用免費開始

遷移學習

你已經看到在訓練嵌入層時,需要學習大量參數。

在這個練習中,你會看到使用遷移學習時,可以直接用預先訓練好的權重,並且不再更新它們。也就是說,嵌入層的所有參數都會固定,模型只需要學習其他層的參數。

環境中已載入 load_glove 函式,會將 GloVe 矩陣取回為 numpy.ndarray 向量。它使用投影片中介紹的函式,為本練習中出現的詞彙擷取 200 維的 GloVe 嵌入向量(embedding)。

本練習屬於課程

使用 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.____
編輯並執行程式碼