On se souvient de la mort d’Elaine Herzberg, première humaine tuée par une voiture autonome en mars 2018 (voir l’enquête qu’en dressait l’écrivain Thierry Crouzet). Pour le Guardian, le journaliste Andrew Smith (@wiresmith) revient sur les hésitations de l’algorithme de la voiture à reconnaître ce qu’il se passait.

Pour la programmeuse et essayiste Ellen Ullman, le problème est que la programmation est de plus en plus éloignée de la compréhension humaine du fait de l’intrication des programmes, algorithmes et données. Les gens pensent souvent que les algorithmes peuvent être modifiés, mais le plus souvent, ils s’exécutent et évoluent par eux-mêmes (cf. notre dossier, réinventer la programmation). Leurs concepteurs ne les contrôlent pas vraiment et ce d’autant plus qu’ils font appellent à des bases de données, à des bibliothèques de programmes distants, à d’autres algorithmes qui évoluent également.

À l’origine, rappelle Smith, les algorithmes étaient relativement simples, ils fonctionnaient selon des règles basiques du type : si A se produit, alors faites B, sinon, faites C. Les ordinateurs semblaient déjà magiques, parce qu’ils étaient rapides plus qu’intelligents. Mais désormais, les algorithmes désignent des systèmes logiciels de prise de décision complexes, avec un nombre de règles et de critères volumineux, souvent interreliés et interdépendants. Or, ils nous ont été toujours présentés comme des promesses d’objectivité, d’où le fait qu’ils se soient étendus à nombre de décisions de la vie courante : octroi de prêts, de prestations, de places… Pourtant, ces décisions ne sont pas sans biais, du fait de la manière même dont ces relations sont conçues par les ingénieurs.

Les machines ne sont pas sans biais non plus. L’apprentissage par renforcement par exemple, se fait sans aucun contexte. La machine apprend à faire ce qu’on lui demande de faire, comme obtenir le meilleur score possible à un jeu en y jouant des millions de fois. Mais ce qu’elle en apprend n’est pas transférable d’un jeu à un autre. Et elle ne sait expliquer comment elle y arrive. Le problème, c’est que quand l’algorithme apprend, nous ne savons plus quels sont les règles et les paramètres qu’il utilise puisqu’il les transforme. Ces algorithmes-là ne sont plus prévisibles et peuvent se mettre à produire des résultats erratiques. Pour Smith ce sont des « algorithmes Frankenstein », des machines qui créent leurs propres règles, comme ceux qui dominent désormais les marchés financiers via les transactions à haute fréquence. Pour Neil Johnson, physicien de la complexité à l’université George Washington, Facebook peut ainsi avoir des algorithmes simples pour reconnaître un visage dans une photo… Mais que se passe-t-il quand des milliers d’algorithmes travaillent ensemble sur des milliards de profils ? « Vous ne pouvez pas prédire le comportement global appris à partir de règles microscopiques ».

Neil Johnson, qui a publié récemment un article (.pdf) sur l’émergence de populations radicales par la polarisation des opinions, explique que c’est la concurrence des opinions qui accroit la polarisation en ligne. Pour lui, les entreprises qui développent des algorithmes devraient aussi apprendre à modéliser leurs effets à grande échelle, comme les climatologues modélisent le changement climatique. Pour la mathématicienne Cathy O’Neil (@mathbabedotorg), dans l’environnement algorithmique complexe actuel, il est difficile de définir les responsabilités des différents segments de codes imbriqués les uns aux autres. Les Flash Crash, ces krachs financiers éclair, n’ont pas lieu que sur les marchés financiers. La tarification algorithmique d’Amazon s’emballe aussi parfois en faisant grimper le prix de livres à des hauteurs folles. Or, comprendre où se situe la responsabilité de ces emballements n’est pas si simple. « Comme dans la finance, le déni est intégré au système ».

Lorsqu’un chauffeur d’une Toyota Camry a été tué après avoir accéléré brutalement sans raison évidente, des experts ont passé plusieurs mois à examiner les millions de lignes de code du système d’exploitation de la voiture sans trouver de preuves concluantes que la voiture ait accélérées de son propre chef. D’autres experts ont fini par trouver que le chevauchement de codes imbriqués pouvait produire des résultats anormaux et imprévisibles. Éviter les conflits de code sur des millions de lignes de code alimentés par des flux d’information constants est extrêmement difficile. Pour l’historien des sciences George Dyson, le problème est que nous construisons des systèmes qui vont au-delà de nos moyens intellectuels pour les contrôler. Or, nous pensons que si un système est déterministe (c’est-à-dire qu’il agit selon des règles fixes), alors il est prévisible et que s’il est prévisible alors il peut être contrôlé. Mais ces deux hypothèses sont fausses, estime Dyson. « La loi d’Ashby dit qu’un système de contrôle doit être aussi complexe que le système qu’il contrôle ». Mais cela se révèle difficile. Nous ne savons pas tester cette complexité de manière exhaustive. Pour le professeur d’Intelligence artificielle Toby Walsh (@tobywalsh), « personne ne sait écrire un code pour reconnaître un stop ». En fait, pour y parvenir, les programmeurs décomposent le problème en parties suffisamment simples pour correspondre à des instructions, notamment en les nourrissant d’exemples. Le véhicule autonome qui a tué Herzberg a hésité à classer correctement ce qu’il voyait sur la route. « Est-ce dû à une mauvaise programmation, à une formation algorithmique insuffisante ou à un refus démesuré d’apprécier les limites de notre technologie ? Le vrai problème est que nous ne pourrons jamais le savoir », conclut Andrew Smith.

Pour la sociologue Lucy Suchman de l’université de Lancaster, ces problèmes sont partout. Une étude sur les attaques par drones au Pakistan entre 2003 et 2013 a ainsi montré que 2 % des personnes tuées par drones étaient des cibles présentant une menace. 20 % étaient considérés comme des non-combattants… Et 75 % étaient des cibles… « non identifiés ». Pour elle, nous sommes face à une technologie d’identification très grossière. Dans ce contexte, la perspective du développement d’armes autonomes laisse plus que perplexe. Pour Lilly Irani (@gleemie) de l’université de Californie, les choix des concepteurs d’algorithmes nous sont trop souvent présentés comme objectifs quand ils cachent des enjeux politiques.

Les méthodes de programmation ne sont plus adaptées à la taille, à la complexité, à l’interdépendance et à l’impact des programmes sur la société. Pour relever ce défi, il faudrait pouvoir mieux évaluer les interactions algorithmiques.

Pour Johnson, les ingénieurs sont formés pour écrire des programmes d’optimisation. Il serait temps de nous demander qu’elle est la pire chose qui puisse se produire avec ces optimisations une fois qu’elles interagissent avec d’autres optimisations. Mais nous n’avons ni mot pour comprendre cela, ni science pour l’étudier. «Le fait est que l’optimisation consiste à maximiser ou à minimiser quelque chose – ce qui, en termes informatiques, est identique. Alors, qu’elle est le contraire d’une optimisation – c’est-à-dire le cas le moins optimal -, et comment l’identifier et le mesurer ? La question que nous devons nous poser, que nous n’avons jamais posée, est la suivante : «Quel est le comportement le plus extrême possible dans un système que je pensais optimiser» ? » Pour cela, explique-t-il, nous avons besoin d’une autre science. Décidément !

MAJ : Sur son blog, Olivier Ertzscheid revient également sur cet article du Guardian pour proposer une taxonomie algorithmique… qui distingue les algorithmes opaques et imprévisibles des algorithmes transparents et prévisibles.

À lire aussi sur internetactu.net