Par Vincent Pinte Deregnaucourt.
Il vient de se passer un truc dont on parle peu, j’ai l’impression, mais qui à mon sens est une vraie nouveauté qui va changer le cours des choses. On ne vient pas seulement d’améliorer l’existant. On a changé de dimension.
C’est quoi le Go ?
Le jeu de go est un jeu qui n’est pas difficile en soi en termes de règles : il faut gagner en un contre un, en plaçant des pions sur un plateau (intersection des lignes) de façon à délimiter des zones de l’adversaire plus vite que lui (et donc en plus grand nombre à la fin).
Pourquoi est-ce difficile ?
C’est un jeu où la force brute ne fonctionne pas pour une raison évidente : à chaque coup, vous avez 200 ou 300 possibilités. Ce qui fait que si vous voulez évaluer la situation en prenant en compte toutes les hypothèses de jeu 10 coups à l’avance (et encore, c’est peu !), vous avez 250²⁰ possibilités, c’est-à-dire des centaines de milliards de milliards d’années de calculs à faire, même au rythme de plusieurs millions d’évaluations par seconde.
AlphaGo, début 2016
La première version d’AlphaGo a été en soi une petite révolution : c’est l’avant dernier jeu compliqué où la machine était toujours battue (le dernier étant le poker où la machine sait désormais faire mieux en 1 contre 1 mais pas à une table de 10).
Du jour au lendemain, au premier semestre 2016, AlphaGo a battu à plate couture le joueur le plus doué du monde puis le champion du monde. Puis vint une version (Master) qui, en décembre 2016, a écrasé en jouant anonymement contre l’ensemble des 60 (!!) meilleurs joueurs du monde, sans une seule défaite. Ces résultats sont déjà en soi époustouflants, les connaisseurs à la fois des mathématiques, de l’informatique et du Go ne s’attendaient clairement pas à un résultat de la sorte avant 2030 !
Le principe d’AlphaGo est d’observer comment les humains jouent et de répliquer des patterns en les améliorant localement. C’est l’apprentissage.
Si on voulait prendre une analogie avec une voiture sur un circuit, on entrerait dans l’application les trajectoires des voitures qui feraient un bon temps au tour, et la machine essaierait d’améliorer le temps au tour en améliorant chaque trajectoire dans chaque virage.
AlphaGo ZERO
Dans cette nouvelle version d’AlphaGo, (« AlphaGo ZERO »), c’est une nouvelle stratégie qui est mise en œuvre : on donne simplement les règles de jeu, les conditions de la victoire et le programme s’entraîne contre lui-même. En faisant cela, il ne stocke pas ou n’utilise pas de connaissances préalables ou encore ne l’analyse pas : il la crée ex nihilo.
Pour reprendre l’analogie avec le circuit, la machine n’aurait initialement comme connaissance que les notions d’accélération et freinage, ainsi que le volant qui permet de tourner.
Ensuite on lui donne une règle : rester sur le circuit (ne pas couper dans l’herbe…). Et un objectif : minimiser le temps au tour. Cela nécessite donc que la machine invente elle-même la notion de trajectoire.
Par ailleurs, là où l’intelligence était distribuée dans plusieurs systèmes (un réseau de neurones pour gérer le coup à jouer, un autre pour évaluer la position, un autre pour prédire le vainqueur probable etc.), actuellement, tout absolument tout est dans un seul réseau de neurones qui agit par renforcement, une technique qui date des année 1990.
AlphaGo apprend lui-même à jouer et au fur et à mesure que son niveau monte, il apprend de mieux en mieux : un peu comme si vous tourniez sur un circuit avec une voiture et qu’au fur et à mesure que vous-même appreniez à dompter le circuit, la voiture s’améliorait également.
Des résultats dantesques !
Et les résultats sont tout à fait étourdissants, démentiels, à peine croyables, et je pèse mes mots : si AlphaGo avait dû travailler à l’analyse de centaines de milliers de parties, sur d’innombrables processeurs, pendant plusieurs mois, la nouvelle version a atteint le niveau d’un débutant en 3 heures, le niveau d’AlphaGo initial en 3 jours, et le niveau de AlphaGo Master en 21 jours. Et si la version d’AlphaGo tournait sur 48 processeurs dans lesquels sont physiquement gravés les algorithmes d’intelligence artificielle (TPU), il n’en faut plus que… 4 pour AlphaGo ZERO.
Après juste 3 jours, l’alphaGo qui avait battu Lee Sedol, 18 fois champion du monde, a été battu 100 à 0 par cette nouvelle version.
CENT À ZÉRO !
Les calculs ELO (qui sont une sorte d’indicateur absolu de niveau de jeu) semblent indiquer qu’aujourd’hui, alphaGo ZERO (5185 !) est infiniment de fois plus fort qu’une version qui elle-même était infiniment de fois plus forte que Lee Sedol (3526). Par comparaison, les meilleurs logiciels d’échecs (qui battent les humains depuis 1990 – Kasparov – Deep Blue) sont aujourd’hui seulement une fois infiniment fois plus forts.
Ce qui change fondamentalement
Il faut bien comprendre que ce qui change c’est que le logiciel (programmé par des humains) a intégralement créé la connaissance qui lui sert. Et ça, c’est un changement de paradigme complet : on ne crée pas de la connaissance à partir de connaissances mais on crée la connaissance à partir de rien. C’est-à-dire qu’on ne déduit pas des jeux précédents les stratégies à mener mais on crée des stratégies ex nihilo en ayant les règles pour seule connaissance, c’est-à-dire ce qui est autorisé, ou ce qui ne l’est pas.
Et non seulement on y arrive, mais les résultats sont là.
Ainsi, le jeu de Go, qui est un jeu exceptionnellement difficile à modéliser du fait du volume de situations à analyser, est désormais « intégralement résolu » en quelques jours, alors que les meilleurs humains d’hier bénéficiaient de 2700 ans de savoir.
Demain
Un peu de science fiction : imaginez maintenant que nous remplacions le Go par l’Homme. Et les règles du Go par nos règles : lois Physiques, Droit, conventions sociales…
Alors ?
—
Liens :
- le jeu de Go (wikipédia)
- Lien vers le classement ELO des joueurs de Go
- Lien vers le classement ELO (d’un point de vue de la Mathématique) (wikipedia)
- AlphaGo (wikipédia)
- Publication AlphaGo ZERO par DeepMind officielle
- La publication dans la prestigieuse revue Nature
—-
Article initialement paru sur Medium et reproduit avec la permission de l’auteur.
c’est d’un coté impressionnant mais d’un autre ou bancal ou inquiétant, vous indiquez une méthode essentiellement progressiste par proximité qui ne vous permet pas de trouver le meilleur si on y accède par un chemin contra efficace au départ.
Humainement très efficace mais assez triste au point de vue mathématique me semble t il..
A la question trouve moi la meilleure solution , cette machine va t’en donner une et te dire chiche trouve en une meilleure.
si simuler un surhomme ou le remplacer est le but c’est excellent. Si jamais une personne pense que cette machine est infaillible où se trompe sur la nature de la réponse qu’elle lui apporte; il va devant des problèmes.
reste que on est devant une espèce de dilemme l’avantage revendiqué des machines numériques est la capacité de calcul importante qui permet la recherche exhaustive , en somme voila comme on gagne au go, car j’ai TOUT essayé..
Bon il est intéressant que ça évolue vers une façon de procéder humaine qui marche, on le sait d’expérience, mais qui échoue aussi parfois.. Et justement quand l’approche exhaustive est la seule possible.
Mais qu’est ce que le jeu de go? Et pourquoi considère t on le jeu de go comme un test d’intelligence?
Le jeu de go est somme tout e mécanique..ce qui fait la différence entre un bon joueur et un moins bon reste la capacité à faire un bon choix de jeu intuitivement Non?
Et la capacité de décider entre deux situations sur leur bonne tête est essentiellement liée à la pratique ..le j’ai déjà vu une situation similaire ou le bon choix était celui là… du moins me semble t il.
Bon donc pour remplacer un homme oui…mais attention si on pense que c’est pour prendre des décisions parfaites.
ce que je crains moi, reste une nouvelle couche hiérarchique imbécile d »expertise.
Une expert est une personne qui se fie à son intelligence et sa connaissance pour prendre une décision non fondée sur ..la logique pure… on se fie à elle pour sa simple experience..mais qui n’est pas exhaustive voire notoirement insuffisante… mais on le croit car il est « intelligent » et expérimenté.
Je vois arriver un super expert …
votre questionnement en rejoint un que nous avons abordé, https://www.contrepoints.org/2017/08/28/297459-nouvelles-technologies-vers-plus-detat
En fait la machine ne cherche « un chemin », elle construit des situations et « renforce » ce qui fonctionne, comme pourrait le faire un humain s’il était capable de jouer contre lui même des millions de parties. Au final, rien d’autre que de l’expérience, ce qui n’exclut pas la possibilité de coups liés à l’intuition. Mais un tel processus n’est possible que par la simplicité des règles mises en jeu – le go est un jeu dont la richesse tient aussi à cette simplicité initiale.
Dernier point : cette IA est excellente… pour le go. Soumettez-lui un problème d’échecs, vous n’en tirerez rien.
Je crois que la prochaine étape n’est pas de modéliser toute la complexité d’une société humaine, mais de faire une IA qui tienne la route à Starcraft. Le sujet est lancé – la presse en a largement parlé dernièrement (exemple : http://www.lexpress.fr/culture/jeux-video/google-commence-a-entrainer-son-intelligence-artificielle-sur-starcraft-ii_1934787.html)
J’imagine que l’étape suivante est de faire rédiger par AlphaGo un contrat de travail suivant le code français qui permette à l’employeur de gagner à tous les coups aux prud’hommes ?
Et si on met 2 Alphago en compétition l’un contre l’autre, que se passe t il ? L’un va t il apprendre plus ou plus vite ou différemment de l’autre ? Ou vont ils en arrive tous les 2 au même point ?
@ Synge
Pas besoin de 2 Alphago, 1 seul suffit puisque c’est en s’entrainant contre lui-même qu’il « apprend »:
« on donne simplement les règles de jeu, les conditions de la victoire et le programme s’entraîne contre lui-même. En faisant cela, il ne stocke pas ou n’utilise pas de connaissances préalables ou encore ne l’analyse pas : il la crée ex nihilo ».
C’est sans doute une manière de mesurer le degré de déterminisme du programme et celui du jeu de go. Au bout d’un certain temps, le programme est-il capable de se battre lui-même, en jouant au mieux de ses possibilités, avec moins d’écart entre les noirs et les blancs, ou cet écart tend-il vers une constante ? Si oui, que vaut-elle par rapport aux 6.5 ou 7.5 points de komi habituellement admis ?
Si on fait jouer 2 versions identiques d’alpha go figées dans leur apprentissage , leur victoire/défaite tendra chacune vers 50%.
Un bon moyen de recalculer le komi je pense vu que ca permet de faire un sampling sur un nombre très élevé de partie à un niveau donné.
Chk
1 seul Alphago suffit pour jouer « contre lui-même »: si le pseudo-joueur « A » gagne contre le pseudo-joueur « B », l’Alphago (qui joue pour A et pour B) sait comment A y est arrivé et comment B n’a pu éviter l’échec!
Faites rejouer la partie par Alphago contre A ou contre B, il gagnera, forcément!
Refaites jouer Alphago « A » contre Alphago « B », vous en revenez à la première partie mais bien plus compliquée.
Seul Alphago peut apprendre d’Alphago puisqu’aucun humain n’y parvient plus!
Par quel procédé l’ordinateur parvient-il à construire lui-même une stratégie ? par élimination ou par tatonnement ? autre chose ? dit autrement, quelles méthode utilise t-il pour aller si vite ? merci
Pour faire un très gros raccourci, oui par tâtonnement.
Et pour aller vite, un truc simple, contrairement à vous ou moi il peut jouer des parties entières en quelques secondes, sans jamais dormir.
Il y a fort à parier qu’un humain qui pourrait jouer autant de parties aussi vite deviendrait lui aussi pas mauvais en peu de temps !
C’était le sens de ma question des 2 alphagos : le « tâtonnement » est il toujours le même, auquel cas les 2 alphagos vont arriver au même point au même moment et se neutraliser, ou pas, et alors l’un peut prendre l’avantage sur l’autre car il aura « tâtonné » avec plus de chance ?
Alors ? Rien ! Ce type d’intelligence artificielle ne fonctionne que dans un monde de règles artificielles dont la plupart sont largement superflues (exemple : le Code du Travail). C’est un monde artificiel qui tourne à vide, c’est-à-dire qu’il ne crée rien, aucune richesse. La preuve : la France qui fonctionne à plein régime avec ce type de règles est en faillite, et tout ce qu’elle est capable de faire c’est de créer un ISF-IFI pour exploiter une richesse qui a été antérieurement créée avec d’autres règles plus naturelles et la dilapider.
Dans la vie réelle, ce n’est pas seulement la connaissance qui est créée à partir de rien, ce sont aussi les règles, et le rien en question qui créée les règles, la connaissance, le réel et la vie, cela s’appelle la conscience.
Votre logiciel d’IA a besoin de règles pour fonctionner, si vous le laissez créer les règles de manière artificielle, vous entrez dans un mode de fonctionnement infernal.
« Science sans conscience n’est que ruine de l’âme ».
Il n’y a que nous qui puissions créer les règles (ainsi que la connaissance qui en découle) à partir du rien qu’est la conscience que nous sommes supposés avoir. (Ne me demandez pas d’où elle vient, cela nous entraînerait trop loin et ce n’est pas le lieu ici d’en débattre).
Donc, pour rester dans le cadre du présent débat, on en revient toujours à la même chose : nous n’avons pas besoin de plus d’IA mais de plus d’INI (Intelligence Naturelle Intégrée) et celle-ci croît avec moins de règles et plus de liberté pour une plus grande efficacité (y compris avec un peu d’IA subalterne si vous y tenez, mais franchement n’en attendez pas trop).
@ Virgin
Donnez à Alphago vos règles et une définition de la « liberté », strictes et exhaustives, et Alphago se montrera plus libéral que vous, dans ses choix, car Alphago ne se trompe pas si règles et définition sont parfaitement « traduites » dans son langage. Et si vous pensez que ce n’est pas le cas, il vaut mieux revoir ce qui manque dans les règles et définitions données à Alaphago, sous peine de conclusion identique.
Aucun humain ne peut plus posséder une mémoire comme celle d’un ordinateur (même banal), et se souvenir de tout à chaque fraction de seconde! C’est la dure réalité!
L’objet de mon commentaire était de rappeler le pouvoir créatif de la conscience qu’aucune IA ne peut avoir car elle ne travaille que sur des éléments connus et elle est vouée à tourner en rond : face à l’inconnu, l’IA le réduira toujours à du connu et elle n’en sortira pas.
Par ailleurs, si le recours à l’IA peut être utile pour pallier les limites de notre mémoire, ces limites nous sauvent de l’excès de mémoire qui constitue aussi un handicap. Par exemple, en Droit, l’accumulation excessive des lois et des règlements finit par poser un problème d’accès à la connaissance qui est un handicap. Dans ce cas, le recours à l’IA est une mauvaise solution car il serait plus pertinent de procéder à la simplification d’un corpus de règles devenu inapplicables.
C’est ainsi que, plutôt qu’un Code du Travail démesurément augmenté au point de nécessiter le recours à une IA pour le respecter, je préfère un Code du Travail restreint qui sollicite moins la mémoire que la conscience supposée de celui qui l’applique pour en respecter les principes.
Donc je vous l’accorde, l’IA est un outil indispensable pour l’avenir, mais dans beaucoup de cas, il vaut mieux s’en passer et d’abord procéder à un travail de simplification pour élaguer les arbres de nos connaissances… avec de l’IA peut-être…
Merci pour cet échange.
J’ai récemment fait réaliser par des ados un programme Scratch pour parcourir le plus vite possible 10 tours d’un circuit automobile.
Le programme le plus performant avait justement enregistré les trajectoires du circuit sur le premier tour lui permettant d’accélérer sur les tours suivants sans dérapage.
Pour autant il n’y avait rien d’artificiel mais simplement l’intelligence réelle de celui qui a trouvé le bon algorithme.
Personnellement en tant qu’informaticien, je n’ai jamais trouvé d’explications concrète sur ce qui distingue l’IA de l’informatique traditionnelle.
Alors qui peut expliquer de façon simple la mise en oeuvre de l’IA sur un ordinateur et avec quel langage pou coder.
La différence avec votre ado c’est que l’IA apprend les règles et non pas la solution.Et pour reprendre l’exemple de votre circuit, il existe des réseaux neuronaux simples qui font exactement la même chose, qu’on utilise surtout à des fins éducatives,
N capteurs sont placé à l’avant de la voiture, et sont relié au réseau de neurone, ces capteurs enregistrent la distance des obstacles (comme un système de vision primaire), et le réseau de son coté recrache les paramètres qui permettent la conduite (vitesse , direction par exemple)
Si la taille du réseau est trop large, il aura tendance à retenir le circuit lui même (overfitting, qu’on cherche à éviter justement).
Le language n’a aucune importance la dedans.
« Personnellement en tant qu’informaticien, je n’ai jamais trouvé d’explications concrète sur ce qui distingue l’IA de l’informatique traditionnelle. »
Vous avez lu quoi sur la question ? parce-qu’il y a quand même une difference fondamentale entre créer un algorithme pour résoudre un problème, et créer une infrastructure qui résoudra d’elle même une classe de problème.
Pour en revenir à votre exemple, vous allez peiner à écrire un algorithme qui jouera à tous les jeux atari, ce que fait très bien deepmind avec un mélange de RNN et de reinforcement learning.
https://storage.googleapis.com/deepmind-media/dqn/DQNNaturePaper.pdf