Avec Google Deep Dream, les ordinateurs peuvent nous faire faire des rêves éveillés. Ils trouvent des motifs dans les images pour modifier l’aspect de celles-ci. Les résultats ressemblent à des hallucinations visuelles.
La vision par ordinateur est un domaine de l’IA qui permet de résoudre différents problèmes du monde réel. Pour relever les différents défis qu’elle rencontre, les ingénieurs explorent différentes techniques. Aujourd’hui, nous allons vous parler du programme Deep Dream de Google, un logiciel qui transforme les images de manière étonnante.
Deep Dream, le logiciel de Google
Deep Dream est un logiciel conçu par Google en 2014 dans le cadre de l’ImageNet Large Scale Visual Recognition Challenge. Il s’agit d’un concours annuel qui rassemble des développeurs en matière de systèmes de vision par ordinateur. L’ILSVRC consiste à trouver les meilleurs moyens de détecter automatiquement des millions d’images.
L’ingénieur de Google Alxander Mordvintsev a créé Deep Dream en utilisant des réseaux de neurones convolutifs (CNN). Le logiciel sert à identifier et à améliorer des motifs dans des images pour créer des visions hallucinantes sur les mêmes images.
Plus tard, le programme a rendu populaire le concept de « rêve ». Il désigne actuellement un ensemble d’approches qui permettent de transformer et de générer des images.
Ce que fait Deep Dream
Le logiciel Deep Dream de Google repère des motifs dans des images numériques. Il les modifie pour les rendre visibles à l’œil humain. En quelque sorte, Deep Dream crée des images à l’aspect psychédélique par paréidolie algorithmique. Pour faire simple, les paréidolies correspondent à des illusions d’optique.
Par exemple, l’image d’un rocher peut se transformer en tourbillons colorés, en formes géométriques répétitives ou en lignes surlignées. Sur un paysage vide, Deep Dream peut créer des voitures, des parties de corps humains, etc. Parmi les motifs les plus identifiés par le logiciel figurent surtout des animaux.
Pour quelle utilité ?
L’objectif de Google dans la création de Deep Dream n’a sûrement pas été de nous donner des hallucinations. La principale utilité du logiciel est la reconnaissance ou la classification d’images.
D’une manière générale, les moteurs de recherches sur internet tiennent compte des mots clés comme entrées principales. Pour être référencées, les images doivent donc être étiquetées avec des mots clés spécifiques. En d’autres termes, les ordinateurs ont des difficultés à identifier les images avec précision. Pour cause, les données visuelles peuvent être encombrées et désordonnées. Maintenant, les outils de classification tels que le logiciel Google Deep Dream sont importants pour donner aux machines une meilleure perception du monde.
Mais Deep Dream peut également s’exécuter en sens inverse. Autrement dit, il peut ajuster une image originale pour produire une image plus cohérente. Entre autres, il fait en sorte qu’un neurone de sortie donne un score de confiance plus élevé. Par exemple, il peut modifier une image de manière à ce qu’elle ressemble à un chien.
Cas d’utilisation
Le concept de « rêve profond » peut s’appliquer tant aux neurones de sorties qu’aux neurones cachés de manière à explorer les différentes parties du réseau. Deep Dream permet également de maximiser l’activité, c’est-à-dire d’optimiser une entrée pour satisfaire un neurone ou une couche entière.
Outre la visualisation de réseaux de neurones et de génération d’art informatique, Google Deep Dream peut contribuer à améliorer le temps d’entraînement en termes d’abstraction. Par ailleurs, il a été utilisé dans le domaine de l’histoire de l’art et même dans un clip musical.
L’effet hallucinant des « rêves » a aussi aidé un groupe de chercheurs, à l’université de Sussex, en 2017. Dans le cadre d’une étude basée sur la réalité virtuelle, ils ont préenregistré une vidéo panoramique à laquelle ils ont appliqué le logiciel. La recherche consistait à expérimenter les effets des substances psychoactives et des conditions psychopathologiques. Le projet intitulé « Hallucination Machine » a dévoilé une différence significative entre les expériences VR et les vidéos de contrôle. D’autre part, il présentait des similitudes avec l’état psychédélique d’un sujet ayant reçu une dose d’hallucinogène.
Comment fonctionne Google Deep Dream ?
Deep Dream est constitué d’un système d’IA appelé réseau de neurones artificiels. Il s’agit effectivement d’une imitation du fonctionnement neuronal du cerveau humain. Tous les processus corporels sont provoqués par des impulsions nerveuses transmises par plus de 100 milliers de neurones. À la place des cellules nerveuses, l’IA utilise des neurones artificiels pour filtrer des données pour atteindre un résultat.
Dans le cas du logiciel de Google, la première partie de la désignation « Deep Dream » fait référence au deep learning. Il s’agit en fait d’une sous catégorie de l’intelligence artificielle qui implique l’utilisation de plusieurs couches de neurones artificiels. Deep Dream en compte généralement entre 10 et 30 couches pour traiter des images.
Entraîner les neurones artificiels
Le principe du machine learning et du deep learning consiste à donner aux ordinateurs la capacité d’apprendre par eux-mêmes. Cela signifie que les réseaux de neurones doivent s’entraîner pour fournir les résultats attendus. Pour cela, les programmeurs en IA doivent leur fournir des données qu’ils utilisent comme points de référence. C’est grâce à cela que les algorithmes peuvent donner un sens aux données.
Pour entraîner Deep Dream, Google repose donc sur la répétition et l’analyse. Prenons le même exemple que nous avons précédemment utilisé : le chat. Afin de reconnaître un chat, un réseau de neurones artificiels doit s’entraîner sur des millions d’images de chats. Les développeurs doivent donc spécifier tous les éléments qui constituent le corps d’un chat, notamment les yeux, les oreilles, les pattes, la queue, etc. Un réseau de neurones entraîné doit donc être capable de reconnaître un chat dans de nouvelles images d’entrées.
Toutefois, il peut faire des erreurs, comme prendre un chien pour un chat. Dans ce cas, les développeurs doivent modifier le code pour donner plus de précisions sur les traits qui différencient les deux animaux. Ainsi, le réseau devra continuer de s’entraîner encore et encore jusqu’à ce qu’il obtienne un meilleur résultat.
L’inceptionnisme
Pour les ingénieurs de Google, si un réseau de neurones artificiels est capable d’identifier des images d’objets spécifiques, il doit aussi être capable de les reproduire. Autrement dit, s’il peut reconnaître un chat, il doit également pouvoir générer l’image d’un chat à partir de rien.
Dans le cas de Deep Dream, les ingénieurs de Google utilisent entre 10 et 30 couches de neurones artificiels. Chaque couche extrait les différentes caractéristiques d’une image. Plus précisément, les premières couches peuvent identifier les éléments de base (bords, coins). Les couches intermédiaires peuvent détecter les formes générales, les couleurs ou les composants comme les portes, par exemple. Enfin, les dernières couches peuvent rechercher des formes spécifiques. Google appelle ce processus « inceptionnisme ».
L’interprétabilité
Pour résoudre les défis liés à la reconnaissance d’images, les chercheurs de Google ont aussi cherché à prendre le point de vue des neurones artificiels. Il s’agissait de comprendre comment les différentes couches voient et identifient les images.
À cette fin, les développeurs de Google Deep Dream ont mis au point un outil de visualisation avec un plus grand niveau de reconnaissance. Ils n’ont pas demandé au système d’identifier un élément en particulier, mais de montrer tout ce qu’il voit.
Par conséquent, les CNN trouvent et améliorent les motifs des images pour plonger les humains dans des paréidolies. C’est ainsi que Deep Dream finit par générer des formes psychédéliques sur les images.
Google Deep Dream détecte des motifs partout
Avec Deep Dream, même si une image est zoomée sur une petite partie, l’ordinateur détectera une forme (un animal, un bâtiment, etc.). Néanmoins, les ingénieurs laissent le logiciel choisir lui-même les parties d’une image à identifier. Ces parties seront alors mises en valeur et Google Deep Dream tentera de détecter un motif.
Pour vous donner un exemple précis, s’il détecte une forme de chien dans le motif d’un tissu, il accentuera les détails du chien. Et c’est là que les couches entrent en jeu pour renforcer les différents éléments relatifs à un chien (nez, yeux, fourrures, etc.).
Notons qu’à mesure que Deep Dream itère sa création, il zoom davantage ajoutant ainsi plus de détails à l’image. Le résultat peut alors être une image qui comporte des milliers de chiens.
Le logiciel peut détecter différentes formes allant des animaux aux formes géométriques. Toutefois, il est bon de préciser que les développeurs de Google ont formé Deep Dream sur des données comportant 120 sous-classes de chiens. Cela signifie que les images générées par le logiciel sont souvent susceptibles de montrer les éléments constitutifs d’un chien.
Par ailleurs, Deep Dream peut détecter des motifs même sur une image blanche remplie de parasites. En d’autres termes, il peut utiliser certaines parties de l’image pour créer des images étranges.
Dans l’ensemble, l’idée est de trouver un moyen d’identifier et de contextualiser le contenu des images. Enfin, pour mieux comprendre son fonctionnement, tout le monde peut l’appliquer sur n’importe quelle image et voir le résultat. De plus, Google a rendu public le code source de Deep Dream pour permettre à tous d’utiliser plus facilement le service.
- Partager l'article :