Technical notes on MuLAN
Posted on Oct 15, 2025
MuLAN
MuLAN by Sahoo et al. (2024) is a diffusion model built on top of Variational Diffusion Models that achieves SOTA on likelihood estimation on image datasets with the following features:
- Multivariate noising schedule (i.e. every timestep has a different noise rate)
- The noising schedule is described by a 5-degree polinomial
- Noising schedule is conditioned on a latent discrete variable, dependent on the input
In these notes I tried to summarize the most important technical parts of MuLAN
MuLAN Algorithms
Training Algorithm
The MuLAN training procedure optimizes both the denoising model parameters and encoder/noise schedule parameters jointly:
Repeat until convergence:
- Sample a data point from the dataset
- Encode to get the distribution for the auxiliary latent variable, then sample
- Sample a random time and a random noise vector
- Compute the multivariate noise schedule using the learned schedule network
- Compute schedule parameters: and
- Create the noised sample:
- Predict the noise using the U-Net model
- Compute the total loss based on the Evidence Lower Bound (ELBO):
- Compute gradients and update parameters and with an optimizer step
Generation Algorithm (Sampling)
Given trained model parameters and :
Sample an auxiliary latent variable from the prior:
Sample an initial state from the noise distribution:
Define the reverse probability flow ODE:
where the drift and diffusion are derived directly from the learned noise schedule :
- The term is the score function, approximated by the trained U-Net. For noise parameterization:
Numerically solve the ODE from down to using a solver (e.g., RK45) with initial condition
The result of the integration at is the generated sample
Technical Details
The training objective of MuLAN is to maximize the Evidence Lower Bound (ELBO) on the log-likelihood of the data:
This objective is optimized end-to-end, jointly training all model components.
Loss Function Components
The total loss is a sum of four distinct terms, each with a specific role:
Diffusion Loss ( ): This is the core term that drives the learning of the denoising model and the noise schedule. It is computed as the weighted squared error between the true noise and the predicted noise, sampled at a random time . Its continuous-time form is:
The weighting by , the gradient of the learned noise schedule, is what makes the ELBO path-dependent and allows for the optimization of the noising process itself.
Reconstruction Loss ( ): This term corresponds to the likelihood of reconstructing the original data from the first denoising step. It is the negative log-likelihood of the decoder at the first timestep: .
Prior Matching Loss ( ): This term ensures that the distribution of the fully noised data matches a simple, fixed prior distribution (typically a standard normal distribution). It is a KL divergence term: .
Latent Regularization Loss ( ): This term regularizes the encoder by encouraging the distribution of the auxiliary latent to match a simple prior . It is also a KL divergence: . Depending on whether is continuous or discrete, this term is computed as a standard Gaussian KL divergence or a KL divergence between categorical distributions.
Obtaining the Learned Adaptive Noise Schedule
The noise schedule is not handcrafted but is instead the output of a neural network parameterized by . The paper proposes a novel polynomial parameterization for its superior performance and desirable properties.
A small MLP, also part of the parameters , takes the latent context as input and outputs three coefficient vectors:
These coefficients are used to construct a monotonic degree-5 polynomial function of time , :
All operations are element-wise. This construction guarantees that the function is monotonically increasing with respect to .
The final schedule is obtained by scaling this polynomial to lie within a predefined range :
This ensures that the diffusion process starts and ends at fixed noise levels while the path between them is learned.