Comparando o número de parâmetros
Você viu que a representação one-hot não é uma boa representação de palavras porque é muito esparsa. Usar a camada “ Embedding ” cria uma representação densa dos vetores, mas também exige que muitos parâmetros sejam aprendidos.
Neste exercício, você vai comparar o número de parâmetros de dois modelos usando a codificação embeddings e one-hot para ver a diferença.
O modelo model_onehot já está carregado no ambiente, assim como os Sequential, Dense e GRU de keras. Por fim, os parâmetros vocabulary_size=80000 e sentence_len=200 também são carregados.
Este exercício faz parte do curso
Redes Neurais Recorrentes (RNNs) para Modelagem de Linguagem com Keras
Instruções do exercício
- Importa a camada “
Embedding” dekeras.layers. - Na camada de incorporação, use o tamanho do vocabulário mais um como dimensão de entrada e o tamanho da frase como comprimento de entrada.
- Compile o modelo.
- Imprima o resumo do modelo com incorporação.
Exercício interativo prático
Experimente este exercício completando este código de exemplo.
# 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.____