Bugs, biais et failles du Machine Learning

La vitesse à laquelle les performances des algorithmes de Machine Learning progressent est assez stupéfiante. Comme le rappelle Lex Friedman dans ce cours récent sur l'état de l'art du Machine Learning,  l'année 2018 a vu des résultats saisissants dans des domaines variés :
  • Le traitement du langage naturel et en particulier dans la traduction automatique.  Google Translate propose aujourd'hui des résultats beaucoup plus fluides y compris du chinois vers le français par exemple.
  • Les algorithmes d'aide à la conduite (ADAS) ont fait des progrès importants. Dans leurs sillages, toutes les techniques d'apprentissage associées à l'autonomie se sont améliorées. L'apprentissage par simulation grâce à la création de scénarios de conduite artificiels réalistes permet d'accélérer la mise au point et d'améliorer la fiabilité des algorithmes.
  • Le traitement d'image permet aujourd'hui de créer des visages et des environnements totalement artificiels mais réalistes.
Génération automatique de visages en 2014 et 2018
Image: Goodfellow et al; Karras, Laine, Aila / Nvidia

  • Il devient aussi possible d'améliorer la résolution d'une image ou la fluidité du ralenti d'une vidéo en laissant le logiciel extrapoler les détails absents de l'image ou de la vidéo originale.La qualité des deep fake  (ou "fausses vidéos") dont nous avions déjà parlés ici n'a fait que progresser.
  • Dans le domaine du jeu, AlphaZero  a battu les meilleurs joueurs mondiaux en Go, mais aussi aux échecs....
Pourtant, l'utilisation de ces technologies "in real life" est souvent décevante. Certains évoquent le cycle de Gartner et le passage du "pic des attentes irréalistes" à la "vallée des désillusions" pour certaines de ces applications. 

Quand un service ne donne pas les résultats attendus par ses utilisateurs, cela peut s'appeler un bug, un "biais" ou une faille. Les méthodes qui visent à garantir :

  • le "bon fonctionnement dans les conditions normales d'utilisation", 
  • "l'équité" et la "fiabilité" des résultats pour tous les utilisateurs quels que soient leur age, leur sexe ou leur origine,
  • ou la "sécurité logicielle",

sont souvent les mêmes. Pourtant, la nature même du "machine learning" qui s'affranchit de "règles univoques" et qui s'appuie sur des "bases d'apprentissage" contenant un grand nombre d'exemples réputés corrects, crée des vulnérabilités nouvelles et spécifiques.

L'étude des "attaques" spécifiques du "Machine Learning" permet d'appréhender les risques et de mieux se protéger des "bugs" et des biais spécifiques de ces nouveaux services. Un article récent du "radar" d'O'Reilly distingue les catégories d'attaques suivantes :
  • L'empoisonnement (poisonning) qui consiste à polluer les bases d'apprentissage pour amener l’algorithme à apprendre des comportements différents de ceux attendus par les créateurs. Le chatbot Tay de Microsoft élaborait ses réponses à partir de l'analyse de conversations existantes sur le même sujet sur Twitter. Tay a rapidement reproduit les formulations racistes ou sexistes qu'on trouve en abondance sur Twitter lorsqu'on aborde certains thèmes. Il est normal qu'un service reproduise les biais présents dans sa base d'apprentissage.  Or les biais prévalent dans l'immense majorité des données existantes utilisées pour l'apprentissage.
  • L'évasion (Evasion) qui consiste à travailler ce qui est entré d'un algorithme de classification pour le faire "dérailler". La classification d'image est, par exemple, vulnérable au changement de quelques pixels sur la photo soumise au logiciel de classification. Ces quelques pixels ne vont pas changer la perception humaine mais vont tromper le logiciel comme illustré ci dessous :

Credit: Christian Szegedy et al.

  • L'abus d’identité (impersonification) consiste, inversement, à mobiliser les technologies pour créer l'apparence d'un utilisateur spécifique et produire des effets inattendus. On trouve dans cette catégorie les "Deep Fake" évoqués plus haut, mais aussi plus simplement l'utilisation par le dessin animé "South Park" des mots clés des assistants "Hey Alexa" ou "OK Google" qui a déclenché, à grande échelle, des réactions inattendues sur les équipements d'un grand nombre de téléspectateurs.  
  • L'inversion (inversion) est un risque qui porte sur la possibilité pour un utilisateur d'exploiter les réponses fournies par l'algorithme pour "deviner" une partie des données ayant servi à l'apprentissage. En effet, il arrive que les bases d'apprentissages soient confidentielles, par exemple parce qu'elles contiennent des informations personnelles. L'existence, même théorique de ce risque, est de nature à interdire l'utilisation de données "sensibles" dans les bases d'apprentissage. Cela pourrait contraindre fortement les méthodes d'apprentissage dans certains domaines.
Ces exemples, qui ne sont pas exhaustifs, montrent que si l'intelligence artificielle peut libérer l'homme d'un certain nombre de tâches répétitives, l'intervention humaine au moment de la conception puis de la validation du service est essentielle.
L'examen critique des résultats en fonctionnement normal, la recherche de biais et de faille, la "robustesse" des algorithmes restent pour le moment des opérations qui ne peuvent se passer d'une intervention humaine qualitative et vigilante.
Cela n'est, bien sûr, pas antinomique avec l'apparition d'outils visant à faciliter l'évaluation des services. Lime et SHAP sont deux exemples de ces outils d'aide à l'analyse des modèles issues d'algorithmes de Machine Learning. Pour les plus intéressés, leurs mérites respectifs sont comparés dans cet article sur le blog de Domino.

Aucun commentaire: