Yolo Vision Shenzhen
Shenzhen
Rejoindre maintenant
Glossaire

Prédiction conforme

Découvrez comment la prédiction conforme permet d'obtenir une incertitude indépendante de la distribution pour l'IA. Mettez en œuvre des ensembles de prédiction avec Ultralytics afin de garantir la fiabilité des résultats du modèle.

La prédiction conforme est un cadre statistique en apprentissage automatique (ML) qui fournit des mesures d'incertitude indépendantes de la distribution pour les prédictions des modèles. Au lieu de produire une prédiction ponctuelle — telle qu'une étiquette de classe spécifique —, un prédicteur conforme génère un ensemble de prédictions ou un intervalle qui contient la valeur réelle avec une probabilité spécifiée par l'utilisateur (par exemple, 90 % ou 95 %). Ce cadre s'applique à n'importe quel modèle d'intelligence artificielle (IA) pour fournir des garanties statistiques formelles sans nécessiter de modifications de l'architecture du modèle. Pour une liste exhaustive des outils et des recherches à jour, vous pouvez explorer le référentiel Awesome Conformal Prediction.

Comment fonctionne la prédiction conforme

Le mécanisme de base consiste à évaluer dans quelle mesure une nouvelle prédiction s'écarte des exemples passés à l'aide d'un score de non-conformité.

  • Entraînement du modèle: Commencez par entraîner un modèle de référence à l'aide d'un ensemble de données d'entraînement standard.
  • Phase d'étalonnage: Traitez un ensemble de données d'étalonnage distinct et non utilisé auparavant à l'aide du modèle entraîné. Calculez un score de non-conformité pour chaque prédiction, tel que la probabilité inverse dans la classification d'images.
  • Calcul des quantiles: Déterminez le niveau de confiance souhaité (par exemple, 95 %) et trouvez le quantile correspondant à ces scores d'étalonnage afin de construire les ensembles de prédiction.
  • Application d'inférence: Lors de l'inférence en temps réel, évaluez les nouvelles entrées et incluez toutes les étiquettes possibles dont les scores sont inférieurs au quantile d'étalonnage.

Vous pouvez découvrir les fondements mathématiques de cette approche dans le tutoriel « A Gentle Introduction to Conformal Prediction » ou vous familiariser avec les méthodes de prévision de séries chronologiques permettant de gérer les incertitudes temporelles.

Distinguer la prédiction conforme des termes apparentés

Il est essentiel de distinguer ce cadre des indicateurs standard utilisés lors des tests de modèles:

Applications concrètes

La prédiction conforme est indispensable dans les domaines à enjeux élevés où il est essentiel de connaître les lacunes du modèle.

  • Diagnostic médical: Lorsqu'on utilise l'IA dans le domaine de la santé pour analyser des examens d'imagerie, un modèle peut proposer un ensemble de diagnostics plausibles plutôt qu'un seul diagnostic, potentiellement erroné. Cela permet aux cliniciens d'explorer toutes les possibilités envisageables, ce qui va dans le sens des récentes études sur la fiabilité de la médecine génomique et de l'imagerie.
  • Conduite autonome: Dans le domaine de l'IA appliquée aux systèmes automobiles, l'application d'intervalles de prédiction à la détection d'objets génère une zone de confiance spatiale autour d'un piéton, ce qui permet aux systèmes de freinage du véhicule de prendre en compte les mouvements les plus défavorables en toute sécurité.

Mise en œuvre des ensembles de prédiction

Des bibliothèques telles que MAPIE (Model Agnostic Prediction Interval Estimator) fournissent des outils intégrés pour Python, et les tâches de régression font souvent appel à la régression quantile conforme. Vous pouvez également implémenter une logique de prédiction conforme de base en utilisant les probabilités issues de modèles avancés tels que Ultralytics . L'exemple suivant construit un ensemble de prédictions à l'aide des probabilités de classification de YOLO26, en imitant la logique consistant à inclure les classes les plus probables jusqu'à ce qu'un seuil cumulatif soit atteint.

from ultralytics import YOLO

# Load an Ultralytics YOLO26 classification model
model = YOLO("yolo26n-cls.pt")

# Perform inference on an image
results = model("https://ultralytics.com/images/bus.jpg")

# Simple conformal-style prediction set logic based on cumulative probability
target_coverage = 0.95
prediction_set = []
cumulative_prob = 0.0

# Sort probabilities in descending order using the results object
probs = results[0].probs
sorted_indices = probs.top5

for idx in sorted_indices:
    class_name = results[0].names[idx]
    class_prob = probs.data[idx].item()

    prediction_set.append((class_name, round(class_prob, 3)))
    cumulative_prob += class_prob

    # Stop adding to the set once we reach the 95% coverage threshold
    if cumulative_prob >= target_coverage:
        break

print(f"95% Prediction Set: {prediction_set}")

Le développement de systèmes fiables nécessite des pratiques rigoureuses en matière de données afin d'éviter que la dérive des données ne compromette l'étalonnage. Des outils tels que la Ultralytics simplifient le processus de collecte de nouveaux ensembles de données de classification, de réentraînement des modèles et de gestion sécurisée du déploiement des modèles. Pour en savoir plus sur la gestion d'ensembles de données équilibrés, consultez notre guide sur la compréhension des biais dans les ensembles de données, ou track dernières avancées présentées lors de la conférence annuelle COPA.

Construisons ensemble l'avenir de l'IA !

Commencez votre parcours avec l'avenir de l'apprentissage automatique