Créer un autoencodeur
Les autoencodeurs ont plusieurs applications intéressantes, comme la détection d'anomalies ou la réduction du bruit dans les images. Leur objectif est de produire une sortie identique à l'entrée. L'entrée est compressée dans un espace de plus faible dimension, elle est encodée. Le modèle apprend ensuite à la décoder pour retrouver sa forme originale.
Vous allez encoder puis décoder le jeu de données MNIST de chiffres manuscrits. La couche cachée encodera une représentation de l'image en 32 dimensions, alors que l'image originale compte 784 pixels (28 x 28). L'autoencodeur apprendra essentiellement à transformer l'image originale de 784 pixels en une image compressée de 32 « pixels » et à utiliser cette représentation encodée pour reconstruire l'image originale de 784 pixels.
Le modèle Sequential et les couches Dense sont prêts à être utilisés.
Créons un autoencodeur !
Cette activité fait partie du cours
Introduction à Deep Learning avec Keras
Instructions de l’exercice
- Créez un modèle
Sequential. - Ajoutez une couche dense avec autant de neurones que la dimension de l'image encodée et un
input_shapeégal au nombre de pixels de l'image originale. - Ajoutez une couche finale avec autant de neurones que de pixels dans l'image d'entrée.
- Compilez votre
autoencoderen utilisantadadeltacomme optimiseur etbinary_crossentropycomme perte, puis affichez son sommaire.
Exercice interactif pratique
Essayez cet exercice en complétant ce code d’exemple.
# 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
____