Temperature Scaling
Sıcaklık ölçeklendirmenin (temperature scaling) yapay zeka model güvenini nasıl kalibre ettiğini keşfet. Oldukça güvenilir Ultralytics YOLO tahminleri için çıktı olasılıklarını optimize etmeyi öğren.
Temperature scaling, Yapay Zeka (AI) ve Makine Öğrenmesi (ML) modellerinin tahmin edilen olasılıklarını kalibre etmek için tasarlanmış, yaygın olarak kullanılan bir işlem sonrası tekniğidir. Modern derin öğrenmede modeller genellikle aşırı özgüven sergiler; yani tahmin edilen olasılıkları gerçek istatistiksel kalibrasyonu veya doğruluk olasılığını doğru bir şekilde yansıtmaz. Temperature scaling, softmax fonksiyonunu uygulamadan önce ağın ham çıktı skorlarını (logit'leri) "sıcaklık" (T) olarak bilinen tek bir öğrenilmiş skaler parametreye bölerek bu durumu çözer. Bu ayarlama, son görüntü sınıflandırma kararını değiştirmeden olasılıkları yumuşatır ve modelin güveninin gerçek doğruluğuyla yakından uyuşmasını sağlar.
Temperature Scaling Nasıl Çalışır#
Standart bir sınıflandırma ağında son katman, bir toplamı veren olasılıklar üretmek için daha sonra bir softmax aktivasyonundan geçirilen ham logit'ler çıktısı verir. Modern derin öğrenme mimarileri, özellikle de çapraz entropi gibi kayıp fonksiyonları ile yoğun bir şekilde optimize edilmiş olanlar, kaybı en aza indirmek için bu logit'leri uç değerlere itme eğilimindedir; bu da modelin kalibrasyonunun bozulmasına ve aşırı özgüvenli hale gelmesine yol açan bir olguya neden olur.
Temperature scaling, softmax denklemine bir sıcaklık parametresi (T) dahil eder.
- T = 1 olduğunda, softmax fonksiyonu normal şekilde davranır.
- T > 1 olduğunda, logitler ölçeklenerek düşürülür; bu da çıktı dağılımını yumuşatır, tepe güveni etkin bir şekilde düşürür ve olasılık kütlesini tüm sınıflara daha eşit bir şekilde dağıtır.
- T < 1 olduğunda, dağılım daha keskin hale gelir ve modeli en üst tahmininde daha da emin olmaya iter.
Belirli bir doğrulama setinde T'yi optimize ederek mühendisler beklenen kalibrasyon hatasını en aza indirir. Bu basit, tek parametreli ayarlama oldukça çok sevilir çünkü minimum hesaplama yükü gerektirir ve model ağırlıklarının orijinal doğruluğunu korur.
Temperature Scaling ve Label Smoothing Karşılaştırması#
Her iki teknik de aşırı öğrenmeyi ve aşırı özgüveni önlemeyi amaçlasa da model yaşam döngüsünün farklı aşamalarında çalışır. Etiket düzeltme eğitim sırasında uygulanır. Modelin tek bir sınıfa tam olasılık atamasını önlemek için gerçeğe dayalı hedefleri değiştirir (örneğin katı bir etiketi 1.0'dan 0.9'a değiştirmek gibi). Buna karşın temperature scaling ve Focal Temperature Scaling gibi newer varyantlar, eğitim tamamlandıktan sonra uygulanan post-hoc kalibrasyon yöntemleridir; yani herhangi bir yeniden eğitim gerektirmeden tamamen eğitilmiş bir modelin çıktı olasılıklarını değiştirirler.
Gerçek Dünya Uygulamaları#
Doğru model kalibrasyonu, çeşitli endüstrilerde güvenlik ve güvenilirlik için kritiktir:
- Tıbbi Teşhisler: Beyin tümörü tespiti gibi görevlerde aşırı özgüvenli bir yanlış sınıflandırma ciddi klinik sonuçlara yol açabilir. Temperature scaling kullanmak, tahmine dayalı modelleme sisteminin güvenilir olasılıklar çıktısı vermesini sağlar. Ölçeklendirmeden sonra bir tarama tahmini son derece belirsizse sistem, görüntüyü bir radyolog tarafından manuel olarak incelenmek üzere güvenle işaretleyebilir. Klinik modellerin kalibre edilmesi üzerine yapılan son çalışmalar, kısıtlı ve yüksek riskli teşhis ortamlarındaki değerini vurgulamaya devam etmektedir.
- Büyük Dil Modelleri (LLM'ler): LLM'ler için temperature scaling, OpenAI'ın sıcaklık parametresinde görüldüğü gibi çıktı stokastikliğini ve üretim çeşitliliğini kontrol etmek için yoğun bir şekilde kullanılır. Yüksek sıcaklıklar daha yaratıcı, çeşitlendirilmiş metinler üretirken düşük sıcaklıklar deterministik, odaklanmış yanıtlar sağlar. Araştırma ilerledikçe insan geri bildiriminden pekiştirmeli öğrenmeden sonra sıklıkla meydana gelen kalibrasyon bozulmasını düzeltmek için Adaptive Temperature Scaling (ATS) gibi teknikler geliştirilmektedir.
- Otonom Araçlar: Otonom sürüşte nesne tespiti sistemleri bir engelin yaya mı yoksa gölge mi olduğuna anında karar vermelidir. Bu görüş modellerini kalibre etmek, acil frenleme gibi geri dönüş mekanizmalarının, modelin gerçek güveni kritik bir güvenlik eşiğinin altına düştüğünde güvenilir bir şekilde tetiklenmesini sağlar.
Kod Örneği: Temperature Scaling Uygulaması#
Aşağıdaki kod parçacığı, bir PyTorch kullanarak bir Ultralytics YOLO26 sınıflandırma modelinin ham logit'lerine sıcaklık skalerini nasıl uygulayabileceğinizi gösterir.
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}")Kalibre edilmiş bilgisayarla görü sistemlerini sorunsuz bir şekilde dağıtmak isteyen ekipler için Ultralytics Platform; deney takibi, modelleri hassas ayarlama ve gerçek zamanlı çıkarım gecikmesini izleme için güçlü araçlar sağlar. Ek olarak modern kalibrasyon teknikleri hakkındaki temel bilgi, temperature scaling'i bir endüstri standardı olarak popülerleştiren "On Calibration of Modern Neural Networks" gibi etkili çalışmalara kadar uzandırılabilir. Daha fazla pratik uygulama için scikit-learn'ün olasılık kalibrasyonu çerçevelerini veya TensorFlow'un belirsizlik farkında modellerini keşfedin.






