Začněte nyníZačněte zdarma

Vytvoření autoencoderu

Autoencodery mají řadu zajímavých využití – například detekci anomálií nebo odstraňování šumu z obrázků. Jejich cílem je produkovat výstup totožný se vstupem. Vstupní data jsou nejprve komprimována do prostoru s nižší dimenzí – zakódována. Model se pak naučí je dekódovat zpět do původní podoby.

Budeš kódovat a dekódovat dataset MNIST ručně psaných číslic. Skrytá vrstva zakóduje obrázek do 32rozměrné reprezentace, přičemž původní obrázek má 784 pixelů (28 x 28). Autoencoder se v podstatě naučí převést původní obrázek o 784 pixelech na komprimovaný obraz o 32 pixelech a poté využít tuto zakódovanou reprezentaci k obnovení původního obrázku s 784 pixely.

Model Sequential a vrstvy Dense jsou připraveny k použití.

Pojďme autoencoder sestavit!

Toto cvičení je součástí kurzu

Úvod do hlubokého učení s Keras

Zobrazit kurz

Pokyny k cvičení

  • Vytvoř model Sequential.
  • Přidej hustou vrstvu s takovým počtem neuronů, jaký odpovídá dimenzím zakódovaného obrázku, a nastav input_shape na počet pixelů původního obrázku.
  • Přidej výstupní vrstvu s takovým počtem neuronů, jaký odpovídá počtu pixelů vstupního obrázku.
  • Zkompiluj svůj autoencoder s optimalizátorem adadelta a ztrátovou funkcí binary_crossentropy, pak ho shrň.

Interaktivní cvičení na vyzkoušení si v praxi

Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.

# 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
____
Upravit a spustit kód