Apa itu diffusion model?
Diffusion model adalah generative model yang belajar mengubah noise acak menjadi data yang realistis dengan membalik proses penambahan noise yang bertahap. Saat training, gambar sungguhan dirusak dengan Gaussian noise pada kekuatan acak, dan neural network belajar memprediksi noise itu. Untuk menghasilkan gambar, model mulai dari noise murni dan menghapus noise hasil prediksi sedikit demi sedikit sampai gambar muncul.
Pendekatan ini diperkenalkan oleh Sohl-Dickstein et al. pada 2015 dan menjadi praktis berkat Denoising Diffusion Probabilistic Models (DDPM, Ho et al., 2020). Diffusion model menggerakkan sistem text-to-image seperti Stable Diffusion, DALL·E 2, dan Imagen, dan juga dipakai untuk menghasilkan audio, video, dan molekul.
Ide utama
- Forward process menambah Gaussian noise menurut schedule tetap, dan tidak ada yang dipelajari di dalamnya.
- Network mempelajari satu tugas: memprediksi noise pada gambar ber-noise di langkah t.
- Pembuatan gambar menjalankan prosesnya secara terbalik, dari noise murni ke gambar, satu langkah demi satu langkah.
- Noise schedule mengatur seberapa cepat sinyal menghilang.
- Langkah sampling yang lebih sedikit lebih cepat, dan metode seperti DDIM menjaga kualitas dengan langkah yang jauh lebih sedikit.
- Classifier-free guidance menukar keragaman dengan kecocokan yang lebih dekat pada prompt.
Ulasan singkat tentang topik ini
Pertanyaan umum
Apa bedanya diffusion model dan GAN?
GAN menghasilkan gambar dalam satu lintasan dan dilatih dengan mengadu generator melawan discriminator, yang bisa tidak stabil dan bisa melewatkan sebagian data. Diffusion model dilatih dengan regression loss sederhana dan menghasilkan gambar lewat banyak langkah. Sampling-nya lebih lambat, tetapi training-nya lebih stabil dan biasanya lebih baik dalam mencakup variasi pada data.
Bagaimana text prompt mengendalikan gambar?
Prompt diubah menjadi vector oleh text encoder, misalnya milik CLIP atau T5. Denoising network membaca vector itu melalui cross-attention di setiap langkah, sehingga noise yang diprediksinya bergantung pada prompt.
Kenapa yang diprediksi noise, bukan gambar bersihnya?
Jika gambar ber-noise dan langkah t diketahui, keduanya bisa dihitung dari satu sama lain, jadi secara matematis pilihannya setara. Dalam praktiknya, memprediksi noise memberi hasil yang lebih baik pada DDPM. Sebagian model yang lebih baru memprediksi campuran keduanya, yang disebut v-prediction.
Apakah diffusion model hanya dipakai untuk gambar?
Tidak. Metode yang sama menghasilkan audio, video, bentuk 3D, serta struktur molekul dan protein. Apa pun yang bisa direpresentasikan sebagai angka dan diberi noise secara bertahap bisa dimodelkan dengan cara ini.
Penjelasan terkait
- Autoencoder & VAE · Dari kompresi ke generasi: autoencoder standar dan variational
- GAN · Dua network bersaing untuk mencipta
- Cross-Attention · Attention antar-sequence dan antar-modalitas
- Probabilitas dan Distribusi · Lemparan koin, kurva lonceng, dan matematika ketidakpastian
- Sampling dan Monte Carlo · Random sampling, hukum bilangan besar, dan estimasi Monte Carlo
- Image Segmentation · Klasifikasikan setiap pixel dalam gambar, dari area semantik sampai tiap objek
Referensi
- Sohl-Dickstein et al. (2015), "Deep Unsupervised Learning using Nonequilibrium Thermodynamics"
- Ho, Jain & Abbeel (2020), "Denoising Diffusion Probabilistic Models"
- Song, Meng & Ermon (2020), "Denoising Diffusion Implicit Models"
- Nichol & Dhariwal (2021), "Improved Denoising Diffusion Probabilistic Models"
- Rombach et al. (2022), "High-Resolution Image Synthesis with Latent Diffusion Models"
- Ho & Salimans (2022), "Classifier-Free Diffusion Guidance"
Terakhir diperbarui