Denoising Diffusion Probabilistic Models | DDPM Explained