Kom igångKom igång gratis

Bygg en autoencoder

Autoencoders har flera intressanta användningsområden, till exempel anomalidetektion och brusreducering i bilder. Målet är att producera ett resultat som är identiskt med indata. Indatan komprimeras till ett lägre dimensionellt utrymme – den kodas. Modellen lär sig sedan att avkoda den tillbaka till sin ursprungliga form.

Du kommer att koda och avkoda MNIST-datamängden med handskrivna siffror. Det dolda lagret kodar en 32-dimensionell representation av bilden, som ursprungligen består av 784 pixlar (28 x 28). Autoencodern lär sig i grunden att omvandla den ursprungliga bilden med 784 pixlar till en komprimerad bild med 32 pixlar, och sedan använda den kodade representationen för att återskapa den ursprungliga bilden med 784 pixlar.

Modellen Sequential och Dense-lager är redo att användas.

Nu bygger vi en autoencoder!

Den här övningen är en del av kursen

Introduktion till djupinlärning med Keras

Visa kurs

Övningsinstruktioner

  • Skapa en Sequential-modell.
  • Lägg till ett tätt lager med lika många neuroner som den kodade bildens dimensioner, och sätt input_shape till antalet pixlar i den ursprungliga bilden.
  • Lägg till ett slutligt lager med lika många neuroner som antalet pixlar i indatabilden.
  • Kompilera din autoencoder med adadelta som optimerare och binary_crossentropy som förlustfunktion, och visa sedan en sammanfattning av den.

Interaktiv övning med praktiskt arbete

Testa den här övningen genom att slutföra den här exempelkoden.

# 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
____
Redigera och kör kod