4 points par GN⁺ 2024-05-27 | 1 commentaires | Partager sur WhatsApp

Modélisation générative

  • Le problème fondamental de la modélisation générative consiste, étant donné un ensemble d’échantillons issu d’une distribution inconnue x∼p(x), à générer de nouveaux échantillons à partir de cette distribution.

1.1 Modèles de diffusion par débruitage

  • Au lieu de mapper de manière déterministe les points de données vers une distribution normale, on utilise une méthode qui mappe probabilistiquement les points en y mélangeant du bruit aléatoire.
  • Cette méthode peut sembler étrange au premier abord, mais elle consiste à ajouter une petite quantité de bruit à un point de données propre sur plusieurs étapes, jusqu’à ce qu’il ressemble à du bruit pur.
  • En observant le point de données bruité à chaque étape, on peut approximativement savoir où se trouvait le point de données à l’étape précédente.
  • En apprenant ce processus à l’envers, on peut générer des échantillons à partir de la distribution p(x).
  • Cela est similaire à un processus de diffusion physique.

Modèle DDP

  • Le modèle DDP est l’abréviation de Denoising Diffusion Probabilistic Models.
  • Les développements récents s’appuient sur le langage et les mathématiques de cet article.

2.1 Ajout et suppression du bruit

  • Pour mapper l’image d’entrée x0 vers un point d’une distribution normale standard, on utilise un processus de diffusion avant qui ajoute progressivement du bruit au fil des étapes temporelles t=1,2,…,T.
  • Chaque étape temporelle génère une nouvelle image en mélangeant une petite quantité de bruit aléatoire à l’image précédente.
  • Ce processus a une nature itérative : chaque étape ne dépend que de l’étape temporelle précédente, et le bruit ajouté est indépendant des échantillons de bruit précédents.
  • On apprend le processus inverse afin de prédire, à partir de l’image bruitée xt, la distribution de la version moins bruitée xt-1 de l’étape précédente.

2.2 Apprentissage du débruitage

  • q(xt−1∣xt) est approximativement gaussienne lorsqu’il s’agit d’une très faible quantité de bruit.
  • Il s’agit d’un résultat ancien de la physique statistique.
  • Cela permet d’apprendre la distribution inverse.
  • En utilisant la divergence de KL, on minimise pour tous les exemples d’entraînement x0 la différence entre q(xt−1∣xt,x0) et pθ(xt−1∣xt).
  • La fonction de perte finale se simplifie en un problème de prédiction du bruit.

2.3 Échantillonnage

  • Après avoir appris le modèle d’estimation du bruit ϵθ(xt,t), on peut l’utiliser pour échantillonner l’image x0.
  • On échantillonne une image de bruit pur xT∼N(0,I), puis, pour les étapes temporelles de T à 1, on prédit le bruit et on utilise ce bruit prédit pour échantillonner une image débruitée.

2.4 Résumé et exemple

  • On apprend la distribution sous-jacente d’un dataset d’images et on définit un processus avant d’ajout de bruit qui transforme progressivement l’image x0 en bruit pur xT.
  • On apprend le processus inverse afin de prédire la distribution de xt-1 à partir de xt.
  • En utilisant la divergence de KL, on garantit que la distribution apprise est aussi proche que possible de la distribution connue du dataset.
  • Enfin, on simplifie le tout en un problème de prédiction du bruit.

Évolutions

3.1 Génération rapide

  • Le principal inconvénient des premiers modèles de diffusion était la vitesse de génération.
  • De nombreuses techniques ont ensuite été développées pour accélérer la génération ; certaines peuvent être appliquées directement à des modèles préentraînés, tandis que d’autres nécessitent l’apprentissage de nouveaux modèles.

Score matching et échantillonneurs rapides

  • Les modèles de diffusion ont un lien remarquable avec les équations différentielles, ce qui a permis le développement de nombreux échantillonneurs rapides.
  • Prédire la direction du bruit revient à calculer le gradient de la log-vraisemblance du processus avant.
  • Cela constitue la base des modèles fondés sur le score, qui apprennent le score d’un dataset bruité puis génèrent de nouveaux échantillons en suivant le champ de score.

L’avis de GN⁺

  1. Comprendre les modèles de diffusion : les modèles de diffusion peuvent être appliqués non seulement à la génération d’images, mais aussi à des domaines variés comme l’animation, la génération vidéo, la modélisation 3D, la prédiction de structures protéiques ou la planification de trajectoires robotiques.
  2. La complexité du processus d’apprentissage : le processus d’apprentissage des modèles de diffusion est complexe, mais il permet de générer des images extrêmement sophistiquées.
  3. Techniques de génération rapide : les techniques de génération rapide améliorent fortement l’utilité pratique des modèles de diffusion.
  4. Modèles fondés sur le score : les modèles fondés sur le score fonctionnent de manière similaire aux modèles de diffusion et contribuent à accélérer l’échantillonnage.
  5. Points à considérer lors de l’adoption de la technologie : lors de l’adoption de modèles de diffusion, il faut prendre en compte le temps d’apprentissage, les ressources de calcul et la complexité du modèle.

1 commentaires

 
GN⁺ 2024-05-27

Avis sur Hacker News

  • J’ai appris que les modèles de diffusion sont apparus avant la théorie du score matching. Quand OpenAI a entraîné 250 millions d’images, c’était une tentative ambitieuse malgré le manque d’explication théorique.
  • La boucle d’entraînement semble incorrecte. Comme x0 et eps ne sont pas utilisés dans la représentation de xt, on a l’impression qu’il prédit du bruit aléatoire.
  • Je cherche la meilleure bibliothèque Python sous licence Apache ou MIT pour les transformeurs de diffusion.
  • Merci d’avoir partagé cela. J’ai acquis des éclairages sur le fonctionnement des modèles de diffusion. Le caractère aléatoire est puissant. Il est maintenant temps de coder dans un langage inadapté.
  • Il n’y a pas grand-chose à résumer pour ceux qui lisent les commentaires. Ce billet est un résumé de Stable Diffusion.
  • En 2022, alors que j’apprenais à dessiner, j’ai été stupéfait par l’arrivée de modèles d’art IA comme Stable Diffusion. L’ordinateur est devenu un meilleur artiste que moi. Plus l’IA empiète sur le travail créatif, plus j’ai envie de tout supprimer.