Temperature Scaling
Descubre cómo el escalado de temperatura calibra la confianza del modelo de IA. Aprende a optimizar las probabilidades de salida para predicciones altamente fiables de Ultralytics YOLO.
La escala de temperatura es una técnica de postprocesamiento muy utilizada y diseñada para calibrar las probabilidades predichas de los modelos de Artificial Intelligence (AI) y Machine Learning (ML). En el aprendizaje profundo moderno, los modelos suelen mostrar un exceso de confianza, lo que significa que sus probabilidades predichas no reflejan con precisión la verdadera statistical calibration o probabilidad de acierto. La escala de temperatura aborda este problema dividiendo las puntuaciones de salida brutas (logits) de la red entre un único parámetro escalar aprendido conocido como "temperatura" (T) antes de aplicar la función softmax. Este ajuste suaviza las probabilidades sin alterar la decisión final de image classification, lo que garantiza que la confidence de un modelo se alinee estrechamente con su precisión real.
Cómo funciona Temperature Scaling#
En una red de clasificación estándar, la capa final emite logits brutos que luego se pasan a través de una activación softmax para producir probabilidades que suman uno. Las arquitecturas modernas de deep learning, especialmente aquellas optimizadas intensamente con loss functions como la entropía cruzada, tienden a llevar estos logits a valores extremos para minimizar la pérdida, lo que genera un fenómeno en el que el modelo se descalibra y muestra un exceso de confianza.
Temperature scaling introduce un parámetro de temperatura (T) en la ecuación softmax.
- Cuando T = 1, la función softmax se comporta con normalidad.
- Cuando T > 1, los logits se reducen, lo que suaviza la distribución de salida, reduciendo efectivamente la confianza máxima y distribuyendo la masa de probabilidad de manera más uniforme entre todas las clases.
- Cuando T < 1, la distribución se vuelve más pronunciada, empujando al modelo a ser aún más confiado en su predicción principal.
Al optimizar T en un conjunto de validación designado, los ingenieros minimizan el error de calibración esperado. Este ajuste sencillo de un solo parámetro es muy favorecido porque requiere una sobrecarga computacional mínima y preserva la precisión original de los model weights.
Temperature Scaling frente a Label Smoothing#
Aunque ambas técnicas pretenden evitar el overfitting y el exceso de confianza, operan en diferentes etapas del ciclo de vida del modelo. El Label smoothing se aplica durante el entrenamiento. Altera los objetivos de verdad terreno (por ejemplo, cambiando una etiqueta dura de 1.0 a 0.9) para evitar que el modelo asigne una probabilidad total a una sola clase. En contraste, la escala de temperatura —y las variantes más nuevas como Focal Temperature Scaling— son métodos de calibración post-hoc aplicados después de que el entrenamiento se completa, lo que significa que modifican las probabilidades de salida de un modelo totalmente entrenado sin requerir ningún reentrenamiento.
Aplicaciones en el mundo real#
Una calibración adecuada del modelo es crítica para la seguridad y fiabilidad en diversas industrias:
- Medical Diagnostics: En tareas como la detección de tumores cerebrales, una clasificación errónea con exceso de confianza puede tener consecuencias clínicas graves. El uso de la escala de temperatura garantiza que el sistema de predictive modeling emita probabilidades fiables. Si la predicción de una exploración es muy incierta tras el escalado, el sistema puede marcar con confianza la imagen para su revisión manual por parte de un radiólogo. Los recientes studies on calibrating clinical models siguen destacando su valor en entornos de diagnóstico restringidos y de alto riesgo.
- Large Language Models (LLMs): Para los LLMs, la escala de temperatura se utiliza intensamente para controlar la estocasticidad de salida y la diversidad de generación, como se ve con el OpenAI's temperature parameter. Las temperaturas altas producen un texto más creativo y variado, mientras que las temperaturas bajas arrojan respuestas deterministas y enfocadas. A medida que avanza la investigación, se están desarrollando técnicas como Adaptive Temperature Scaling (ATS) para corregir la degradación de la calibración que suele ocurrir después del aprendizaje por refuerzo a partir de retroalimentación humana.
- Autonomous Vehicles: En la conducción autónoma, los sistemas de object detection deben decidir al instante si un obstáculo es un peatón o una sombra. Calibrar estos modelos de visión garantiza que los mecanismos de respaldo, como el frenado de emergencia, se activen de forma fiable cuando la confianza real del modelo cae por debajo de un umbral de seguridad crítico.
Ejemplo de código: Implementación de Temperature Scaling#
El siguiente fragmento demuestra cómo se puede aplicar un escalar de temperatura a los logits brutos de un modelo de classification de Ultralytics YOLO26 utilizando 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}")Para los equipos que buscan implementar sistemas de visión artificial calibrados de manera fluida, la Ultralytics Platform ofrece herramientas robustas para gestionar el experiment tracking, ajustar modelos y supervisar la inference latency en tiempo real. Además, el conocimiento fundamental sobre las técnicas modernas de calibración se puede rastrear hasta estudios influyentes como "On Calibration of Modern Neural Networks", que popularizó la escala de temperatura como un estándar de la industria. Para más implementaciones prácticas, explore los frameworks de scikit-learn's probability calibration o los TensorFlow's uncertainty-aware models.






