Anzahl der Parameter im Vergleich
Du hast gesehen, dass die One-Hot-Darstellung keine gute Darstellung für Wörter ist, weil sie sehr spärlich ist. Mit der „ Embedding “-Schicht kriegt man eine dichte Darstellung der Vektoren, aber es müssen auch viele Parameter gelernt werden.
In dieser Übung vergleichst du die Anzahl der Parameter zweier Modelle, die die Codierungen „ embeddings “ und „ one-hot “ verwenden, um den Unterschied zu erkennen.
Das Modell „ model_onehot “ ist schon in der Umgebung geladen, genauso wie „ Sequential “, „ Dense “ und „ GRU “ von keras. Zum Schluss werden auch die Parameter „ vocabulary_size=80000 “ und „ sentence_len=200 “ geladen.
Diese Übung ist Teil des Kurses
Rekursive neuronale Netze (RNNs) für die Sprachmodellierung mit Keras
Anleitung zur Übung
- Importiere die Ebene „
Embedding“ vonkeras.layers. - Nimm auf der Einbettungsebene die Vokabulargröße plus eins als Eingabedimension und die Satzgröße als Eingabelänge.
- Das Modell zusammenstellen.
- Druck die Zusammenfassung des Modells mit Einbettung aus.
Interaktive Übung
Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.
# Import the embedding layer
from tensorflow.keras.layers import ____
# Create a model with embeddings
model = Sequential(name="emb_model")
model.add(Embedding(input_dim=____, output_dim=wordvec_dim, input_length=____, trainable=True))
model.add(GRU(128))
model.add(Dense(1))
model.____(loss='binary_crossentropy', optimizer='adam', metrics=['accuracy'])
# Print the summaries of the one-hot model
model_onehot.summary()
# Print the summaries of the model with embeddings
model.____