Développeurs

AIF 360 : une bibliothèque open source pour un apprentissage automatique équitable

Share this post:

La question d’équité et de correction des biais dans les modèles d’apprentissage automatique est devenue un sujet majeur de la recherche en intelligence artificielle, et correspond à un besoin sociétal concret : Article « Apprentissage automatique et biais »

 

La plupart des acteurs de l’intelligence artificielle proposent des solutions à cette question, et IBM est en première ligne, en particulier avec une bibliothèque Python qui regroupe l’état de l’art en matière d’algorithmes de détection et d’atténuation des biais : ArtificiaI Intelligence Fairness 360 (ou en abrégé AIF 360). Le but de cet article est de présenter cette bibliothèque, et de donner les clés pour l’utiliser.

 

De quel biais parle-t-on ?

Dans le monde de l’apprentissage automatique, on s’intéresse ici aux modèles supervisés de classification (par opposition aux modèles de régression, de segmentation non supervisée ou autres prévisions de séries chronologiques). Sur une population d’individus (au sens statistique du terme, mais bien souvent au pied de la lettre quand il s’agit de personnes), ces modèles produisent des prévisions d’un attribut dit cible – comportement, appétence produit, solvabilité, récidive de crime etc. – à partir d’autres attributs de l’individu, dit « candidats prédictifs ». Il s’agit donc d’un raisonnement par analogie à partir d’historiques.

Dans ce contexte, la prévision conduit la plupart du temps une décision sur l’individu, et il y a un biais (ou une iniquité) de groupe lorsqu’un groupe d’individus est systématiquement avantagé par la décision induite, par rapport à un autre groupe systématiquement désavantagé.

 

Pourquoi est-il difficile de supprimer un biais ?

Toute la difficulté consiste à mesurer ce biais d’une part, et à le corriger d’autre part. En effet, il ne suffit pas de supprimer l’attribut distinctif de la population à risque de discrimination pour résoudre le problème. En effet, celui-ci est généralement très corrélé aux autres attributs de l’individu. Prenons l’exemple d’un jeu de données d’apprentissage aux critères d’acceptation d’un crédit. Si ces données sont biaisées par rapport à la sous-population jeune (moins de 25 ans), elle le restera même si l’on supprime la colonne « âge » du jeu de données, car les autres attributs comme la surface de logement, le type du véhicule actuel ou même le code postal, y sont fortement corrélés. Les algorithmes d’apprentissage vont donc reproduire dans leurs prévisions les biais qui existent dans les données historiques.

 

Différenciateurs d’AIF 360

AIF 360 se distingue du lot par un bibliothèque comprenant plus de 70 métriques de biais. En effet, la définition d’équité étant multiple et non consensuelle, il convient de ne pas se limiter à un choix réducteur, mais à offrir aux développeurs et data scientistes une large palette issue des recherches qui font autorité.

Dans le même esprit, AIF360 regroupe dix algorithmes d’atténuation de biais, sur les trois phases de du cycle de développement :

  • Atténuation des biais sur des données d’apprentissage
  • Atténuation des biais au cœur des algorithmes d’apprentissage
  • Atténuation des biais sur les prévisions elles-mêmes

Ces algorithmes sont issus aussi bien des publications dans ce domaine, que de la recherche IBM (elle-même publiée, bien évidemment).

Cette approche a pour conséquence une bibliothèque quasi exhaustive sur la question, avec en particulier des algorithmes dont on ne trouve pas d’implémentation ailleurs.

Un autre différenciateur majeur relève du génie logiciel: cette bibliothèque a été conçue dès le départ pour être extensible. Ceci a pour double avantage que les contributeurs peuvent facilement participer à son amélioration, et les utilisateurs ont la possibilité de la tailler à leur mesure si besoin.

L’idée forte a été de coller au paradigme fit/predict de scikit-learn, qui s’est avéré comme le découpage d’abstraction idéal dans le monde de la data science.

 

Quelques pointeurs

Le source d’AIF 360 est disponible sur GitHub : https://github.com/IBM/AIF360 .

La documentation est en ligne : https://aif360.readthedocs.io/en/latest/

IBM a produit un site dédié à AIF 360 : https://aif360.mybluemix.net/

Ce site décrit en détail les métriques et les algorithmes d’atténuation, propose des démonstrations en lignes sur des jeux de données permettant de vérifier les biais et de les corriger, pointe sur des tutoriels, des glossaires et autres ressources.

Enfin, un article décrit l’architecture de la librairie en détails : https://arxiv.org/pdf/1810.01943.pdf

 

Quelques définitions

On définit les décisions ou valeurs favorables (respectivement décisions ou valeurs défavorables) comme un sous ensemble des valeurs possibles de l’attribut cible. Par exemple : « crédit accordé » est une valeur favorable de l’attribut cible « décision de crédit ».

De même, pour surveiller les populations à risque de discrimination, on parle d’attribut protégé (protected attribute) pour désigner l’attribut dont les valeurs (appelées « valeurs protégées ») définissent ces sous-populations. Par exemple, pour éviter la discrimination d’âge, on pourra protéger l’attribut « âge », et surveiller la discrimination par tranches d’âges.

 

Architecture de la bibliothèque

Voici un schéma UML simplifié de la bibliothèque (extrait de l’article précédemment mentionné) : https://arxiv.org/pdf/1810.01943.pdf

 

En plus des classes attendues de métriques de biais et d’algorithmes d’atténuation, on y trouve une classe construite pour rassembler les méta-données nécessaires à une analyse de biais : un pointeur vers les données elles-mêmes bien sûr, mais également quelle est la cible, les attributs protégés, les valeurs favorables et défavorables etc.

 

Quelques métriques parmi les plus de 70 disponibles

Voici une liste des métriques parmi celles disponibles, avec leurs définitions rapides :

 

Statistical Parity Difference

La différence entre le taux de résultats favorables reçus par le groupe non privilégié et celui du groupe privilégié.

Equal Opportunity Difference

La différence de taux de vrais positifs entre le groupe non privilégié et le groupe privilégié.

Average Odds Difference

La différence moyenne de taux de faux positifs (faux positifs/négatifs) et de taux de vrais positifs (vrais positifs/positifs) entre le groupe non privilégié et le groupe privilégié.

Disparate Impact

Le taux de résultats favorables pour le groupe non privilégié divisé par celui du groupe privilégié.

Theil Index

Il mesure l’inégalité dans l’attribution des prestations pour les individus.

Euclidean Distance

La distance Euclidienne moyenne entre les échantillons des deux ensembles de données.

Mahalanobis Distance

La distance moyenne de Mahalanobis entre les échantillons des deux jeux de données.

Manhattan Distance

La distance moyenne de Manhattan entre les échantillons des deux jeux de données.

 

Les algorithmes

Les descriptions données ici sont succinctes. Pour une description détaillée, veuillez trouver dans la documentation de la bibliothèque les références aux articles de recherche correspondants : https://aif360.readthedocs.io/en/latest/modules/algorithms.html

 

Pre-traitements : utilisés pour atténuer les biais dans les données d’apprentissage

Optimized Pre-processing

Modifie les caractéristiques et les étiquettes des données d’entrée.

Reweighing

Modifie le poids de différents exemples d’entraînement.

Disparate Impact Remover

Modifications des valeurs d’attributs pour améliorer l’équité de groupe.

Learning Fair Representations

Apprend des représentations équitables en occultant des informations sur les attributs protégés.

 

Intra-traitements : utilisés pour atténuer les biais dans les algorithmes de classification

Adversarial Debiasing:

Utilise des approches d’analyse contradictoire pour maximiser l’exactitude et réduire les possibilités de populations favorisées ou défavorisées dans les prédictions.

Prejudice Remover

Ajoute un terme de minimisation de la discrimination à l’objectif de qualité d’apprentissage.

Meta Fair Classifier

Meta algorithme qui prend en entrée une métrique d’équité et produit en sortie un classificateur équitable pour cette mesure.

 

Post-traitements : utilisés pour atténuer les biais dans les prédictions

Reject Option Classification

Modifie les prédictions d’un classificateur pour les rendre plus justes.

Calibrated Equalized Odds Post-processing

Rectifie à la volée de façon optimale les probabilités (scores) des prévisions pour produire des décisions équitables.

Equalized Odds Post-processing

Modifie les prévisions à l’aide d’un système d’optimisation pour les rendre plus équitables.

 

Par où commencer avec AIF360 ?

Une bonne façon d’aborder le traitement des biais par AIF360 est de pratiquer sur des exemples concrets, avec des tutoriels. En voici quelques-uns.

 

Le référenciel GitHub du code source de la bibliothèque AIF 360 propose de nombreux notebooks en exemple : https://github.com/IBM/AIF360/tree/master/examples

 

Parmi eux, les exemples « credit scoring » et « medical expenditure » sont devenus des classiques :

https://nbviewer.jupyter.org/github/IBM/AIF360/blob/master/examples/tutorial_credit_scoring.ipynb

https://nbviewer.jupyter.org/github/IBM/AIF360/blob/master/examples/tutorial_medical_expenditure.ipynb

 

Enfin, ce notebook disponible dans Kaggle https://www.kaggle.com/nathanlauga/ethics-and-ai-how-to-prevent-bias-on-ml vous guide sur l’analyse et la correction de biais avec AIF 360 sur le jeu de données open data « US Homicide Reports 1980-2014 ».

 

More Développeurs stories
21 octobre 2019

Comment se former aux technologies du Cloud et de l’Intelligence Artificielle ?

Les technologies de l’informations évoluent à grande vitesse, et les développeurs, architectes, data scientists, CTOs, CIOs etc. doivent en permanence se tenir au courant et se former, que ce soit sur l’infrastructure, le middleware, le cloud, l’intelligence artificielle ou la data science. L’objectif de cet article est de donner des pointeurs de formation dans ces […]

Continue reading

21 octobre 2019

Les éditeurs, startups et ESN peuvent obtenir jusqu’à 12000$ de crédits d’usage gratuits sur IBM Cloud

Si vous êtes éditeurs de logiciels, startups ou entreprises de services du numérique, vous pouvez bénéficier de 1000$ de crédits d’usage gratuits par mois pendant 12 mois sur plus de 190 services accessibles dans IBM Cloud. Si nécessaire, un accompagnement technique personnalisé et gratuit peut vous être proposé pour vous aider à débuter sur la […]

Continue reading

17 octobre 2019

Call for Code 2019 : Les développeurs toujours plus engagés dans la Tech for Good

Retour sur le plus grand hackathon mondial et ses grands gagnants Ils étaient 180.000 à participer et seulement cinq équipes sont arrivées en finale, dont le projet franco européen AsTeR, qui détermine le niveau de priorité et de gravité des appels d’urgence. Photo: (de gauche à droite) Pierre-Louis Missler, Meryll Dindin, Oskar Radermecker, et Florian […]

Continue reading