Nous avons vu l’IA générer des images à partir d’autres images avec les GANs. Ensuite sont apparus des modèles capables de générer des images discutables à partir de texte. Au début de 2021, DALL-E a été publié et a surpassé toutes les tentatives précédentes de génération d’images à partir d’un input textuel grâce à CLIP, un modèle qui relie les images au texte afin de servir de guide. Une tâche très semblable appelée génération de légendes d’images peut sembler très simple, mais elle est en fait tout aussi complexe. Elle consiste à permettre à une machine de générer une description naturelle d’une image. C’est presque aussi difficile que la synthèse texte-image, puisque la machine doit comprendre à la fois l’image et le texte qu’elle génère.

Légende générée : un régime de bananes posé sur une table.
Il est facile de simplement étiqueter les objets visibles dans l’image. Un modèle de classification classique peut s’en charger. Mais comprendre ce qui se passe dans une seule image en 2D est un tout autre défi. Les humains y arrivent assez facilement parce que nous pouvons nous appuyer sur nos expériences passées. Nous pouvons même nous mettre à la place de la personne dans l’image et rapidement comprendre la situation. C’est beaucoup plus difficile pour une machine qui ne voit que des pixels. Pourtant, les chercheurs ont publié un nouveau modèle impressionnant qui accomplit cette tâche extrêmement bien.
Comme les chercheurs l’ont dit explicitement, « la génération de légendes d’images est une tâche fondamentale de la compréhension vision-langage », et je suis entièrement d’accord. Les résultats sont fantastiques, mais son fonctionnement est encore plus cool. Plongeons donc un peu dans le modèle et ses mécanismes internes…

Légende générée : des étudiants profitent des cerisiers en fleurs.
Dans ce cas-ci, les chercheurs ont utilisé CLIP pour accomplir cette tâche. Si vous ne connaissez pas le fonctionnement de CLIP ou ce qui le rend si fantastique, je vous invite fortement à lire l’un des nombreux articles que j’ai écrits à son sujet. En bref, CLIP relie les images au texte en encodant les deux types de données dans une représentation semblable où ils peuvent être comparés. C’est un peu comme comparer des films à des livres à partir d’un court résumé de chaque œuvre. Avec seulement ce résumé, vous pouvez comprendre le sujet et comparer les deux, mais vous ne savez pas s’il s’agit d’un film ou d’un livre. Ici, les films sont les images et les livres sont les descriptions textuelles.
CLIP crée ensuite son propre résumé afin de comparer facilement les deux éléments en calculant les différences entre leurs bits. On comprend déjà pourquoi CLIP semble parfait pour cette tâche, mais il faut encore un peu de travail pour l’adapter à nos besoins.

Ici, CLIP servira simplement d’outil pour comparer des inputs textuels à des inputs visuels. Nous devons donc encore générer un texte qui pourrait décrire l’image. Au lieu de comparer ce texte aux images avec les encodages de CLIP,
les chercheurs encodent simplement l’image avec le réseau de CLIP et utilisent l’information encodée ainsi générée pour guider un autre modèle dans un futur processus de génération de texte.

Le modèle ClipCap. Image tirée de l’article scientifique.
N’importe quel modèle de langage comme GPT-3 peut accomplir une telle tâche et pourrait améliorer les résultats, mais les chercheurs ont choisi son prédécesseur, GPT-2, une version plus petite et plus intuitive du puissant modèle d’OpenAI. Ils conditionnent essentiellement la génération de texte de GPT-2 à l’aide des encodages de CLIP. Le modèle CLIP est déjà entraîné, et ils utilisent une version préentraînée de GPT-2 qu’ils entraînent davantage en se servant des encodages de CLIP pour orienter la génération de texte. Ce n’est pas tout à fait simple, puisqu’ils doivent encore adapter l’encodage de CLIP à une représentation que GPT-2 peut comprendre, mais ce n’est pas excessivement compliqué non plus. Le modèle apprend simplement à convertir l’encodage de CLIP en plusieurs vecteurs ayant les mêmes dimensions qu’un embedding de mot typique.
Cette correspondance entre les outputs de CLIP et les inputs de GPT-2 constitue l’étape apprise pendant l’entraînement, puisque GPT-2 et CLIP sont déjà deux modèles entraînés et puissants dans leurs tâches respectives. Imaginez donc un troisième modèle, appelé réseau de mapping, dont l’unique responsabilité consiste à traduire le langage de l’un vers celui de l’autre. La tâche demeure difficile. Si l’architecture concrète de ce réseau vous intéresse, les chercheurs ont essayé un simple perceptron multicouche, ou MLP, ainsi qu’une architecture Transformer. Ils ont confirmé que cette dernière est plus puissante pour apprendre un ensemble précis d’embeddings, mieux adapté à la tâche lorsque de puissants modèles de langage préentraînés sont utilisés. Si vous ne connaissez pas les Transformers, prenez 5 minutes pour lire l’article que j’ai écrit à leur sujet. Vous rencontrerez de plus en plus souvent ce type de réseau dans un avenir rapproché.
Ce modèle est très simple et extrêmement puissant. Imaginez seulement CLIP combiné à GPT-3 de cette façon. Nous pourrions utiliser un tel modèle pour décrire automatiquement des films ou pour créer de meilleures applications destinées aux personnes aveugles ou malvoyantes. Les applications concrètes sont extrêmement prometteuses ! Bien sûr, il ne s’agissait que d’un bref aperçu de ce nouveau modèle, et vous trouverez plus de détails sur son implémentation dans l’article scientifique lié dans les références ci-dessous. J’espère que cet article vous a plu. Si c’est le cas, prenez une seconde pour le partager avec une personne que le sujet pourrait intéresser.
Merci de m’avoir lu. Restez à l’affût de mon prochain article, le dernier de l’année et un article plutôt passionnant !
Si vous aimez mon travail et souhaitez rester au courant de l’IA, suivez-moi sur mes autres réseaux sociaux (LinkedIn, Twitter) et abonnez-vous à mon infolettre hebdomadaire sur l’IA !
Pour me soutenir :
- La meilleure façon de me soutenir est de devenir membre de ce site Web ou de vous abonner à ma chaîne YouTube si vous préférez le format vidéo.
- Suivez-moi ici ou sur Medium
- Vous souhaitez vous lancer en IA ou améliorer vos compétences ? Lisez ceci !
Références
- Mokady, R., Hertz, A. and Bermano, A.H., 2021. ClipCap: CLIP Prefix for Image Captioning. https://arxiv.org/abs/2111.09734
- Code : https://github.com/rmokady/CLIP_prefix_caption
- Démonstration Colab : https://colab.research.google.com/drive/1tuoAC5F4sC7qid56Z0ap-stR3rwdk0ZV?usp=sharing
FAQ
Que fait ClipCap ?
ClipCap génère une description en langage naturel pour une image en input en reliant les caractéristiques de CLIP à un modèle de langage.
Quel rôle joue CLIP ?
CLIP encode l’image en caractéristiques alignées avec le langage, ce qui fournit un signal sémantique pour générer la description.
Pourquoi faut-il quand même un modèle de langage ?
CLIP peut comparer du texte et des images, mais il ne peut pas à lui seul rédiger une description complète et naturelle.
Pourquoi la génération de légendes d’images est-elle difficile ?
Une légende doit sélectionner les objets, les actions et les relations importantes plutôt que de simplement reconnaître des étiquettes visuelles isolées.
À quoi peuvent servir les légendes automatiques ?
Elles peuvent améliorer l’accessibilité, décrire des bibliothèques multimédias, faciliter la recherche et aider à résumer des scènes visuelles.


