Les réseaux de neurones ne définissent pas automatiquement les données d’identification. Ils nécessitent en fait un peu de formation — ils doivent être alimentés en ensembles de données à utiliser comme points de référence. Sinon, ils passeraient au crible aveuglément les données, incapables de leur donner un sens.
Selon le blog officiel de Google, le processus de formation est basé sur la répétition et l’analyse. Par exemple, si vous voulez former un ANN à identifier un vélo, vous lui montrerez plusieurs millions de vélos. De plus, vous préciseriez clairement — en code informatique, bien sûr — à quoi ressemble un vélo, avec deux roues, une selle et un guidon.
Ensuite, les chercheurs relâchent le réseau pour voir quels résultats il peut trouver. Il y aura des erreurs. Le programme peut, par exemple, renvoyer une série d’images comprenant des motos et des cyclomoteurs. Dans ces cas, les programmeurs peuvent modifier le code pour préciser à l’ordinateur que les vélos n’incluent pas les moteurs et les systèmes d’échappement. Ensuite, ils exécutent le programme, encore et encore, en peaufinant le logiciel jusqu’à ce qu’il renvoie des résultats satisfaisants.
L’équipe de Deep Dream s’est rendu compte qu’une fois qu’un réseau peut identifier certains objets, il peut également recréer ces objets par lui-même. Ainsi, un réseau connaissant les vélos à vue peut alors reproduire une image de vélos sans autre saisie. L’idée est que le réseau génère de nouvelles images créatives grâce à sa capacité à classer et à trier les images.
Il est intéressant de noter que même après avoir passé au crible des millions d’images de vélos, les ordinateurs continuent de commettre des erreurs critiques lors de la génération de leurs propres images de vélos. Ils peuvent inclure des mains humaines partielles sur le guidon ou des pieds sur les pédales. Cela se produit parce que de nombreuses images de test incluent également des personnes, et l’ordinateur ne peut finalement pas discerner où se terminent les parties du vélo et où commencent les parties des personnes.
Ces types d’erreurs se produisent pour de nombreuses raisons, et même les ingénieurs logiciels ne comprennent pas pleinement tous les aspects des réseaux de neurones qu’ils construisent. Mais en connaissant le fonctionnement des réseaux de neurones, vous pouvez commencer à comprendre comment ces défauts se produisent.
L’artificiel neurones dans le réseau fonctionnent en piles. Deep Dream peut en utiliser 10 ou 30. Chaque couche reprend divers détails d’une image. Les calques initiaux peuvent détecter des éléments de base tels que les bordures et les bords d’une image. Un autre pourrait identifier des couleurs et orientation. D’autres calques peuvent rechercher des formes spécifiques qui ressemblent à des objets comme une chaise ou une ampoule. Les couches finales peuvent réagir uniquement à des objets plus sophistiqués tels que des voitures, des feuilles ou des bâtiments.
Les développeurs de Google appellent ce processus créationnisme en référence à cette architecture particulière de réseau de neurones. Ils ont même posté un galerie publique pour montrer des exemples du travail de Deep Dream.
Une fois que le réseau a identifié divers aspects d’une image, un certain nombre de choses peuvent se produire. Avec Deep Dream, Google a décidé de dire au réseau de faire de nouvelles images.