Diffusion Based Deep Learning Algorithms