Denoising Diffusion Probabilistic Models (Ho et al. 2020) learn to generate data by reversing a fixed Markov chain that gradually adds Gaussian noise to data.
Using the reparameterisation $\bar{\alpha}_t = \prod_{s=1}^{t}(1-\beta_s)$, sampling at any step $t$ directly:
QuDDPM replaces the classical Gaussian noise addition with a quantum channel. The natural quantum analogue of Gaussian noise is the depolarising channel:
For the full $T$-step forward process:
At $t=T$, $\bar{p}_T \approx 0$, so $\rho_T \approx \mathbf{I}/2^n$ — the maximally mixed (quantum "noise") state.
The classical score network (U-Net) $\boldsymbol{\epsilon}_\theta(\mathbf{x}_t, t)$ is replaced by a parameterised quantum circuit (PQC) that takes the noisy quantum state $\rho_t$ and outputs a denoising direction.
The reverse step denoises using the predicted noise:
Input: noisy state ρ_t (quantum or classically encoded)
│
▼ [Time embedding: t → angle shift]
Encode timestep t into rotation angles: φ(t) ∈ ℝᵐ
│
▼ [Data encoding layer]
|0⟩──[Ry(x_t1)]──[Ry(x_t2)]──...──[Ry(x_tn)]
│
▼ [L variational layers (data re-uploading)]
─────[Ry(θ₁+φ(t))]──[CNOT]──[Ry(θ₂+φ(t))]──[CNOT]──...
│
(entangling + parameterised rotations, t-conditioned)
│
▼ [Measurement: expectation values of Pauli operators]
ε̂ = (⟨Z₁⟩, ⟨Z₂⟩, ..., ⟨Zₙ⟩, ⟨Z₁Z₂⟩, ...) ∈ ℝᵈ
│
▼ [Classical post-processing: reverse step formula]
x_{t-1} = (x_t - coeff × ε̂) / √α_t + σ_t z
The classical DDPM training simplifies the ELBO to a denoising score matching objective:
For the quantum version, gradients are computed via the parameter-shift rule:
TRAINING GENERATION
════════ ══════════
Real data x₀ Sample xᵀ ~ N(0, I)
│ │
│ Forward process (fixed) │ Reverse process (learned)
│ │
▼ ▼
t ~ Uniform[1,T] For t = T, T-1, ..., 1:
│ │
▼ ▼
ε ~ N(0, I) [Quantum Score Network]
│ VQC(θ, x_t, t) → ε̂_θ(x_t, t)
▼ │
x_t = √ᾱ_t x₀ + √(1-ᾱ_t)ε ▼
│ x_{t-1} = (x_t - coeff·ε̂)/√α_t + σ_t·z
│ │
▼ ▼
ε̂ = VQC(θ, x_t, t) x₀ ≈ x_0 (generated sample)
│
▼
Loss: ||ε - ε̂||²
│
▼
Update θ via parameter-shift
gradient + Adam/SPSA
┌─────────────────────────────────────────────────────────────────────┐
│ VQC ARCHITECTURE (Score Network) │
│ │
│ n qubits: ─[Enc(x_t)]─┬──[L₁(θ,t)]──[Ent]──[L₂(θ,t)]──[Meas]─ │
│ │ │
│ Time conditioning: φ(t) = [sin(t/T), cos(t/T), sin(2t/T), ...] │
│ Rotation: Rᵧ(θₖ + φ(t)ₖ) — learnable + time-shifted │
│ Entangling: linear CNOT chain or all-to-all (hardware dependent) │
│ Output: ⟨Zⱼ⟩ for j=1..n → score vector ε̂ ∈ ℝⁿ │
└─────────────────────────────────────────────────────────────────────┘
MSQuDDPM extends QuDDPM with a multi-resolution diffusion process, addressing the challenge that small qubit counts limit the dimensionality of the generated signal.
Each scale $s$ gets its own VQC diffusion model:
MSQuDDPM Hierarchy:
Scale 1 (coarse, few qubits):
x⁽¹⁾ = Proj₁(x) → VQC₁(θ₁) → ε̂⁽¹⁾
↕ condition
Scale 2 (medium):
x⁽²⁾ = Proj₂(x) → VQC₂(θ₂, x⁽¹⁾) → ε̂⁽²⁾
↕ condition
Scale 3 (fine):
x⁽³⁾ = Proj₃(x) → VQC₃(θ₃, x⁽¹⁾, x⁽²⁾) → ε̂⁽³⁾
Generation: sample coarse scale first, condition finer scales
on coarse outputs → coarse-to-fine generation.
Decoherence = free forward process on quantum hardware. Shot-efficient for low-dimensional data. VQC is shallow (compatible with NISQ).
Limited qubit count restricts data dimensionality. $O(2K)$ shots per gradient step is expensive. Readout noise adds variance to score estimate.