Comme d’autres algorithmes de classification ou de notation, les algorithmes de reconnaissance faciale doivent atteindre un certain niveau de performance prédictive tout en assurant l’équité dans les prédictions. Ces deux objectifs peuvent se révéler contradictoires, une augmentation de l’équité entraînant une baisse dans la performance prédictive. Comment réconcilier les deux ? Comment s’assurer que dans un groupe de personnes concerné par une décision algorithmique, tout a été mis en œuvre pour qu’aucun sous-groupe ne se trouve discriminé ? Est-il possible d’intégrer des contraintes d’équité dans les algorithmes mêmes ?
En droit, comme en langage courant, le terme « équité » signifie une « disposition de l’esprit consistant à accorder à chacun ce qui lui est dû.» (Dictionnaire de l’Académie française).
Dans le domaine de l’apprentissage machine, plusieurs définitions et manières d’établir l’équité co-existent. [Hamilton, 2016] distingue ainsi l’équité individuelle et l’équité de groupe. La première reflète la garantie que des personnes aux caractéristiques similaires soient traitées de manière similaire, tandis que la seconde s’attache à une garantie d’égalité de résultats au prix d’un traitement différent selon les sous-groupes de personnes.
[Corbett-Davies and Goel, 2018] relevaient en 2018 trois visions distinctes de l’équité :
L’équité en apprentissage machine correspond généralement cependant à l’égalité de performance entre différents groupes. Dans ce sens, un algorithme dit parfaitement équitable devra avoir le même taux de faux positifs et le même taux de faux négatifs, quel que soit le groupe de la population examiné.
Simple en apparence, cet objectif sur les taux d’erreurs est difficile à atteindre en pratique, et peut entraîner des effets indésirables sur d’autres paramètres de performance de l’algorithme. Le caractère positif ou négatif des erreurs est ici celui de la décision (oui/non) prise par l’algorithme sous-jacent, une sémantique qui dépend des cas d’usages et des causes recherchées. Du point de vue des personnes concernées, les conséquences peuvent également revêtir un aspect qu’elles considéreront comme positif ou négatif.
Dans le cadre d’un système de reconnaissance faciale, un opérateur cherche à identifier (ou à suivre, une fois identifiée) une personne à partir d’une image de référence : identifier correspond à une décision positive. Si le système n’établit pas la correspondance entre la personne et l’image de référence, sa décision est négative.
Identifier à tort une personne comme étant la même que celle figurant sur l’image de référence représente alors un faux positif. Ceci peut conduire à l’arrestation à tort d’un innocent, ou bien à une autorisation d’accès attribuée à tort à une personne.
Un faux négatif est au contraire l’absence d’identification alors qu’il s’agit bien de la même personne sur les deux images. C’est le cas lorsqu’une personne recherchée échappe à un système de surveillance. C’est également le cas quand un utilisateur échoue à déverrouiller son mobile parce que le système ne reconnaît pas son image.
On le voit, chaque type d’erreur —faux positif ou faux négatif— peut conduire à des conséquences différentes pour les personnes concernées. Selon les cas d’usages, et les enjeux et les impacts sur les personnes concernées, l’opérateur privilégiera (ou considérera comme plus éthique) d’accepter plus de faux d’une catégorie (autrement dit : de prioriser certaines erreurs) par rapport à une autre. Les mécanismes des algorithmes d’apprentissage faisant que si l’on souhaite minimiser les faux positifs, cela entraînera une augmentation des faux négatifs, et vice versa, un équilibre doit être trouvé entre le type d’erreurs à privilégier. La sensibilité sera différente entre un algorithme de déverrouillage d’un mobile et un algorithme destiné à localiser un enfant disparu.
Lorsque les taux de faux positifs et de faux négatifs sont différents pour différents groupes de la population, nous sommes en présence de biais.
Certaines erreurs sont inévitables en matière de reconnaissance faciale, que celle-ci soit effectuée par un humain ou une machine : il s’agit des cas où l’image donnée en entrée, à comparer à l’image de référence, est dégradée, floue, sujette à des reflets, voire incomplète, d’autant plus qu’elle est prise à la volée… Les algorithmes restent cependant plus performants et moins discriminatoires que les humains. Ces derniers sont en effet loin d’être équitables dans la reconnaissance de visages, surtout lorsqu’il s’agit de visages de personnes appartenant à une autre ethnie. Pour un humain, les visages de certains groupes ethniques se ressemblent tous, un phénomène connu sous le terme « own race bias ».
Un système de reconnaissance faciale est conçu pour trouver une méthode optimale permettant de convertir l’image d’un visage en gabarit —une série de mensurations uniques permettant de différencier un visage de tous les autres— de manière à ce que les gabarits de chaque individu soient différents, mais que le gabarit de deux images du même individu soit quasi-identique quelle que soit la lumière ou l’angle de prise de vue. C’est une tâche compliquée. Le système va généralement apprendre la bonne méthode en s’entraînant sur des images de différents individus prises sous différents angles. Ces images d’entraînement sont étiquetées de manière à ce que l’algorithme d’apprentissage puisse savoir quand il se trompe. Il pourra alors corriger le tir jusqu’à ce qu’il trouve la bonne méthode. Si les images d’entraînement sont uniquement celles d’hommes blancs d’origine caucasienne, l’algorithme sera particulièrement doué pour générer un gabarit de qualité pour les visages d’hommes blancs d’origine caucasienne, mais beaucoup moins habile pour les visages de femmes d’origine asiatique, par exemple, entraînant pour ce groupe de personnes un taux de faux positifs élevé.
En conditions opérationnelles, l’algorithme doit estimer la probabilité de correspondance entre une donnée en entrée (image de visage passée en gabarit) et les données de référence, par exemple des photographies d’identité, également transformées en gabarit par le même algorithme. L’algorithme compare les deux gabarits, et estime le taux de concordance entre les deux.
La performance d’un algorithme de reconnaissance faciale est mesurée par la courbe dite ROC (Receiving Operator Characteristic), représentant les taux de vrais positifs en fonction des taux de faux positifs. Plus la surface en dessous de la courbe (AUC, Area Under Curve) est importante, plus l’algorithme est considéré comme performant. Ceci permet de mesurer aisément les algorithmes selon les données d’entrée (et entre eux). Lorsque l’AUC varie selon les différents groupes de population, l’algorithme souffre d’un écart de performance entre groupes. Il est « inéquitable », selon notre définition ci-dessus.
D’où viennent ces écarts de performance ? L’une des sources peut être des biais statistiques dans les données d’entraînement. Ces biais surviennent lorsque les données sur lesquelles l’algorithme apprend ne sont pas représentatives de la population à laquelle l’algorithme sera confronté dans les conditions d’opération.
Pour éliminer ces biais, il faudrait idéalement répliquer dans la base d’entraînement les caractéristiques de la population à laquelle l’outil sera exposée en phase d’exploitation. Si un outil de reconnaissance faciale est appliqué dans un aéroport, par exemple, il faudrait entraîner l’algorithme à partir des caractéristiques de la population susceptible de passer par cet aéroport, en terme d’âge, de genre, de couleur de peau, de type de cheveux etc.
En réalité, les images d’entraînement constituent une ressource rare, comme il est rare également d’avoir la possibilité de construire des bases d’entraînement représentatives de la population cible. En général, les algorithmes de reconnaissance faciale sont entraînés sur des images prises sur le web, ou à partir de bases d’images commercialement disponibles, ou bien à partir de bases plus limitées de personnes ayant données leur consentement. Dans ces conditions, la représentativité statistique des images d’apprentissage n’est pas parfaite. Cet inconvénient peut heureusement être compensé par des ajustements dans l’algorithme d’apprentissage lui-même.
L’agence américaine NIST (National Institute of Standards and Technology) dispose d’une base de 18 millions d’images de plus de 8 millions de personnes, provenant des autorités d’immigration et du FBI, étiquetées selon la nationalité, le sexe, l’âge et parfois l’origine ethnique de la personne. À partir de cette base massive d’images, le NIST a créé un banc de test pour les algorithmes de reconnaissance faciale, devenu la référence mondiale en la matière. Une équipe ayant développé un algorithme de reconnaissance faciale peut l’évaluer sur le banc de test, qui va le confronter à différents groupes d’images et calculer la différence de performance en fonction de différents groupes de la population. Publiés en xxxx, les derniers résultats montre une grande variété de performance entre les algorithmes. Certains algorithmes montrent des différences de performance colossales par rapport à différents types de visages, alors que d’autres algorithmes atteignent un taux d’équité impressionnant.
Les résultats NIST montrent en particulier que les scores d’équité peuvent être très différents selon les cas, entre la comparaison d’une image d’entrée avec une image de référence (correspondance dite « one to one »), et la comparaison d’une image d’entrée avec une collection d’image de personnes recherchées (correspondance dite « one to many »). Les éditeurs d’algorithmes arrivent cependant à améliorer leur score d’équité, ce qui montre que la non-représentativité des données d’entraînement n’est pas un obstacle infranchissable. Certains algorithmes arrivent également à apprendre à partir de peu d’exemples d’entraînement, rendant l’algorithme moins sensible à des biais statistiques. D’autres algorithmes ont des difficultés intrinsèques pour identifier certains types de visage quel que soit le nombre d’exemples dans la base d’entraînement. L’exemple le plus connu est celui des bébés, pour lesquels les algorithmes ont des problèmes de performance quelque soit le nombre d’images d’entraînement.
Comment pousser un algorithme à être plus équitable ? En théorie, on peut forcer l’algorithme à avoir le même taux d’erreur quelque soit le groupe de la population considéré. Mais cela reviendrait à baisser la performance pour tout le monde afin de s’aligner sur le niveau le plus faible. Avant d’envisager cette option, il faudrait définir les groupes pour lesquels il est important d’égaliser le traitement. Or, pour un algorithme de reconnaissance faciale, tous les aspects morphologiques du visage peuvent avoir un impact sur la performance : l’existence d’une barbe, de cheveux longs, de lunettes, la présence d’eczéma, l’obésité, l’âge, la couleur de peau… Certains de ces attributs nécessitent du reste une vigilance particulière en raison de leur caractère potentiellement sensible. Si un écart de performance entre un visage adulte et un visage bébé n’est pas problématique, le même écart de performance entre un visage noir et un visage blanc serait très problématique, en soi, et en raison de la législation contre les discriminations fondées sur la couleur de peau.
Si on écarte le cas des bébés, le nombre de groupes à protéger est potentiellement élevé : faut-il alors créer des catégories et tester l’équité pour chaque couleur de peau, et chaque origine ethnique ? Quelles catégories de visage méritent une vigilance particulière au regard de l’équité, et qui doit décider ? Est-ce que les catégories testées par le NIST américain sont valable pour l’Europe ? Rappelons que la Charte des droits fondamentaux de l’Union européenne interdit toute discrimination fondée sur le sexe, la race, la couleur, les origines ethniques ou sociales, les caractéristiques génétiques, la langue, la religion ou les convictions, les opinions politiques ou toute autre opinion, l’appartenance à une minorité nationale, la fortune, la naissance, un handicap, l’age ou l’orientation sexuelle. Et outre les obligations juridiques sur ces nombreux aspects, leur déclinaison en de multiples valeurs porte un problème de performance. Il existe par exemple de très nombreuses couleurs de peau et d’origines ethniques, et plus le nombre de groupes à protéger est élevé, plus la tâche d’égalisation sera difficile. En présence de 500 groupes à protéger, il existera forcément certains groupes pour lesquels la performance algorithmique sera très mauvaise. En présence de cinq groupes, les différences de performance seront moins marquées, et la tâche d’égalisation plus simple. Malheureusement, la loi ne définit pas le niveau de granularité nécessaire.