C'est l'histoire ordinaire d'un couple qui sollicite un crédit immobilier. Le dossier est analysé par un logiciel. Sa réponse tombe : c'est non. Surprise. Déception. Perplexité. Sur quels critères l'algorithme a-t-il retoqué la demande ? L'âge ? La profession ? Le salaire ? Le pedigree de l'employeur ? L'histoire familiale ? Le nombre d'enfants ? La nationalité ? Le montant sur le livret A ? Mystère. Car si les algorithmes d'intelligence artificielle s'avèrent très performants, il est difficile en revanche de parvenir à comprendre le fondement de leurs décisions. Plusieurs équipes Inria se penchent d'ailleurs actuellement sur cette question de l'interprétabilité.
“Fondamentalement, il y a deux façons d'essayer d'expliquer la logique d'une IA, résume Luis Galárraga, membre de l'équipe Lacodam. La première consiste à produire un classement par importance des attributs qui ont le plus influencé la réponse. Je vais pouvoir dire que les facteurs les plus pris en compte sont l'âge, puis le salaire, etc. Deuxième façon de faire : expliquer le fonctionnement de l'IA par des règles. Je dis : si la personne a moins de tel âge et un salaire de moins de tant, alors, en général, le risque de crédit est élevé.” L'une des méthodes repose sur l'analyse statistique, l'autre plutôt sur un arbre logique.
Le projet de recherche financé par l'ANR s'appelle FAbLe. Il va durer 4 ans. L'idée, c'est de donner des cas particuliers. On prend par exemple une IA entraînée pour accorder ou refuser un crédit, puis on étudie quelle est la méthode la plus adéquate pour fournir une explication. Vaut-il mieux expliquer ces cas particuliers comme un classement d'attributs ou alors plutôt l'exprimer comme une règle ? Voilà en deux mots la brique que nous voulons amener. L'ordinateur va regarder ces cas et décider à chaque fois quelle méthode est la mieux appropriée.
Générer une forme de traduction
Une des complexités de l'exercice va consister à traduire des processus de décision peu intelligibles pour l'être humain. “Imaginons un réseau de neurones chargé de faire de la détection d'objets dans des images. Des chiens par exemple. Si je décortique cette IA, je vois qu'elle prend chaque pixel comme une donnée d'entrée. Elle décide ensuite que c'est un chien parce que le pixel numéro 9998 est de telle couleur et que le pixel 9999 est comme ci ou comme ça. Mais pour l'être humain, c'est totalement incompréhensible ! Je ne peux pas fournir ça comme explication.”
Alors comment faire ?
“Il faut générer une forme de traduction. Je prends les informations utilisées par la boîte noire et je les convertis dans un langage que les humains comprennent.
Dans le cas d'une image, les algorithmes construisent des super-pixels, c'est à dire des régions continues de cette image. Un super-pixel composé de pixels de couleur bleue dans la partie supérieure de la photo correspond souvent à du ciel. Mais comment utiliser cet élément dans l'explication ? Je ne vais pas dire que les pixels 1 à 1 million sont bleus. Je vais devoir formuler le fait que c'est du ciel. Autrement dit, donner une sémantique aux explications. Voilà l'idée.
On peut aussi vouloir indiquer parmi tous ces super-pixels lesquels ont eu le plus de poids dans la décision de l'algorithme. Si une IA doit classer les photos d'extérieur et d'intérieur, elle va accorder une prédominance au super-pixel semblant correspondre à du ciel.”
Comparer les méthodes
Essayer de se placer du point de vue de l'utilisateur entraîne parfois des déconvenues. “On investit souvent beaucoup d'efforts mais il peut arriver que les gens ne comprennent pas la façon dont on a formulé les choses. On est alors obligé de tout refaire depuis le début. Cela prend du temps.” D'où la nécessité d'effectuer des mesures. “C'est l'être humain qui détient une partie de la réponse, en particulier quand il va s'agir de comparer les différentes méthodes. Pour l'utilisateur, laquelle sera la meilleure ? Celle qui met en relief par exemple 10 attributs ? Ou celle qui propose un arbre très profond avec beaucoup de règles ? Et si on utilise des attributs, combien en faut-il ? À partir de combien l'utilisateur décroche ? Ou l'arbre est-il trop profond ? Il y a là tout un aspect cognitif pour lequel il va nous falloir des métriques humaines.”
Pour compliquer encore les choses, ces préférences utilisateurs vont varier en fonction des publics et des contextes. “Sur une application d'aide au diagnostic, par exemple, les médecins attendent une boîte noire qui soit sophistiquée. Pour répondre à cette attente, nous devrons privilégier une explication moins simpliste avec beaucoup d'éléments.” À l'inverse, dans d'autres contextes, des utilisateurs vont peut-être vouloir une explication plus compactée.
Un logiciel de qualité industrielle
Le projet va donner lieu à un travail de thèse. “L'ANR finance également un an d'ingénieur. Cela va nous permettre d'implémenter les résultats dans un outil que nous appellerons FAbLe. Il ne s'agit pas simplement de concevoir un démonstrateur pour appuyer nos publications, mais de proposer un logiciel de qualité industrielle, en licence libre, de façon à ce que toute la communauté IA puisse ensuite l'utiliser facilement. En pratique nous souhaitons l'intégrer dans Scikit-Learn, une bibliothèque logicielle de fonctionnalités très utilisée en machine learning. Nous envisageons aussi de porter le code de FAbLe vers TensorFlow, la bibliothèque de référence dans le domaine des réseaux de neurones.”
Luis Galárraga : de Guayaquil en Équateur au centre Inria Rennes
Luis Galárraga est né à Guayaquil (Équateur) où il obtient une licence en ingénierie informatique à l'ESPOL. En 2009, il part vivre en Allemagne afin de suivre un master en informatique à l'université de la Sarre. En 2012, il obtient une bourse IMPRS au Max Planck Institute for Informatics en tant que doctorant sous la direction de Fabian Suchanek. Luis travaille alors sur le Rule Mining de bases de connaissances RDF. Après son doctorat, il réalise un séjour postdoctoral comme chercheur au département d'informatique de l'Université d'Aalborg (Danemark). En octobre 2017, il est recruté par Inria comme chargé de recherche et rejoint l'équipe LACODAM du centre de recherche de Rennes.