Temperature Scaling
Узнай, как температурное масштабирование калибрует уверенность ИИ-моделей. Научись оптимизировать вероятности выходных данных для получения высоконадежных предсказаний Ultralytics YOLO.
Temperature scaling — это широко используемый метод постобработки, предназначенный для калибровки предсказанных вероятностей моделей Artificial Intelligence (AI) и Machine Learning (ML). В современном глубоком обучении модели часто демонстрируют излишнюю самоуверенность: их предсказанные вероятности не отражают точно истинную statistical calibration или вероятность корректности. Temperature scaling решает эту проблему путем деления необработанных выходных оценок сети (логитов) на единственный обучаемый скалярный параметр, известный как «температура» (T), перед применением функции softmax. Эта корректировка смягчает вероятности, не меняя итоговое решение image classification, что гарантирует соответствие confidence модели её фактической точности.
Link to this sectionКак работает Temperature Scaling#
В стандартной классификационной сети последний слой выдает необработанные логиты, которые затем проходят через функцию активации softmax для получения вероятностей, сумма которых равна единице. Современные архитектуры deep learning, особенно те, что сильно оптимизированы с помощью loss functions, таких как кросс-энтропия, стремятся довести эти логиты до экстремальных значений для минимизации потерь. Это приводит к явлению, при котором модель становится не откалиброванной и чрезмерно самоуверенной.
Temperature scaling вводит температурный параметр (T) в уравнение softmax.
- Когда T = 1, функция softmax работает как обычно.
- Когда T > 1, логиты масштабируются вниз, что смягчает выходное распределение, эффективно снижая пиковую уверенность и более равномерно распределяя вероятность по всем классам.
- Когда T < 1, распределение становится более резким, подталкивая модель быть еще увереннее в своем лучшем предсказании.
Оптимизируя T на выделенном валидационном наборе данных, инженеры минимизируют ожидаемую ошибку калибровки. Эта простая однопараметрическая корректировка весьма популярна, поскольку требует минимальных вычислительных затрат и сохраняет исходную точность model weights.
Link to this sectionTemperature Scaling против Label Smoothing#
Хотя оба метода направлены на предотвращение overfitting и избыточной самоуверенности, они работают на разных этапах жизненного цикла модели. Label smoothing применяется во время обучения. Он изменяет целевые значения ground-truth (например, меняя жесткую метку с 1.0 на 0.9), чтобы модель не назначала полную вероятность одному классу. В отличие от него, temperature scaling — и новые варианты, такие как Focal Temperature Scaling — это методы постоценочной калибровки, применяемые после завершения обучения; это означает, что они изменяют выходные вероятности уже полностью обученной модели без необходимости переобучения.
Link to this sectionПрименение в реальных задачах#
Правильная калибровка модели критически важна для безопасности и надежности в различных отраслях:
- Medical Diagnostics: В задачах вроде обнаружения опухолей мозга чрезмерно самоуверенная ошибочная классификация может привести к серьезным клиническим последствиям. Использование temperature scaling гарантирует, что система predictive modeling выдает надежные вероятности. Если после масштабирования предсказание сканирования вызывает большие сомнения, система может уверенно пометить изображение для ручной проверки радиологом. Недавние исследования по калибровке клинических моделей продолжают подчеркивать ценность этого метода в ограниченных и высокорискованных диагностических средах.
- Large Language Models (LLMs): Для LLM temperature scaling широко используется для контроля стохастичности вывода и разнообразия генерации, как это видно на примере температурного параметра OpenAI. Высокие значения температуры создают более креативный и разнообразный текст, в то время как низкие значения дают детерминированные, сфокусированные ответы. По мере развития исследований разрабатываются методы, такие как Adaptive Temperature Scaling (ATS), для исправления деградации калибровки, которая часто возникает после обучения с подкреплением на основе отзывов людей.
- Autonomous Vehicles: В автономном вождении системы object detection должны мгновенно решать, является ли препятствие пешеходом или тенью. Калибровка этих моделей компьютерного зрения гарантирует, что механизмы резервирования, такие как экстренное торможение, надежно активируются, когда истинная уверенность модели падает ниже критического порога безопасности.
Link to this sectionПример кода: реализация Temperature Scaling#
The following snippet demonstrates how you might apply a temperature scalar to the raw logits of an Ultralytics YOLO26 classification model using 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}")Для команд, стремящихся к беспрепятственному развертыванию откалиброванных систем компьютерного зрения, Ultralytics Platform предоставляет мощные инструменты для управления experiment tracking, дообучения моделей и мониторинга inference latency в реальном времени. Кроме того, базовые знания о современных методах калибровки можно почерпнуть из влиятельных исследований, таких как "On Calibration of Modern Neural Networks", которые популяризировали temperature scaling как отраслевой стандарт. Для дальнейших практических реализаций изучи фреймворки scikit-learn's probability calibration или TensorFlow's uncertainty-aware models.






