|
|
||
|---|---|---|
| .. | ||
| README.md | ||
README.md
Réseaux Multi-Modal
Après le succès des modèles de transformateurs pour résoudre des tâches de traitement du langage naturel (NLP), des architectures similaires ont été appliquées aux tâches de vision par ordinateur. Il y a un intérêt croissant à construire des modèles qui combinent les capacités de vision et de langage naturel. Une de ces tentatives a été réalisée par OpenAI, et elle s'appelle CLIP et DALL.E.
Pré-Formation d'Image Contrastive (CLIP)
L'idée principale de CLIP est de pouvoir comparer des invites textuelles avec une image et déterminer à quel point l'image correspond bien à l'invite.
Image tirée de cet article de blog
Le modèle est entraîné sur des images obtenues sur Internet et leurs légendes. Pour chaque lot, nous prenons N paires de (image, texte), et les convertissons en certaines représentations vectorielles I et T. Ces représentations sont ensuite mises en correspondance. La fonction de perte est définie pour maximiser la similarité cosinus entre les vecteurs correspondant à une paire (par exemple, I et T), et minimiser la similarité cosinus entre toutes les autres paires. C'est la raison pour laquelle cette approche est appelée contrastive.
Le modèle/bibliothèque CLIP est disponible sur OpenAI GitHub. L'approche est décrite dans cet article de blog, et plus en détail dans cet article.
Une fois ce modèle pré-entraîné, nous pouvons lui donner un lot d'images et un lot d'invites textuelles, et il retournera un tenseur avec des probabilités. CLIP peut être utilisé pour plusieurs tâches :
Classification d'Images
Supposons que nous devons classifier des images entre, disons, des chats, des chiens et des humains. Dans ce cas, nous pouvons donner au modèle une image et une série d'invites textuelles : "une image d'un chat", "une image d'un chien", "une image d'un humain". Dans le vecteur résultant de 3 probabilités, il suffit de sélectionner l'index avec la valeur la plus élevée.
Image tirée de cet article de blog
Recherche d'Images Basée sur le Texte
Nous pouvons également faire l'inverse. Si nous avons une collection d'images, nous pouvons passer cette collection au modèle, et une invite textuelle - cela nous donnera l'image qui est la plus similaire à l'invite donnée.
✍️ Exemple : Utilisation de CLIP pour la Classification d'Images et la Recherche d'Images
Ouvrez le notebook Clip.ipynb pour voir CLIP en action.
Génération d'Images avec VQGAN+ CLIP
CLIP peut également être utilisé pour la génération d'images à partir d'une invite textuelle. Pour ce faire, nous avons besoin d'un modèle générateur capable de générer des images basées sur un certain vecteur d'entrée. Un de ces modèles s'appelle VQGAN (GAN quantifié par vecteur).
Les principales idées de VQGAN qui le différencient d'un GAN ordinaire sont les suivantes :
- Utilisation d'une architecture de transformateur autoregressive pour générer une séquence de parties visuelles riches en contexte qui composent l'image. Ces parties visuelles sont à leur tour apprises par CNN.
- Utilisation d'un discriminateur de sous-image qui détecte si des parties de l'image sont "réelles" ou "fausses" (contrairement à l'approche "tout ou rien" des GAN traditionnels).
En savoir plus sur VQGAN sur le site web Taming Transformers.
Une des différences importantes entre VQGAN et les GAN traditionnels est que ces derniers peuvent produire une image décente à partir de n'importe quel vecteur d'entrée, tandis que VQGAN est susceptible de produire une image qui ne serait pas cohérente. Ainsi, nous devons guider davantage le processus de création d'images, ce qui peut être fait en utilisant CLIP.
Pour générer une image correspondant à une invite textuelle, nous commençons par un certain vecteur d'encodage aléatoire qui est passé à travers VQGAN pour produire une image. Ensuite, CLIP est utilisé pour produire une fonction de perte qui montre à quel point l'image correspond à l'invite textuelle. L'objectif est alors de minimiser cette perte, en utilisant la rétropropagation pour ajuster les paramètres du vecteur d'entrée.
Une excellente bibliothèque qui implémente VQGAN+CLIP est Pixray.
Images de la collection Enseignants Artificiels par Dmitry Soshnikov
DALL-E
DALL-E 1
DALL-E est une version de GPT-3 entraînée pour générer des images à partir d'invites. Il a été entraîné avec 12 milliards de paramètres.
Contrairement à CLIP, DALL-E reçoit à la fois du texte et de l'image comme un seul flux de tokens pour les images et le texte. Par conséquent, à partir de plusieurs invites, vous pouvez générer des images basées sur le texte.
DALL-E 2
La principale différence entre DALL-E 1 et 2 est qu'il génère des images et de l'art plus réalistes.
Exemples de générations d'images avec DALL-E :
Références
- Article sur VQGAN : Taming Transformers for High-Resolution Image Synthesis
- Article sur CLIP : Learning Transferable Visual Models From Natural Language Supervision
Avertissement :
Ce document a été traduit à l'aide de services de traduction automatisés basés sur l'IA. Bien que nous visons à garantir l'exactitude, veuillez noter que les traductions automatiques peuvent contenir des erreurs ou des inexactitudes. Le document original dans sa langue natale doit être considéré comme la source autoritaire. Pour des informations critiques, une traduction humaine professionnelle est recommandée. Nous ne sommes pas responsables des malentendus ou des interprétations erronées résultant de l'utilisation de cette traduction.








