EmpezarEmpieza gratis

Construyendo un autoencoder

Los autoencoders tienen varias aplicaciones interesantes, como la detección de anomalías o la eliminación de ruido en imágenes. Su objetivo es producir una salida idéntica a la entrada. La entrada se comprime en un espacio de menor dimensionalidad, codificado. Luego, el modelo aprende a decodificarlo para volver a su forma original.

Vas a codificar y decodificar el conjunto de datos MNIST de dígitos escritos a mano. La capa oculta codificará una representación de 32 dimensiones de la imagen, que originalmente consta de 784 píxeles (28 x 28). En esencia, el autoencoder aprenderá a transformar la imagen original de 784 píxeles en una imagen comprimida de 32 "píxeles" y a usar esa representación codificada para reconstruir la imagen original de 784 píxeles.

El modelo Sequential y las capas Dense están listas para que las uses.

¡Vamos a construir un autoencoder!

Este ejercicio forma parte del curso

Introducción al Deep Learning con Keras

Ver curso

Instrucciones del ejercicio

  • Crea un modelo Sequential.
  • Añade una capa densa con tantas neuronas como dimensiones de la imagen codificada y con input_shape igual al número de píxeles de la imagen original.
  • Añade una capa final con tantas neuronas como píxeles en la imagen de entrada.
  • Compila tu autoencoder usando adadelta como optimizador y binary_crossentropy como función de pérdida, y luego muéstralo con un resumen.

ejercicio interactivo práctico

Prueba este ejercicio completando este código de ejemplo.

# Start with a sequential model
autoencoder = ____

# Add a dense layer with input the original image pixels and neurons the encoded representation
autoencoder.add(____(____, input_shape=(____, ), activation="relu"))

# Add an output layer with as many neurons as the orginal image pixels
autoencoder.add(____(____, activation = "sigmoid"))

# Compile your model with adadelta
autoencoder.compile(optimizer = ____, loss = ____)

# Summarize your model structure
____
Editar y ejecutar código