Mulai sekarangMulai gratis

Membangun autoencoder

Autoencoder memiliki beberapa aplikasi menarik seperti deteksi anomali atau penghilangan derau pada gambar. Tujuannya adalah menghasilkan keluaran yang identik dengan masukan. Masukan akan dikompresi ke ruang berdimensi lebih rendah, yaitu encoded. Model kemudian belajar untuk decode kembali ke bentuk aslinya.

Anda akan melakukan proses encode dan decode pada himpunan data MNIST yang berisi digit tulisan tangan; lapisan tersembunyi akan mengenkode representasi berdimensi 32 dari gambar, yang awalnya terdiri dari 784 piksel (28 x 28). Intinya, autoencoder akan belajar mengubah gambar asli 784 piksel menjadi gambar terkompresi 32 piksel dan mempelajari cara menggunakan representasi terenkode tersebut untuk mengembalikan gambar asli 784 piksel.

Model Sequential dan lapisan Dense sudah siap untuk Anda gunakan.

Mari membangun autoencoder!

Latihan ini merupakan bagian dari kursus

Pengantar Deep Learning dengan Keras

Lihat Kursus

Instruksi latihan

  • Buat model Sequential.
  • Tambahkan satu lapisan dense dengan jumlah neuron sebanyak dimensi gambar terenkode dan input_shape sebesar jumlah piksel pada gambar asli.
  • Tambahkan lapisan akhir dengan jumlah neuron sebanyak jumlah piksel pada gambar masukan.
  • Kompilasi autoencoder Anda menggunakan adadelta sebagai optimizer dan loss binary_crossentropy, lalu tampilkan ringkasannya.

Latihan interaktif langsung praktik

Cobalah latihan ini dengan melengkapi kode contoh ini.

# 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
____
Edit dan Jalankan Kode