LoslegenKostenlos loslegen

Lernen übertragen

Du hast gesehen, dass man beim Training einer Einbettungsschicht viele Parameter lernen muss.

In dieser Übung wirst du sehen, dass man beim Transferlernen die vortrainierten Gewichte verwenden und nicht aktualisieren kann, was bedeutet, dass alle Parameter der Einbettungsschicht fixiert bleiben und das Modell nur die Parameter aus den anderen Schichten lernen muss.

Die Funktion „ load_glove “ ist schon in der Umgebung geladen und holt die Handschuhmatrix als Vektor „ numpy.ndarray “ ab. Es nutzt die Funktion aus den Folien der Lektion, um die Handschuhvektoren mit 200 Einbettungsdimensionen für das Vokabular in dieser Übung abzurufen.

Diese Übung ist Teil des Kurses

Rekursive neuronale Netze (RNNs) für die Sprachmodellierung mit Keras

Kurs anzeigen

Anleitung zur Übung

  • Benutz die vordefinierte Funktion, um die Handschuhvektoren zu laden.
  • Verwende den Initialisierer „ Constant “ für die vortrainierten Vektoren.
  • Füge die Ausgabeschicht als „ Dense “ mit einer Einheit hinzu.
  • Druck die Zusammenfassung aus und check die trainierbaren Parameter.

Interaktive Übung

Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.

# 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.____
Code bearbeiten und ausführen