Aan de slagGa gratis aan de slag

Vergelijking van het aantal parameters

Je hebt gezien dat de one-hot-representatie geen goede woordrepresentatie is omdat die heel schaars is. Met de Embedding-laag maak je een dichte representatie van de vectoren, maar dat vraagt ook om veel te leren parameters.

In deze oefening vergelijk je het aantal parameters van twee modellen die embeddings en one-hot-codering gebruiken om het verschil te zien.

Het model model_onehot is al in de omgeving geladen, net als Sequential, Dense en GRU uit keras. Tot slot zijn de parameters vocabulary_size=80000 en sentence_len=200 ook geladen.

Deze oefening maakt deel uit van de cursus

Recurrent Neural Networks (RNN's) voor taalmodellen met Keras

Cursus bekijken

Oefeninstructies

  • Importeer de Embedding-laag uit keras.layers.
  • Gebruik in de embedding-laag de vocabulairegrootte plus één als inputdimensie en de zinslengte als inputlengte.
  • Compileer het model.
  • Print de samenvatting van het model met embedding.

Praktische interactieve oefening

Probeer deze oefening eens door deze voorbeeldcode in te vullen.

# 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.____
Code bewerken en uitvoeren