ComeçarComece de graça

Construindo um autoencoder

Autoencoders têm várias aplicações interessantes, como detecção de anomalias e remoção de ruído em imagens. Eles buscam produzir uma saída idêntica à entrada. A entrada é comprimida em um espaço de menor dimensão, codificada. Em seguida, o modelo aprende a decodificá-la de volta à forma original.

Você vai codificar e decodificar o conjunto de dados MNIST de dígitos manuscritos. A camada oculta vai codificar uma representação de 32 dimensões da imagem, que originalmente tem 784 pixels (28 x 28). Na prática, o autoencoder vai aprender a transformar a imagem original de 784 pixels em uma versão comprimida de 32 “pixels” e usar essa representação codificada para reconstruir a imagem original de 784 pixels.

O modelo Sequential e as camadas Dense já estão prontos para você usar.

Vamos construir um autoencoder!

Este exercício faz parte do curso

Introdução ao Deep Learning com Keras

Ver curso

Instruções do exercício

  • Crie um modelo Sequential.
  • Adicione uma camada densa com tantos neurônios quanto as dimensões da imagem codificada e input_shape igual ao número de pixels da imagem original.
  • Adicione uma camada final com tantos neurônios quanto pixels na imagem de entrada.
  • Compile seu autoencoder usando adadelta como otimizador e binary_crossentropy como função de perda, depois gere o resumo do modelo.

Exercício interativo prático

Experimente este exercício completando 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
____
Editar e executar o código