Temperature Scaling
Sıcaklık ölçeklendirme, tahminleri değiştirmeden modelin güven düzeyini doğrulukla eşleştirmek için softmax öncesinde modelin logit değerlerini tek bir öğrenilmiş değere böler.
Sıcaklık ölçekleme, eğitilmiş bir sınıflandırıcının logit değerlerini softmax öncesinde tek bir pozitif T sayısına bölen bir eğitim sonrası kalibrasyon yöntemidir. T, modelin güven düzeyinin gerçekten doğru olduğu sıklıkla uyuşması için eğitimde kullanılmayan veriler üzerinde seçilir. 1'den büyük bir sıcaklık aşırı güvenli olasılıkları yumuşatır; 1'den küçük bir sıcaklık ise yeterince güvenli olmayan olasılıkları keskinleştirir. Her logiti aynı pozitif sayıya bölmek sıralarını koruduğundan tahmin edilen sınıf hiç değişmez ve doğruluk aynen kalır. Guo ve çalışma arkadaşları, "On Calibration of Modern Neural Networks" çalışmasında modern derin ağların kalibrasyonunun zayıf olduğunu, Platt ölçeklemesinin tek parametreli bir varyantı olan sıcaklık ölçeklemesinin ise test ettikleri veri kümelerinin çoğunda kalibrasyonda şaşırtıcı ölçüde etkili olduğunu buldu.
Sıcaklık Ölçekleme Nasıl Çalışır?#
Ölçeklenmiş softmax, i sınıfına exp(z_i / T) / Σ_j exp(z_j / T) olasılığını verir; burada z, logit değerleridir. T = 1 olduğunda model değişmez; T arttıkça olasılıklar tekdüze bir dağılıma yaklaşır ve T 0'a yaklaştıkça en yüksek sınıfın olasılığı 1'e yaklaşır. T, eğitim sonrasında eğitim kaybı olarak kullanılan çapraz entropinin aynısı olan negatif log olabilirliği (NLL) en aza indirilerek, ağın ağırlıkları dondurulmuş hâlde eğitimde kullanılmayan doğrulama kümesi üzerinde ayarlanır. Tek parametreli olduğundan ayar saniyeler sürer ve doğrulama kümesine aşırı uyum riski düşüktür. Aşağıdaki PyTorch betiği, logit değerleri gerçekte olması gerekenden üç kat büyük olan bir model için T'yi ayarlar:
import torch
import torch.nn.functional as F
# Held-out logits for 5,000 images and 10 classes from an overconfident model:
# labels are drawn so that softmax(logits / 3) is perfectly calibrated
torch.manual_seed(0)
logits = 9 * torch.randn(5000, 10)
labels = torch.multinomial(F.softmax(logits / 3, dim=1), 1).squeeze(1)
# Fit the single temperature that minimizes negative log-likelihood (NLL) on the held-out set
temperatures = torch.linspace(0.5, 6.0, 551)
nll = torch.stack([F.cross_entropy(logits / t, labels) for t in temperatures])
T = temperatures[nll.argmin()]
# Accuracy depends only on the argmax, which dividing by T never changes
accuracy = (logits.argmax(1) == labels).float().mean()
before = F.softmax(logits, dim=1).max(1).values.mean()
after = F.softmax(logits / T, dim=1).max(1).values.mean()
print(f"T = {T:.2f}, accuracy {accuracy:.3f}")
print(f"Mean confidence: {before:.3f} before, {after:.3f} after")Ayar işlemi, gerçek 3 katsayısına yakın olan T = 2,98 değerini bulur. Doğruluk 0,663'te kalırken ortalama güven 0,880'den 0,664'e düşer; böylece ölçeklemeden sonra modelin ortalama güveni doğruluğuna karşılık gelir.
Ağlar Neden Aşırı Güvenli Hâle Gelir?#
Çapraz entropi eğitimi, ağın zaten doğru sınıflandırdığı eğitim örneklerinde daha büyük logit değerlerini ödüllendirmeyi sürdürür; bu nedenle yeni verilerde doğruluk sabitlendikten sonra da güven yükselmeye devam eder. Guo ve çalışma arkadaşları derinlik, genişlik, ağırlık azaltma ve yığın normalleştirmesini yanlış kalibrasyonda önemli etkenler olarak belirledi. Kalibrasyon, dilimlerdeki doğruluğu güven düzeyine karşı gösteren güvenilirlik diyagramları ve dilimler arasındaki güven ile doğruluk farkının, her birine düşen tahmin sayısına göre ağırlıklandırılmış ortalaması olan beklenen kalibrasyon hatası (ECE) ile ölçülür. NLL ve Brier puanı da kalibrasyonu ödüllendirir. Bir puanın olasılık olarak yorumlandığı her durumda kalibrasyon önemlidir: örneğin %30'un üzerinde risk taşıyan her vakayı sevk eden bir tıbbi triyaj kuralı, belirsiz tahminleri bir kişiye aktaran bir sistem veya etiketleme için güveni en düşük görüntüleri seçen bir etkin öğrenme döngüsü.
Nesne Algılayıcılar için Sıcaklık Ölçekleme#
Algılayıcılar her sınıfı softmax yerine genellikle bağımsız bir sigmoid ile puanlar; sıcaklık aynı şekilde, sigmoid(z / T) olarak uygulanır. T 1'den büyük olduğunda puanlar 0,5'e yaklaşır: yüksek puanlar düşer, düşük puanlar yükselir. YOLO26 içinde her kutunun güven değeri, tahmin sırasında 0,25 olan conf eşiğiyle karşılaştırılan bir sınıf logitinin sigmoididir; dolayısıyla eğitimde kullanılmayan görüntülerde ayarlanan sıcaklık, tüm kutuların sıralamasını korurken bu eşiği geçen kutuları değiştirir. Ortalama kesinlik (mAP) gibi sıralama ölçütleri de bu sıralamaya bağlıdır.
Diğer Ayarlarda Sıcaklık#
- Büyük dil modelleri (LLMs): Örnekleme sıcaklığı, her sonraki token'ın logit vektörünü aynı şekilde T'ye böler ve kullanıcılar çeşitlilik ile belirlenimcilik arasında denge kurmak için T değerini elle ayarlar. T 0'a yaklaştıkça örnekleme, her zaman en olası token'ı seçen açgözlü kod çözmeye yaklaşır.
- Bilgi damıtma: Hinton ve çalışma arkadaşlarının damıtma yöntemi, öğrencinin öğretmenin yanlış sınıflara ilişkin göreli olasılıklarını öğrenmesi için hem öğretmen hem de öğrenci softmax çıktılarının sıcaklığını yükseltir.
- Karşıtsal öğrenme: CLIP gibi modeller, eşleşen çiftleri diğerlerinden ne kadar keskin biçimde ayıracağını belirleyen softmax öncesinde görüntü-metin benzerlik puanlarını öğrenilmiş bir sıcaklığa böler.
Sıcaklık Ölçekleme ve İlgili Yöntemler#
- Platt ölçeklemesi: Sigmoid öncesinde ikili sınıflandırıcının puanına bir eğim ve sabit terim uydurur. Sıcaklık ölçekleme bunu, paylaşılan tek bir eğim (1 / T) ve sabit terim olmadan çok sayıda sınıfa genişletir.
- Vektör ve matris ölçekleme: Her sınıf için ayrı bir ağırlık ve bias ya da logitler üzerinde tam bir matris öğrenir. Daha esnektirler, daha kolay aşırı uyum sağlarlar ve tahmin edilen sınıfı değiştirebilirler.
- İzotonik regresyon: scikit-learn'ün kalibrasyon araçlarında Platt ölçeklemesiyle birlikte sunulan, puandan olasılığa parametrik olmayan monoton bir eşlemedir.
- Etiket yumuşatma: Eğitim sırasında aşırı güveni azaltmak için gerçek sınıfın hedef değerini 1.0 yerine 0.9 gibi daha yumuşak bir değere çeker. Sıcaklık ölçekleme yalnızca eğitimi tamamlanmış bir modelin çıktılarını değiştirir.
- Konformal tahmin: Puanları, değiş tokuş edilebilir verilerde gerçek etiketi garantili bir oranda, örneğin zamanın %90'ında, içeren tahmin kümelerine dönüştürür.










