OOD Detection (Out-of-Distribution Detection)
La détection OOD, acronyme de Out-of-Distribution Detection, désigne la capacité d’un modèle d’apprentissage automatique à identifier les entrées qu’il reçoit qui diffèrent de manière significative de la distribution des données sur lesquelles il a été entraîné. En d’autres termes, il s’agit de reconnaître quand une nouvelle donnée ne ressemble pas aux exemples que le modèle a « vus » pendant sa phase d’apprentissage. L’objectif est de permettre au système de signaler ces entrées inhabituelles plutôt que de tenter de les traiter comme des données normales, ce qui pourrait conduire à des erreurs potentiellement graves.
Les concepts fondamentaux de la détection OOD reposent sur la distinction entre les données « in-distribution » (ID) et « out-of-distribution » (OOD). Les données ID sont celles qui proviennent de la même distribution de probabilité que l’ensemble de données d’entraînement utilisé pour former le modèle. Par exemple, si un modèle est entraîné à classifier des images de chats et de chiens, toute nouvelle image de chat ou de chien serait considérée comme ID. Les données OOD, en revanche, proviennent d’une distribution différente. Dans l’exemple précédent, une image de voiture, d’oiseau ou même une image médicale serait considérée comme OOD. Le principe essentiel de la détection OOD est de développer des mécanismes, souvent basés sur des scores de confiance, des mesures d’incertitude ou des distances dans un espace latent, pour quantifier à quel point une nouvelle entrée est « étrangère » par rapport à la distribution ID apprise par le modèle. L’évaluation de ces mécanismes se fait typiquement à l’aide de métriques comme l’AUROC (Area Under the Receiver Operating Characteristic curve) ou le FPR@TPR95 (False Positive Rate at 95% True Positive Rate), qui mesurent la capacité à distinguer les données OOD des données ID.
L’importance de la détection OOD est capitale pour assurer la fiabilité, la robustesse et la sécurité des systèmes d’intelligence artificielle, en particulier ceux déployés dans le monde réel. Les modèles d’apprentissage automatique standard, notamment les réseaux de neurones profonds, sont souvent entraînés sous l’hypothèse d’un « monde clos » (closed-set assumption), où l’on suppose que toutes les données rencontrées en phase de test ou de déploiement proviendront de la même distribution que les données d’entraînement. Cependant, dans la pratique, les systèmes sont fréquemment confrontés à des situations ou des données imprévues. Face à une entrée OOD, un modèle standard peut produire une prédiction erronée avec un degré de confiance très élevé, ce qui peut avoir des conséquences désastreuses dans des domaines critiques comme la conduite autonome, le diagnostic médical ou la finance. La détection OOD permet au système de reconnaître ses propres limites et de signaler qu’une entrée est anormale, invitant à une vérification humaine ou à une procédure de secours, améliorant ainsi considérablement la sécurité opérationnelle.
Les applications pratiques de la détection OOD sont nombreuses et variées. Dans le domaine de la conduite autonome, elle est essentielle pour identifier des objets rares ou inattendus sur la route, comme des débris, des animaux non communs, ou des véhicules d’urgence avec des apparences inhabituelles, qui n’étaient pas présents dans les données d’entraînement. En imagerie médicale, la détection OOD peut aider à repérer des images contenant des artefacts, des pathologies rares non vues pendant l’entraînement, ou même des images provenant d’un type de scanner différent, évitant ainsi des diagnostics erronés basés sur des interprétations incorrectes du modèle. Dans le secteur financier, elle permet de détecter des transactions frauduleuses qui présentent des caractéristiques nouvelles ou inhabituelles par rapport aux transactions légitimes typiques. Pour les systèmes de traitement du langage naturel, comme les chatbots, la détection OOD peut identifier les requêtes d’utilisateurs qui sortent du domaine de compétence du système, permettant de répondre de manière appropriée (« Je ne sais pas répondre à cela ») au lieu de fournir une réponse absurde ou incorrecte.
Il existe plusieurs nuances et interprétations autour du concept de détection OOD. Elle est souvent confondue avec la détection d’anomalies (anomaly detection) ou la détection de nouveautés (novelty detection). Bien que les concepts soient proches, la détection OOD se focalise spécifiquement sur le décalage par rapport à la distribution d’entraînement connue, tandis que la détection d’anomalies peut parfois inclure la détection de points aberrants au sein même de la distribution ID. La détection OOD doit également être distinguée de la détection d’exemples adversariaux (adversarial examples), qui sont des entrées spécifiquement conçues par un attaquant pour tromper le modèle, alors que les données OOD sont naturellement différentes sans intention malveillante nécessaire. On distingue aussi parfois les données « near-OOD », qui sont sémantiquement proches mais hors distribution (par exemple, une race de chien très rare pour un classificateur de races communes), des données « far-OOD », qui sont sémantiquement très différentes (par exemple, une image de voiture pour un classificateur de chiens). Enfin, de nombreuses techniques de détection OOD reposent sur l’estimation de l’incertitude du modèle : un modèle bien calibré devrait être moins certain de ses prédictions pour les entrées OOD.
La détection OOD est étroitement liée à plusieurs autres concepts importants en apprentissage automatique. La détection d’anomalies et la détection de nouveautés sont souvent utilisées comme synonymes ou termes très proches, bien que des distinctions subtiles existent selon les communautés de recherche. L’estimation de l’incertitude (uncertainty estimation) est un concept fondamental, car une incertitude élevée est souvent un bon indicateur d’une donnée OOD. La robustesse des modèles face aux changements de distribution (distribution shift) est directement améliorée par une bonne capacité de détection OOD. L’apprentissage en environnement ouvert (open-set recognition) est un problème voisin où le modèle doit non seulement classifier les classes connues mais aussi rejeter les classes inconnues (qui peuvent être vues comme OOD). La détection d’attaques adversariales est un domaine lié mais distinct, se concentrant sur les manipulations malveillantes. À l’inverse, le concept antonyme est celui de la reconnaissance en « monde clos » (closed-set recognition), où l’on assume que toutes les entrées appartiennent à l’une des classes vues à l’entraînement.
L’intérêt marqué pour la détection OOD est relativement récent et a fortement augmenté avec le déploiement à grande échelle de modèles d’apprentissage profond dans des applications critiques. Historiquement, le problème découle de la reconnaissance des limites de l’hypothèse du monde clos inhérente à de nombreux paradigmes d’apprentissage supervisé. Alors que les systèmes d’IA quittaient les environnements de laboratoire contrôlés pour affronter la complexité et l’imprévisibilité du monde réel, la nécessité de gérer les entrées inconnues est devenue évidente. Les premières approches se basaient souvent sur des seuils appliqués aux scores de confiance (par exemple, la sortie softmax maximale). Par la suite, des méthodes plus sophistiquées ont émergé, utilisant des techniques variées comme l’estimation de densité, les distances dans des espaces latents (par exemple, la distance de Mahalanobis), les modèles basés sur l’énergie, les ensembles de modèles, ou encore l’intégration explicite de l’estimation de l’incertitude bayésienne ou non bayésienne. La recherche actuelle continue d’explorer de nouvelles architectures de modèles, des fonctions de perte spécifiques et des stratégies d’entraînement pour améliorer la capacité de détection OOD.
La mise en œuvre de la détection OOD présente plusieurs avantages significatifs. Elle accroît la sécurité et la fiabilité des systèmes d’IA en leur permettant de reconnaître et de signaler les situations où ils risquent de se tromper. Cela favorise un déploiement plus confiant dans des environnements ouverts et dynamiques. Elle aide également à mieux comprendre les limites d’un modèle et à gérer les attentes quant à ses performances. Cependant, la détection OOD comporte aussi des défis et des limitations importants. Définir ce qui constitue exactement une donnée OOD peut être difficile et dépend fortement du contexte applicatif. La performance des méthodes de détection peut varier considérablement selon la nature des données OOD rencontrées ; une méthode peut bien fonctionner pour un type de données OOD mais échouer pour un autre. L’évaluation robuste des systèmes de détection OOD est complexe, notamment en raison de la difficulté à collecter ou à simuler des jeux de données OOD représentatifs et variés. De plus, il existe un compromis inhérent entre la détection correcte des données OOD (vrais positifs) et le rejet incorrect de données ID (faux positifs), qui peut nuire à l’utilisabilité du système. Aucune méthode actuelle n’offre de garantie parfaite, et leur efficacité dépend souvent d’un réglage minutieux des hyperparamètres et de la similarité intrinsèque entre les distributions ID et OOD.