Chez Google, l'équipe que je dirige travaille sur l'intelligence artificielle,
c'est-à-dire à créer des ordinateurs et des appareils
capables de faire une partie de ce que fait le cerveau.
Nous sommes donc très intéressés par les vrais cerveaux
ainsi que la neuroscience,
en particulier les choses que nos cerveaux font
avec une performance bien supérieure à celle des ordinateurs.
Historiquement, un de ces domaines est la perception,
le processus permettant aux choses du monde,
les sons et les images,
de devenir des concepts dans notre esprit.
C'est essentiel pour nos propres cerveaux
et est très utile pour un ordinateur.
Les algorithmes de perception des machines, comme ceux de mon équipe,
nous permettent de rechercher des images sur Google
selon ce qu'elles représentent.
Le revers de la perception est la créativité :
transformer un concept en un objet du monde extérieur.
Au cours de l'année, notre travail sur la perception des machines
a été lié, de façon inattendue, au monde de la créativité des machines
et de l'art des machines.
Je pense que Michel-Ange avait une vision perspicace
de cette double relation entre la perception et la créativité.
Voici une de ses citations connue :
« Chaque bloc de pierre renferme une statue
et c'est le rôle du sculpteur de la découvrir. »
Je pense que ce que Michel-Ange voulait exprimer
c'est que nous créons ce que nous perçevons
et que cette perception est elle-même un acte d'imagination
et est le produit de la créativité.
L'organe qui pense et perçoit et imagine
est, bien-sûr, le cerveau.
Et j'aimerais commencer avec une brève histoire
de ce que nous savons sur le cerveau.
Car, contrairement au cœur ou aux intestins,
on ne peut pas dire grand chose sur le cerveau en le regardant,
tout du moins pas à l’œil nu.
Les premiers anatomistes qui ont étudié le cerveau
ont donné aux structures superficielles des tas de jolis noms
tels que l'hippocampe, soit « petit champignon ».
Bien-sûr, ce genre de choses ne nous dit pas
ce qu'il se passe à l'intérieur.
La première personne qui, à mon avis, s'est fait une idée
de ce qu'il se passait dans le cerveau
était le neuroanatomiste espagnol, Santiago Ramón y Cajal,
au 19ème siècle.
Il a utilisé la microscopie et des colorants spéciaux
qui pouvaient colorer ou créer un fort contraste
dans les différentes cellules du cerveau
afin de commencer à comprendre leur morphologie.
Il a fait ce genre de dessins représentant les neurones
au 19ème siècle.
Ceci est un cerveau d'oiseau.
Vous voyez cette incroyable diversité de type de cellules,
même la théorie cellulaire était relativement nouvelle à l'époque.
Ces structures,
ces cellules avec ces arborisations,
ces branches parcourant de très grandes distances,
tout cela était nouveau à l'époque.
Elles nous rappellent des câbles.
Au 19ème siècle, cela semblait peut-être évident à certains :
la révolution du câblage électrique venait de commencer.
Mais de bien des façons,
ces dessins micro-anatomiques de Ramón y Cajal, comme celui-ci,
n'ont toujours pas été surpassés.
Plus d'un siècle plus tard,
nous essayons toujours de finir le travail entamé par Ramón y Cajal.
Voici des données brutes venant de nos collaborateurs
à l'Institut de Neuroscience Max Planck.
Nos collaborateurs ont imagé
de petits morceaux de tissu cérébral.
L'échantillon fait environ un millimètre cube
et je vous en montre un très petite portion.
Le trait sur la gauche fait environ un micron.
Les structures que vous voyez sont des mitochondries
faisant la taille d'une bactérie.
Voici des coupes consécutives
de ce très petit bloc de tissu.
Si vous voulez comparer,
le diamètre moyen d'un cheveu est d'environ 100 microns.
Nous regardons quelque chose de beaucoup plus petit qu'un cheveu.
Avec ce genre de coupes séquentielles en microscopie électronique,
nous pouvons en faire des reconstructions en 3D des neurones comme celle-ci.
Cela ressemble à ce qu'a fait Ramón y Cajal.
Seuls quelques neurones s'allument, sinon nous n'y verrions rien,
Cela serait trop dense,
trop rempli structures,
de câbles connectant les neurones entre eux.
Ramón y Cajal était en avance pour son époque
et les progrès faits dans la compréhension du cerveau
ont avancé lentement au cours des décades suivantes.
Mais nous savions que les neurones utilisaient l'électricité
et, en 1945, notre technologie était assez avancée
pour entamer de vraies expériences électrique sur des neurones
pour mieux comprendre leur fonctionnement.
C'est au même moment que les ordinateurs furent inventés,
dans l'idée de modéliser le cerveau ;
une « machine intelligente », comme disait Alan Turing,
un des pères de l'informatique.
Warren McCulloch et Walter Pitts ont regardé les dessins que Ramón y Cajal
avait fait du cortex visuel
et qui sont présentés ici.
C'est le cortex qui traite les images venant de l’œil.
Pour eux, cela ressemblait à un schéma électrique.
Il y a de nombreux détails dans leur schéma électrique
qui ne sont pas exacts.
Mais l'idée de base selon laquelle le cortex visuel
fonctionne comme une série de composants électroniques
relayant l'information à la cascade suivante
est globalement correcte.
Considérons un instant
ce qu'un modèle de traitement d'information visuelle ferait.
La tâche basique de perception
est de prendre une image comme celle-ci et de dire :
« c'est un oiseau »,
ce qui est, pour nous, très simple à faire grâce à nos cerveaux.
Mais vous devriez tous comprendre que pour un ordinateur
c'était quelque chose d'impossible il y a quelques années.
Le paradigme classique de l'informatique
ne permet pas d'accomplir cette tâche simplement.
Ce qu'il se passe entre les pixels,
entre l'image de l'oiseau et le mot « oiseau »,
c'est un ensemble de neurones connectés entre eux
à travers un réseau neuronal, comme représenté ici.
Ce réseau neuronal peut être biologique, comme dans nos cortex visuels
ou, de nos jours, nous avons la capacité
de modéliser des réseaux neuronaux en informatique.
Je vais vous montrer ce à quoi cela ressemble.
Vous pouvez voir les pixels comme la première couche de neurones,
c'est ainsi que l’œil fonctionne :
ce sont les neurones dans la rétine.
Ils transmettent l'information
couche après couche de neurones,
tous connectés par des synapses de différents poids.
Le comportement de ce réseau
est caractérisé par les forces de toutes ces synapses.
Elles caractérisent les propriétés informatiques de ce réseau.
Finalement,
vous avez un neurone ou un petit groupe de neurones
qui s'allument et disent « oiseau ».
Je vais représenter ces trois choses :
les pixels en entrée et les synapses du réseau neuronal,
et l'oiseau, la sortie,
avec trois variables : x, w et y.
Il y a peut-être un million de x :
un million de pixels par image.
Il y a des milliards ou des billions de w
qui représentent le poids de toutes ces synapses du réseau neuronal.
Et il y a très peu de y,
de sorties présentes dans le réseau.
« Oiseau » n'a que six lettres.
Prétendons que la formule est simple :
x « fois » w = y.
Je mets fois entre guillements
car ce qu'il se passe vraiment est bien-sûr
une série complexe d'opérations mathématiques.
C'est une équation.
Il y a trois variables.
Nous savons tous qu'avec une équation,
vous pouvez trouver une variable si vous connaissez les deux autres.
Le problème de l'inférence,
c'est-à-dire trouver que la photo de l'oiseau est un oiseau,
est le suivant :
y est l'inconnue et w et x sont connus.
Vous connaissez le réseau neuronal et les pixels.
Comme vous le voyez, c'est un problème plutôt simple à résoudre.
Vous multipliez deux par trois et vous avez fini.
Je vais vous montrer un réseau neuronal
que nous avons créé récemment et qui fait cela.
Il tourne en temps réel sur un téléphone portable,
bien-sur, c'est génial en soi
que les portables puissent faire
des milliards et billions d'opérations par seconde.
Vous regardez un téléphone
considérant à la suite plusieurs images d'oiseaux
et ne disant pas seulement que c'est un oiseau
mais identifiant l'espèce d'oiseau avec un réseau de ce genre.
Dans cette image,
le x et le w sont connus et le y est l'inconnue.
Je fais abstraction de la partie complexe, bien-sûr,
qui est : comment trouver le w,
le cerveau est-il capable d'une telle chose ?
Comment apprendre un tel modèle ?
Ce processus d'apprentissage, de recherche du w,
si nous le faisons avec la simple équation
dans laquelle nous utilisons des nombres,
nous savons comment procéder : 6 = 2 x w,
il suffit de diviser par 2 et c'est fini.
Le problème est l'opérateur :
la division.
Nous utilisons la division qui est l'inverse de la multiplication
mais, comme je l'ai dit,
nous ne faisons pas vraiment une multiplication.
C'est une opération très, très compliquée et non-linéaire ;
elle n'a pas d'inverse.
Nous devons donc trouver un moyen de résoudre l'équation
sans opérateur de division.
La méthode pour cela est assez simple :
nous utilisons une ruse algébrique
et déplaçons le six de l'autre côté de l'équation.
Il y a toujours une multiplication.
Et ce zéro, voyons-le comme une erreur.
En d'autres mots, si nous résolvons bien w,
l'erreur sera nulle.
Si nous n'avons pas totalement raison, l'erreur sera plus grande que zéro.
Nous pouvons maintenant faire des suppositions et minimiser l'erreur,
ce que les ordinateurs savent très bien faire.
On fait une supposition :
et si w = 0 ? Alors, l'erreur est de 6.
Si w = 1 ? L'erreur est de 4.
L'ordinateur peut alors joueur à Marco Polo
et atteindre une erreur proche de zéro.
Il fait cela par des approximations successives de w.
Typiquement, il ne l'atteint jamais, mais après une douzaine d'étapes,
nous avons w = 2,999, ce qui est assez proche.
Voilà le processus d'apprentissage.
Souvenez-vous que ce que nous avons fait
c'est de prendre beaucoup de x et de y connus
et de cherche le w au milieu via un procédé itératif.
C'est exactement la même méthode que celle par laquelle nous apprenons.
Bébés, nous voyons de nombreuses images
et on nous dit : « C'est un oiseau ; ce n'en est pas un ».
Avec le temps, grâce aux itérations,
nous trouvons w, nous résolvons ces connexions neuronales.
Nous avons fixés x et w et recherché y ;
c'est de la perception rapide, normale.
Nous avons réussi à trouver w :
c'est de l'apprentissage, plus complexe
car nous devons minimiser l'erreur en pratiquant beaucoup d'exemple.
Il y a environ un an, Alex Mordvintsev, de notre équipe,
a décidé d'essayer de voir ce qu'il se passe si nous cherchons x
avec pour données un w et un y connus.
En d'autres mots, vous savez que c'est un oiseau
et avez entraîné votre réseau neuronal sur les oiseaux,
mais qu'est-ce qu'une image d'oiseau ?
Il s'avère qu'en utilisant la même procédure de minimisation de l'erreur,
cela est possible avec le réseau entraîné à reconnaître les oiseaux
et le résultat s'avère être :
une image d'oiseaux.
C'est une image d'oiseaux entièrement générée par un réseau neuronal
entraîné à reconnaître les oiseaux,
simplement en cherchant x plutôt que y
et ce par itérations.
Un autre exemple amusant :
ce travail a été fait par Mike Tyka, de notre groupe,
et il l'a appelé « Parade Animale ».
Cela me rappelle un peu les œuvres de William Kentridge
où il fait des croquis, les efface,
fait des croquis, les efface et crée un film ainsi.
Dans ce cas, Mike fait varier y sur différents animaux dans un réseau créé
pour reconnaître et distinguer divers animaux entre eux.
Vous obtenez cette métamorphose étrange, à la Escher, d'un animal à un autre.
Ici, lui et Alex ont essayé de réduire
l'espace des y à seulement deux dimensions,
créant ainsi une carte de l'espace de toutes les choses
reconnues par le réseau.
En faisant ce genre de synthèse ou génération d'images
sur toute cette surface,
en faisant varier y sur la surface, vous créez une carte,
une carte visuelle de toutes les choses que le réseau reconnaît.
Les animaux sont tous là : le tatou est juste là.
Vous pouvez aussi le faire avec d'autres réseaux.
Voici un réseau créé pour reconnaître les visages,
pour distinguer différents visages.
Nous lui donnons un y : moi,
les paramètres de mon visage.
Quand il cherche x,
il génère cette image de moi
assez folle, cubiste, surréelle et psychédélique
avec plusieurs points de vue.
La raison pour laquelle il y a plusieurs points de vue
est que le réseau est conçu pour se débarrasser de l'ambiguïté
d'un visage pris de tel ou tel point de vue,
regardé avec tel ou tel éclairage.
En faisant cette reconstruction,
si vous n'utilisez pas d'image ou de statistiques directrices,
vous obtenez une confusion de plusieurs points de vue
car c'est ambiguë.
Voici ce qu'il se passe si Alex utilise son visage comme ligne directrice
durant le processus d'optimisation de la reconstruction de mon visage.
Vous voyez que ce n'est pas parfait.
Il y a encore beaucoup de travail
pour optimiser ce processus d'optimisation.
Mais vous obtenez un visage plus cohérent
en utilisant mon propre visage comme guide.
Pas besoin de commencer avec une toile vierge
ou avec du bruit blanc.
Quand vous cherchez x,
vous pouvez commencer avec un x qui est lui-même une autre image.
C'est le cas dans cette démonstration.
C'est un réseau conçu pour catégoriser
toutes sortes d'objets : structures artificielles, animaux...
Nous commençons avec une image de nuages
et, en optimisant,
ce réseau détermine ce qu'il voit dans les nuages.
Et plus vous y passez de temps,
plus vous verrez de choses dans les nuages.
Vous pouvez utiliser le réseau entraîné aux visages pour halluciner dessus
et obtenir un truc assez fou.
(Rires)
Sinon, Mike a fait des expériences
où il prend cette image de nuage,
hallucine, zoome, hallucine, zoome, hallucine, zoome.
De cette façon,
vous obtenez une fugue dissociative du réseau, je suppose,
ou une sorte d'association libre,
dans laquelle le réseau se mord la queue.
Chaque image est à la base de :
« Que vois-je ensuite ?
Que vois-je ensuite ? Que vois-je ensuite ? »
J'ai présenté cette image pour la première fois
à un groupe lors d'une conférence à Seattle : « Enseignement Supérieur »,
juste après la légalisation de la marijuana.
(Rires)
J'aimerais finir en faisant remarquer
que cette technologie n'est pas limitée.
Je vous ai montré des exemples purement visuels car ils sont amusants à voir.
Cette technologie n'est pas purement visuelle.
Notre collaborateur artistique, Ross Goodwin,
a fait des expériences incluant un appareil photo prenant une photo,
puis un ordinateur dans son sac à dos
écrit un poème grâce aux réseaux de neurones,
en se basant sur le contenu de l'image.
Ce réseau neuronal poétique a été entraîné
sur un large corpus de poésie du 20ème siècle.
Et la poésie est, je crois, pas trop mauvaise.
(Rires)
Pour finir,
je pense que Michel-Ange avait raison :
la perception et la créativité sont intimement liées.
Nous avons vu des réseaux neuronaux
entraînés à discriminer ou à reconnaître
différentes choses du monde
et capable de fonctionner à l'envers, de générer.
Une des choses qui me laissent penser
que Michel-Ange n'a pas seulement vu
la sculpture dans le bloc de pierre
mais aussi que toute créature, tout être, tout extraterreste
qui est capable de faire de telles actions perceptives
est aussi capable de créer
puisque c'est le même mécanisme qui est utilisé dans les deux cas.
Je pense aussi que la perception et la créativité ne sont aucunement
propres à l'humain.
Des modèles informatiques capables de ces mêmes choses apparaissent.
Et cela ne sera pas une surprise : le cerveau est un modèle informatique.
Et finalement,
l'informatique a commencé comme un exercice
pour créer une machine intelligente.
Elle a été modélisée selon l'idée
que nous pouvions rendre des machines intelligentes.
Aujourd'hui, nous commençons enfin à accomplir
certaines des promesses de ces pionniers :
de Turing à von Neumann
et McCulloch et Pitts.
Et je crois que l'informatique n'est pas simplement compter
ou jouer à Candy Crush et autres.
Dès le début, nous l'avons modélisée selon nos cerveaux.
Et elle nous donne la capacité de mieux comprendre nos cerveaux
et de les étendre.
Merci beaucoup.
(Applaudissements)