Zacznij terazZacznij za darmo

Porównanie liczby parametrów

Reprezentacja one-hot nie jest dobrym sposobem kodowania słów, ponieważ jest bardzo rzadka. Warstwa Embedding tworzy gęstą reprezentację wektorów, ale wymaga nauczenia się dużej liczby parametrów.

W tym ćwiczeniu porównasz liczbę parametrów dwóch modeli – jednego używającego osadzeń (embeddings), a drugiego kodowania one-hot – aby zobaczyć różnicę.

Model model_onehot jest już załadowany w środowisku, podobnie jak Sequential, Dense i GRU z keras. Załadowane są również parametry vocabulary_size=80000 i sentence_len=200.

To ćwiczenie jest częścią kursu

Rekurencyjne sieci neuronowe (RNN) do modelowania języka w Keras

Zobacz kurs

Instrukcje do ćwiczenia

  • Zaimportuj warstwę Embedding z keras.layers.
  • W warstwie osadzenia użyj rozmiaru słownictwa powiększonego o jeden jako wymiaru wejściowego oraz rozmiaru zdania jako długości wejścia.
  • Skompiluj model.
  • Wyświetl podsumowanie modelu z osadzeniem.

Interaktywne ćwiczenie praktyczne

Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.

# 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.____
Edytuj i uruchom kod