vendredi 1 juin 2018

Qui a battu les meilleurs joueurs de go ? AlphaGo ou les ingénieurs de Google ?

FarmworkersplayGo.jpg

Qui a vraiment battu les meilleurs joueurs de go ? AlphaGo ou les ingénieurs de Google ?

La réponse à cette question me semble évidente : ce sont des ingénieurs qui sont parvenus à battre les meilleurs joueurs de go à l'aide d'un programme informatique. Pourtant la tournure utilisée dans la quasi-totalité des comptes rendus de cette histoire dans les médias semble indiquer l'inverse : il est rapporté qu'un ordinateur (et non une équipe d'ingénieur) a remporté la victoire. Je comprends bien intuitivement cette tournure, mais elle me semble relever, à strictement parler, de l'abus de langage, et je pense que cet abus de langage n'est pas innocent mais au contraire assez problématique, principalement parce qu'il relève du sensationnalisme et ouvre la voie à des glissements fantasmatiques de toute sorte qu'on ferait mieux d'éviter si l'on veut se concentrer sur les véritables questions que pose la recherche en IA. Il ne s'agit pas d'amoindrir la prouesse en question, mais plutôt de rester pragmatique sur les conséquences qu'on pourrait en tirer. Car si on dit "un ordinateur a battu le meilleurs joueurs de go", on pourra ensuite penser "ou est-ce que ça va s'arrêter ? Bientôt les ordinateurs nous seront supérieurs en tous points", tandis que si l'on dit "les ingénieurs d'une grande entreprise d'informatique ont battu les meilleurs joueurs de go à l'aide d'un ordinateur", on voit bien que les craintes seront d'un ordre différent. Pas forcément nulles ni moins préoccupantes, mais relevant plus de la politique que de la science fiction. Il ne faudrait donc pas se tromper de menace (sur ce point cette conférence de Jean-Gabriel Ganascia est assez éclairante).

J'ai peur d'enfoncer des portes ouvertes en relevant ce point, mais puisque cet abus de langage est si répandu, puisque jamais nulle-part je n'ai lu que ce sont des ingénieurs qui ont joué au jeu de go et gagné, et puisqu'une minorité de transhumanistes semblent réellement plus préoccupés par la science fiction que par la politique, peut-être que ça vaut la peine de s'attarder sur les raisons qui me font croire qu'à l'évidence, c'est bien la bonne lecture de ce qui s'est produit.

La raison principale est très simple : ceux qui ont pris les décisions, qui ont implémenté l'algorithme, organisé l'événement, allumé la machine et lancé le programme, et même ceux qui ont posé les pièces sur la table de jeu suivant les indications de la machine, ce sont des humains. La machine n'a pas joué au jeu de go parce qu'elle n'a jamais choisi délibérément d'entrer dans la partie. Hors jouer est un acte intentionnel. La machine a donc seulement servi à jouer, d'une manière assez spéciale, certes. Voilà pour les portes ouvertes.

Actions, raisons et causes

Tout ceci relève du bon sens, alors peut-être serait-il intéressant de comprendre pourquoi l'on a tendance à affirmer l'inverse. Le fait que les ingénieurs aient utilisés un outil plutôt que de jouer eux-mêmes sans aide d'un ordinateur me semble être un aspect superficiel : l'utilisation d'artefact n'enlève rien à l'intentionnalité d'une action. Je peux jouer aux échecs avec des gants de boxe pour déplacer les pièces, on ne dira pas pour autant que ce sont les gants qui jouent. [ajout] Le fait que l'artefact soit en partie autonome vis-à-vis de ses concepteurs n'est pas pertinent non plus : c'est le cas de n'importe quel outil (au mieux cela peut amener à reformuler ainsi : les ingénieurs de google ont conçu une machine qui peut permettre à n'importe qui de gagner contre les meilleurs joueurs de go).

Un cas plus intéressant est [/ajout]si j'utilise un bras mécanique télécommandé (mais choisis toujours les coups): on dira toujours que c'est moi qui joue, mais peut-être que dans ce cas il serait acceptable d'affirmer, à un moment donné (lors du déplacement d'une pièce) que le bras mécanique joue à ma place, qu'il fait un coup. Enfin c'est toujours moi qui ait joué la partie dans son ensemble, même si le bras a joué chaque coup individuel, physiquement du moins.

Nous sommes donc disposés, sémantiquement parlant, à attribuer certaines actions à nos outils quand ces actions jouent un rôle instrumental vis-à-vis des nôtres, c'est-à-dire que nous les leur avons déléguées. Ce qui fait qu'on a tendance à affirmer que c'est l'ordinateur qui a gagné la partie, c'est que dans ce cas, nous avons quasiment tout délégué : l'ensemble des choix de coups sont le fait des algorithmes d'alpha-go. Seule une action très générale est encore du ressort d'êtres humains : quelque chose comme décider de jouer cette partie en utilisant la machine, gagner, et ainsi démontrer l'efficacité de ce type de technologie.

Mais sauf à être animiste (ou peut-être adepte de Bruno Latour), il ne faut pas prendre trop au sérieux ce type de discours. Il ne nous viendrait pas à l'idée d'affirmer que le bras mécanique joue intentionnellement les coups. Une tempête peut aussi arracher des arbres, mais il ne s'agit pas a priori d'une action intentionnelle. De même, un algorithme peut choisir tous les coups d'une partie pour mener à la victoire, mais il ne s'agit pas a priori d'une action intentionnelle.

Ce qui caractérise typiquement les actions intentionnelles dans la littérature philosophique est la possibilité d'être justifié par des raisons : un agent fait une action intentionnellement quand il l'a fait pour une certaine raison. Un joueur de go place une pièce à cet endroit pour protéger un groupe de pièces qui risque d'être pris. Il protège ce groupe de pièce pour conserver un avantage face à son adversaire, et il fait ceci pour tenter de gagner la partie. Nous avons ici une chaîne de raisons qui sont toutes, comme l'analyse Anscombe, des raisons pour la même action (poser une pièce sur le jeu, c'est protéger un groupe de pièce, et c'est tenter de gagner), et qui correspondent à plusieurs descriptions compatibles, mais de niveaux différents, de cette même action.

Si maintenant on se demande pourquoi un ordinateur sélectionne tel coup, il me semble que le type de réponse approprié sera causal plutôt que rationnel. Il sélectionne tel coup parce que c'est celui qui a une plus forte pondération dans l'algorithme, et celui ci a une plus forte pondération parce qu'il a été favorisé, dans ce type de configuration, lors de la phase d'apprentissage de l'algorithme. Ici il n'y a aucune raison, seulement des causes. L'ordinateur n'a pas pour but de jouer le coup qui a le plus de poids, ni n'a attribué ce poids dans un but particulier.

[ajout] Je ne veux pas dire par là qu'il ne peut y avoir de lecture causale aux actions d'un agent humain. On pourrait aussi bien dire qu'un joueur déplace la pièce à cet endroit parceque les muscles de son bras on reçu un signal nerveux, parceque tel groupe de neurones s'est activé, etc. (la différence étant qu'on fait maintenant appel à des actions différentes, passées, pour expliquer l'action présente, et que l'agent ne peut vraiment revendiquer ces actions). La question des rapports qu'entretiennent raisons et causes est une question difficile, au cœur de la philosophie de l'esprit. Mais ce qui importe ici n'est pas ce rapport, mais le fait qu'une lecture intentionnelle soit également disponible, quand il ne me semble pas que ce soit le cas à propos d'un algorithme.[/ajout]

Pourtant il est vrai qu'on a parfois tendance à attribuer des raisons aux algorithmes : mon logiciel affiche un warning quand je le ferme sans avoir enregistré mon document pour m'éviter de perdre des données. Mais ce "pour" n'est pas à proprement parler une raison qu'entretient l'algorithme lui-même, ni une raison pour cet événement particulier : c'est une raison qui a justifié l'implémentation de cette règle par les concepteurs de l'algorithme, c'est à dire que la raison (éviter la perte données) justifie non pas cette action particulière (afficher un warning ici et maintenant), mais plutôt la structure même de l'algorithme (toujours afficher des warnings dans tel cas), ce qui relève des concepteurs. Il faut bien voir, à ce titre, que le code qui est exécuté sur la machine est un code compilé pratiquement illisible par un être humain, duquel il serait difficile de déduire la règle qui le motive, tandis que le code source écrit par les ingénieurs est beaucoup plus lisible : il exprime les directives, ce qu'on veut que le logiciel fasse, d'une manière communicable (tout bon informaticien sait qu'être un bon programmeur, c'est avant tout savoir bien communiquer, à travers le code produit, avec l'équipe de développeurs qui aura à relire ce code). Le code compilé, opaque, obéit à une logique causale au moment de son exécution tandis que le code source, exprimé dans un langage, obéit à une logique rationnelle.

Pourtant on aura tendance à attribuer, à tort, une raison à l'événement particulier (la fenêtre de warning). Il se produit un phénomène de contamination des raisons : l'événement hérite, dans notre description, des raisons qui justifient en fait la règle implémentée. Nous parlons exactement comme si le logiciel voulait nous éviter de perdre des données, comme s'il avait des intentions. Mais c'est un abus de langage, et c'est ce même type d'abus de langage qui nous fait dire qu'alpha-go a battu les meilleurs joueurs de go. En effet je pense qu'il en va de même pour alphaGo : s'il y a une rationalité à trouver dans son fonctionnement, ce n'est pas à propos des coups particuliers que joue l'ordinateur ici et maintenant, mais à propos de la structure algorithmique générale du programme, et cette structure est parfaitement accessible aux concepteurs du programme : il s'agit d'une structure qui permet "d'apprendre" sur la base de jeux de données les meilleurs coups à jouer.

L'opacité algorithmique

C'est ici que peut intervenir l'un des principaux arguments avancés par les afficionados de l'IA en faveur d'une spécificité de ce type d'algorithmes par apprentissage, qui est l'absence de transparence : les choix particuliers que produit l'algorithme ne sont pas vraiment réductibles à un ensemble de règles accessibles qui auraient été implémentées explicitement par les concepteurs, puisqu'ils résultent d'un apprentissage sur la base d'un jeu de données. On ne comprends pas "pourquoi" l'ordinateur choisi ce coup plutôt qu'un autre. Ou plus précisément : on ne comprends pas "pourquoi" l'apprentissage a abouti à telle subtile structure de pondération pour les coups. Ce type de technologie serait donc particulier, et peut-être que cela justifierait de parler d'intelligence ou d'intentionnalité.

Mais cet argument me semble très faible. Il n'y a rien de bien mystérieux dans toute cette chaîne de processus algorithmiques, et la réponse à ce "pourquoi", même inaccessible, sera toujours bien causale et non rationnelle. Les raisons, par opposition aux causes, se situeront toujours à un niveau supérieur (pourquoi tel algorithme d'apprentissage, pourquoi tel jeu de données, pourquoi tels critères de succès dans l'apprentissage) qui nous reste accessible. C'est toujours là que se situe l'intentionnalité.

Ce qu'il y a de particulier en l'espèce, c'est qu'on ne contrôle plus entièrement la chaîne des causes qui aboutit à telle ou telle action (il faudrait analyser nous même le jeu de données, ce qui est humainement impossible). Mais il ne me semble pas que l'impossibilité pratique à retracer l'histoire causale d'une action justifie l'idée qu'il faudrait lui attribuer une intention. Ce n'est pas parce que la cause est illisible qu'elle devient une raison. Il est d'ailleurs notoire que la machine serait bien en mal de nous communiquer ce qui s'apparenterait à des raisons précises pour un coup particulier (sauver ce groupe de pièces) ou qu'on pourrait extraire des raisons de ce type, justement de par cette opacité : certains coups joués par alphago paraissent bien mystérieux, ce qui est en un sens fascinant, mais peut-être seulement fascinant parceque nous avons pour habitude de déceler des raisons dans toutes les actions, et qu'ici il n'y en a pas réellement.

L'opacité causale me semble donc être un argument assez faible pour justifier l'attribution d'intentions à la machine. En fait cette opacité n'a rien de spécifique à l'intelligence artificielle. Quand je publie un article de blog sur internet, c'est bien moi qui fait cet action, mais l'histoire causale qui mène au résultat souhaité m'est pratiquement inaccessible. On pourrait répondre qu'elle est plus ou moins accessible à des experts, et donc que le processus est toujours sous contrôle de la société humaine. Mais en fait il n'y a aucune raison que ce soit systématiquement le cas quand on utilise un outil : les algorithmes même classiques peuvent effectuer des calculs pratiquement irréalisables par un humain. Plus généralement, le développement technique précède bien souvent la théorie, et a lieu suivant des critères pragmatiques d'efficacité (comme dans le cas des machines à vapeur, analysé par Hacking). On peut utiliser un outil de manière fiable sans vraiment savoir pourquoi ça marche. Et d'ailleurs, où doivent s'arrêter les explications ? Devrait on décrire par la physique quantique chaque chose que nous utilisons quotidiennement pour nous assurer qui n'y a là rien d'intentionnel (que c'est bien nous, et non le couteau qui coupe intentionnellement l'oignon) ? Devrait-on avoir trouvé la théorie finale de la physique ? Le monde dans son ensemble nous est, en une certaine mesure, opaque. Mais ce n'est pas un critère pour y voir une rationalité cachée.

De la même façon, on peut utiliser de manière fiable un programme ayant subit un apprentissage pour gagner au jeu de go sans vraiment comprendre pourquoi ça marche, pourquoi tel ou tel coup est joué, et ça n'a rien de problématique quant au statut d'outil de la machine tant qu'on est assuré de l'efficacité de l'outil. Cette mise en avant si fréquente de l'opacité des algorithmes d'apprentissage pour justifier de leur particularité par rapport à d'autres types d'algorithmes me semble donc déplacée, puisque ça ne modifie pas réellement la nature de cet algorithme. Il me semble que prétendre l'inverse (voir de la rationalité cachée dans l'opacité causale) relève de la pensée magique.

L'IA générale

Il y a plusieurs réponses possibles à faire à cela. On pourra d'abord, comme il est souvent fait, distinguer l'intelligence experte ou spécialisée de l'intelligence générale, celle qui s'appliquerait dans tous les domaines (quoi que ça puisse vouloir dire), et affirmer que mes arguments ne concernent que la première : peut-être qu'alpha-go n'a pas "vraiment" battu des humains, mais peut-être qu'une intelligence artificielle générale serait plus semblable à la nôtre, et peut-être que les machines nous dépasserons un jour. On pourra ensuite proposer de naturaliser la rationalité, de réduire les raisons aux causes (peut-être en s'appuyant sur des arguments darwiniens) pour défendre que finalement la distinction entre action intentionnelle ou non n'est pas si franche.

Je suis là encore sceptique pour plusieurs raisons. D'abord parce qu'il me semble que l'IA spécialisée est beaucoup plus utile comme outil que l'IA générale, et je parierais que c'est la première qu'on verra vraiment se développer de manière importante dans les années à venir. Il y a bien des tentatives d'imiter les humains par des machines, mais les applications de ce type de technologie, au delà de la pure démonstration, me semblent assez limitées. Un algorithme spécialisé sera toujours plus efficace, et je pense qu'ils se multiplieront dans des domaines variés. Mais c'est bien sûr une spéculation.

Une raison plus importante est que je ne pense pas que les algorithmes à apprentissage tels qu'ils sont conçus soient vraiment adaptés à une IA générale, ni même que la notion d'IA générale n'ait beaucoup de sens. En effet ces algorithmes ne fonctionnent que sur la base de jeux de données sélectionnés par des humains, et surtout, sur la base de critères de succès décidés par des humains. Qu'est-ce qu'un jeu de donnée parfaitement général ? Qu'est-ce qu'un critère de succès parfaitement général ? Le nom "donnée" occulte le fait que les données sont généralement construites en fonction de critères de sélection, depuis certains schèmes conceptuels, en s'appuyant sur certaines connaissances théoriques et techniques, suivant certaines fins : le pur donné est un mythe que les philosophes du 20ème siècle comme Sellars nous ont permit d'abandonner. Quant aux critères de succès, il est encore plus évident qu'ils sont relatifs à certaines fins humaines. L'idée de jeu de données "parfaitement général" ou de critères de succès "parfaitement généraux", et indépendant de visées instrumentales de la part des utilisateurs et concepteurs de la machine, n'a donc que peu de sens.

En outre ceci ne résout pas le problème qui est qu'une IA même générale agira suivant des causes plutôt que pour des raisons. L'idée de réduire les raisons aux causes, qui est je pense nécessaire pour qui veut défendre qu'une IA même généralisée puisse s'apparenter à un agent intentionnel, me paraît problématique dans la mesure où elle revient à réduire les valeurs aux faits. Or on connaît depuis Hume de bons arguments philosophiques à l'encontre de cette idée.

[ajout] C'est un peu cette idée qui sous-tend le test de Turing : si nous avons affaire à un algorithme indiscernable d'un être humain, nous serions bien en position de lui attribuer des raisons d'agir aussi bien qu'un être humain. Mais il faut faire attention ici : en aucun cas le test de Turing ne constitue en lui-même un argument en faveur de l'idée que les raisons d'agir peuvent se réduire à une certaine histoire causale, d'abord parce que ce n'est pas un argument du tout mais un test, ensuite parce que l'utiliser dans un argument serait confondre ce qui nous permet d'inférer à titre explicatif les raisons d'agir de quelqu'un et ces raisons elle-même (or ce type d'inférence est toujours faillible -- c'est une confusion épistémologie/ontologie) et enfin parce qu'un tel argument serait circulaire, il devrait supposer qu'il est en principe possible qu'un algorithme passe le test avant de pouvoir affirmer que l'intentionnalité est réductible à la causalité (du moins si l'intentionnalité suit une sémantique Kripkéenne, c'est à dire que sa nature est à découvrir empiriquement plutôt que sur la base d'une simple analyse conceptuelle). [/ajout]

Tout ceci est lié à un problème plus général qui est qu'il me semble que ni la conscience en général ni l'intelligence en particulier ne sont de nature algorithmique. C'est "l'éléphant dans la pièce" que j'évoquais dans le dernier article : l'idée même qu'il puisse y avoir une IA "générale" ou "forte" implique de forts présupposés en métaphysique de l'esprit

Il est à peu près certain que la capacité à raisonner est centrale pour l'intelligence, et je n'aurais pas trop de mal à accepter qu'une certaine forme d"algorithmicité" est essentielle à la conscience humaine, au sens où il est nécessaire, pour être conscient comme nous le sommes, de disposer de capacités à exécuter des algorithmes. Mais en faire une condition suffisante est une autre chose : il me semble que la plupart de nos capacités algorithmiques sont inconscientes plutôt que conscientes (comme quand nous acquérons des automatismes jusqu'à ne plus y penser), qu'elles supportent plutôt qu'elles ne constituent notre conscience et pour cette raison j'ai tendance à penser que la conscience comme l'intelligence "générale" sont autre chose qu'une capacité algorithmique. Finalement cette capacité qu'a notre cerveau à exécuter ce qui s'apparente à des algorithmes pourrait aussi bien être un outil "interne", seulement plus directement accessible que les ordinateurs, que nous ne faisons qu'externaliser quand nous créons des programmes.

En tous les cas, quelle que soit la position qu'on adopte en philosophie de l'esprit (et nous touchons assez directement, avec ces histoires de raisons et de causes, aux problématiques de réduction et d'exclusion causale analysées par Kim), je ne vois rien qui annonce dans les développements technologiques actuels ne serait-ce que les prémisses d'une véritable "IA générale" parfaitement autonome.

Risques et gains des technologies

Ce qui me semble vraiment déterminant en revanche dans cette histoire, avec ce type d'outils, c'est qu'on délègue de manière instrumentale des étapes là où, auparavant, chaque étape devait être justifiée intentionnellement et effectuée consciemment : il n'y a plus de raison de jouer tel ou tel coup, mais plutôt une raison de lancer la machine et de jouer les coups qu'elle nous indique, et cette super-raison, c'est qu'on veut gagner la partie (pour démontrer l'efficacité de notre algorithme). Les raisons intermédiaires, instrumentales, disparaissent avec la technologie, pour ne plus laisser que des raisons de plus haut niveau.

C'est un aspect philosophiquement intéressant sur au moins deux plans : de manière positive, parce que cela permet de relativiser l'idée que "la machine va remplacer l'homme". En fait la technologie ne fait jamais que déplacer l'activité humaine vers des niveaux moins instrumentaux et sans doute plus intéressants (le cas du jeu de go est assez trompeur à cet égard puisqu'on trouve un intérêt à cet activité même, et pas seulement dans le fait de gagner, mais le fait qu'il existe des machines qui nous battent aux échecs n'a jamais empêché personne de jouer). Ceci dit ce déplacement peut s'accompagner de défis concernant l'organisation sociale... De manière négative ensuite, parceque le fait de déléguer ainsi les fins intermédiaires, d'exercer notre contrôle à un niveau supérieur uniquement, comporte généralement des risques. Ça semble peu visible dans le cas d'un jeu, mais il pourrait y avoir un risque à laisser un algorithme gérer la sécurité d'une centrale nucléaire dans la mesure où l'on imagine qu'il ne saura faire face aussi bien qu'un humain à une situation imprévue, là où un jugement contextuel faisant appel à des raisons de haut niveau serait nécessaire. C'est que la manière dont une finalité de haut niveau est implémentée en finalités intermédiaires est généralement imparfaite.

Cependant ces deux aspects n'ont rien de spécifique aux algorithmes par apprentissage. Il y a toujours un gain et un risque à déléguer aux machines, à automatiser. Les machines nous ont toujours servi à ne plus faire consciemment certaines étapes intermédiaires pour nous concentrer sur des buts qu'on juge plus importants. Elles le font souvent mieux que nous, et sans que nous ne sachions forcément comment (du moment que ça marche). Il y a toujours eu des risques à l'automatisation face à l'imprévu, et peut-être dans certains cas une perte qualitative (les objets faits mains sont toujours valorisés). On peut penser que ce risque face à l'imprévu est moindre dans le cas des algorithmes par apprentissages puisqu'ils ne s'appuient pas sur un ensemble figé de règles, seulement je pense qu'il se pose tout autant, parce-que les tâches qu'on délègue à ces algorithmes sont généralement plus complexes et ambitieuses d'une part (conduire une voiture), si bien que le risque de défaut est à la hauteur de la flexibilité de l'algorithme, et parce que la manière dont est élaboré le jeu de donnée qui sert à l'apprentissage et les critères de succès implémentés sont cruciaux d'autre part, comme l'illustre les débats sur "l'éthique" à implémenter dans les voitures autonomes : tout ceci n'est que l'analogue du problème des bonnes règles à implémenter dans un algorithme classique, peut-être appliqué à des cas plus complexes.

Mais le point sur lequel je souhaitais appuyer dans cet article est que l'idée d'une discontinuité, d'une différence de nature entre ces nouveaux types d'algorithmes et les technologies plus ancienne, et toutes les peurs ou les fantasmes qui accompagnent cette idée, jusqu'à l'idée d'une singularité, d'une super-intelligence qui remplacerait l'homme, me semblent infondés, si bien que rien ne justifie d'attribuer plus d'intentionalité à ce type d'algorithmes qu'à n'importe quel autre : ce sont bien in fine des ingénieurs qui sont parvenus à battre, à l'aide d'une machine, les meilleurs joueurs de go.

Aucun commentaire: