My IBM Masuk Berlangganan

Apa itu model difusi?

 21 Agustus 2024 

Penyusun

Dave Bergmann

Senior Writer, AI Models

IBM

Cole Stryker

Editorial Lead, AI Models

Gather

Apa itu model difusi?

Model difusi adalah model generatif yang digunakan terutama untuk pembuatan gambar dan tugas visi komputer lainnya. Neural networks berbasis difusi dilatih melalui pembelajaran mendalam untuk secara progresif "menyebarkan" sampel dengan noise acak, kemudian membalikkan proses difusi tersebut untuk menghasilkan gambar berkualitas tinggi.

Model difusi adalah salah satu arsitektur neural network di garis depan AI generatif, terutama diwakili oleh model teks-ke-gambar populer termasuk Stable Diffusion dari Stability AI, DALL-E dari OpenAI (mulai dari DALL-E-2), Midjourney, dan Imagen dari Google. Model ini meningkatkan kinerja dan stabilitas arsitektur machine learning lain yang digunakan untuk sintesis gambar seperti variational autoencoders (VAEs), generative adversarial networks (GANs), dan model autoregresif seperti PixelCNN.

Intuisi di balik model difusi terinspirasi oleh fisika, memperlakukan piksel seperti molekul-molekul setetes tinta yang menyebar dalam segelas air dari waktu ke waktu. Sama seperti pergerakan acak molekul tinta yang pada akhirnya akan menyebabkan penyebarannya yang merata dalam kaca, pengenalan noise secara acak ke dalam gambar, pada akhirnya akan menghasilkan gambar yang terlihat seperti gambar statis TV. Dengan memodelkan proses difusi tersebut, kemudian entah bagaimana belajar untuk membalikkan proses tersebut, model kecerdasan buatan dapat menghasilkan gambar baru hanya dengan melakukan "denoising" sampel noise acak.

Model difusi paling menonjol dikaitkan dengan pembuatan gambar dan tugas pemrosesan gambar lainnya seperti inpainting dan resolusi super, tetapi aplikasinya meluas ke domain lain termasuk pembuatan audio, desain obat, dan pembuatan molekul. Untuk lebih mudahnya, artikel ini akan berfokus pada pembuatan gambar.

Desain 3D bola yang menggelinding di lintasan

Berita + Insight AI terbaru 


Temukan insight dan berita yang dikurasi oleh para pakar tentang AI, cloud, dan lainnya di Buletin Think mingguan. 

Sejarah dan teori model difusi

Untuk menjelaskan dan memahami model difusi, pertama-tama penting untuk dicatat bahwa proses generatif yang sekarang disebut "difusi" ditemukan secara independen dalam dua kesempatan terpisah melalui dua pendekatan matematis yang berbeda. Singkatnya, ada beberapa cara agar model difusi, yang secara konseptual sederhana tetapi secara matematis rumit, dapat "bekerja".

Perkembangan selanjutnya telah meminjam ide dari kedua pendekatan, memadukan keunggulan masing-masing hingga akhirnya menghasilkan model difusi modern yang saat ini mendominasi bidang pembuatan gambar. Tinjauan singkat mengenai sejarah dan teori model difusi dengan demikian memudahkan pemahaman tidak hanya mengenai cara kerja model difusi, tetapi juga alasan mengapa model itu berfungsi.

Model pembelajaran mendalam yang terinspirasi oleh termodinamika

Model difusi yang terinspirasi dari fisika pertama kali diperkenalkan oleh Sohl-Dickstein et al dalam makalah mereka di tahun 2015, "Deep Unsupervised Learning using Nonequilibrium Thermodynamics." Algoritma mereka menerapkan dinamika Langevin, sebuah metode untuk memodelkan pergerakan sistem molekuler, untuk menjamin premis dasar model difusi: mengubah data menjadi noise, sehingga Anda kemudian dapat mengubah noise menjadi data.

Catatan tentang fungsi kepadatan probabilitas

Seperti kebanyakan model generatif, seperti variational autoencoders (VAE), algoritma Sohl-Dickstein memodelkan densitas probabilitas: kemungkinan relatif dari variabel yang diambil sampelnya secara acak, x, yang berada di dalam rentang nilai tertentu. Pada dasarnya, memodelkan fungsi kepadatan probabilitas untuk kumpulan data pelatihan memungkinkan algoritma untuk kemudian menghasilkan sampel yang sangat mungkin sesuai dengan distribusi data pelatihan. Saat menghasilkan gambar baru, model mengasumsikan probabilitas tinggi nilai piksel didistribusikan dengan cara tertentu, berdasarkan distribusi probabilitas yang dipelajari dari pola dalam data pelatihan.

Secara logika, fungsi kepadatan probabilitas membutuhkan peluang dari semua kemungkinan untuk dijumlahkan hingga 1. Dengan kata lain, persentase peluang dari semua kemungkinan harus berjumlah tepat 100%. Dalam praktik, hal ini sering kali membutuhkan konstanta normalisasi: nilai yang dimasukkan ke dalam fungsi probabilitas yang mengurangi probabilitas total menjadi 1.

Menghitung konstanta normalisasi yang berfungsi untuk semua nilai variabel yang mungkin sering kali sulit dilakukan: secara teknis dapat dipecahkan, tetapi membutuhkan waktu yang tak terbatas untuk menghitungnya. Dalam kasus seperti itu, model berbasis peluang harus dibatasi pada arsitektur model tertentu atau mengembangkan solusi cerdas yang mendekati konstanta normalisasi dengan cara yang mudah digunakan.

Model generatif berbasis skor

Terlepas dari karya Sohl-Dickstein, Yang Song dan Stefano Ermon mengembangkan jenis model berbasis energi  yang disebut jaringan skor kondisional kebisingan dalam makalah 2019 mereka, "Pemodelan Generatif dengan Memperkirakan Gradien Distribusi Data." Algoritma mereka memodelkan gradien(∇x) logaritma (log) dari fungsi kerapatan probabilitas p(X). Gradien fungsi kerapatan probabilitas log, ditulis sebagai Xlogp(X)disebut dengan skor Stein atau secara sederhana disebut “score function" atau fungsi skor.

Tidak seperti fungsi kepadatan probabilitas konvensional, fungsi skor tidak memerlukan konstanta normalisasi karena tidak secara langsung memodelkan kepadatan probabilitas (dan oleh karena itu tidak perlu menormalkan probabilitas total ke 1). Sebaliknya, fungsi ini dilatih melalui pencocokan skor: parameter model pembelajaran, θ, yang menghasilkan model pθ(x) yang skornya—dengan kata lain, gradiennya—cocok dengan distribusi data q(x) dari data pelatihan.

Manfaat lain dari model generatif berbasis skor (SGM) adalah, tidak seperti model berbasis peluang, model ini tidak memberikan banyak batasan pada arsitektur model pθ(x).

Saat menjelajahi cara-cara untuk meningkatkan kinerja model mereka, Song dan Ermon secara kebetulan menemukan teknik yang sama dengan yang digunakan oleh Sohl-Dickstein dkk. Makalah mereka mencatat bahwa “data yang terganggu oleh noise acak Gaussian membuat distribusi data lebih dapat diterima oleh pemodelan generatif berbasis skor.” Model mereka, yang dibangun menggunakan arsitektur U-Net yang awalnya dikembangkan untuk segmentasi gambar, juga menerapkan dinamika Langevin untuk menghasilkan sampel.

Denoising diffusion probabilistic models (DDPM)

Pada tahun 2020, Ho dkk mengusulkan penggunaan pendekatan Sohl-Dickstein untuk menghasilkan gambar berkualitas tinggi dengan menggunakan inferensi variasi dalam makalah penting mereka, “Denoising diffusion probabilistic models” (DDPM). Makalah mereka menunjukkan bahwa memaksimalkan batas bawah bukti (ELBO)—cara untuk menulis ulang masalah optimasi berbasis probabilitas agar dapat dilacak—untuk melatih model difusi pada dasarnya setara dengan kombinasi tujuan pencocokan skor yang digunakan untuk melatih SGM.

Menerapkan pendekatan Sohl-Dickstein dengan menggunakan pencocokan skor, Ho et al menunjukkan bahwa model probabilistik difusi dapat menghasilkan kualitas gambar yang bersaing dengan GAN, yang pada saat itu merupakan model yang paling canggih. Hubungan ini dieksplorasi lebih lanjut oleh Song, Ermon, Sohl-Dickstein, dan lainnya-termasuk Diederik P. Kingma, pencipta VAE-dalam makalah tahun 2021, “Score-Based Generative Modeling through Stochastic Differential Equations.”

Kemudian pada tahun yang sama, Dhariwal dan Nichol, dengan memanfaatkan insight dari makalah yang disebutkan sebelumnya, menerbitkan “Diffusion Models Beat GANs on Image Synthesis,” yang secara tegas menetapkan model difusi sebagai model mutakhir yang baru.

DDPM, alih-alih SGM, umumnya tetap menjadi mode dominan dari model difusi, meskipun dengan perbaikan yang dipelopori melalui penelitian berikutnya. Sebagai contoh, makalah tahun 2022 yang berpengaruh, “High-Resolution Image Synthesis with Latent Diffusion Models” menandai kemajuan penting dalam hal efisiensi dan efektivitas biaya.

Mixture of Experts | Podcast

Decoding AI: Rangkuman Berita Mingguan

Bergabunglah dengan panel insinyur, peneliti, pemimpin produk, dan sosok kelas dunia lainnya selagi mereka mengupas tuntas tentang AI untuk menghadirkan berita dan insight terbaru seputar AI.

Bagaimana cara kerja model difusi?

Dalam pelatihan, model difusi secara bertahap mendifusikan titik data dengan noise acak, selangkah demi selangkah, hingga noise tersebut hancur, kemudian belajar membalikkan proses difusi tersebut dan merekonstruksi distribusi data asli.

Model difusi yang telah dilatih kemudian dapat menghasilkan titik data baru yang menyerupai data pelatihan hanya dengan melakukan denoising pada sampel awal acak dari noise murni. Secara konseptual, ini mirip dengan autoencoder denoising di mana gambar dengan noise bertindak sebagai variabel laten.

Mengubah noise acak secara langsung menjadi gambar yang koheren sangatlah sulit dan rumit, tetapi mengubah gambar dengan noise menjadi gambar yang tidak terlalu memiliki banyak noise, secara relatif mudah dan tidak berbelit-belit. Oleh karena itu, model difusi merumuskan proses difusi terbalik sebagai transformasi bertahap dari distribusi sederhana (seperti noise Gaussian) ke distribusi yang lebih kompleks (seperti gambar yang koheren).

Proses pelatihan dan kemudian penerapan difusi dapat dipecah menjadi tiga tahap utama:

  • Proses difusi maju, di mana gambar dari kumpulan data pelatihan diubah menjadi noise murni—biasanya dalam distribusi gaussian.
  • Proses difusi terbalik, di mana model mempelajari kebalikan dari setiap langkah sebelumnya dalam proses difusi maju awal
  • Pembuatan gambar, di mana model yang dilatih mengambil sampel distribusi noise acak dan mengubahnya menjadi output berkualitas tinggi dengan menggunakan proses difusi balik yang telah dipelajari untuk menghilangkan sampel acak noise gaussian.

Proses difusi maju

Tujuan dari proses difusi maju adalah untuk mengubah data yang bersih dari kumpulan data pelatihan, seperti sampel gambar atau audio, menjadi noise murni. Metode yang paling umum melibatkan penyuntikan noise gaussian secara berulang sampai seluruh distribusi data adalah gaussian.

Secara matematis, proses langkah demi langkah ini diformulasikan sebagai rantai Markov: jenis proses stokastik—proses acak yang mengikuti aturan probabilitas tertentu—untuk memodelkan data deret waktu yang berurutan. Dalam rantai Markov, hasil pada setiap langkah waktu hanya dipengaruhi oleh langkah waktu yang tepat sebelum itu. Sederhananya: xt, keadaan rantai Markov x pada langkah waktu t, secara langsung hanya dipengaruhi oleh xt-1. Fungsi matematika yang mendefinisikan transisi dari setiap xt hingga xt+1 disebut kernel transisi.

Pada setiap langkah waktu t, sejumlah kecil noise Gaussian ditambahkan ke xt-1 dan gambar kemudian diskalakan ulang untuk mempertahankan ukuran gambar yang konstan meskipun ada injeksi piksel acak secara terus-menerus. Dalam formulasi ini, x0 adalah titik data asli yang bersih; x1 adalah titik data setelah langkah waktu pertama, dengan sedikit noise gaussian yang ditambahkan ke dalamnya; xT adalah kondisi akhir proses difusi maju. Jika T cukup besar—yaitu, setelah langkah yang cukup—xT akan menyatu menjadi noise gaussian murni.

Kami mendefinisikan setiap langkah maju sebagai q(Xt|Xt-1):memprediksi keadaan distribusi data q(xt), mengingat q(xt-1). Dalam DDPM standar, proses maju ini tidak melibatkan machine learning apa pun: hasil akhir dari rantai Markov akan selalu berupa distribusi gaussian, dan dengan demikian tidak memerlukan pengoptimalan.

Menambahkan noise

Dalam DDPM, noise Gaussian yang ditambahkan pada setiap langkah dalam rantai Markov tidak konstan atau berubah-ubah. Sebaliknya, noise berasal dari struktur gambar asli dan kecepatan penambahannya terus meningkat pada setiap langkah yang berurutan.

Memvariasikan jumlah noise akan meningkatkan stabilitas pelatihan model dan meningkatkan performa secara keseluruhan dengan menyeimbangkan dua prioritas yang saling bersaing. Seperti yang dicatat oleh Yang Song dalam postingan blognya tentang model generatif berbasis skor:

  • Noise yang lebih besar meningkatkan kemampuan model untuk belajar secara akurat di wilayah "kepadatan rendah" pada data pelatihan—Kategori dan konsep visual yang kurang terwakili dalam data pelatihan—dengan mengisi wilayah tersebut dengan data yang memiliki noise. Namun, noise seperti ini juga dapat merusak data secara berlebihan, mengurangi akurasi keseluruhan.
  • Noise yang lebih kecil menyebabkan lebih sedikit kerusakan pada distribusi data asli tetapi menghasilkan kinerja yang buruk pada daerah dengan kepadatan rendah.
  • Oleh karena itu, untuk mencapai yang terbaik dari keduanya, model difusi menggunakan beberapa skala noise dalam pelatihan.

Ingat bahwa setiap distribusi gaussian (normal) memiliki mean, μ , dan varians, Σ . Parameter lain, β, berfungsi sebagai faktor penskalaan untuk mean dan varians dari noise gaussian dalam kernel transisi yang mendefinisikan setiap langkah dalam rantai Markov maju. Mengubah nilai β pada langkah tertentu akan mengubah noise gaussian yang ditambahkan pada langkah tersebut. β1 adalah varians pada langkah waktu 1; βt adalah varians pada langkah waktu t,dan seterusnya, hingga βT.

Nilai tarif β pada setiap langkah, pada gilirannya, ditentukan oleh jadwal varians.

Jadwal varians

Pada setiap langkah t, gambar sedikit bergeser dari iterasi pada langkah sebelumnya (sesuai rata-rata) dan noise ditambahkan ke versi gambar yang bergeser ini (sesuai varians). Besarnya setiap pergeseran dan penambahan noise didorong oleh nilai βt: karena βt meningkat sesuai dengan jadwal varians, maka laju difusi terus meningkat sebagai hasilnya. β selalu bernilai antara 0 dan 1: jadi, 0 < β1 < β2 < … < βT < 1.

Memilih jadwal varians spesifik untuk β merupakan pertimbangan penting. Biasanya ini ditetapkan secara manual sebagai hiperparameter, baik ditetapkan pada nilai konstan atau mengikuti rumus tertentu dengan nilai awal dan nilai akhir yang telah ditentukan untuk β. Dalam makalah DDPM, Ho et al menggunakan jadwal linier dengan 1.000 langkah di mana β1 = 10-4 and βT = 0.02. Penelitian selanjutnya menemukan peningkatan kinerja dan efisiensi dengan jenis jadwal lain, seperti jadwal kosinus,[1] atau menjadikan jadwal itu sendiri sebagai parameter yang dipelajari.[2]

Nilai βt menentukan mean dan varians noise Gaussian yang ditambahkan pada langkah t.

  • Mean μ dari noise gaussian yang ditambahkan pada langkah waktu t, μt, dihitung sebagai μt=(1-βt)Xt-1. Dalam bahasa yang sederhana, rata-rata noise yang ditambahkan pada setiap langkah t hanyalah versi gambar yang diskalakan dari langkah sebelumnya, xt-1. Ukuran βt menentukan seberapa jauh mean ini menyimpang dari langkah sebelumnya: ketika βt sangat kecil, pergeseran ini sangat kecil—karena (1-βt)(1-0)1—dan noise yang ditambahkan dengan demikian akan sangat mirip dengan gambar aslinya. Seiring dengan meningkatnya nilai βt , pergeseran ini menjadi lebih signifikan.

  • Varians noise gaussian yang ditambahkan pada langkah waktu t dihitung sebagai Σt=βtadalah, di mana adalah adalah matriks identitas. βt yang lebih besar menghasilkan lebih banyak noise. βt yang sangat kecil menghasilkan noise yang dapat diabaikan.

Singkatnya, pada setiap langkah t, gambar sedikit bergeser dari iterasi pada langkah sebelumnya (sesuai mean) dan noise ditambahkan ke versi gambar yang bergeser ini (sesuai varians). Besarnya setiap pergeseran dan penambahan noise didorong oleh nilai βt: karena βt meningkat sesuai dengan jadwal varians, maka laju difusi terus meningkat sebagai hasilnya.

Karena penambahan noise gaussian dimulai secara bertahap, dan noise itu sendiri selalu berasal dari struktur esensial gambar asli pada langkah sebelumnya, maka, kualitas esensial gambar asli dipertahankan untuk banyak langkah. Hal ini memungkinkan model untuk mempelajari pola dan struktur distribusi data asli secara bermakna selama proses difusi balik.

Trik reparameterisasi

Salah satu kekurangan dari proses langkah demi langkah tersebut adalah proses ini tidak praktis dan mahal secara komputasi: untuk setiap gambar dalam kumpulan data pelatihan yang mungkin berisi ribuan atau jutaan gambar, proses penerusan akan memerlukan puluhan atau ratusan langkah individual.

Alih-alih berulang kali menambahkan noise, formula untuk proses maju dapat ditulis ulang dengan cara yang cerdas dengan memparameterisasi ulang ekspresi  1βt sebagai parameter baru,  αt. Melalui “properti bagus” rantai Markov, parameter baru ini dapat diperluas lebih lanjut ke parameter tambahan, α¯t, berasal dari perkalian berulang dari αt pada setiap langkah progresif dalam rantai hingga titik itu. Parameter tambahan ini pada dasarnya mencerminkan rasio signal-to-noise (SNR) xt: dengan kata lain, berapa banyak gambar asli yang tersisa pada langkah waktu t.

Misalnya, pada x1, sejumlah kecil noise telah ditambahkan satu kali. Nilai α¯t mendekati 1, artinya gambar masih mempertahankan sebagian besar sinyal "aslinya." Pada langkah berikutnya, seperti x50, noise telah ditambahkan berkali-kali. Karena αt=1βt, nilai αt selalu kurang dari 1. Sejak α¯50=α1α2...α49α50, nilai α¯t pada langkah 50 akan jauh lebih dekat ke 0, yang berarti lebih banyak gambar asli telah digantikan oleh noise. Pada langkah waktu T, xT sepenuhnya merupakan noise dan nilainya α¯t mendekati 0.

Meskipun derivasi persamaan yang rumit berada di luar cakupan artikel ini, tetapi ada dua hal penting yang bisa diambil untuk memahami pentingnya trik reparameterisasi ini:

  • Status x pada setiap langkah waktu t sekarang dapat didefinisikan sebagai Xt=α¯tX0+1-α¯tε0, di mana ε0 adalah noise yang ditambahkan pada langkah pertama. Sebagai nilai α¯t menurun dengan setiap langkah, pengaruh x0 berkurang dan pengaruh ε0 meningkat.

  • Karena α¯t berasal dari 1βt dan nilai βt ditentukan oleh jadwal varians, menulis ulang rumus dengan cara ini memungkinkan penghitungan langsung xt pada setiap langkah waktu t tanpa harus melalui seluruh proses maju selangkah demi selangkah.

Proses difusi terbalik

Dalam model difusi, proses difusi terbalik adalah tempat machine learning yang sebenarnya terjadi. Dalam belajar melakukan kebalikan dari langkah noising pada proses maju, model ini pada dasarnya belajar untuk meniadakan noise gaussian murni menjadi gambar yang bersih. Setelah neural networks dilatih, kemampuan ini dapat digunakan untuk menghasilkan gambar baru dari noise gaussian melalui difusi balik langkah demi langkah.

Secara teori, tugas model dapat dianggap sebagai kebalikan sederhana dari difusi maju. Proses maju, dimulai dengan titik dat x0 yang diambil sampelnya dari distribusi data riil q(x) dari kumpulan data pelatihan, didefinisikan sebagai q(Xt|Xt-1): yaitu, dengan q(Xt-1), hitung  q(Xt). Kebalikannya, difusi terbalik, akan didefinisikan sebagai q(Xt-1|Xt). Namun dalam praktiknya, komputasi q(Xt-1|Xt) tidak bisa dipecahkan

Sebaliknya, tugas pelatihan dirumuskan melalui dua solusi:

  • Seperti yang telah dijelaskan sebelumnya, q(x) didekati dengan neural network pθ(x) yang merupakan model difusi yang sebenarnya. Tujuan pelatihan adalah untuk mempelajari parameter model θ yang membuat output pθXt-1|Xt ), cocokkan output qXt-1|Xt ).

  • Model ini, pθ(x), tidak secara langsung memprediksi Xt-1, atau bahkan noise spesifik yang ditambahkan antara xt-1 dan xt. Sebaliknya, model memprediksi seluruh noise yang ada di xt, kemudian menghilangkan sebagian kecil dari noise tersebut (berdasarkan keadaan jadwal varians pada langkah tersebut) untuk mencapai xt-1. Makalah DDPM yang awal lebih lanjut menyederhanakan proses ini dengan hanya memperkirakan mean dari noise gaussian, meskipun model-model yang lebih baru sering juga memprediksi varians.

Ingatlah lagi bahwa mean noise gaussian yang ditambahkan dalam difusi maju tidak sewenang-wenang: meskipun memang acak, struktur noise awalnya berasal dari struktur gambar asli x0. Oleh karena itu, dengan belajar memprediksi noise secara akurat melalui difusi terbalik, model tidak hanya belajar untuk menghilangkan noise gambar, tetapi juga secara implisit mempelajari struktur x0.

Fungsi kehilangan untuk pelatihan model difusi

Sasaran pelatihan khusus yang digunakan untuk model difusi terkait erat dengan istilah kerugian rekonstruksi yang digunakan untuk mengoptimalkan pembuat enkode otomatis variasi (variational autoencoder/VAE). Seperti VAE, model difusi dioptimalkan dengan memaksimalkan batas bawah variasi (variational lower limit/VLB), yang juga disebut batas bawah bukti (evidence lower limit/ELBO), dari kombinasi beberapa istilah kerugian.

Memaksimalkan VLB digunakan dalam inferensi variasional untuk memperkirakan fungsi skor yang sulit diselesaikan Xlog(p(X)): alih-alih meminimalkan kesalahan secara langsung, metode ini merumuskan kembali persamaan sebagai memaksimalkan estimasi minimum (atau batas bawah) dari akurasi prediksi model.

Istilah kehilangan yang digunakan masing-masing mencerminkan divergensi Kullback-Leibler (atau "Divergensi KL," biasanya dilambangkan sebagai DKL) antara hasil langkah-langkah difusi maju q dan langkah-langkah terbalik yang diprediksi oleh pθ. Divergensi KL digunakan untuk mengukur perbedaan antara dua distribusi probabilitas—misalnya, antara distribusi nilai piksel pada satu gambar dan distribusi nilai piksel pada gambar lainnya.

Secara khusus, fungsi kerugian untuk model difusi menggabungkan tiga istilah kerugian LT, Lt dan L0.

  •  LT mencerminkan divergensi KL antara q(XT|X0) dan pθ(xT). Dengan kata lain, perbedaan antara hasil akhir yang sepenuhnya tidak mendapat noise dari proses maju q dan titik awal dari proses pembalikan. Istilah ini umumnya dapat diabaikan, karena xT adalah gaussian dan q tidak memiliki parameter yang dapat dipelajari.

  • Lt mencerminkan divergensi KL antara q(Xt-1|Xt,X0) dan pθ(Xt-1|Xt) di setiap langkah. Dengan kata lain, akurasi setiap prediksi denoising pθ selama difusi terbalik dibandingkan dengan setiap langkah noising yang sesuai selama proses difusi maju untuk gambar asli, x0.

  • L0 mengukur -logpθ(X0|X1). Dengan kata lain, L0 mencerminkan log peluang negatif dari prediksi model terhadap gambar x0 yang telah di-denoise sepenuhnya. Gradien L0 adalah istilah pencocokan skor yang dijelaskan sebelumnya dalam artikel. Istilah kehilangan bernilai negatif sehingga meminimalkan fungsi kehilangan menjadi setara dengan memaksimalkan kemungkinan prediksi model.

Meskipun derivasi matematisnya yang rumit berada di luar cakupan artikel ini, VLB pada akhirnya dapat disederhanakan menjadi kesalahan kuadrat mean (MSE) antara noise yang diprediksi oleh model, εθ dan noise yang sebenarnya ditambahkan dalam proses maju, ε, pada setiap langkah waktu. Ini menjelaskan mengapa output model adalah prediksi noise pada setiap langkah, bukan gambar yang mengalami denoise itu sendiri.

Dengan menghitung gradien fungsi kehilangan selama backpropagation dan kemudian menyesuaikan bobot model untuk meminimalkan fungsi kerugian melalui penurunan gradien, prediksi model di seluruh kumpulan data pelatihan akan menjadi lebih akurat.

Pembuatan gambar dengan model difusi

Setelah model difusi belajar untuk secara akurat memperkirakan noise yang akan dikurangi pada setiap langkah, model ini dapat digunakan untuk menghasilkan gambar baru dengan mengambil sampel dari gambar berisik acak xT dari distribusi data yang telah dipelajari dan melakukan denoising selama langkah T. Serupa dengan VAE, memperkenalkan sedikit elemen keacakan ke dalam proses pengambilan sampel memungkinkan model difusi untuk menghasilkan gambar baru yang menyerupai data pelatihan, daripada secara langsung mereproduksi gambar pelatihan.

Tidak seperti pada proses pelatihan difusi balik, jumlah langkah pada proses pembuatan tidak harus sama dengan jumlah langkah yang digunakan pada proses maju. Hal ini dimungkinkan karena model dilatih untuk memprediksi seluruh noise pada setiap langkah gambar, bukan jumlah noise tertentu yang akan dihilangkan pada langkah tersebut.

Langkah yang lebih sedikit memerlukan kecepatan yang lebih besar dan tuntutan komputasi yang lebih rendah, dengan potensi pengorbanan dalam hal yang sangat detail; lebih banyak langkah biasanya meningkatkan akurasi, meskipun dengan mengorbankan kecepatan yang menurun dan biaya komputasi yang meningkat.

Model difusi terpandu

Meskipun model difusi standar dapat menghasilkan variasi gambar pelatihan berkualitas tinggi secara acak, tetapi sebagian besar penggunaan praktis model pembangkitan gambar memerlukan kontrol atas output model. Model difusi terpandu memungkinkan pengguna untuk mengondisikan gambar yang dihasilkan dengan panduan khusus.

Bentuk paling umum dari model difusi terpandu adalah model difusi teks-ke-gambar yang memungkinkan pengguna mengkondisikan output dengan perintah teks, seperti “a giraffe wearing a top hat.” Hal ini memerlukan pasangan model difusi dengan model bahasa besar (LLM) yang terpisah untuk menginterpretasikan permintaan teks, yang pertama kali diperkenalkan oleh Google dalam makalah “Photorealistic Text-to-Image Diffusion Models with Deep Language Understanding.”

Model difusi standar bertujuan untuk memprediksi fungsi skor tanpa syarat ∇xlogp(x): dengan kata lain, gradien logaritma kemungkinan bahwa gambar yang dihasilkan oleh model p sesuai dengan data pelatihan x. Model difusi terpandu memperkenalkan kategori visual tertentu, y—misalnya, "jerapah"—dan memprediksi fungsi skor kondisional ∇xlogp(x|y): dengan kata lain, kemungkinan gambar x, mengingat bahwa hal tersebut harus sesuai dengan kategori y.

Metode untuk difusi terpandu dapat dipisahkan menjadi dua kategori:

  • Difusi yang dipandu pengklasifikasi membutuhkan model pengklasifikasi terpisah untuk mempelajari penyematan vektor untuk setiap kategori yang akan dilatih oleh model difusi untuk menghasilkan visual. Penanaman vektor ini kemudian digunakan untuk mengondisikan output pada setiap langkah t. Model difusi tidak memerlukan pelatihan tambahan, tetapi hanya dapat mengondisikan output pada kategori spesifik yang dipelajari oleh pengklasifikasi.

  • Panduan bebas pengklasifikasi tidak memerlukan model terpisah, tetapi memerlukan model difusi dua tahap untuk dilatih secara khusus untuk panduan bersyarat. Hal ini biasanya memerlukan model dua tahap: pada tahap pertama, algoritma penyematan seperti CLIP  menghasilkan penyematan untuk prompt. Pada tahap kedua, model difusi menggunakan penyematan tersebut untuk mengondisikan hasilnya. Terlepas dari overhead pelatihan ekstra, hal ini memiliki manfaat mengaktifkan panduan zero-shot untuk kategori gambar yang belum pernah ditemui.

Model difusi laten

Meskipun memiliki kemampuan canggih untuk menghasilkan gambar berkualitas tinggi, model difusi konvensional memiliki dua kelemahan penting: model ini lambat dan mahal secara komputasi. Kelemahan ini sangat berkurang dengan munculnya model difusi laten, dimulai dengan Stable Diffusion.

Premis di balik model difusi laten adalah sederhana, yang sekali lagi mengacu pada koneksi ke variational autoencoders (VAE). Alih-alih menerapkan proses difusi dalam ruang pikselberdimensi tinggi—yaitu, secara langsung pada gambar input—model ini dapat memproyeksikan input ke ruang laten berdimensi lebih rendah, kemudian menerapkan proses difusi di sana.

Pada intinya, model difusi laten menggunakan arsitektur autoencoder seperti VAE untuk melatih encoder untuk menghasilkan representasi laten z dari data input x. Representasi laten tersebut kemudian digunakan sebagai input untuk model difusi standar, biasanya menggunakan arsitektur U-Net. Karena model difusi bekerja dengan data berdimensi lebih rendah, outputnya kemudian dimasukkan ke dalam jaringan decoder untuk upsampling ke dalam ukuran gambar akhir yang diinginkan.

Solusi terkait

Solusi terkait

IBM watsonx.ai

Latih, validasi, lakukan tuning, dan terapkan AI generatif, model dasar, dan kemampuan machine learning dengan IBM watsonx.ai, studio perusahaan generasi berikutnya untuk pembangun AI. Bangun aplikasi AI dalam waktu singkat, dengan sedikit data.

Temukan watsonx.ai
Solusi kecerdasan buatan (AI)

Gunakan AI di bisnis Anda dalam perpaduan antara keahlian AI terdepan di industri dari IBM dan portofolio solusi Anda.

Jelajahi solusi AI
Layanan AI

Temukan kembali alur kerja dan operasi yang penting dengan menambahkan AI untuk memaksimalkan pengalaman, pengambilan keputusan secara real-time, dan nilai bisnis.

Jelajahi layanan AI
Ambil langkah selanjutnya

Dapatkan akses satu atap ke kemampuan yang mencakup siklus hidup pengembangan AI. Hasilkan solusi AI yang kuat dengan antarmuka ramah pengguna, alur kerja yang efisien, serta akses ke API dan SDK berstandar industri.

Jelajahi watsonx.ai Pesan demo langsung
Catatan kaki

CATATAN: Semua tautan berada di luar ibm.com

[1] "Improved Denoising Diffusion Probabilistic Models", arXiv, 18 Februari 2021
[2] "Variational Diffusion Models," arXiv, terakhir direvisi 14 April 2023