Il est très probable que plus jamais un humain ne pourra battre la machine au jeu de Go. Ce jeu de conquête territoriale est d’une incroyable complexité et ses combinaisons dépassent le nombre d’atomes dans l’univers. La machine ne peut donc pas uniquement s’appuyer sur sa puissance de calcul – comme ce fut longtemps le cas aux jeux d’échecs ou de shogi par exemple – pour balayer mécaniquement toutes les actions possibles et surclasser le cerveau humain. Il lui faut développer des stratégies et donc apprendre à apprendre, on parle alors d’« apprentissage profond » (deep learning).
L’apprentissage profond peut être assimilé à un type d’intelligence artificielle. C’est un sous-ensemble – ou une évolution – de ce qui est nommé plus généralement « l’apprentissage automatique » (machine learning) et qui concerne l’identification, l’analyse et le renforcement des capacités d’apprentissage de la machine avec ou sans l’aide des humains.
Du machine learning au reinforcing learning
Quand l’humain affronte la machine dans le cadre d’un jeu de stratégie (et non pas de hasard), la première de ces machines infernales est en droite ligne des travaux d’Alan Turing et de sa learning machine des années 1950. Il s’agit d’être capable d’apprentissage et surtout de s’améliorer sans intervention humaine pour pouvoir battre un joueur de bon niveau.
Ainsi, le 11 mai 1997, Deep Blue est la première machine capable de battre le champion d’échec de l’époque, Garry Kasparov, dans le cadre d’une partie d’échecs humain/machine légendaire.
Elle avait pour ressource de connaître les règles, de posséder des milliers de parties en mémoire et de disposer d’algorithmes de calculs et de prédictions très puissants.
La stratégie de Deep Blue avant de déplacer une pièce était :
de balayer un nombre gigantesque de coups possibles jouables en de telles situations à ce moment-là de la partie ;
de comparer avec sa banque de données de parties préalablement enregistrées ;
choisir le coup qui a le plus de chance de la mener à la victoire (c’est-à-dire celui où le compétiteur l’ayant déployé a finalement gagné la partie).
Cet apprentissage de la machine est néanmoins encore de type machine learning mais pour affronter les grands maîtres du jeu de Go, les réseaux neuronaux sont en embuscades !
En 2016, l’apprentissage de type deep learning s’imposa au travers de l’expérience AlphaGo-Lee développée par DeepMind une filiale de Alphabet, la maison-mère de Google. Cette machine est en effet la première à avoir battu un grand maître du jeu de go en la personne du sud coréen Lee Sedol. Mais, même si elle était déjà basée sur deux réseaux neuronaux (l’un pour décider quoi jouer et l’autre pour évaluer les conséquences de cette décision), elle a toutefois eut besoin préalablement des humains, et de leurs parties enregistrées et ingérées, pour devenir elle même inaccessible aux compétiteurs humains.
Puis plus récemment encore, est apparu l’apprentissage de type « reinforcing learning » (ou tabula rasa) via AlphaGo-Zero toujours développée par DeepMind. Cette machine est adossée à un seul réseau neuronal et peut s’affranchir des parties et supervisions humaines. Il s’agit simplement d’informer la machine sur les règles du jeu de Go puis de la laisser apprendre toute seule à partir d’une page blanche ! Ce qui est impressionnant dans cette expérimentation est que AlphaGo-Zero a spectaculairement battu AlphaGo-Lee par 100 victoires à zéro après seulement trois journées d’apprentissage renforcé. La technique est logique, il va s’agir de faire jouer les machines entre elles pour les forcer à se nourrir de leur propre puissance de calcul et de leur propre stratégie d’apprentissage.
Ainsi, il semble clair que le cerveau humain singé par la machine (réseaux neuronaux) et dépassé par ses capacités de calculs et d’analyse (algorithmique) ne pourra plus jamais la battre… du moins si la machine comprend et assimile clairement les règles du jeu !
À ce propos, il est intéressant de noter l’échec récent de Deep Mind dans le cadre d’un contrôle de mathématique (algèbre) assez basique. Cet échec révèle la difficulté actuelle, pour une IA aussi puissante soit-elle, de comprendre des questions qui articulent simultanément des symboles, du texte et des fonctions par exemple « Quelle est la somme de 1+1+1+1+1+1+1 ? ».
Du deep learning et des réseaux neuronaux
La montée en puissance des réseaux de neurones artificiels – réseaux neuronaux - et leur intégration dans les machines et robots marque le top départ du deep learning et de ses réussites, échecs et questionnements
Les réseaux de neurones artificiels sont largement inspirés par les réseaux de neurones du cerveau humain et plus il y aura de neurones artificiels en activité et plus le réseau – structuré par couches superposées (30 couches pour Google Photo) – sera profond. Toutefois à la place d’un signal électrique voyageant de neurone en neurone pour les exciter ou les inhiber, le réseau va affecter une certaine pondération aux neurones et ainsi il va leur donner plus ou moins d’importance dans la décision finale en fin de processus. Généralement les premières couches se concentrent sur les principales caractéristiques, les couches intermédiaires sur les spécifications et les dernières couchent sur les détails.
Chaque couche de couleur représente ici un niveau d’information de plus en plus nécessaire à la caractérisation, sans trop d’ambiguïté, de l’objet cible (en bleu) et chaque neurone artificiel d’une couche est affecté d’une pondération qui va s’affiner peu à peu (de 0 à 100 par exemple) via les expérimentations pour évaluer l’importance du détail dans le processus de caractérisation final de l’objet.
Si, par exemple, il s’agit de reconnaître un piéton et de le différencier d’un cycliste – dans le cas de capteurs embarqués sur une voiture autonome en mouvement – l’algorithme doit pouvoir décider et se positionner rapidement. Il doit proposer au robot conducteur du véhicule une réponse parmi les trois suivantes : « oui » (c’est un piéton) ou « non » (ce n’est pas un piéton) ou encore « ni oui ni non » (je ne sais pas s’il s’agit d’un piéton). Pour ce faire, l’algorithme peut s’appuyer sur un réseau de neurones artificiels lui-même adossé sur des des millions d’images de piétons en situation (debout, accroupi, de face, de dos, de profil, isolés, en groupe, sous la pluie, le soleil, etc.) qu’il va mélanger avec d’autres images en vrac qui ne représentent surtout pas des piétons afin de s’obliger à les comparer et de choisir in fine ce qui – selon lui – caractérise un piéton.
Le réseau va ensuite sur-pondérer ces caractéristiques clés et affecter ces pondérations. Ce qui est intéressant c’est que ces caractéristiques peuvent ne pas avoir été envisagées par les humains. La couche finale du réseau de neurones va décider ce qui relève de ce que l’humain appelle un piéton et ce qui n’en relève pas ! Dans le premier cas, en comparant avec la base de données des piétons validés par les humains, le réseau va savoir si il s’est trompé ou pas. Si c’est un succès, le réseau va conserver l’information (ici l’image) et l’utilisera pour ses décisions futures et si c’est un échec, le réseau va corriger les pondérations erronées affectées aux neurones afin d’apprendre à ne plus se tromper. Dans le second cas, qui est plus complexe en termes de calculs, le réseau va procéder de même pour corriger ce qu’il croyait ne pas être un piéton et qui se révèle au final en être un (un patineur, un « trottinetiste », un cycliste marchant à côté de son vélo…).
Si l’intervention humaine est indispensable notamment en amont en informant la machine de ce qu’est l’image type d’un piéton ou bien en aval en corrigeant la machine après sa décision erronée alors nous pouvons parler d’apprentissage supervisé (supervised learning). Mais, si l’intervention humaine est inexistante alors il s’agit de faire confiance aux réseaux de neurones qui doivent apprendre par eux même ce qui est (ou pas) important dans la caractérisation de l’image (ou de la cible donnée) sans se baser sur des données étiquetées et dès lors il s’agit d’apprentissage non supervisé (unsupervised learning)
Des conséquences et des applications du deep learning
Le deep learning a bien sûr de nombreuses applications en recherche et au quotidien. La reconnaissance d’image en général et la reconnaissance faciale en particulier en est devenue un vaste terrain d’application. Facebook ne se prive pas de le mobiliser pour identifier automatiquement vos amis sur les photos que vous déposez. Les autorités chinoises le mobilisent aussi à travers ses millions de caméras avec une reconnaissance faciale (et bientôt du corps entier) développée notamment par Watrix pour déployer son programme de crédit social. Apple est également friand de cette technologie notamment pour sa reconnaissance faciale Face ID intégrée à l’iPhone X.
Google est aussi utilisateur du deep learning et de ce type d’intelligence artificielle via des applications comme Google Traduction ou des applications liées au dessin comme Google Canvas/Google Drawing ou liées au shopping comme Google Shopping Actions. Amazon n’est bien sûr pas en reste et déploie une telle technologie soit en B2C au travers de nombreuses applications de sa plate forme e-commerce soit en B2B au travers de sa filiale centrée sur le cloud computing Amazon Web Services. AWS propose en effet des environnements préconfigurés qui permettent à ses clients de créer online des applications d’apprentissage profond sur Ubuntu, Amazon Linux ou encore Windows2016 (AMI de base/AMI conda)
Les terrains d’applications sont bien sûr innombrables. Même si les intelligences artificielles restent décevantes lorsqu’elles sont confrontées à l’humour, l’amour, l’ironie voire à l’art et à la création artistique, elles investissent l’intelligence et le renseignement militaire, la santé, la recherche, les transports, l’agroalimentaire, l’économie, le management et les finances et bien sûr des terrains sensibles comme la politique, le journalisme et l’éducation.
Donner un sens au deep learning ?
Finalement les applications sont innombrables et peuvent/doivent rester au service de l’humanité.
Elles sont liées à notre propre connaissance de notre cerveau et de ses réseaux neuronaux que nous pourrons ensuite dupliquer sur les réseaux de neurones artificiels en remplaçant les impulsions électriques par des pondérations chiffrées. Le deep learning n’est de facto contraint que par trois écueils. Le premier est celui lié à l’énergie et à l’épuisement des ressources nécessaires à son bon fonctionnement (cf. le rapport Villani du 8 mars 2018) sachant que les ordinateurs sont de plus en plus puissants, que les données sont de plus en plus massives et que les algorithmes neuronaux sont de plus en plus riches. Le second est celui lié aux capacités financières, cognitives et réglementaires de la recherche en IA. Le troisième – et le plus délicat – est lié aux questions éthiques et morales sachant que, sur le fond, le deep learning permet à terme à la machine de décider seule et de s’affranchir du « go » humain (cas du débat sur les drones et robots tueurs. L’idée serait alors de travailler sur des algorithmes capables d’évaluer eux même la fiabilité intrinsèque de leur prévision, des outils q ui seraient donc capables d’humilités !