Representation Learning With Diffusion Models Explained