https://medium.com/@monocosmo77/latest-methods-for-diffusion-models-part3-machine-learning-cfbab40a3155