Diffusion model: Difference between revisions

From Rice Wiki
Line 7: Line 7:


=== Forward diffusion ===
=== Forward diffusion ===
Mathematically, each step of the forward diffusion process is defined as <math>q(x_t|x_{t-1})=N(x_t, \sqrt{1-\beta_t}x_{t-1} , \beta_tI)</math>, where ''x<sub>t</sub>'' is the process output at step ''t'', ''q'' is a distribution at the current step depending on the previous step, ''N'' is a normal distribution, the square root is the mean, and the last one being the variance.
Mathematically, each step of the forward diffusion process is defined as <math>q(x_t|x_{t-1})=N(x_t, \sqrt{1-\beta_t}x_{t-1} , \beta_tI)</math>, where ''x<sub>t</sub>'' is the process output at step ''t'', ''q'' is a distribution at the current step depending on the previous step, ''N'' is a [[multivariate normal distribution]], the square root is the mean, and the last one being the variance.


Explained more textually, the process generates a probability distribution of the current step (''x<sub>t</sub>'') given the last step. The distribution is normal, with randomness injected by a schedule. The image starts with a non-random distribution, and through this process we destroy that distribution into noise. In real scenarios, the noise is not added iteratively, but this is the principle.
Explained more textually, the process generates a probability distribution of the current step (''x<sub>t</sub>'') given the last step. The distribution is normal, with randomness injected by a schedule. The image starts with a non-random distribution, and through this process we destroy that distribution into noise. In real scenarios, the noise is not added iteratively, but this is the principle.

Revision as of 00:15, 5 July 2024

In a nutshell, diffusion models work by making something more random/noisy, and through the process finding the inverse, which is making noisy things less random, thus generating data.

Diffusion models are frequently used for computer vision tasks such as text-to-image. This page will focus exclusively on that use case.

Principle

More specifically, diffusion models consists of two steps: forward diffusion, which turns an image into noise, and backward diffusion, which turns noise back into an image.

Forward diffusion

Mathematically, each step of the forward diffusion process is defined as , where xt is the process output at step t, q is a distribution at the current step depending on the previous step, N is a multivariate normal distribution, the square root is the mean, and the last one being the variance.

Explained more textually, the process generates a probability distribution of the current step (xt) given the last step. The distribution is normal, with randomness injected by a schedule. The image starts with a non-random distribution, and through this process we destroy that distribution into noise. In real scenarios, the noise is not added iteratively, but this is the principle.

Sources