What is diffusion model in deep learning?
A diffusion model is a type of mathematical model used to describe the spread or diffusion of a new idea, product, or innovation within a population over time. The model is based on the idea that the adoption of a new technology or innovation typically follows a predictable pattern, starting with a few early adopters and gradually spreading to the majority of the population.
Diffusion models typically involve a few key parameters.
Moreover, including the rate of adoption, the rate of decline, and the size of the population. The model may also take into account various factors that can influence the rate of diffusion, such as the perceived benefits and costs of the innovation, the level of social influence or peer pressure, and the availability of information or marketing efforts.
One of the most well-known diffusion models is the Bass model, developed by Frank Bass in the 1960s. The Bass model became widely used in marketing research. And predicts the number of adopters of a new product over time based on a combination of internal and external factors.
Diffusion models can become used to estimate the potential market size for a new product. Furthermore, to identify the key drivers of adoption, and to develop marketing strategies to accelerate or influence the diffusion process. However, like any model, diffusion models are based on assumptions and simplifications and may not always accurately predict real-world outcomes.
What is diffusion model in deep learning?
In deep learning, a diffusion model is a generative model that can learn the probability distribution of a given dataset and generate new samples that resemble the original data. Diffusion models are a type of probabilistic model that use a diffusion process to generate samples, rather than directly sampling from a probability distribution.
Diffusion models work by modeling the process of a hypothetical particle that is diffusing or spreading out in space and time.
At each time step, the particle moves randomly in space.
And its position becomes updated based on the gradients of the log-density of the probability distribution.
In deep learning, the gradients of the log-density of the probability distribution are the derivative of the log-probability with respect to the model parameters. The log-density of the probability distribution is a mathematical function that measures the likelihood of observing a given data point given the model parameters. The gradient of the log-density is a vector that describes how the log-density changes as we vary each of the model parameters.
The gradients of the log-density of the probability distribution become used in various machine learning algorithms.
Including optimization algorithms, generative models, and discriminative models. In optimization algorithms, the gradients of the log-density update the model parameters during training. In order to minimize a loss function that measures the difference between the model’s predictions and the true labels. And in generative models, such as diffusion models, the gradients of the log-density guide the diffusion process and generate new samples that resemble the original data.
Furthermore, in discriminative models, the gradients of the log-density compute the posterior probabilities of different classes, given a set of input features.
The gradients of the log-density of the probability distribution can become computed using various methods. Especially via automatic differentiation!
A technique used in deep learning frameworks such as TensorFlow and PyTorch, as well as symbolic differentiation and numerical differentiation.
The model then uses this diffusion process to generate new samples by starting with a noisy image or input and iteratively refining it to produce a sample that resembles the original data.
Diffusion models become particularly well-suited for generating high-quality images!
Such as photographs or realistic 3D models, and have become used in a whole host of applications, including image synthesis, style transfer, and video prediction. In addition, are great for anomaly detection and detecting out-of-distribution samples in a dataset.
For further reading on this subject see the awesome work: [1807.03888] A Simple Unified Framework for Detecting Out-of-Distribution Samples and Adversarial Attacks (arxiv.org)
One of the most popular diffusion models in deep learning is the Diffusion Probabilistic Model (DPM), which was introduced by Sohl-Dickstein et al. in 2015. Other notable diffusion models include the Denoising Diffusion Probabilistic Model (DDPM) and the Continuous-Time Flows model (CTF).