Apa itu autoencoder?
Autoencoder adalah neural network yang di-train untuk menyalin input ke output-nya lewat layer tengah yang sempit, disebut bottleneck atau latent code. Bagian encoder memampatkan input menjadi beberapa angka, dan bagian decoder membangun ulang input dari angka-angka itu. Variational autoencoder (VAE) mengubah encoder agar mengeluarkan distribusi probabilitas atas kode, bukan satu titik, sehingga decoder menjadi generator data baru.
Autoencoder dipakai untuk dimensionality reduction, denoising, anomaly detection (input yang direkonstruksi dengan buruk kemungkinan tidak biasa), dan mempelajari feature tanpa label. VAE dipakai untuk menghasilkan gambar dan molekul, serta menjelajahi latent space yang mulus. Autoencoder di Stable Diffusion memampatkan gambar menjadi latent grid kecil sehingga diffusion model bisa bekerja dengan angka yang jauh lebih sedikit daripada pixel mentah.
Ide utama
- Autoencoder memampatkan input menjadi latent code kecil dan merekonstruksinya dari kode itu.
- Bottleneck memaksa network menyimpan hanya informasi yang paling berguna.
- Encoder VAE mengeluarkan rata-rata μ dan simpangan baku σ untuk tiap dimensi latent.
- Loss VAE adalah reconstruction error ditambah β kali KL divergence dari N(0, 1).
- Reparameterization trick z = μ + σ · ε membuat sampling jadi differentiable.
- Latent space yang mulus membuat decoder bisa menghasilkan data baru lewat sampling atau interpolasi.
Pertanyaan umum
Apa bedanya autoencoder dan VAE?
Autoencoder biasa memetakan tiap input ke satu titik dan hanya di-train untuk merekonstruksi, sehingga latent space-nya bisa punya celah yang menghasilkan keluaran tak bermakna. VAE memetakan tiap input ke distribusi Gaussian dan menambahkan penalti KL yang menjaga distribusi itu tetap dekat dengan N(0, 1). Ruang itu jadi terisi, sehingga sampel acak dari N(0, 1) menghasilkan output yang realistis.
Apa itu denoising autoencoder?
Denoising autoencoder menerima input yang dirusak, misalnya dengan noise acak atau pixel yang ditutup, dan di-train untuk mengeluarkan versi aslinya yang bersih. Ini mencegahnya sekadar menyalin dan memaksanya mempelajari struktur data. Masked autoencoder untuk gambar dan masked language modeling di BERT mengikuti ide yang sama.
Kenapa output VAE buram?
Dengan decoder Gaussian, suku rekonstruksi berupa squared error, yang menguntungkan rata-rata dari semua output yang masuk akal. Merata-ratakan beberapa gambar tajam menghasilkan gambar buram. Noise di z menambah efek ini, karena kode yang berdekatan harus menghasilkan gambar yang mirip.
Apakah autoencoder termasuk supervised atau unsupervised?
Autoencoder tidak butuh label, jadi biasanya disebut unsupervised atau self-supervised learning: input menjadi targetnya sendiri. Encoder yang sudah dilatih sering dipakai ulang sebagai feature extractor untuk tugas supervised yang dilatih pada kumpulan data berlabel yang lebih kecil.
Penjelasan terkait
- KL Divergence · Mengukur seberapa berbeda dua distribusi
- Dimensionality Reduction · PCA dan t-SNE untuk melihat data berdimensi tinggi
- GAN · Dua network bersaing untuk mencipta
- Diffusion Model · Hasilkan gambar dengan belajar membalik proses penambahan noise yang bertahap
- Embedding · Mengubah kata dan kategori menjadi vector
- Probabilitas dan Distribusi · Lemparan koin, kurva lonceng, dan matematika ketidakpastian
Referensi
- Kingma & Welling (2013), "Auto-Encoding Variational Bayes"
- Hinton & Salakhutdinov (2006), "Reducing the Dimensionality of Data with Neural Networks", Science
- Kingma & Welling (2019), "An Introduction to Variational Autoencoders"
- Goodfellow, Bengio & Courville, Deep Learning, Chapter 14: Autoencoders
Terakhir diperbarui
