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
Instruksi latihan
- Buat model
Sequential. - Tambahkan satu lapisan dense dengan jumlah neuron sebanyak dimensi gambar terenkode dan
input_shapesebesar jumlah piksel pada gambar asli. - Tambahkan lapisan akhir dengan jumlah neuron sebanyak jumlah piksel pada gambar masukan.
- Kompilasi
autoencoderAnda menggunakanadadeltasebagai optimizer dan lossbinary_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
____