Temperature Scaling
يقسم ضبط درجة الحرارة قيم لوغيت النموذج على قيمة واحدة ملائمة قبل تطبيق softmax، بحيث تتوافق ثقته مع دقته دون تغيير التنبؤات.
تحجيم درجة الحرارة أسلوب معايرة لاحق يقسم لوغاريتمات الاحتمال لمصنّف مدرّب على عدد موجب واحد T قبل تطبيق دالة softmax، مع اختيار T باستخدام بيانات محجوبة كي تتوافق ثقة النموذج مع معدل إصابته الفعلي. وتخفف درجة حرارة أعلى من 1 الاحتمالات المفرطة الثقة، بينما تزيد درجة حرارة أقل من 1 حدة الاحتمالات المنخفضة الثقة. ويُبقي تقسيم كل لوغاريتم احتمال على العدد الموجب نفسه ترتيبها كما هو، فلا تتغير الفئة المتوقعة مطلقًا وتبقى الدقة كما هي تمامًا. وفي دراسة «حول معايرة الشبكات العصبية الحديثة»، وجد غو وزملاؤه أن الشبكات العميقة الحديثة سيئة المعايرة، وأن تحجيم درجة الحرارة، وهو شكل من تحجيم بلات ذي معامل واحد، فعّال على نحو مدهش في معايرتها على معظم مجموعات البيانات التي اختبروها.
آلية عمل تحجيم درجة الحرارة#
تمنح softmax المحجّمة الفئة i احتمال exp(z_i / T) / Σ_j exp(z_j / T)، حيث تمثل z لوغاريتمات الاحتمال. عند T = 1 لا يتغير النموذج؛ ومع ازدياد T تقترب الاحتمالات من توزيع منتظم؛ وعندما تقترب T من 0 يقترب احتمال الفئة الأعلى من 1. وتُلاءم T بعد التدريب عبر تقليل سالب لوغاريتم الاحتمال (NLL)، وهو مقياس الانتروبيا المتقاطعة نفسه المستخدم بوصفه خسارة التدريب، على مجموعة تحقق محجوبة مع تثبيت أوزان الشبكة. ولا يستغرق الملاءمة سوى ثوانٍ بمعامل واحد، ولا تتيح مجالًا كبيرًا لـفرط الملاءمة على مجموعة التحقق. ويُلاءم النص البرمجي أدناه باستخدام PyTorch قيمة T لنموذج لوغاريتمات احتماله أكبر من اللازم بثلاثة أضعاف:
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")تستعيد الملاءمة T = 2.98، وهي قريبة من العامل الحقيقي البالغ 3. وتبقى الدقة عند 0.663، بينما ينخفض متوسط الثقة من 0.880 إلى 0.664؛ لذا يتوافق متوسط ثقة النموذج مع دقته بعد التحجيم.
لماذا تبالغ الشبكات في الثقة#
يواصل التدريب باستخدام الانتروبيا المتقاطعة مكافأة لوغاريتمات الاحتمال الأكبر على أمثلة التدريب التي يصنفها النموذج تصنيفًا صحيحًا بالفعل، لذا تستمر الثقة في الارتفاع بعد أن تستقر الدقة على البيانات الجديدة. وحدد غو وزملاؤه العمق والعرض واضمحلال الأوزان وتطبيع الدفعات عوامل مهمة في سوء المعايرة. وتُقاس المعايرة بمخططات الموثوقية، التي ترسم الدقة مقابل الثقة ضمن فئات، وبخطأ المعايرة المتوقع (ECE)، وهو متوسط الفجوة بين الثقة والدقة عبر تلك الفئات، مرجحًا بعدد التنبؤات في كل فئة. كما يكافئ كل من NLL ودرجة بريير المعايرة. وتكتسب المعايرة أهمية كلما قُرئت الدرجة على أنها احتمال، مثل قاعدة فرز طبي تحيل كل حالة يتجاوز خطرها 30%، أو نظام يحيل التنبؤات غير المؤكدة إلى شخص، أو حلقة تعلم نشط تختار الصور الأقل ثقة لوسمها.
تحجيم درجة الحرارة لكواشف الأجسام#
تقيّم الكواشف كل فئة عادةً باستخدام دالة sigmoid مستقلة بدلًا من softmax، وينطبق تحجيم درجة الحرارة بالطريقة نفسها، على هيئة sigmoid(z / T). وعندما تكون T أكبر من 1، تتحرك الدرجات نحو 0.5: فتنخفض الدرجات المرتفعة وترتفع المنخفضة. وفي YOLO26، تكون ثقة كل صندوق هي sigmoid لوغاريتم احتمال الفئة، وتُقارن بعتبة conf البالغة 0.25 في وقت التنبؤ، لذا تغيّر درجة الحرارة الملائمة على صور محجوبة الصناديق التي تتجاوز هذه العتبة، مع الحفاظ على ترتيب جميع الصناديق، وهو الترتيب الذي تعتمد عليه مقاييس الترتيب مثل متوسط الدقة المتوسطة (mAP).
درجة الحرارة في إعدادات أخرى#
- النماذج اللغوية الكبيرة (LLMs): تقسم درجة حرارة أخذ العينات متجه لوغيت كل رمز تالٍ على T بالطريقة نفسها، ويضبطها المستخدمون يدويًا للموازنة بين التنوع والحتمية. كلما اقتربت T من 0، اقترب أخذ العينات من فك الترميز الجشع، الذي يختار دائمًا الرمز الأرجح.
- تقطير المعرفة: ترفع طريقة التقطير لهينتون وزملائه درجة حرارة مخرجات softmax لكل من المعلّم والطالب، كي يتعلم الطالب الاحتمالات النسبية التي يمنحها المعلّم للفئات الخاطئة.
- التعلّم التبايني: تقسم نماذج مثل CLIP درجات تشابه الصورة والنص على درجة حرارة متعلَّمة قبل تطبيق softmax، ما يتحكم في مدى حدة فصل الخسارة بين الأزواج المتطابقة وسائر الأزواج.
تحجيم درجة الحرارة مقارنةً بالأساليب ذات الصلة#
- تحجيم بلات: يقدّر ميلًا وثابتًا لمعامل تصنيف ثنائي قبل تطبيق دالة سيغمويد. يوسّع تحجيم درجة الحرارة هذا الأسلوب ليشمل فئات متعددة باستخدام ميل مشترك واحد، 1 / T، ومن دون ثابت.
- التحجيم المتجهي والمصفوفي: يتعلّمان وزنًا وانحيازًا منفصلين لكل فئة، أو مصفوفة كاملة على قيم اللوغيت. وهما أكثر مرونة، لكنهما أكثر عرضة للإفراط في التكيّف، وقد يغيّران الفئة المتوقعة.
- الانحدار الرتيب: تحويل رتيب غير معلمي من الدرجة إلى الاحتمال، ومتاح مع تحجيم بلات ضمن أدوات المعايرة في scikit-learn.
- تنعيم التسميات: يخفف أهداف التدريب، مثل استخدام 0.9 بدلًا من 1.0 للفئة الصحيحة، للحد من الثقة المفرطة أثناء التدريب. لا يغيّر تحجيم درجة الحرارة سوى مخرجات النموذج بعد اكتماله.
- التنبؤ المطابق: يحوّل الدرجات إلى مجموعات تنبؤ تحتوي على التسمية الحقيقية بمعدل مضمون، مثل 90% من الوقت، على بيانات قابلة للتبادل.










