Les modèles de diffusion constituent une utilisation fascinante du deep learning pour simuler l’évolution progressive des données au fil du temps. Le concept derrière la génération à l'aide d'un modèle de diffusion consiste à transformer de manière itérative un point de données d'un bruit en une distribution cible qui est la distribution de données d'origine. Cette transformation s'effectue à travers une série d'étapes discrètes. L’étape de formation implique une diffusion vers l’avant et une diffusion vers l’arrière.
Dans le processus de diffusion directe, nous ajoutons progressivement du bruit gaussien aux données pour un nombre aléatoire de pas de temps « t » (« t » inférieur ou égal au nombre total de pas de temps prédéterminés), ce qui donne une image bruitée. Dans le processus de diffusion inverse, nous commençons par l'image bruitée (bruitée pour les « t » étapes de la diffusion vers l'avant) et nous formons un modèle UNet, qui aide à réduire le niveau de bruit en prédisant le bruit ajouté à l'image d'origine.
Pour générer de nouvelles images, nous effectuons simplement une diffusion inverse de manière itérative. Pour ce faire, nous échantillonnons d'abord le bruit d'une gaussienne standard, puis nous prévoyons et supprimons le bruit progressivement sur le nombre prédéterminé de pas de temps, ce qui aboutit à la production d'une image qui ressemble à la distribution des données d'origine.