Hello, dear friend, you can consult us at any time if you have any questions, add WeChat: THEend8_
CS 8395: Homework 2
Overall directions
Instead of doing this section, you can instead do one additional review from the previous section.
Please implement a U-Net denoising diffusion probabilistic model for the MNIST dataset, implementing
the following loss function:
L[εˆ(xt, t)] = ∥εˆ(xt, t)− ε∥22 (1)
Here, εˆ is the U-Net, which takes as inputs the noisy datapoint xt, and the number of noising steps t. As a
reminder, the forward process is
xt =
(√
α¯t
)
x0 +
(√
1− α¯t
)
ε (2)
α¯t =
∏
αt (3)
Here we can choose whatever αt schedule we’d like...so let’s use a linear function from 0.0001 to 0.01, for 1000
steps. (You can choose this however you’d like, but I recommend using very small numbers). I recommend
using a U-Net with at least three down/up convolution block pairs, and using LeakyReLU. Padding the
MNIST dataset to 32× 32 is often helpful here.