ComeçarComece de graça

Aprendizado por transferência

Você viu que, ao treinar uma camada de incorporação, é preciso aprender muitos parâmetros.

Neste exercício, você vai ver que, ao usar o aprendizado por transferência, dá pra usar os pesos pré-treinados e não atualizá-los, o que significa que todos os parâmetros da camada de incorporação vão ficar fixos, e o modelo só vai precisar aprender os parâmetros das outras camadas.

A função load_glove já está carregada no ambiente e pega a matriz da luva como um vetor numpy.ndarray. Ele usa a função que a gente viu nos slides da aula pra pegar os vetores glove com 200 dimensões de incorporação pro vocabulário que tá nesse exercício.

Este exercício faz parte do curso

Redes Neurais Recorrentes (RNNs) para Modelagem de Linguagem com Keras

Ver curso

Instruções do exercício

  • Use a função pré-definida para carregar os vetores da luva.
  • Use o inicializador Constant nos vetores pré-treinados.
  • Adicione a camada de saída como um “ Dense ” com uma unidade.
  • Imprima o resumo e veja os parâmetros que podem ser treinados.

Exercício interativo prático

Experimente este exercício completando este código de exemplo.

# Load the glove pre-trained vectors
glove_matrix = ____('glove_200d.zip')

# Create a model with embeddings
model = Sequential(name="emb_model")
model.add(Embedding(input_dim=vocabulary_size + 1, output_dim=wordvec_dim, 
                    embeddings_initializer=____(glove_matrix), 
                    input_length=sentence_len, trainable=False))
model.add(GRU(128))
model.add(____)
model.compile(loss='binary_crossentropy', optimizer='adam', metrics=['accuracy'])

# Print the summaries of the model with embeddings
model.____
Editar e executar o código