ComenzarEmpieza gratis

Definición del codificador

Aquí darás el primer paso para crear un modelo de traducción automática: implementar el codificador. El codificador que vas a implementar es un modelo muy sencillo en comparación con los modelos complejos que se utilizan en aplicaciones reales, como el servicio de traducción automática de Google. Pero no te preocupes, aunque el modelo es sencillo, los conceptos son los mismos que los de los modelos complejos. Aquí utilizaremos el prefijo en (por ejemplo, en_gru) para indicar cualquier cosa relacionada con el codificador y de para indicar cosas relacionadas con el decodificador (por ejemplo, de_gru).

Verás que estamos eligiendo en_vocab para que sea más pequeño (150) que el valor real (228) que hemos encontrado. Reducir el vocabulario reduce la huella de memoria del modelo. Reducir ligeramente el vocabulario está bien, ya que al hacerlo eliminamos las palabras más raras. En las tareas de traducción automática, las palabras poco frecuentes suelen tener menos valor que las palabras comunes.

Este ejercicio forma parte del curso

Traducción automática con Keras

Ver curso

Instrucciones del ejercicio

  • Define una capa de red de vocabulario ( Input ) para una entrada que tiene un tamaño de vocabulario en_vocab y una longitud de secuencia en_len, utilizando el argumento shape.
  • Define una capa de red neuronal ( keras.layers.GRU ) que tenga hsize unidades ocultas y devuelva su estado.
  • Obtén los resultados de la capa GRU introduciendo en_inputs y asigna el estado GRU a en_state y el resultado a en_out.
  • Define un keras.models.Model cuya entrada sea en_inputs y la salida sea en_state e imprime el resumen del modelo.

Ejercicio interactivo práctico

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

import tensorflow.keras as keras

en_len = 15
en_vocab = 150
hsize = 48

# Define an input layer
en_inputs = keras.layers.____(____=____)
# Define a GRU layer which returns the state
en_gru = ____(____, ____=____)
# Get the output and state from the GRU
____, ____ = ____(____)
# Define and print the model summary
encoder = ____(inputs=____, ____=____)
print(encoder.____)
Editar y ejecutar código