Порівняння кількості параметрів
Ви бачили, що one-hot подання — не найкраще подання слів, адже воно дуже розріджене. Шар Embedding створює щільні векторні представлення, але водночас вимагає великої кількості параметрів для навчання.
У цій вправі ви порівняєте кількість параметрів у двох моделях, що використовують embeddings і one-hot кодування, щоб побачити різницю.
Модель model_onehot уже завантажено в середовище, так само як Sequential, Dense і GRU з keras. Нарешті, параметри vocabulary_size=80000 і sentence_len=200 також завантажено.
Ця вправа є частиною курсу
Recurrent Neural Networks (RNNs) для моделювання мови з Keras
Інструкції до вправи
- Імпортуйте шар
Embeddingзkeras.layers. - У шарі embedding використайте розмір словника плюс один як розмір вхідного простору та довжину речення як довжину входу.
- Скомпілюйте модель.
- Виведіть зведення моделі з embedding.
Інтерактивна практична вправа
Спробуйте виконати цю вправу, доповнивши цей зразок коду.
# 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.____