Construir un autocodificador
Los autocodificadores tienen varias aplicaciones interesantes, como la detección de anomalías o la eliminación de ruido en imágenes. Su objetivo es producir un producto idéntico a sus insumos. La entrada se comprimirá en un espacio de menor dimensión, codificado. A continuación, el modelo aprende a descodificarlo para devolverlo a su forma original.
Se codificará y decodificará el MNIST conjunto de datos de dígitos manuscritos, la capa oculta codificará una representación de 32 dimensiones de la imagen, que originalmente consta de 784 píxeles (28 x 28). El autocodificador aprenderá esencialmente a convertir la imagen original de 784 píxeles en una imagen comprimida de 32 píxeles y a utilizar esa representación codificada para recuperar la imagen original de 784 píxeles.
El modelo Sequential
y las capas Dense
están listos para su uso.
¡Construyamos un autocodificador!
Este ejercicio forma parte del curso
Introducción al aprendizaje profundo con Keras
Instrucciones del ejercicio
- Cree un modelo
Sequential
. - Añadir una capa densa con tantas neuronas como dimensiones tenga la imagen codificada y
input_shape
el número de píxeles de la imagen original. - Añade una capa final con tantas neuronas como píxeles haya en la imagen de entrada.
- Compile su
autoencoder
utilizandoadadelta
como optimizador ybinary_crossentropy
como pérdida, y luego resúmalo.
Ejercicio interactivo práctico
Prueba este ejercicio completando el código de muestra.
# 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
____