Diffusion Based Deep Learning