C’est un trip visuel de 10 minutes assez hors du commun dans lequel vous allez vous immerger. Il semble sombre et inquiétant comme un cauchemar. Mais il est aussi apaisant et agréable comme une méditation tant son mouvement est doux. 
Bienvenue en rêve profond. 

A partir d’ici, vous avez le choix. Vous laisser porter par l’étrangeté de ce voyage planant et inquiétant dans cette animation gentiment cauchemardesque sans essayer de comprendre comment elle est faite. Ou alors vous plonger dans la découverte du "deepdream" —Le "rêve profond" : les images/vidéos générées par des algorithmes d'apprentissage automatique— qui est la méthode de fabrication de ce long songe de 10 minutes. (L’apprentissage automatique Machine Learning ou "ML" est un champ d'étude de l'intelligence artificielle pour donner aux ordinateurs la capacité d'"apprendre" à partir de données, c'est-à-dire résoudre des tâches sans être explicitement programmés pour chacune). Un procédé de pointe pour un rendu qui fait ici paradoxalement penser à de la peinture à l’huile.

Même si certaines notions qui vont suivre vous sembleront trop pointues, vous en comprendrez les principes et soyez sûrs.es d’une chose : vous assistez à l’arrivée d’images fabriquées d’une façon totalement nouvelle. Et comme cela vous sera raconté par l’auteur de cette animation, Adam Letts aka Gandamu qui a eu la gentillesse de nous décrire sa façon de travailler, vous découvrirez un artiste / codeur utilisant des ressources très expérimentales et en plein développement : l’intelligence artificielle et, plus précisément dans son cas, il a commencé avec les "notebook VQGAN+CLIP Colab" et travaille maintenant avec une technologie appelée "CLIP-guided diffusion". 
Eh, oui, n’ayez pas peur, on va un peu vous expliquer cela. Il s’agit, en résumé, de générer des images à partir de texte. Dingue, non ? 

Pour vous aider un peu à l’assimilation des explications de ce cher Adam Letts, voici quelques notions préalables… 
La scène créative de l'imagerie de synthèse ("GAN Art") a récemment connu une sorte d'explosion de la productivité : un nouveau type de réseau neuronal capable de générer des images à partir de texte a été rapidement popularisé grâce à un notebook Google Colab
—Un réseau de neurones artificiels est un système informatique s’inspirant du fonctionnement du cerveau humain pour apprendre. Et il a une propension naturelle à stocker des connaissances empiriques et à les rendre disponibles en vue d'une utilisation. La connaissance est acquise par le réseau à travers un processus d'apprentissage.
Google Colab est un outil publié par Google, disponible dans le cloud et permet une édition collaborative facile. 
Tout cela a permis à des milliers de personnes de créer des images époustouflantes-fantastiques-magiques, simplement en entrant une "description" en texte. Twitter, Reddit et autres forums ont été inondés de ces images, souvent accompagnées des hashtags #vqgan ou #clip. Qui correspondent à un protocole très récent de génération d'images en intelligence artificielle appelée VQGAN+CLIP.
Exemple d'image dont le texte de départ est : "un chat noir qui dort au-dessus d'une horloge rouge".

VQGAN et CLIP sont en fait deux algorithmes d'apprentissage automatique distincts qui peuvent être utilisés ensemble pour générer des images à partir d’un texte. Les utilisations de VQGAN+CLIP ont été rendues publiques sur Google Colab, ce qui signifie que n'importe qui peut exécuter son code pour générer son propre art. Le modèle texte-image que les "notebook VQGAN+CLIP Colab“ a popularisé ouvre de nouvelles voies et peut-être même démocratise une nouvelle forme de "créativité". D’où l’explosion virale, c’est-à-dire que ces techniques sont désormais à portée de tout un chacun. Ou presque. Faut être un (peu) "passionné" quand même.
Image générée par ce texte : "Quelque chose de Walmart vient par ici".

Image générée par ce texte : "Escargot géant brutaliste".

Et maintenant, c’est parti pour une visite du deep dream avec Adam Letts, votre guide formé dans la "demoscene". (La scène démo, ou "demoscene" en anglais, est une sous-culture informatique ayant pour but la création artistique sous forme de programme, le postulat de base est de réaliser des performances technologiques/artistiques en jouant sur des astuces de programmation ou de réelles performances programmatiques).
Adam Letts : " Je travaille à plein temps en tant que développeur de logiciels et je me suis impliqué dans l'art "ML" comme un hobby. Je me suis lancé dans la production de ces vidéos en amateur qui se trouve avoir une expérience dans le développement de jeux vidéo et de graphiques. Je voyais déjà quelques images Deepdream apparaître sur Reddit depuis un certain temps, mais mon intérêt a commencé lorsque les gens ont commencé à poster plus fréquemment ces images beaucoup plus belles issues de VQGAN+CLIP. Lorsque j'ai découvert que VQGAN+CLIP était principalement contrôlé par du texte en anglais, c'est devenu beaucoup plus intéressant pour moi (c'est-à-dire que c'est une magie puissante) et j'ai creusé pour trouver comment l'exécuter moi-même“.

Adam Letts : "Mon intérêt initial pour les vidéos générées par des ordinateurs est venu de la "scène démo". J'étais un grand fan des productions de la scène démo dans les années 1990 et c'est à cette époque que je me suis sérieusement intéressé à la programmation et à la modélisation 3D. Avec cette nouvelle technologie "Machine Learning", j'ai réalisé que nous étions entrés dans une ère où j'étais bien placé pour exploiter mes compétences techniques sur ordinateur afin de créer des visuels innovants que les gens aimeront. J'ai pu constater qu'il s'agissait d'un modeleur 3D et d'un moteur de rendu magiques réunis en un seul produit et qu'il était très polyvalent. Les gens sont souvent déjà stupéfaits avant même d'être conscients de son aspect le plus fascinant —à savoir que le départ est un texte descriptif en anglais et non des images ... et que le réseau neuronal CLIP d'OpenAI a été formé pour faire tout cela. C'est une technologie de science-fiction dans nos mains aujourd'hui et c'est époustouflant, et donc, bien sûr, j'ai voulu l'utiliser. La technologie s'est rapidement améliorée depuis lors —il y a 5 mois : j'ai commencé fin septembre 2021".

Adam Letts : "En ce qui concerne l'art, je n'ai jamais été quelqu'un qui peut dessiner rapidement une bonne image. Je suis cependant quelqu'un qui a plusieurs fois dans sa vie dessiné une bonne image ou créé une belle chose avec un œil critique et une grande quantité de patience à travers un processus planifié d’affinage. Je pense que cela s'applique bien à l'art généré par ML aujourd'hui, puisqu'il s'agit d'un bon processus de d’affinage critique qui exige de la patience sans nécessairement nécessiter des compétences en illustration".

 Adam Letts : "Au départ, j'essayais de créer tout ce que la technologie était capable de produire, tout en ayant une certaine préférence pour les choses absurdes, oniriques ou psychédéliques. Lorsque j'ai commencé à créer ces animations, j'ai découvert que beaucoup de gens voulaient des vidéos plus longues. Cela m'a amené à réfléchir à la manière dont une vidéo sauvage et aléatoire pouvait maintenir l'intérêt sur une longue durée. Je suis arrivé à l'idée d'une vidéo qui, à première vue, semble être de l'horreur, mais qui, malgré son contenu, est en quelque sorte apaisante et dissociative, car elle provoque un état de transe. Je pense que cet équilibre permet d'attirer un public plus large, et de maintenir naturellement l'attention de certaines personnes qui ne penseraient pas aimer ça".

Adam Letts : "J'ai commencé par générer quelques images fixes à l'aide des bloc-notes VQGAN+CLIP Colab et d'un code modifié pour fonctionner sur mon PC local. C'était magique et souvent hilarant. Cependant, j'avais le sentiment que, bien que ce soit une démonstration technique étonnante, un artiste pouvait généralement produire des images meilleures que les notebook VQGAN+CLIP les plus populaires, dans un délai raisonnable par des moyens conventionnels. Très vite, j'ai remarqué qu'il existait un notebook VQGAN+CLIP Colab pour générer des animations. C'était du coup beaucoup plus intéressant pour moi. Du fait de ma participation antérieure au codage pour la "demoscene" et au développement de jeux, je sais depuis longtemps que d'ajouter le bon son pour accompagner les visuels transforme mes visuels de (à mon avis) mauvaises démos techniques en expériences immersives agréables. L'animation à l'aide de cette Intelligence Artificielle m'a également paru d'une efficacité redoutable par rapport aux moyens conventionnels et une technologie judicieuse à poursuivre".
Pour ceux qui s'y connaissent bien, aujourd'hui, Adam Letts utilise "Disco Diffusion" qui génère ses vidéos (dont celle-ci) en utilisant la diffusion guidée par CLIP. (Oui, cette technologie a des noms de nightclub !)

Adam Letts : "La façon dont je travaille sur ces animations comporte deux volets. Je développe parfois du code dans les bases de code d'apprentissage automatique elles-mêmes, ainsi que les outils associés, et je produis parfois des choses avec ces bases en tant qu'utilisateur final.
En ce qui concerne le code, je n'ai jusqu'à présent pas touché au code de base de génération de texte en image, ni au cœur des autres algorithmes d'apprentissage automatique utilisés. Je me suis plutôt concentré sur tout ce qui est lié à l'animation. Cela correspond bien à mon expérience en matière de développement graphique. Il s'agit de prendre les directions de la caméra ainsi que l'image la plus récemment générée, puis de transformer cette image en une nouvelle image qui est plausiblement ce que l'on verrait si le mouvement actuel de la caméra se produisait dans un environnement 3D continu. Cela implique l'utilisation de transformations 3D ainsi que d'autres modèles d'apprentissage automatique capables d'estimer la profondeur dans une image".

Adam Letts : "Il est important de comprendre que la génération en "ML" d’une l'image en fonction d'un texte en anglais converge vers un résultat ressemblant à ce que quelqu'un est susceptible de voir sur Internet avec le texte correspondant. Lorsque vous comprenez cela, vous réalisez qu'elle ne cherche pas nécessairement à générer quelque chose d'esthétiquement plaisant. Vous devez l'inciter à le faire".

Adam Letts : "Comme le processus est assez rapide, je commence à générer des images de manière quelque peu instinctive. J'ai souvent l'impression d'être un critique et de converger vers mes préférences, plutôt que de poursuivre une vision que j'avais déjà en tête. Parfois, je décide d'essayer quelque chose de radical ou de risqué pour explorer, et d'autres fois, je peaufine. Je ne suis pas très conscient de ce que je poursuis. J'affine les résultats qui me plaisent, et j'essaie d'exploiter les forces des algorithmes d'apprentissage automatique plutôt que leurs faiblesses".

Adam Letts : "Tant pour la musique que pour les vidéos, je suis fan de MGMT depuis un certain temps. En partie à cause de l'utilisation de la technologie de l'apprentissage automatique dans leurs vidéos, j'ai découvert qu'ils avaient aussi d'autres fans dans l'art automatique. Je me rends compte qu'ils semblent également partager l'idée d'explorer des choses qui peuvent être superficiellement sombres ou effrayantes tout en rendant le tout apaisant et agréable". 

Adam Letts : "Pour faire un peu le point sur ce qui s'est passé au cours des deux dernières semaines ... J'ai ajouté mon code de transformation 3D à Disco Diffusion v5 et je suis maintenant l'un de ses deux mainteneurs. J'ai également généré une vidéo pour une collaboration avec Lumpy Touch. Je pense que la vidéo de Lumpy Touch est le premier exemple de quelqu'un qui applique ce type de technologie à des vidéos amusantes sur une chaîne qui a beaucoup de fans". 

Si vous êtes arrivés.ées jusque-là, c’est que vous avez trouvé cela passionnant. (Comme nous). 
Contrairement à l’idée préconçue concernant l’art programmatiqueAdam Letts semble travailler de façon assez empirique et instinctive, par petites touches d’"affinage", plutôt comme un artiste en peinture que comme un programmeur finalement, et ça, c’est bien surprenant. Dans ces domaines, on peut trouver des personnes dont les idées et les processus sont extrêmement différents de ceux de l'industrie du développement logiciel en général.
Merci Adam Letts !