Le réseau neuronal qui dessine des chats (2017)

English

Google a présenté un outil logiciel capable de reconnaître et compléter un dessin, alors même que vous êtes en train de dessiner. Cette amusante performance repose sur les réseaux neuronaux et l’apprentissage.

Au commencement : un ordinateur qui joue aux échecs

Pendant longtemps, l’approche majeure en intelligence artificielle était de fournir une tonne de données à l’ordinateur, afin de permettre à celui-ci d’avoir en banque toutes les équations possibles. C’est par exemple ce qui a mené à la création de Deep Blue, le superordinateur joueur d’échecs d’IBM du milieu des années 1990.

Afin de battre les maîtres des échecs, la prémisse sur laquelle les travaux ont été fondés consistait à programmer tous les coups possibles, toutes les stratégies imaginables. Ainsi, grâce à ses processeurs puissants et en ayant toute l’information à sa disposition, Deep Blue pouvait « comprendre » toutes les stratégies de ses adversaires et arriver ainsi à les battre, ou pour le moins, à les forcer à faire match nul.

Le réseau neuronal

Par contre, les limitations de Deep Blue sont rapidement apparues évidentes. Il a fallu des années aux ingénieurs pour programmer toutes les stratégies du jeu d’échecs, une à une, et ainsi créer un super répertoire dans lequel Deep Blue pouvait piocher, plus rapidement que n’importe quel humain. Bien qu’impressionnant, il s’agit d’un système à règles définies, à l’ensemble programmé d’avance. On comprend donc qu’on est bien loin de l’adaptabilité et de l’imagination que requiert l’intelligence au sens humain du terme.

Les chercheurs en intelligence artificielle travaillent donc actuellement plutôt à renouveler un concept qui n’est pas récent, celui du réseau neuronal qui permet à la machine d’apprendre par la création d’interconnexions, tout comme les neurones de notre cerveau. La machine apprend grâce à des images identifiées par des humains : un chat ressemble à ceci, un chien à cela. Puis, les réseaux neuronaux se forment pour l’identification des caractéristiques de base : les couleurs, les formes, les textures.

Les interconnexions se raffinent

Après avoir vu des milliers de photos de chats et de chiens, la machine va créer de plus en plus de liaisons neuronales qui permettront de distinguer d’abord les formes de base, puis les subtilités — dans le cas de nos chers animaux domestiques, le museau, les moustaches, les poils, etc. Ce qui permettra à la machine d’analyser des informations apprises puis de distinguer et de catégoriser par elle-même. Un chat sera reconnu comme tel et sera considéré comme distinct d’un chien ; et ce, même s’il s’agit d’une espèce encore inconnue.

Google investit beaucoup dans la recherche en intelligence artificielle, notamment en ce qui a trait aux réseaux neuronaux. La plateforme Sketch-RNN (pour Recurrent Neural Network), a permis à Google de démontrer que la machine pouvait apprendre à dessiner des chats, entre autres, en interprétant les quelques 5 millions de dessins que les utilisateurs du jeu Quick, Draw !, un outil mis en ligne en 2016, ont fournis. Il faut reconnaître l’ingéniosité de Google, qui a utilisé cette contribution des utilisateurs pour… apprendre à son propre outil comment dessiner et constamment s’améliorer !

La machine qui fait des dessins

Sketch-RNN
Image 1.

Est-ce que Sketch-RNN a un talent incomparable en dessin ? Non. Certains affirment que la machine dessine aussi bien « qu’un enfant de 2 ans ». Mais cela n’empêche pas l’outil d’être assez révolutionnaire. Parce que ce qui est arrivé durant « l’enseignement », c’est que la machine a compris qu’il fallait reproduire un concept, plutôt que simplement recopier les traits effectués par les humains. Sur l’image 1, on le voit bien par exemple pour la ligne où un petit malin a fait un chat avec trois yeux ; Sketch-RNN n’est pas dupe et conçoit que ce n’est pas correct, en puisant dans son « expérience » qui lui indique que les chats n’en ont que deux.

Sketch-RNN
Image 2.

Ensuite, Sketch-RNN a commencé à gribouiller des dessins sans se baser sur l’apport des humains. On voit le type de dessins produits sur l’image 2. Et finalement, Sketch-RNN est parvenu à faire des prédictions — assez valables et parfois surprenantes ! — sur les éléments nécessaires pour compléter un gribouillis commencé par un humain. On le voit sur l’image 3, par les lignes rouges. Il est remarquable de constater les catégories qu’a établies la machine par elle-même : par exemple, un visage humain est ovale, un hibou a de gros yeux, un moustique a deux ailes, etc.

Sketch-RNN
Image 3.
“Le logiciel peut commencer par des esquisses incomplètes (les tracés rouges, à gauche de la ligne verticale) et les compléter automatiquement de différentes façons.”

Un chat est un chat

L’expérience a non seulement démontré que la machine pouvait identifier qu’il s’agissait bien de chats à partir des dessins somme toute assez sommaires, mais qu’elle pouvait également bien apprendre ses caractéristiques, comme les moustaches, ou les deux yeux. L’initiative de la machine pour proposer des éléments pourrait même être vue comme une forme sommaire de… créativité !

L’apprentissage par réseaux neuronaux offre de nombreuses promesses en imitant plus fidèlement l’intelligence humaine. Ainsi, l’apprentissage se fait comme pour nous, c’est-à-dire de manière non linéaire, et même avec une certaine part « d’intuition » et d’assimilation inconsciente. Après tout, notre connaissance des chats ne provient pas seulement des livres de notre enfance, mais plutôt des milliers de chats que nous avons croisés durant notre vie et de notre expérience avec ceux-ci.

Sketch-RNN

S’il vous plaît… intelligence artificielle, dessine-moi un mouton !


The neural network that draws cats

Google unveiled a new tool able to recognize and complete a drawing. This command performance is made possible thanks to neural networks and machine learning.

In the beginning, there was Chess

For the longest time, artificial intelligence was predicated on pouring terabytes of data into a computer, and equipping it with every possible scenario. This process is what led to the creation of Deep Blue, IBM’s chess-playing supercomputer of the mid-1990s.

To enable it to beat chess masters, Deep Blue was pre-fed every possible move and strategy under the sun. Thanks to its powerful processors and instant access to exhaustive information, Deep Blue was able to “figure out” all of its opponents’ strategies and beat them at their own game, or at worst, force a draw.

The neural network

But Deep Blue’s limitations quickly became obvious. It took engineers years to individually program every possible chess strategy to create a database that Deep Blue could refer to faster than any human being. Though the result was impressive, it nevertheless remained a machine following defined, pre-programmed rules. This was a far cry from the adaptability and imagination that characterize human intelligence.

Artificial intelligence researchers are now working on updating an old concept, that of the neural network, allowing machines to learn by creating connections between things, just like the human brain. Now, machines can learn by recognizing images identified by humans: this is what a cat looks like, as opposed to a dog. Neural networks are created to identify basic characteristics like colours, shapes and textures.

Crazy cat neural networks

As it “sees” ever more images of cats and dogs, the machine keeps creating new neural networks, allowing it to recognize basic shapes at first, then finer details like noses, whiskers and hairs. The machine constantly analyzes learned information, using it to differentiate and categorize things on its own, without human intervention. Cats are recognized and differentiated from dogs, and unknown species are recognized as such.

Google has invested heavily in artificial intelligence research, and especially in the neural network concept. Thanks to its Sketch-RNN (Recurrent Neural Network) platform, Google has demonstrated that a machine can learn to draw cats, among other things, after interpreting some 5 million cat drawings made by users of Google’s Quick, Draw! tool, available on-line since 2016. A masterstroke by Google, who used users’ contributions to… teach its own tool to draw and improve!

The artistic machine

Sketch-RNN
Image 1.

Is Sketch-RNN a great master of the art of drawing? Not by any stretch. In fact, some would say that it draws about as well as a two-year-old. But even so, the tool is revolutionary, because the machine learned to produce an idea rather than dumbly reproduce lines drawn by humans. Image 1 clearly illustrates the gulf between the two concepts: when a smarty pants tried to fool the machine by drawing a cat with three eyes, Sketch-RNN didn’t fall for it, drawing on its “experience” to determine that such a thing is impossible.

Sketch-RNN
Image 2.

Eventually, Sketch-RNN was able to produce its own drawings with no human intervention whatsoever (see image 2). And finally, Sketch-RNN was able to make predictions – valid and surprising ones! — about how to complete a drawing started by a human but left unfinished (see red lines in image 3). What is remarkable is that the machine was able to make decisions on its own: for example, human faces are roughly oval, owls have larger eyes, mosquitoes have two wings, etc.

Sketch-RNN
Image 3.
“The model can start with incomplete sketches (the red partial sketches to the left of the vertical line) and automatically generate different completions.”

Call a cat a cat

Experience has shown not only that the machine could recognize cats from rather rough sketches, but also that it could learn a cat’s characteristic traits, like whiskers, or two eyes. And the machine’s initiative in suggesting elements to complete the drawing could be termed… creativity!

Neural network learning is a promising field in that it mimics human intelligence. In other words, machines are starting to learn like humans do, i.e. in a non-linear manner, through “intuition” and unconscious assimilation. After all, our knowledge of cats doesn’t come just from children’s books, but from our experience with thousands of cats throughout our lives.

Sketch-RNN

Artificial intelligence, can you draw me a sheep?