Diffusion model dengan bahasa sederhana: tambahkan noise, belajar menghapusnya
Diffusion model, jenis model di balik Stable Diffusion, adalah generator: model yang membuat gambar baru. Ia belajar dari gambar asli yang terkubur noise, nilai acak yang dicampurkan ke setiap pixel, atau pada Stable Diffusion ke salinan gambar yang dipadatkan. Satu-satunya keahliannya adalah mengenali bagian mana dari gambar berisik yang merupakan noise.
- Klip dimulai dari gambar contoh, kisi 8 kali 8 berisi pixel berwarna, pada time step t = 0. Batang di bawahnya berakhir di t=T, yaitu 20 di sini. Saat t naik, warna setiap pixel dicampur menuju warna acak yang hampir abu-abu. Angka σ(t) adalah porsi noise dalam campuran, t/20, dan Signal adalah porsi warna asli yang tersisa. Pada t = 10 campurannya separuh-separuh, dan pada t = 20 hanya tersisa abu-abu acak.
- Slider lalu kembali ke 0, memutar ulang campuran yang sama secara terbalik. Tidak ada model yang berjalan dalam klip ini. Paruh penambahan noise disebut forward process, dan tidak ada yang dipelajari di dalamnya. Model sungguhan memakai Gaussian noise, nilai acak dari kurva lonceng, dan noise schedule yang mengatur seberapa cepat sinyal memudar. Demo ini memudarkannya secara linear selama 20 langkah, sedangkan paper DDPM memakai 1.000 langkah.
- Saat training, ambil gambar asli, pilih langkah t secara acak, tambahkan noise sebanyak itu, lalu minta neural network, model yang tersusun dari banyak angka yang bisa disesuaikan, memprediksi noise persis yang ditambahkan. Loss, skor seberapa salah sebuah tebakan, adalah kuadrat selisih antara noise sebenarnya dan tebakan. Untuk membuat gambar, model yang sudah dilatih mulai dari noise acak baru dan menghapus sedikit noise hasil prediksi di setiap langkah, kembali ke langkah 0.
Intinya
Dibandingkan generator sekali jalan seperti GAN (generative adversarial network), diffusion menukar kecepatan dengan kualitas. Setiap langkah adalah satu kali lintasan penuh melewati network. Sampler, rutin yang menjalankan langkah-langkah itu, bisa mengambil langkah yang lebih sedikit dan lebih besar: DDIM membuat gambar 10 sampai 50 kali lebih cepat daripada sampler DDPM dengan 1.000 langkah.
Diffusion Model
Geser time step t dari 0 ke 20 dan lihat angka Signal turun saat kisi memudar menjadi noise.
Buka penjelasan interaktif