ÎncepețiÎncepe gratuit

Construirea unui autoencoder

Autoencoderele au mai multe aplicații interesante, cum ar fi detectarea anomaliilor sau eliminarea zgomotului din imagini. Scopul lor este să producă o ieșire identică cu intrarea. Datele de intrare sunt comprimate într-un spațiu de dimensiune mai mică – codificate (encoded). Modelul învață apoi să le decodifice (decode) înapoi la forma originală.

Vei codifica și decodifica setul de date MNIST cu cifre scrise de mână. Stratul ascuns va produce o reprezentare de 32 de dimensiuni a imaginii, care constă inițial din 784 de pixeli (28 x 28). Autoencoderele va învăța, în esență, să transforme imaginea originală de 784 de pixeli într-o imagine comprimată de 32 de pixeli și să folosească acea reprezentare codificată pentru a reconstrui imaginea originală de 784 de pixeli.

Modelul Sequential și straturile Dense sunt deja disponibile.

Hai să construim un autoencoder!

Acest exercițiu face parte din cursul

Introducere în Deep Learning cu Keras

Vezi cursul

Instrucțiuni pentru exercițiu

  • Creează un model Sequential.
  • Adaugă un strat dens cu atâția neuroni câte dimensiuni are imaginea codificată și cu input_shape egal cu numărul de pixeli din imaginea originală.
  • Adaugă un strat final cu atâția neuroni câți pixeli are imaginea de intrare.
  • Compilează modelul autoencoder folosind adadelta ca optimizer și funcția de pierdere binary_crossentropy, apoi afișează un rezumat al acestuia.

Exercițiu interactiv practic

Încearcă acest exercițiu completând acest cod de exemplu.

# 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
____
Editează și rulează codul