Diffusion Models Machine Learning