Temperature Scaling
Открой для себя, как масштабирование температуры калибрует уверенность ИИ-модели. Научись оптимизировать выходные вероятности для получения высоконадежных прогнозов Ultralytics YOLO.
Temperature scaling — это широко используемый метод постобработки, предназначенный для калибровки предсказываемых вероятностей моделей Artificial Intelligence (AI) и Machine Learning (ML). В современном глубоком обучении модели часто проявляют чрезмерную уверенность, что означает, что их предсказываемые вероятности не отражают точно истинную statistical calibration или вероятность правильности. Temperature scaling решает эту проблему путем деления необработанных выходных оценок сети (логитов) на единственный обучаемый скалярный параметр, известный как «температура» (T), перед применением функции softmax. Эта корректировка сглаживает вероятности без изменения окончательного решения по image classification, гарантируя, что confidence модели тесно связана с ее фактической точностью.
Как работает температурное масштабирование#
В стандартной сети классификации последний слой выдает сырые логиты, которые затем пропускаются через активацию softmax для получения вероятностей, в сумме дающих единицу. Современные архитектуры deep learning, особенно те, которые сильно оптимизированы с помощью loss functions вроде перекрестной энтропии, стремятся довести эти логиты до экстремальных значений для минимизации потерь, что приводит к явлению, при котором модель становится не откалиброванной и излишне самоуверенной.
Температурное масштабирование вводит температурный параметр (T) в уравнение softmax.
- Когда T = 1, функция softmax ведет себя обычным образом.
- Когда T > 1, логиты масштабируются вниз, что смягчает выходное распределение, эффективно снижая пиковую уверенность и более равномерно распределяя вероятность между всеми классами.
- Когда T < 1, распределение становится более резким, побуждая модель быть еще более уверенной в своем лучшем предсказании.
Оптимизируя T на выделенном проверочном наборе, инженеры минимизируют ожидаемую ошибку калибровки. Эта простая корректировка с одним параметром очень популярна, так как требует минимальных вычислительных затрат и сохраняет исходную точность model weights.
Температурное масштабирование против сглаживания меток (Label Smoothing)#
Хотя оба метода направлены на предотвращение overfitting и излишней самоуверенности, они действуют на разных этапах жизненного цикла модели. Label smoothing применяется во время обучения. Он изменяет целевые значения ground-truth (например, меняя жесткую метку с 1.0 на 0.9), чтобы модель не присваивала полную вероятность одному классу. Напротив, temperature scaling и более новые варианты, такие как Focal Temperature Scaling, представляют собой методы постокалибровки, применяемые после завершения обучения, что означает, что они изменяют выходные вероятности полностью обученной модели без необходимости какого-либо дообучения.
Реальные приложения#
Правильная калибровка модели критически важна для безопасности и надежности в различных отраслях:
- Medical Diagnostics: В таких задачах, как обнаружение опухолей головного мозга, излишне самоуверенная ошибочная классификация может привести к серьезным клиническим последствиям. Использование temperature scaling гарантирует, что система predictive modeling выдает надежные вероятности. Если прогноз сканирования после масштабирования вызывает сильные сомнения, система может уверенно пометить изображение для ручной проверки радиологом. Недавние studies on calibrating clinical models продолжают подчеркивать его ценность в ограниченных диагностических средах с высокими ставками.
- Large Language Models (LLMs): Для LLMs temperature scaling активно используется для управления стохастичностью вывода и разнообразием генерации, как это видно на примере OpenAI's temperature parameter. Высокие значения температуры создают более креативный и разнообразный текст, в то время как низкие дают детерминированные и сфокусированные ответы. По мере развития исследований разрабатываются такие методы, как Adaptive Temperature Scaling (ATS), чтобы исправить деградацию калибровки, которая часто происходит после обучения с подкреплением на основе отзывов людей.
- Autonomous Vehicles: В автономном вождении системы object detection должны мгновенно решать, является ли препятствие пешеходом или тенью. Калибровка этих моделей компьютерного зрения гарантирует, что механизмы резервирования, такие как экстренное торможение, надежно срабатывают, когда истинная уверенность модели падает ниже критического порога безопасности.
Пример кода: реализация температурного масштабирования#
Следующий фрагмент демонстрирует, как можно применить температурный скаляр к сырым логитам модели classification Ultralytics YOLO26 с помощью 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.






