Dataset Bias
Le biais d’un jeu de données est un décalage entre les données d’entraînement et le monde dans lequel le modèle est utilisé, ce qui entraîne des écarts de précision. Découvre les principaux types, des exemples et les méthodes pour le détecter et le corriger.
Le biais d’un jeu de données est un décalage systématique entre les données utilisées pour entraîner un modèle d’apprentissage automatique et les personnes, les lieux ou les conditions auxquels le modèle sera destiné. Les modèles apprennent toutes les régularités présentes dans leurs données d’entraînement, y compris les effets fortuits de leur collecte. Un jeu de données déséquilibré produit donc un modèle qui fonctionne bien dans les situations fréquentes dans ses données et mal dans les autres. Comme les données de test proviennent généralement de la même collecte, le problème reste souvent caché jusqu’au déploiement. En 2011, Antonio Torralba et Alexei Efros ont illustré ce point avec un jeu intitulé « Name That Dataset » : un simple classificateur pouvait déterminer bien mieux que le hasard de quel jeu de données d’images parmi 12 très populaires provenait une image, car chaque collection avait son propre style reconnaissable.
Types de biais dans les jeux de données#
- Biais de sélection : Les données proviennent de sources faciles d’accès plutôt que de la population cible. Les photos du Web privilégient les milieux occidentaux aisés, et les services commerciaux de reconnaissance d’objets étaient environ 10 % moins précis sur les objets ménagers provenant de foyers gagnant moins de 50 $ US par mois que sur ceux de foyers gagnant plus de 3 500 $. L’écart atteignait 15 à 20 points entre les objets photographiés aux États-Unis et ceux photographiés en Somalie ou au Burkina Faso.
- Biais de représentation : Certains groupes ou certaines classes sont trop rares pour que le modèle puisse les apprendre. L’audit Gender Shades a constaté que les classificateurs commerciaux de genre se trompaient jusqu’à 34,7 % du temps pour les femmes à la peau foncée et au plus 0,8 % du temps pour les hommes à la peau claire. En détection d’objets, une longue traîne de classes rares pose le même problème à l’échelle des classes.
- Biais de mesure et de capture : Les caméras, les capteurs, les sites et l’éclairage diffèrent entre la collecte des données et le déploiement. Des modèles d’apprentissage profond destinés à détecter la pneumonie sur des radiographies thoraciques pouvaient aussi reconnaître l’hôpital d’origine d’une image. Comme les taux de pneumonie variaient d’un hôpital à l’autre, ce signal gonflait la précision et généralisait mal à de nouveaux sites : c’est une forme d’apprentissage par raccourci.
- Biais d’étiquetage : L’étiquetage des données hérite des jugements des annotateurs, de consignes incohérentes ou de décisions historiques, et le modèle traite ces tendances comme des vérités de référence.
- Biais temporel : Les données recueillies à une période donnée cessent de correspondre au monde à mesure que les modes, les produits et les véhicules évoluent.
Manifestations du biais des jeux de données#
Un modèle de perception pour la conduite autonome entraîné principalement dans des climats ensoleillés et secs détecte moins bien les piétons dans la neige, la pluie et l’obscurité. Les équipes qui construisent des véhicules autonomes pour l’IA automobile recueillent des données nocturnes et par mauvais temps pour réduire l’écart. En analyse d’images médicales, les modèles de dermatologie entraînés sur des collections dominées par les peaux claires donnent de moins bons résultats sur les peaux foncées, et les systèmes de reconnaissance faciale présentent les écarts démographiques mesurés par Gender Shades. Dans chaque cas, la précision globale semble élevée, car la majorité domine la moyenne.
L’extrait ci-dessous illustre concrètement le mécanisme avec scikit-learn. Le groupe B suit une tendance différente de celle du groupe A, et la même forêt aléatoire est entraînée deux fois sur 1 000 échantillons : d’abord avec 2 % de données du groupe B, puis avec des groupes équilibrés :
import numpy as np
from sklearn.ensemble import RandomForestClassifier
rng = np.random.default_rng(0)
def sample(n, group):
"""Draw n points from group A (label set by feature 0) or group B (label set by feature 1)."""
center = 0.0 if group == "A" else 3.0
X = rng.normal(center, 1.0, size=(n, 2))
return X, X[:, 0 if group == "A" else 1] > center
for n_a, n_b in [(980, 20), (500, 500)]: # skewed, then balanced training sets of the same size
Xa, ya = sample(n_a, "A")
Xb, yb = sample(n_b, "B")
model = RandomForestClassifier(random_state=0).fit(np.vstack([Xa, Xb]), np.concatenate([ya, yb]))
acc = {g: model.score(*sample(2000, g)) for g in "AB"} # held-out accuracy per group
print(f"train A:B = {n_a}:{n_b} -> accuracy on A {acc['A']:.3f}, on B {acc['B']:.3f}")Entraîné sur le jeu déséquilibré, le modèle est parfait sur le groupe A (1,000), mais n’obtient la bonne réponse que 76,8 % du temps sur le groupe B. L’équilibrage des mêmes 1 000 échantillons porte le score du groupe B à 98,3 %, tandis que celui du groupe A baisse légèrement à 97,2 %. Sur un jeu de test composé à 98:2, comme les données d’entraînement déséquilibrées, le premier modèle obtiendrait environ 99,5 % au total, masquant entièrement l’écart.
Biais dans les jeux de données et concepts connexes#
- Biais algorithmique : Déséquilibre introduit par la conception, l’objectif ou le déploiement d’un modèle, par exemple une fonction de perte qui favorise les classes majoritaires. Le biais des jeux de données est une cause majeure du biais algorithmique, et les deux se renforcent souvent mutuellement.
- Biais en IA : Terme générique désignant les inégalités systématiques dans les systèmes d’IA, à l’opposé de l’équité en IA. La norme du NIST pour identifier et gérer les biais dans l’IA classe leurs sources en trois catégories : systémique, humaine et statistique ou informatique. Les jeux de données non représentatifs relèvent de la dernière.
- Dérive des données : Changement de la distribution des entrées après le déploiement. Le biais d’un jeu de données est présent dès la collecte, tandis que la dérive crée un écart ultérieur, même si les données initiales étaient représentatives.
Détecter et réduire les biais des jeux de données#
La détection des biais dans les jeux de données de vision commence par la documentation et une évaluation désagrégée. Datasheets for Datasets propose de consigner qui a collecté les données, comment et dans quel but, afin que les utilisateurs puissent juger les populations représentées. L’évaluation doit présenter des métriques par groupe, site, caméra ou condition, ainsi qu’une matrice de confusion pour chaque segment, au lieu d’une seule moyenne. Examiner directement les données aide aussi : dans Ultralytics Platform, l’onglet Classes de chaque jeu de données affiche le nombre d’annotations par classe, avec une option d’échelle logarithmique pour les données déséquilibrées ; le panneau Clustering représente les plongements d’images colorés par classe ou par partition, ce qui permet de repérer les lacunes de couverture avant l’entraînement.
Les solutions dépendent de la cause. Recueillir des données ciblées pour les sous-ensembles faibles s’attaque directement au problème, et l’apprentissage actif aide à choisir les nouvelles images à étiqueter. L’augmentation des données fait varier l’éclairage, l’orientation et l’échelle, tandis que les données synthétiques peuvent couvrir les situations rares, comme les scènes nocturnes ou les défauts inhabituels. La repondération ou le suréchantillonnage des exemples sous-représentés, ou encore l’optimisation du groupe le moins performant par l’optimisation robuste aux distributions, modifie ce que l’entraînement récompense. Après le déploiement, la surveillance des modèles, ventilée par sous-ensemble, permet de repérer les écarts qui apparaissent à mesure que les conditions évoluent.










