Comprendre l’IA générative : qu’est-ce que l’espace latent ?

S’il fallait choisir, parmi toutes les notions qui permettent de décrire comment fonctionnent les algorithmes d’intelligence artificielle dite générative (diffusion, transformers, backpropagation…), s’il ne fallait en retenir qu’une seule, ce serait celle d’espace latent.

Prenons un cas classique, un algorithme dont on souhaite qu’il soit capable de distinguer les images de chats de celles de chiens.

Image : collection d’exemples soumises à l’algorithme pour son entraînement. Pour plus de clarté, il n’y en a que trois, et sans arrière-plan, il en faut évidemment beaucoup plus, et faire varier les contextes, les poses, l’éclairage…

Notre algorithme se calibre sur une collection d’exemples. On peut dire dire qu’il décele des différences et des similarités entre les images d’entraînement. À noter que ces différences ne sont pas programmées. On ne lui indique pas que les chats et les chiens se distinguent plus facilement si on prête attention à la présence de moustache ou à la forme des oreilles. Les différences sont inférées de l’entraînement, ce qui fait qu’au bout du compte on ne sait pas ce que « regarde » un algorithme pour établir sa distinction (à quelles caractéristiques il fait plus ou moins attention). (mais on peut en avoir une idée, après coup, par des méthodes élaborées).

Une manière de décrire le processus serait de dire que l’entraînement de l’algorithme revient à positionner les images d’exemples les unes par rapport aux autres en fonction des différences décelées.

Imaginons que la taille fasse partie des différences décelées. L’entraînement de l’algorithme revient à positionner les images, les unes par rapport aux autres, en fonction de la taille.

Agencement des images en fonction d’une dimension, la taille

Si la forme des oreilles fait également partie des différences décelées, l’entraînement de l’algorithme revient à positionner les images les unes par rapport aux autres, en fonction de la taille et de la forme des oreilles.

Agencement des images en fonction de la taille et de la forme des oreilles

Mathématiquement, c’est comme si les images étaient rangées dans un espace à deux dimensions, chaque dimension correspondant à une différence décelée, ici la taille et la forme des oreilles.

Enfin, imaginons que la couleur de l’image fasse également partie des caractéristiques décelées. L’entraînement de l’algorithme revient donc à positionner les images les unes par rapport aux autres, en fonction de la taille, de la forme des oreilles, et de la couleur. Elles sont agencées dans un espace multidimensionnel de taille trois, chaque axe ou dimension correspondant à une de ces trois caractéristiques.

Positionnement des images dans un espace multidimensionnel de taille trois

Bien que nous soyons incapables de nous représenter au-delà de ces trois dimensions, il faut imaginer que les algorithmes font la même chose, ils « rangent » les objets dans des espaces à des dizaine de milliers de dimensions correspondant chacune à des différences qu’ils ont détectées, appelés « espace latent ». L’espace est dit « latent » car il n’existe pas vraiment, il est induit par l’algorithme à partir des différences détectées entre ses objets d’entraînement, c’est la manière dont il les classe.

Comprendre l’IA générative : les notions comme régions de l’espace latent

Chaque point de l’espace latent correspond à une combinaison de caractéristiques particulières (taille, oreilles, couleur, etc.). La distance entre les points correspond aux relations de similarité et de différence entre les exemples. Par conséquent, les objets similaires en viennent à être regroupés dans des « régions » de cet espace multidimensionnel. En voici une visualisation en trois dimensions :

«
 Région des chats » et « région des chiens » dans un espace latent à trois dimensions

Une fois l’entraînement effectué, c’est-à-dire une fois que l’algorithme aencodé une collection d’exemples dans un espace multidimensionnel des caractéristiques différenciantes (l’espace latent), l’algorithme dispose d’une définition des objets : chaque objet suffisamment représenté dans la base de données d’exemples correspond à une région de l’espace latent. Lorsqu’on lui présente une nouvelle image, ses caractéristiques permettront de la positionner dans l’espace latent et donc de voir, dans l’exemple qui nous occupe, si elle appartient à la région des chats ou des chiens : elle sera reconnue comme une image de chat ou de chien.

Inversement, il est possible de désigner un point de la région des chats, et de demander à l’algorithme de produire une image ayant la combinaison de caractéristiques correspondantes.

Le dessin donne une idée de la combinaison de caractéristiques souhaitées à l’algorithme, qui produit une image de chat possédant ces caractéristiques

Ou encore, il est possible de sélectionner un point intermédiaire entre la région des chats et celle des chiens pour voir à quoi ressemblerait un animal qui aurait des caractéristiques « à mi-chemin » entre celles de chaque espèce.

Image de chat-chien

Intéragir avec l’espace latent : produire une nouvelle image

La « sélection » du point, autrement dit la communication à l’algorithme de la combinaison de caractéristiques souhaitées, peut se faire de différentes manières (esquisses, textes…). La manière privilégiée aujourd’hui est la description textuelle (ou prompt), ce qui est assez pauvre, étant donné la variété des caractéristiques qui composent une image. Lorsque le prompteur a une intention précise, les images proposées en sont souvent assez « loin » et il faut « tâtonner » dans l’espace latent en reformulant le prompt, parfois sans succès. Certaines personnes ont développé assez de familiarité avec les outils pour tâtonner moins longtemps que les autres et vendent leur compétence (prompt engineers).

Intéragir avec l’espace latent : moduler une image existante

Dans la mesure où l’algorithme a été entraîné à reconnaître qu’il s’agit du même objet quelles qu’en soit ses variations, il a également encodé les variations elles mêmes. Il est capable de reconnaître un chien, quelle que soit sa taille, quelle que soit sa couleur, qu’il ait ou non la gueule ouverte, etc. La combinaison de caractéristiques correspondant à « avoir la gueule ouverte » est un vecteur dans l’espace latent. Dès lors, il est possible d’appliquer ce vecteur à une image pour lui appliquer la qualité correspondante.

L’image d’origine est tranformée en lui appliquant les vecteurs correspondant aux qualités souhaitées (posture, âge, genre, coiffure…). Image : Sieun Park, « How to edit images with GANs? Controlling the Latent Space of GANs », Medium, 17 août 2021.

En plus de produire de nouvelles images, l’IA générative permet donc de moduler les images existantes en lui appliquant des qualités. Cette modulation peut se décrire comme une exploration de l’espace latent. On peut comparer la modulation d’une image à une forme de scultpure sur un matériau souple (argile ou pâte à modeler) : il est possible d’étirer l’image, de modifier son orientation, d’en changer une partie… Étant donné les possibilités que cela ouvre, on peut penser qu’il y aura des innovations au niveau des interfaces pour que les utilisateurs en aient une perception plus intuitive.

Et le texte ?

L’utilisation du texte repose sur le même principe. En utilisant différentes méthodes (notamment, remplir des textes à trous), les algorithmes sont entraînés à associer les mots et leur contexte et en inférer des relations de distances et de proximité entre les mots qui correspondent à leur similarité, ou plus précisément par subsituabilité (ils peuvent apparaître dans le même contexte). Ainsi, « chien » sera plus proche de « chat » que de étagère. Cela conduit également à encoder les analogies au sens large (une chose est à une autre ce que ceci est à cela) sous forme de vecteur dans l’espace latent.

Une projection de l’espace vectoriel des mots dans un espace en trois dimensions permet de visualiser les vecteurs encodant la relation de genre, de temporalité, ou la relation pays / capitale. Image : word2vec tutorial, TensorFlow

En étendant l’entraînement à des formes textuelles plus grandes que les mots, les algorithmes encodent des notions et des qualités plus élaborées, comme le style littéraire ou la relation entre un texte et son résumé.

Quelle gamme de gestes créatifs ?

En amont de l’utilisation des algorithmes, il faut constituer la collection d’exemples qui permettra de les entraîner. C’est d’abord une curation (sélection de textes et d’images) qui va cadrer le répertoire des formes possibles, et définir une certaine tonalité – le reflet de la majorité des exemples utilisés.

Lors de l’entraînement, il est possible d’orienter ce répertoire en favorisant ou défavorisant certaines formes (apprentissage par renforcement). C’est une couche supplémentaire de curation.

L’usage de l’algorithme commence par une description (généralement le « prompt ») de la forme qu’il doit fournir, ou bien par l’envoi d’une forme déjà existante à moduler. Lorsque l’algorithme fournit la forme initiale, on peut parler à la fois de collage puisqu’elle est le résultat d’une combinaison de formes existantes (les éléments de la base de données d’entraînement), mais aussi d’esquisse puisque elle sert de point de départ au processus créatif.

Une fois la forme esquissée ou fournie à l’algorithme, il est possible de la moduler de plusieurs manières :

– obtenir des variations aléatoires, notamment lorsque l’esquisse ne convient pas mais que l’on ne sait pas comment décrire ce qu’il faudrait changer pour qu’elle convienne

étirer la forme (outpainting, texte plus long…)

moduler une caractéristique locale : ajouter des lunettes, enlever un élément, changer l’arrière-plan…

moduler une caractéristique globale. Pour les images : le style général, la résolution, l’éclairage… Pour le texte : le niveau de complexité, le niveau de politesse, le niveau de sérieux…

– les modulations peuvent se faire en transférant une caractéristique d’une forme à une autre : appliquer l’expression d’un visage à un autre, ou appliquer le style de Balzac à une recette de cuisine… A nouveau, on se rapproche du collage.

Introduction à l’IA générative

Compte-rendu de la conférence d’ouverture du séminaire IA générative, donnée à l’Institut de l’ENS en septembre 2023

Quelques leçons de l’histoire

En mars 2023, peu après que Elon Musk ait défrayé la chronique en appelant à un moratoire sur les recherches en IA (sans pour autant rien cesser de ses propres activités), Geoffrey Hinton annonce sa démission de Google. Le pionnier le plus ancien et le plus influent du deep learning s’avoue dépassé et inquiet devant les évolutions récentes du champ auquel il a tant contribué, nous invitant tous à faire preuve d’humilité dans nos appréciations.

Si les dernières avancées de l’IA défient l’entendement, il est toutefois possible de mieux cerner ce qui se trame en revenant à certaines notions fondamentales, à commencer par celle d’algorithme. Inventés au départ pour des agents humains, les algorithmes consistent à décomposer une opération en étapes si élémentaires que les opérateurs peuvent les effectuer sans comprendre ce qu’ils font. Autrement dit, mettre au point un algorithme revient à trouver les moyens de réaliser une opération en se passant d’intelligence : lorsqu’est mise au point une machine qui joue au go, cela ne signifie pas que la machine est dotée d’intelligence, mais que ses concepteurs ont trouvé le moyen de jouer au go en s’en passant.

Pour autant, l’idée qu’il est possible de fabriquer des machines intelligente est présente dès les plus anciens textes de notre civilisation (Homère, Hésiode…), en particulier via les fabrications du dieu Héphaïstos, où elles sont associées à la possibilité d’un monde sans travail.

Inspirés par cet exemple, certains savants s’attellent à fabriquer des automates qui imitent l’humain et le vivant, quitte à tricher pour impressionner leur public. C’est le cas, au dix-huitième siècle, du célèbre « turc mécanique », mis au point par le baron von Kempelen, censé pouvoir jouer aux échecs alors qu’il dissimulait un opérateur humain. Cette tendance historique à l’exagération, voire à la supercherie, invite à la prudence aujourd’hui : des dispositifs présentés comme « intelligents » ou simplement « autonomes » cachent une foule d’humains indispensables à leur bon fonctionnement, chargés de leur fournir de l’énergie, des données, de labelliser ces données (« travailleurs du clic »), de faire la maintenance et les mises à jour de leurs logiciels, etc.

C’est dans les années cinquante du vingtième siècle, à la faveur de l’invention de l’ordinateur, que la fabrication de machines intelligentes devient un projet scientifique sérieux. Impressionnés par leurs premières réalisations, les chercheurs pensent être sur le point d’y arriver, ce qui est relayé à grand bruit par la presse. Le temps passe sans qu’ils ne réussissent, mais sans non plus affaiblir leur optimisme : cela fait maintenant plus de soixante-dix ans que les machines intelligentes sont annoncées pour demain.

L’IA est donc une idée aussi ancienne que notre civilisation, liée à un rêve (ou un cauchemar) de fin du travail, qui amène à présenter comme autonome des machines n’existant que grâce au travail des humains, ainsi que comme intelligents des algorithmes dont le principe est pourtant d’évacuer la pensée de l’opération, et dont le succès est systématiquement reconduit au lendemain.

De l’IA à l’IA générative

Ces remarques critiques ne doivent pas faire perdre de vue les réalisations concrètes considérables auxquelles aboutissent les chercheurs. Dès 1957, Frank Rosenblatt fabrique le Perceptron, un réseau de neurones capable de reconnaître les lettres de l’alphabet. À l’époque, deux écoles rivalisent d’ingéniosité : les connexionnistes imitent le fonctionnement du cerveau par des machines dites apprenantes, tandis que l’école symbolique préfère reproduire l’enchaînement logique des raisonnements.

En 1969, la publication d’un livre de critiques du Perceptron sonne le glas de l’approche connexionniste et marque le triomphe (temporaire) de l’école symbolique. Les réseaux de neurones apparaissent comme une fausse piste jusqu’en 1986, lorsque les travaux de quelques chercheurs isolés (dont Geoffrey Hinton) trouvent les moyens de dépasser les limites identifiées en 1969.

Il faut attendre les années 2010 pour qu’à la faveur de l’amélioration des algorithmes (invention du deep learning), de la mise à disposition d’immenses bases de données à même de les entraîner (l’époque des big data) et de l’augmentation de la puissance de calcul disponible (grâce aux progrès des cartes graphiques destinées aux jeux vidéo), la supériorité de leur approche éclate au grand jour.

Très rapidement, le deep learning s’impose dans de nombreux domaines : reconnaissance d’image, du son, reconnaissance faciale, mise au point de voitures autonomes, jeu de go… Utilisé au départ comme outil de détection des formes, il devient, grâce à l’invention par Ian Goodfellow des GANs (Generative Adversarial Networks, 2014) capable de produire des formes nouvelles – l’IA devient « générative ».

En 2017, l’invention des « transformers » étend, par d’autres voies, ces capacités au langage. Les « générateurs » de textes grossissent de manière vertigineuse et apportent des « réponses » de plus en plus pertinentes, au point qu’en novembre 2022, la publication de ChatGPT sidère le grand public.

Comprendre l’IA générative : l’« espace latent »

L’entraînement des algorithmes d’IA peut être comparé à un « classement » des exemples fournis en fonction de caractéristiques différenciantes décelées automatiquement (taille, couleur…). Tout se passe comme si l’algorithme « rangeait » les exemples dans un espace à plusieurs dimensions, chaque dimension correspondant à une de ces caractéristique différenciante – c’est l’espace latent.

Après l’entraînement, les objets similaires sont regroupés dans des « régions » de cet espace. Chaque notion « apprise » par l’algorithme (par exemple, la notion de chat ou de chien) est une région de l’espace latent, autrement dit une région de l’espace multidimensionnel des caractéristiques différenciantes.

Lorsqu’un nouvel objet est présenté, l’algorithme le « situe » dans l’espace latent en fonction des caractéristiques décelées : est-il dans la « région » des chats, ou des chiens ? Inversement, si on lui indique des coordonnées de la région (par exemple, dans la région des chats), il produit une image avec les caractéristiques correspondantes (une image de chat). Il est possible de combiner les caractéristiques des chats et des chiens pour obtenir une image de « chat-chien », ou encore de moduler ces caractéristiques à l’envi : ajouter des lunettes, changer la posture, l’éclairage, mais aussi appliquer le style d’un peintre ou d’une marque, pour peu que ces caractéristiques aient été « apprises » au cours de l’entraînement, c’est-à-dire qu’il y en ait des exemples (des images de la marque ou du peintre concernés) dans la base de données.

La même chose s’applique au langage (les mots et les expressions sont « rangés » dans un espace multidimensionnel qui encode leurs relations de distance ou de proximité et permet de produire de nouvelles expressions, ainsi que de moduler les existantes), mais aussi au son, à la 3D, aux cartes de chaleur, avec des outils permettant de passer d’un mode à l’autre – ils deviennent multimodaux.

Ainsi, on peut décrire l’IA générative comme l’encodage d’une collection d’exemples dans un espace multidimensionnel qui permet de produire des esquisses de formes (textes, images, sons…), de les moduler en changeant leurs caractéristiques globales (éclairage, style) ou locales, en transférant les caractéristiques d’une forme à une autre, ou encore en les « étirant » (compléter un texte, outpainting…).

L’IA générative est-elle créative ?

Dans la mesure où les algorithmes produisent des formes qui n’existaient pas auparavant, peut-on dire qu’il y a création ? GPT-4 obtient de bon scores sur les tests de créativité standard (trouver une expression linguistique associant des mots très hétéroclites, lister les mots les plus différents possibles…), mais, dans la mesure où l’algorithme a encodé les relations de proximité et de distance entre les expressions linguistiques, cela revient à soumettre une énigme à quelqu’un qui connaît déjà la réponse, autrement à dit à tester la mémoire et non la créativité.

La distinction entre jeu fermé (ludus) et jeu ouvert (paidia), apportée par Roger Caillois, permet de mieux cerner le périmètre de ce que peuvent faire les algorithmes. S’ils font mieux que les humains lorsqu’il s’agit de jeux dont les règles sont claires et définies (conduire, jouer aux échecs ou au go…), ils sont à la peine lorsque les règles changent ou lorsqu’une situation exceptionnelle impose d’en inventer de nouvelles. En mars 2020, nos mutations soudaines de comportements (confinement, achats compulsifs) ont dérouté les algorithmes de recommandation et avec eux ceux de prévision des ventes, puis de prévision des stocks. La multiplication actuelle des crises (pandémie, guerre, réchauffement et catastrophes climatiques…) nous invite donc à préserver le rôle des opérateurs humains (surveillance, maintenance, mises à jour…) plutôt que de souscrire au rêve de machines « autonomes » qui nous mettrait en péril.

Pour reprendre une distinction de Gaston Bachelard (au sujet de l’invention scientifique), les algorithmes sont capables d’invention incrémentale mais pas d’invention révolutionnaire, car l’invention révolutionnaire ne consiste pas à « faire » quelque chose mais, à partir du constat qu’une règle ne fonctionne plus, à être capable de la suspendre, c’est à dire à « ne plus faire » quelque chose. Cet arrêt, ce suspens, ne peut pas faire partie du périmètre d’un programme car il fait tomber dans une récursion infinie : il faudrait définir les règles qui régissent les changements de règles, et donc définir aussi les règles régissant le changement des règles régissant le changement de règles, et ainsi de suite.

Si l’IA générative est limitée à la créativité incrémentale, elle est entre les mains d’humains dotés de leur pleine créativité. Elle fournit une occasion d’inventions révolutionnaires, qui viendront des usagers. En 1878, lorsqu’Edison liste les applications qui pourraient faire le succès du phonographe (enregistrer les voix de ses proches, laisser des messages…), il lui est difficile d’imaginer la place que pourrait prendre la musique : il réfléchit à partir des problèmes de son temps, depuis une société où la musique n’a pas l’importance qu’elle pourra prendre plus tard – justement grâce au phonographe. De la même manière, l’importance de l’IA générative ne réside pas dans les tâches actuelles qu’elles nous permettrait de faire plus rapidement, mais dans les nouveaux usages qui vont se développer à la faveur de son existence.