Polydesk-logotype
Polydesk.ai — Header

Calibration (Calibration des Modèles)

La calibration d’un modèle de machine learning mesure si les probabilités qu’il prédit correspondent aux fréquences réelles d’occurrence. Un modèle bien calibré qui prédit 80 % de confiance a effectivement raison 80 % du temps. Un modèle mal calibré peut affirmer 95 % de confiance tout en se trompant 30 % du temps.

C’est un problème critique et sous-estimé. Les réseaux de neurones modernes sont notoirement mal calibrés : ils sont typiquement sur-confiants (overconfident). Guo et al. (2017, « On Calibration of Modern Neural Networks ») ont démontré que la profondeur, la largeur, le Batch Normalization et la faible régularisation des architectures modernes dégradent la calibration par rapport aux réseaux plus anciens et plus simples. Un modèle précis mais mal calibré peut être dangereux : il conduit à des décisions basées sur de fausses certitudes.

La calibration est distincte de la précision (accuracy). Un modèle peut être très précis mais mal calibré (il a raison souvent, mais ses scores de confiance ne reflètent pas sa vraie fiabilité). Inversement, un modèle peu précis peut être bien calibré (ses probabilités sont justes, même si elles sont souvent proches de 50/50). Pour les applications à haut risque (médecine, finance, conduite autonome), les deux sont nécessaires.

Calibration en bref
Définition
Alignement entre les probabilités prédites et les fréquences observées
Problème
Les DNN modernes sont typiquement sur-confiants
Métriques
ECE, MCE, NLL, Brier Score, reliability diagram
Méthodes post-hoc
Temperature Scaling, Platt Scaling, Histogram Binning, Isotonic Regression
Relation
Complémentaire à la conformal prediction et l’estimation d’incertitude

Définition formelle

Un classifieur probabiliste produit, pour chaque entrée x, un vecteur de probabilités sur les classes. La probabilité la plus élevée est la « confiance » du modèle. Un modèle est parfaitement calibré si :

P(Y = ŷ | confiance = p) = p, pour tout p ∈ [0, 1]

Autrement dit, parmi tous les cas où le modèle prédit une confiance de 70 %, exactement 70 % sont correctement classifiés. C’est une propriété sur la distribution des prédictions, pas sur les prédictions individuelles.

Le reliability diagram

Le reliability diagram (diagramme de fiabilité) est l’outil visuel principal pour évaluer la calibration. Les prédictions sont regroupées en bins selon leur score de confiance (ex. : 10 bins de 0-10 %, 10-20 %, …, 90-100 %). Pour chaque bin, on compare la confiance moyenne à la précision réelle. Un modèle parfaitement calibré produit des points sur la diagonale (confiance = précision). Les écarts à la diagonale révèlent la miscalibration.

Un modèle sur-confiant a des barres en dessous de la diagonale : sa confiance est plus élevée que sa précision réelle. C’est le cas typique des DNN modernes. Un modèle sous-confiant a des barres au-dessus de la diagonale : il est meilleur qu’il ne le pense.

Expected Calibration Error (ECE)

L’ECE est la métrique scalaire la plus utilisée pour quantifier la miscalibration. Elle calcule la moyenne pondérée des écarts entre confiance et précision dans chaque bin :

ECE = Σ (|Bm|/n) · |accuracy(Bm) - confidence(Bm)|

où Bm est le m-ème bin, |Bm| le nombre d’échantillons dans ce bin, et n le nombre total d’échantillons. Un ECE de 0 signifie une calibration parfaite. Les DNN modernes typiques sur ImageNet ont un ECE de 5 à 15 % avant calibration, réduit à 1-2 % après temperature scaling.

L’ECE a des biais connus L’ECE dépend du nombre de bins choisi et peut être biaisé, surtout avec peu d’échantillons. Des variantes comme l’Adaptive ECE (bins de taille égale plutôt que d’intervalle égal), le Smooth ECE (estimation par noyau au lieu de bins) et le classwise-ECE (mesure la calibration par classe, pas seulement sur la confiance maximale) atténuent ces limitations. Minderer et al. (NeurIPS 2021, « Revisiting the Calibration of Modern Neural Networks ») montrent que l’ECE dépend fortement de la précision du modèle, compliquant les comparaisons.

Autres métriques

MCE (Maximum Calibration Error) : l’erreur de calibration maximale sur tous les bins. Critique pour les applications à haut risque où le pire cas compte plus que la moyenne.

NLL (Negative Log-Likelihood) : mesure la qualité globale de la distribution prédite. Pénalise les prédictions confiantes mais fausses plus fortement que l’ECE. C’est souvent la loss d’entraînement elle-même.

Brier Score : erreur quadratique moyenne sur les probabilités prédites. Combine calibration et discrimination (capacité à séparer les classes).

Pourquoi les DNN modernes sont mal calibrés

Guo et al. (2017) ont identifié quatre facteurs qui dégradent la calibration :

Profondeur : les réseaux plus profonds (ResNet-110 vs ResNet-20) sont plus mal calibrés, même si leur précision est meilleure.

Largeur : les réseaux plus larges (plus de neurones par couche) augmentent la sur-confiance.

Batch Normalization : le BN, omniprésent dans les architectures modernes, contribue à la miscalibration en modifiant la distribution des logits.

Faible weight decay : les architectures modernes utilisent souvent moins de régularisation (weight decay) que les anciennes, ce qui augmente la sur-confiance.

Le résultat net : les architectures qui dominent les benchmarks de précision (ResNet, DenseNet, transformers) sont systématiquement mal calibrées. La précision et la calibration ne vont pas de pair.


Méthodes de calibration post-hoc

Temperature Scaling

C’est la méthode de référence, « étonnamment efficace malgré sa simplicité remarquable » (Guo et al.). Un seul paramètre T > 0 (la « température ») divise les logits avant le softmax :

p_calibré = softmax(z / T)

Si T > 1, la distribution est « adoucie » (entropie plus élevée, confiance réduite). Si T < 1, elle est « durcie » (confiance augmentée). T est optimisé sur un set de validation en minimisant la NLL. Le point crucial : temperature scaling ne change pas la classe prédite (l'argmax est préservé), donc la précision reste identique.

import torch
import torch.nn as nn
import torch.optim as optim

class TemperatureScaling(nn.Module):
    """Calibration par temperature scaling."""

    def __init__(self):
        super().__init__()
        self.temperature = nn.Parameter(torch.ones(1) * 1.5)

    def forward(self, logits):
        return logits / self.temperature

    def fit(self, logits, labels, lr=0.01, max_iter=100):
        """Optimiser T sur un set de validation."""
        nll = nn.CrossEntropyLoss()
        optimizer = optim.LBFGS([self.temperature], lr=lr, max_iter=max_iter)

        def closure():
            optimizer.zero_grad()
            loss = nll(self.forward(logits), labels)
            loss.backward()
            return loss

        optimizer.step(closure)
        print(f"Température optimale : {self.temperature.item():.3f}")
        return self

# Utilisation
# logits_val = model(X_val)  # Logits du modèle sur la validation
# calibrator = TemperatureScaling().fit(logits_val, y_val)
# logits_test_calibrated = calibrator(logits_test)

Temperature scaling surpasse systématiquement les méthodes plus complexes (Platt scaling vectoriel, matriciel) sur la plupart des datasets vision et NLP. C’est le premier outil à essayer, et souvent le seul nécessaire.

Platt Scaling

Platt scaling (1999) ajuste une régression logistique sur les logits du modèle. Pour la classification binaire, on apprend deux paramètres (a, b) tels que p_calibré = sigmoid(a·z + b). C’est le temperature scaling avec un biais additionnel. L’extension multiclasse (vector scaling, matrix scaling) apprend respectivement un vecteur ou une matrice de paramètres, mais Guo et al. montrent que ces extensions surparamétrisent et performent moins bien que le simple temperature scaling.

Histogram Binning

On divise l’intervalle [0, 1] des probabilités en bins et on remplace chaque probabilité par la précision observée dans son bin. C’est non paramétrique et simple, mais la granularité est limitée par le nombre d’échantillons de calibration.

Isotonic Regression

L’isotonic regression ajuste une fonction monotone croissante (par morceaux constante) qui transforme les probabilités prédites en probabilités calibrées. Plus flexible que le histogram binning mais peut surajuster avec peu de données.

Dirichlet Calibration

Kull et al. (NeurIPS 2019, « Beyond Temperature Scaling ») proposent d’utiliser des distributions de Dirichlet pour calibrer toutes les classes simultanément (pas seulement la confiance maximale). Avec une régularisation ODIR (Off-Diagonal and Intercept Regularisation), la calibration Dirichlet surpasse temperature scaling sur le classwise-ECE dans plusieurs benchmarks. Cependant, sur les réseaux profonds, elle apprend souvent une transformation proche du temperature scaling, suggérant que le « problème de calibration » des DNN est souvent réductible à un simple scaling.

Calibration des LLM

La calibration des grands modèles de langage pose des défis spécifiques. Pour les questions à choix multiples, les probabilités sur les options (A, B, C, D) sont directement mesurables et les LLM récents sont relativement bien calibrés sur ces tâches, avec une calibration qui s’améliore avec la taille du modèle. Pour la génération libre (texte ouvert), la notion de « confiance » est plus ambiguë : la probabilité d’un token ne correspond pas directement à la fiabilité factuelle de la réponse.

Les méthodes d’auto-verbalisation (demander au modèle « êtes-vous sûr ? ») et les méthodes basées sur la cohérence (générer plusieurs réponses et mesurer l’accord) sont des formes de calibration adaptées aux LLM, complémentaires au temperature scaling classique sur les logits.

Applications concrètes

Médecine

Un système de diagnostic IA mal calibré peut être catastrophique. Si le modèle annonce 95 % de confiance pour un diagnostic de cancer alors que sa vraie fiabilité est de 70 %, des patients seront sous-traités ou sur-traités. La calibration garantit que le médecin peut interpréter le score de confiance à sa valeur faciale. Un système bien calibré combiné avec un seuil de confiance (ex. : « référer au spécialiste si confiance < 80 % ») permet un triage efficace et sûr.

Finance et assurance

Le scoring de crédit, la détection de fraude et la tarification en assurance dépendent de probabilités calibrées. Un modèle de crédit qui prédit 5 % de probabilité de défaut devrait correspondre à un taux de défaut réel de 5 % dans ce segment. Une miscalibration entraîne des pertes financières : sous-estimation du risque (pertes sur défauts) ou surestimation (opportunités manquées). Les régulateurs financiers exigent de plus en plus la démonstration de la calibration des modèles.

Conduite autonome

Les modèles de perception d’un véhicule autonome produisent des scores de confiance sur les détections (« piéton à 90 % de confiance »). Le planificateur de trajectoire utilise ces scores pour évaluer le risque. Un modèle sur-confiant qui affirme 95 % alors que la fiabilité réelle est de 70 % conduit à des prises de décision dangereuses. La calibration post-hoc est une étape de sécurité critique dans le pipeline de perception des véhicules autonomes. La combinaison de MC Dropout pour l’estimation d’incertitude et du temperature scaling pour la calibration réduit l’ECE de 45 à 66 % selon les architectures.

Prévisions météo et climatiques

Les modèles de prévision météorologique basés sur le deep learning doivent être calibrés pour que les probabilités de précipitations soient interprétables. « 30 % de chance de pluie » doit signifier qu’il pleut effectivement 30 % du temps quand ce score est annoncé. Les méthodes de calibration sont standard dans la météorologie opérationnelle depuis des décennies (bien avant le deep learning), et leur adaptation aux DNN météorologiques est un domaine actif.

Bonnes pratiques

Toujours vérifier la calibration avant de déployer un modèle dont les probabilités seront utilisées pour des décisions. Un reliability diagram prend quelques lignes de code et peut révéler une miscalibration sévère.

Temperature scaling d’abord : c’est rapide (un seul paramètre), ne dégrade jamais la précision, et fonctionne remarquablement bien. Passez à des méthodes plus complexes uniquement si le temperature scaling est insuffisant.

Set de calibration séparé : calibrez toujours sur un set distinct du set d’entraînement et du set de test. Utiliser les mêmes données pour entraîner et calibrer produit des résultats optimistes.

Combiner avec la conformal prediction : la conformal prediction fournit des garanties de couverture que la calibration seule ne donne pas. Un modèle bien calibré + CP produit des intervalles/ensembles plus étroits et informatifs.

Recalibrer sous distribution shift : un modèle calibré sur un dataset peut être mal calibré sur un autre. Quand les données changent, recalibrez.

La calibration en régression est moins formalisée qu’en classification. On évalue si les intervalles de prédiction (ex. : à 90 %) couvrent effectivement 90 % des vraies valeurs. Les méthodes d’estimation d’incertitude (BNN, ensembles, hétéroscédastique) combinées avec la conformal prediction fournissent le cadre le plus complet pour la calibration en régression. Les métriques standards incluent la couverture empirique (proportion de vraies valeurs dans l’intervalle), la largeur moyenne des intervalles (plus étroit = mieux si la couverture est respectée), et le calibration sharpness (obtenir des intervalles aussi étroits que possible tout en maintenant la couverture).

Calibration conditionnelle vs marginale : la calibration marginale (en moyenne sur tous les échantillons) peut masquer des miscalibrations locales. Un modèle peut être bien calibré en moyenne mais fortement sur-confiant sur certains sous-groupes (minorités, cas rares). La calibration conditionnelle (par sous-groupe, par niveau de confiance, ou par feature) est plus exigeante mais essentielle pour l’équité et la sécurité. Les méthodes récentes comme le Confidence-Based Temperature Scaling (CBT) apprennent une température différente par bin de confiance pour une calibration plus fine.


Questions fréquentes sur la calibration

Quelle est la différence entre calibration et confiance ?

La confiance est le score maximal de la sortie softmax du modèle. La calibration mesure si ce score de confiance est fiable. Un modèle peut avoir une confiance de 90 % tout en ayant raison seulement 60 % du temps (mal calibré, sur-confiant). Un modèle bien calibré aligne confiance et fiabilité réelle.

Le temperature scaling change-t-il la précision du modèle ?

Non. Temperature scaling divise tous les logits par la même constante T, ce qui préserve l’argmax (la classe prédite est la même). La précision (accuracy) reste strictement identique. Seules les probabilités associées changent. C’est un avantage majeur : on améliore la calibration gratuitement, sans risquer de dégrader les performances.

Un modèle précis est-il automatiquement bien calibré ?

Non, et c’est une idée fausse courante. Guo et al. (2017) montrent que les architectures les plus précises (réseaux profonds avec BN) sont souvent les plus mal calibrées. La précision mesure « combien de fois le modèle a raison ». La calibration mesure « les probabilités qu’il annonce sont-elles fiables ». Ce sont deux propriétés distinctes. Minderer et al. (2021) nuancent en montrant que les modèles très précis (transformers pré-entraînés à grande échelle) ont tendance à être mieux calibrés, mais la relation n’est ni linéaire ni garantie.

Quand faut-il calibrer un modèle ?

Toujours, si les probabilités du modèle sont utilisées pour des décisions. Exemples : systèmes de diagnostic avec seuil de confiance, modèles de scoring en finance, systèmes de détection avec trade-off précision/rappel, pipelines de triage automatique, et tout système combiné avec la conformal prediction (un modèle mieux calibré produit des ensembles conformes plus petits et informatifs).

Quelle est la différence entre calibration et conformal prediction ?

La calibration ajuste les probabilités prédites pour les rendre fiables (« mon 80 % de confiance correspond vraiment à 80 % de précision »). La conformal prediction produit des ensembles/intervalles avec une garantie de couverture (« la vraie classe est dans cet ensemble avec probabilité ≥ 90 % »). La calibration est une propriété du modèle. La CP est une propriété des prédictions. Elles sont complémentaires : un modèle bien calibré + CP = intervalles étroits avec garantie de couverture.

Polydesk.ai — Footer