Začněte nyníZačněte zdarma

Porovnání počtu parametrů

Viděl/a jsi, že one-hot reprezentace není vhodným způsobem reprezentace slov, protože je velmi řídká. Vrstva Embedding vytváří hustou reprezentaci vektorů, ale zároveň vyžaduje naučení velkého množství parametrů.

V tomto cvičení porovnáš počet parametrů dvou modelů – jednoho používajícího embeddings a druhého používajícího one-hot kódování – a uvidíš, jaký je mezi nimi rozdíl.

Model model_onehot je již načtený v prostředí, stejně jako Sequential, Dense a GRU z keras. Dále jsou načteny i parametry vocabulary_size=80000 a sentence_len=200.

Toto cvičení je součástí kurzu

Rekurentní neuronové sítě (RNN) pro jazykové modelování s Keras

Zobrazit kurz

Pokyny k cvičení

  • Importuj vrstvu Embedding z keras.layers.
  • Pro embedding vrstvu použij jako vstupní dimenzi velikost slovníku plus jedničku a jako vstupní délku délku věty.
  • Sestav model.
  • Vypiš přehled modelu s embedding vrstvou.

Interaktivní cvičení na vyzkoušení si v praxi

Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.

# 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.____
Upravit a spustit kód