Les modèles de diffusion sont récemment apparus comme la norme de facto pour générer des résultats complexes et de grande dimension. Vous les connaissez peut-être pour leur capacité à produire un art IA époustouflant et des images synthétiques hyper réalistesmais ils ont également connu du succès dans d’autres applications telles que conception de médicaments et contrôle continu. L’idée clé des modèles de diffusion est de transformer de manière itérative le bruit aléatoire en un échantillon, tel qu’une image ou une structure protéique. Ceci est généralement motivé par un Estimation de vraisemblance maximale problème, où le modèle est formé pour générer des échantillons qui correspondent le plus possible aux données de formation.
Cependant, la plupart des cas d’utilisation des modèles de diffusion ne concernent pas directement la mise en correspondance des données d’entraînement, mais plutôt un objectif en aval. Nous ne voulons pas seulement une image qui ressemble à des images existantes, mais une image qui ait un type d’apparence spécifique ; nous ne voulons pas seulement une molécule médicamenteuse physiquement plausible, mais aussi efficace que possible. Dans cet article, nous montrons comment les modèles de diffusion peuvent être formés sur ces objectifs en aval directement à l’aide de l’apprentissage par renforcement (RL). Pour ce faire, nous peaufinons Diffusion stable sur une variété d’objectifs, y compris la compressibilité de l’image, la qualité esthétique perçue par l’homme et l’alignement rapide de l’image. Le dernier de ces objectifs utilise les retours d’expérience un grand modèle de langage de vision pour améliorer les performances du modèle sur des invites inhabituelles, démontrant comment de puissants modèles d’IA peuvent être utilisés pour s’améliorer mutuellement sans aucun humain dans la boucle.
Un diagramme illustrant l’objectif d’alignement de l’image-invite. Il utilise LLaVAun grand modèle de langage de vision, pour évaluer les images générées.
Optimisation de la politique de diffusion de débruitage
Lorsque nous transformons la diffusion en problème RL, nous faisons seulement l’hypothèse la plus élémentaire : étant donné un échantillon (par exemple une image), nous avons accès à une fonction de récompense que nous pouvons évaluer pour nous dire à quel point cet échantillon est « bon ». Notre objectif est que le modèle de diffusion génère des échantillons qui maximisent cette fonction de récompense.
Les modèles de diffusion sont généralement entraînés à l’aide d’une fonction de perte dérivée de l’estimation du maximum de vraisemblance (MLE), ce qui signifie qu’ils sont encouragés à générer des échantillons qui rendent les données d’entraînement plus probables. Dans le cadre RL, nous n’avons plus de données d’entraînement, seulement des échantillons du modèle de diffusion et leurs récompenses associées. Une façon dont nous pouvons toujours utiliser la même fonction de perte motivée par MLE consiste à traiter les échantillons comme des données d’entraînement et à incorporer les récompenses en pondérant la perte de chaque échantillon par sa récompense. Cela nous donne un algorithme que nous appelons régression pondérée par les récompenses (RWR), après algorithmes existants de la littérature RL.
Cependant, cette approche pose quelques problèmes. La première est que RWR n’est pas un algorithme particulièrement précis : il ne maximise la récompense qu’approximativement (voir Naïr et. Al., Annexe A). La perte de diffusion inspirée du MLE n’est pas non plus exacte et est plutôt dérivée à l’aide d’un limite variationnelle sur la vraisemblance de chaque échantillon. Cela signifie que RWR maximise la récompense via deux niveaux d’approximation, ce qui, selon nous, nuit considérablement à ses performances.
Nous évaluons deux variantes de DDPO et deux variantes de RWR sur trois fonctions de récompense et constatons que DDPO atteint systématiquement les meilleures performances.
L’idée clé de notre algorithme, que nous appelons optimisation de la politique de diffusion du débruitage (DDPO), est que nous pouvons mieux maximiser la récompense de l’échantillon final si nous prêtons attention à l’ensemble de la séquence d’étapes de débruitage qui nous y a conduit. Pour ce faire, nous recadrons le processus de diffusion comme un processus en plusieurs étapes Processus de décision markovien (MDP). Dans la terminologie MDP : chaque étape de débruitage est une action, et l’agent n’obtient une récompense sur la dernière étape de chaque trajectoire de débruitage que lorsque l’échantillon final est produit. Ce cadre nous permet d’appliquer de nombreux algorithmes puissants de la littérature RL conçus spécifiquement pour les MDP en plusieurs étapes. Au lieu d’utiliser la vraisemblance approximative de l’échantillon final, ces algorithmes utilisent la vraisemblance exacte de chaque étape de débruitage, ce qui est extrêmement simple à calculer.
Nous avons choisi d’appliquer des algorithmes de gradient politique en raison de leur facilité de mise en œuvre et succès passés dans la mise au point du modèle linguistique. Cela a conduit à deux variantes de DDPO : DDPOSFqui utilise l’estimateur de fonction de score simple du gradient politique également connu sous le nom de RENFORCER; et DDPOEST, qui utilise un estimateur échantillonné par importance plus puissant. DDPOEST est notre algorithme le plus performant et sa mise en œuvre suit de près celle de optimisation de la politique proximale (PPO).
Ajustement fin de la diffusion stable à l’aide de DDPO
Pour nos principaux résultats, nous affinons Diffusion stable v1-4 en utilisant DDPOEST. Nous avons quatre tâches, chacune définie par une fonction de récompense différente :
- Compressibilité : Dans quelle mesure l’image est-elle facile à compresser à l’aide de l’algorithme JPEG ? La récompense est la taille de fichier négative de l’image (en Ko) lorsqu’elle est enregistrée au format JPEG.
- Incompressibilité : quelle est la difficulté de compresser l’image à l’aide de l’algorithme JPEG ? La récompense est la taille de fichier positive de l’image (en Ko) lorsqu’elle est enregistrée au format JPEG.
- Qualité esthétique : Dans quelle mesure l’image est-elle esthétiquement attrayante pour l’œil humain ? La récompense est le résultat du Prédicteur esthétique LAIONqui est un réseau neuronal formé sur les préférences humaines.
- Alignement invite-image : dans quelle mesure l’image représente-t-elle ce qui a été demandé dans l’invite ? Celui-ci est un peu plus compliqué : nous introduisons l’image dans LLaVAdemandez-lui de décrire l’image, puis calculez la similitude entre cette description et l’invite d’origine en utilisant BERTcore.
Étant donné que Stable Diffusion est un modèle texte-image, nous devons également choisir un ensemble d’invites à lui donner lors du réglage fin. Pour les trois premières tâches, nous utilisons des invites simples du formulaire « un) [animal]». Pour l’alignement des images d’invite, nous utilisons des invites du formulaire « un) [animal] [activity]»où se déroulent les activités « faire la vaisselle », « jouer aux échecs »et « faire du vélo ». Nous avons constaté que Stable Diffusion avait souvent du mal à produire des images correspondant à l’invite de ces scénarios inhabituels, laissant ainsi une grande marge d’amélioration avec le réglage fin du RL.
Tout d’abord, nous illustrons les performances de DDPO sur les récompenses simples (compressibilité, incompressibilité et qualité esthétique). Toutes les images sont générées avec la même graine aléatoire. Dans le quadrant supérieur gauche, nous illustrons ce que la diffusion stable « vanille » génère pour neuf animaux différents ; tous les modèles peaufinés par RL montrent une nette différence qualitative. Il est intéressant de noter que le modèle de qualité esthétique (en haut à droite) tend vers des dessins minimalistes en noir et blanc, révélant les types d’images que le prédicteur esthétique de LAION considère comme « plus esthétiques ».
Ensuite, nous démontrons DDPO sur la tâche plus complexe d’alignement d’images d’invite. Ici, nous montrons plusieurs instantanés du processus de formation : chaque série de trois images montre des échantillons pour la même invite et la même graine aléatoire au fil du temps, le premier échantillon provenant de Vanilla Stable Diffusion. Il est intéressant de noter que le modèle évolue vers un style plus proche du dessin animé, ce qui n’était pas intentionnel. Nous émettons l’hypothèse que cela est dû au fait que les animaux effectuant des activités semblables à celles des humains sont plus susceptibles d’apparaître sous la forme d’un dessin animé dans les données de pré-entraînement. Le modèle s’oriente donc vers ce style pour s’aligner plus facilement sur l’invite en exploitant ce qu’il sait déjà.
Généralisation inattendue
Des généralisations surprenantes ont été constatées lors du réglage fin de grands modèles de langage avec RL : par exemple, des modèles affinés sur le suivi des instructions uniquement en anglais. s’améliore souvent dans d’autres langues. Nous constatons que le même phénomène se produit avec les modèles de diffusion texte-image. Par exemple, notre modèle de qualité esthétique a été affiné à l’aide d’invites sélectionnées parmi une liste de 45 animaux communs. Nous constatons qu’il se généralise non seulement aux animaux invisibles mais aussi aux objets du quotidien.
Notre modèle d’alignement d’images rapides a utilisé la même liste de 45 animaux communs pendant l’entraînement et seulement trois activités. Nous constatons qu’il se généralise non seulement aux animaux invisibles mais aussi aux activités invisibles, et même à de nouvelles combinaisons des deux.
Suroptimisation
Il est bien connu que le réglage fin d’une fonction de récompense, notamment une fonction apprise, peut conduire à récompense suroptimisation où le modèle exploite la fonction de récompense pour obtenir une récompense élevée de manière non utile. Notre environnement ne fait pas exception : dans toutes les tâches, le modèle finit par détruire tout contenu d’image significatif pour maximiser la récompense.
Nous avons également découvert que LLaVA est sensible aux attaques typographiques : lors de l’optimisation de l’alignement par rapport aux invites du formulaire « [n] animaux »DDPO a réussi à tromper LLaVA en générant à la place un texte ressemblant vaguement au numéro correct.
Il n’existe actuellement aucune méthode générale pour empêcher la suroptimisation, et nous soulignons ce problème comme un domaine important pour les travaux futurs.
Conclusion
Les modèles de diffusion sont difficiles à battre lorsqu’il s’agit de produire des résultats complexes et de grande dimension. Cependant, jusqu’à présent, ils ont surtout réussi dans des applications où l’objectif est d’apprendre des modèles à partir de très nombreuses données (par exemple, des paires image-légende). Nous avons découvert un moyen d’entraîner efficacement les modèles de diffusion, au-delà de la simple correspondance de modèles, et sans nécessairement nécessiter de données d’entraînement. Les possibilités ne sont limitées que par la qualité et la créativité de votre fonction de récompense.
La façon dont nous avons utilisé DDPO dans ce travail s’inspire des récents succès de la mise au point des modèles de langage. Les modèles GPT d’OpenAI, comme Stable Diffusion, sont d’abord formés sur d’énormes quantités de données Internet ; ils sont ensuite affinés avec RL pour produire des outils utiles comme ChatGPT. Généralement, leur fonction de récompense est tirée des préférences humaines, mais autres avoir plus récemment J’ai découvert comment créer des chatbots puissants en utilisant des fonctions de récompense basées sur les commentaires de l’IA. Par rapport au régime des chatbots, nos expériences sont à petite échelle et de portée limitée. Mais compte tenu de l’énorme succès de ce paradigme « pré-entraînement + réglage fin » dans la modélisation du langage, il semble certainement qu’il vaut la peine d’aller plus loin dans le monde des modèles de diffusion. Nous espérons que d’autres pourront s’appuyer sur nos travaux pour améliorer les modèles de diffusion à grande échelle, non seulement pour la génération de texte en image, mais aussi pour de nombreuses applications passionnantes telles que génération vidéo, génération de musique, l’édition d’image, synthèse des protéines, robotiqueet plus.
De plus, le paradigme « pré-entraînement + réglage fin » n’est pas le seul moyen d’utiliser DDPO. Tant que vous disposez d’une bonne fonction de récompense, rien ne vous empêche de vous entraîner avec RL dès le début. Bien que ce domaine soit encore inexploré, c’est un domaine dans lequel les atouts de DDPO pourraient vraiment briller. Pure RL est depuis longtemps appliqué à une grande variété de domaines allant de jouer aux jeux à manipulation robotique à la fusion nucléaire à conception de puce. L’ajout de la puissante expressivité des modèles de diffusion a le potentiel de faire passer les applications existantes de RL au niveau supérieur – ou même d’en découvrir de nouvelles.
Cet article est basé sur l’article suivant :
Si vous souhaitez en savoir plus sur DDPO, vous pouvez consulter le papier, site web, code d’origineou obtenez le poids du modèle sur Hugging Face. Si vous souhaitez utiliser DDPO dans votre propre projet, consultez mon Implémentation PyTorch + LoRA où vous pouvez affiner Stable Diffusion avec moins de 10 Go de mémoire GPU !
Si DDPO inspire votre travail, veuillez le citer avec :
@misc{black2023ddpo,
title={Training Diffusion Models with Reinforcement Learning},
author={Kevin Black and Michael Janner and Yilun Du and Ilya Kostrikov and Sergey Levine},
year={2023},
eprint={2305.13301},
archivePrefix={arXiv},
primaryClass={cs.LG}
}