Conformal Prediction
Découvre comment la prédiction conforme fournit une incertitude sans distribution pour l'IA. Implémente des ensembles de prédiction avec Ultralytics YOLO26 pour garantir des résultats de modèle fiables.
La prédiction conforme est un cadre statistique en machine learning (ML) qui fournit des mesures d'incertitude sans distribution pour les prédictions d'un modèle. Au lieu de produire une prédiction ponctuelle unique — telle qu'une étiquette de classe spécifique —, un prédicteur conforme produit un ensemble ou un intervalle de prédiction qui contient la vraie valeur avec une probabilité spécifiée par l'utilisateur (par exemple, 90 % ou 95 %). Ce cadre s'intègre à n'importe quel modèle d'intelligence artificielle (AI) pour fournir des garanties statistiques formelles sans nécessiter de modifications de l'architecture du modèle. Pour une liste exhaustive d'outils et de recherches actualisés, tu peux explorer le dépôt Awesome Conformal Prediction.
Comment fonctionne la prédiction conforme#
Le mécanisme fondamental repose sur l'évaluation du caractère inhabituel d'une nouvelle prédiction par rapport aux exemples passés, en utilisant un score de non-conformité.
- Entraînement du modèle : Tout d'abord, entraîne un modèle de base en utilisant un jeu de données d'entraînement standard.
- Phase de calibration : Passe un jeu de données de calibration distinct et mis de côté à travers le modèle entraîné. Calcule un score de non-conformité pour chaque prédiction, tel que la probabilité inverse en classification d'images.
- Calcul des quantiles : Détermine le niveau de confiance cible (par exemple, 95 %) et trouve le quantile correspondant de ces scores de calibration pour construire les ensembles de prédiction.
- Application en inférence : Lors de l'inférence en direct, évalue les nouvelles entrées et inclus toutes les étiquettes possibles dont les scores tombent en dessous du quantile de calibration.
Tu peux explorer les démonstrations mathématiques de cette approche dans le tutoriel A Gentle Introduction to Conformal Prediction ou en apprendre davantage sur les approches de prévision de séries temporelles pour gérer les incertitudes temporelles.
Différencier la prédiction conforme des termes associés#
Il est crucial de distinguer ce cadre des métriques standard utilisées lors des tests de modèles :
- Prédiction conforme vs scores de confiance : Un score de confiance standard reflète la certitude interne d'un modèle, mais il est souvent mal calibré et manque de garanties mathématiques. La prédiction conforme transforme ces scores bruts en ensembles garantis. Pour les ajustements traditionnels, consulte la calibration des probabilités de scikit-learn.
- Prédiction conforme vs précision : La précision est une métrique historique globale décrivant à quelle fréquence un modèle est correct sur l'ensemble d'un jeu de données, tandis que l'inférence conforme fournit un intervalle local spécifique à chaque instance pour toute nouvelle prédiction.
Applications concrètes#
La prédiction conforme est indispensable dans les domaines à enjeux élevés où connaître les angles morts du modèle est critique.
- Diagnostics médicaux : Lorsque tu exploites l'IA dans la santé pour analyser des scanners, un modèle peut produire un ensemble de diagnostics plausibles au lieu d'une seule classe potentiellement incorrecte. Cela garantit que les cliniciens examinent toutes les possibilités viables, soutenant les études récentes sur la médecine génomique et l'imagerie fiables.
- Conduite autonome : Dans les systèmes automobiles basés sur l'IA, l'application d'intervalles de prédiction à la détection d'objets génère une région de confiance spatiale autour d'un piéton, permettant 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 utilisent souvent la régression par quantiles conformes. Tu peux également implémenter une logique de prédiction conforme de base en utilisant les probabilités de modèles avancés tels que Ultralytics YOLO26. L'exemple suivant construit un ensemble de prédiction en utilisant les probabilités de classification de YOLO26, imitant la logique consistant à inclure les meilleures classes 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}")Développer des systèmes fiables nécessite des pratiques de données robustes pour empêcher la dérive des données de gâcher la calibration. Des outils comme la Ultralytics Platform simplifient le processus de collecte de nouveaux jeux de données de classification, de réentraînement des modèles et de gestion sécurisée du déploiement de modèles. Tu peux en lire plus sur la curation de données équilibrées dans notre guide sur la compréhension du biais des jeux de données, ou suivre les dernières avancées présentées lors de la conférence COPA annuelle.






