ComenzarEmpieza gratis

Aprendizaje por transferencia

Has visto que, al entrenar una capa de incrustación, es necesario aprender muchos parámetros.

En este ejercicio, verás que al utilizar el aprendizaje por transferencia es posible utilizar los pesos preentrenados y no actualizarlos, lo que significa que todos los parámetros de la capa de incrustación serán fijos y el modelo solo tendrá que aprender los parámetros de las otras capas.

La función load_glove ya está cargada en el entorno y recupera la matriz del guante como un vector numpy.ndarray. Utiliza la función explicada en las diapositivas de la lección para recuperar los vectores glove con 200 dimensiones de incrustación para el vocabulario presente en este ejercicio.

Este ejercicio forma parte del curso

Redes neuronales recurrentes (RNN) para el modelado del lenguaje con Keras

Ver curso

Instrucciones del ejercicio

  • Utiliza la función predefinida para cargar los vectores de guantes.
  • Utiliza el inicializador Constant en los vectores preentrenados.
  • Añade la capa de salida como una red neuronal convolucional ( Dense ) con una unidad.
  • Imprime el resumen y comprueba los parámetros entrenables.

Ejercicio interactivo práctico

Prueba este ejercicio y completa el código de muestra.

# 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 y ejecutar código