Temperature Scaling
Découvre comment la mise à l'échelle de la température calibre la confiance des modèles IA. Apprends à optimiser les probabilités de sortie pour des prédictions Ultralytics YOLO extrêmement fiables.
Le temperature scaling est une technique de post-traitement largement utilisée conçue pour calibrer les probabilités prédites des modèles d'Artificial Intelligence (AI) et de Machine Learning (ML). Dans le deep learning moderne, les modèles font souvent preuve d'un excès de confiance, ce qui signifie que leurs probabilités prédites ne reflètent pas fidèlement la véritable statistical calibration ou la probabilité d'exactitude. Le temperature scaling résout ce problème en divisant les scores de sortie bruts du réseau (logits) par un paramètre scalaire unique et appris connu sous le nom de « température » (T) avant d'appliquer la fonction softmax. Cet ajustement adoucit les probabilités sans altérer la décision finale d'image classification, garantissant ainsi que la confidence d'un modèle s'aligne étroitement sur sa précision réelle.
Comment fonctionne la température scaling#
Dans un réseau de classification standard, la couche finale produit des logits bruts, qui sont ensuite transmis par le biais d'une activation softmax pour produire des probabilités dont la somme est égale à un. Les architectures de deep learning modernes, en particulier celles fortement optimisées avec des loss functions telles que l'entropie croisée, ont tendance à pousser ces logits vers des valeurs extrêmes afin de minimiser la perte, ce qui conduit à un phénomène où le modèle devient mal calibré et fait preuve d'un excès de confiance.
La température scaling introduit un paramètre de température (T) dans l'équation softmax.
- Lorsque T = 1, la fonction softmax se comporte normalement.
- Lorsque T > 1, les logits sont réduits, ce qui adoucit la distribution de sortie, abaissant effectivement la confiance maximale et distribuant la masse de probabilité plus uniformément sur toutes les classes.
- Lorsque T < 1, la distribution devient plus nette, poussant le modèle à être encore plus confiant dans sa prédiction principale.
En optimisant T sur un ensemble de validation désigné, les ingénieurs minimisent l'erreur de calibration attendue. Cet ajustement simple à paramètre unique est très apprécié car il nécessite un minimum de surcharge de calcul et préserve la précision d'origine des model weights.
Température Scaling vs. Label Smoothing#
Bien que ces deux techniques visent à prévenir le overfitting et l'excès de confiance, elles agissent à des étapes différentes du cycle de vie du modèle. Le Label smoothing est appliqué pendant l'entraînement. Il modifie les cibles de vérité terrain (par exemple, en changeant un label strict de 1.0 à 0.9) pour empêcher le modèle d'attribuer une probabilité totale à une seule classe. En revanche, le temperature scaling — ainsi que les variantes plus récentes telles que le Focal Temperature Scaling — sont des méthodes de calibration a posteriori appliquées une fois l'entraînement terminé, ce qui signifie qu'elles modifient les probabilités de sortie d'un modèle entièrement entraîné sans nécessiter de réentraînement.
Applications concrètes#
Une calibration appropriée du modèle est critique pour la sécurité et la fiabilité dans diverses industries :
- Medical Diagnostics : Dans des tâches telles que la détection de tumeurs cérébrales, une mauvaise classification excessivement confiante peut entraîner de graves conséquences cliniques. L'utilisation du temperature scaling garantit que le système de predictive modeling produit des probabilités fiables. Si la prédiction d'une analyse est très incertaine après la mise à l'échelle, le système peut signaler l'image en toute confiance pour qu'un radiologue l'examine manuellement. De récentes studies on calibrating clinical models continuent de souligner sa valeur dans des environnements diagnostiques contraints et à forts enjeux.
- Large Language Models (LLMs) : Pour les LLMs, le temperature scaling est largement utilisé pour contrôler la stochastique des sorties et la diversité des générations, comme on le voit avec le OpenAI's temperature parameter. Des températures élevées produisent un texte plus créatif et varié, tandis que des températures basses génèrent des réponses déterministes et ciblées. À mesure que la recherche progresse, des techniques telles que l'Adaptive Temperature Scaling (ATS) sont développées pour corriger la dégradation de la calibration qui se produit souvent après l'apprentissage par renforcement à partir de rétroactions humaines.
- Autonomous Vehicles : En conduite autonome, les systèmes de object detection doivent décider instantanément si un obstacle est un piéton ou une ombre. La calibration de ces modèles de vision garantit que les mécanismes de secours, tels que le freinage d'urgence, sont déclenchés de manière fiable lorsque la véritable confiance du modèle chute en dessous d'un seuil de sécurité critique.
Exemple de code : Implémenter la Température Scaling#
L'extrait suivant montre comment tu pourrais appliquer un scalaire de température aux logits bruts d'un modèle de classification Ultralytics YOLO26 à l'aide de PyTorch.
import torch
import torch.nn.functional as F
from ultralytics import YOLO
# Load a pre-trained Ultralytics YOLO26 classification model
model = YOLO("yolo26n-cls.pt")
# Assume 'logits' are the raw outputs from the model prior to activation
# (e.g., obtained via a custom forward pass or feature extraction)
logits = torch.tensor([[5.0, 2.0, 0.5]])
# Define an optimized temperature scalar (T > 1 softens the probabilities)
temperature = 1.5
# Apply temperature scaling before passing logits to the softmax function
scaled_logits = logits / temperature
calibrated_probabilities = F.softmax(scaled_logits, dim=1)
print(f"Original Softmax: {F.softmax(logits, dim=1)}")
print(f"Calibrated Probabilities: {calibrated_probabilities}")Pour les équipes qui cherchent à déployer des systèmes de vision par ordinateur calibrés en toute transparence, la Ultralytics Platform fournit des outils robustes pour gérer l'experiment tracking, affiner les modèles et surveiller l'inference latency en temps réel. En outre, les connaissances fondamentales sur les techniques de calibration modernes peuvent être retracées jusqu'à des études influentes telles que "On Calibration of Modern Neural Networks", qui a popularisé le temperature scaling comme norme industrielle. Pour d'autres implémentations pratiques, explore les frameworks de scikit-learn's probability calibration ou les TensorFlow's uncertainty-aware models.






