Diffusion Model Based Learning