Criação de um codificador automático
Os autoencodificadores têm várias aplicações interessantes, como detecção de anomalias ou redução de ruído de imagens. Eles têm como objetivo produzir um resultado idêntico aos seus insumos. A entrada será compactada em um espaço de dimensão inferior, codificado. O modelo então aprende a decodificá-lo de volta à sua forma original.
Você codificará e decodificará o conjunto de dados MNIST Você codificará e decodificará o conjunto de dados de dígitos manuscritos, a camada oculta codificará uma representação de 32 dimensões da imagem, que originalmente consiste em 784 pixels (28 x 28). Essencialmente, o codificador automático aprenderá a transformar a imagem original de 784 pixels em uma imagem compactada de 32 pixels e aprenderá a usar essa representação codificada para trazer de volta a imagem original de 784 pixels.
O modelo Sequential
e as camadas Dense
estão prontos para você usar.
Vamos criar um codificador automático!
Este exercício faz parte do curso
Introdução à aprendizagem profunda com o Keras
Instruções de exercício
- Crie um modelo
Sequential
. - Adicione uma camada densa com tantos neurônios quanto as dimensões da imagem codificada e
input_shape
o número de pixels na imagem original. - Adicione uma camada final com tantos neurônios quanto os pixels da imagem de entrada.
- Compile seu
autoencoder
usandoadadelta
como otimizador ebinary_crossentropy
como perda e, em seguida, faça um resumo.
Exercício interativo prático
Experimente este exercício preenchendo este código de exemplo.
# 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
____