Variational Autoencoder (VAE) menggunakan arsitektur autoencoder untuk menyandikan data ke dalam ruang laten dengan cara yang memungkinkan digunakan dalam tugas-tugas generatif, seperti pembuatan gambar.
Berbeda dengan autoencoder konvensional yang bersifat "deterministik" dan menyandikan setiap variabel laten sebagai vektor tunggal dengan nilai tetap, VAES merupakan model "probabilistik" yang menyandikan ruang laten sebagai distribusi kemungkinan. Dengan mengambil interpolasi secara acak dari kisaran kemungkinan yang dikodekan ini, VAE dapat mensintesis sampel data baru yang, meskipun unik dan orisinal, menyerupai data pelatihan asli.
Agar dapat menghasilkan sampel data yang benar-benar baru (bukan sekadar merekonstruksi atau menggabungkan data yang sudah ada dalam pelatihan), ruang laten harus memiliki dua jenis keteraturan:
- Kesinambungan: Titik terdekat di ruang laten akan menghasilkan konten yang serupa saat didekodekan atau diterjemahkan.
- Kelengkapan: Setiap titik yang diambil sampelnya dari ruang laten harus menghasilkan konten yang bermakna ketika diterjemahkan.
Cara sederhana untuk memastikan kontinuitas dan kelengkapan dalam ruang laten adalah dengan memaksanya mengikuti distribusi normal (Gaussian). Untuk mencapai hal ini, VAE menyandikan setiap atribut laten dari data pelatihan menggunakan dua vektor berbeda: vektor rata-rata, “μ,” dan vektor deviasi standar, “σ.” Pada dasarnya, kedua vektor ini mewakili rentang kemungkinan untuk setiap variabel laten dan varians yang diharapkan dalam setiap rentang kemungkinan.
VAE mencapai ini dengan menambahkan fungsi kerugian tambahan di samping kerugian rekonstruksi: Divergensi Kullback-Leibler (atau divergensi KL). Lebih khusus lagi, VAE dilatih untuk meminimalkan divergensi antara distribusi Gaussian standar dan ruang laten yang dipelajari dengan meminimalkan kerugian rekonstruksi.