Temperature Scaling
اكتشف كيف يعمل تحجيم درجة الحرارة (temperature scaling) على معايرة ثقة نماذج الذكاء الاصطناعي. تعلم تحسين احتمالات المخرجات لتنبؤات Ultralytics YOLO فائقة الموثوقية.
معايرة درجة الحرارة هي تقنية لمعالجة اللاحقة تستخدم على نطاق واسع لمعايرة الاحتمالات المتوقعة لنماذج الذكاء الاصطناعي (AI) وتعلم الآلة (ML). في التعلم العميق الحديث، غالباً ما تظهر النماذج ثقة مفرطة، مما يعني أن احتمالاتها المتوقعة لا تعكس بدقة المعايرة الإحصائية الحقيقية أو احتمالية الصحة. تعالج معايرة درجة الحرارة هذه المشكلة عن طريق تقسيم درجات الإخراج الخام للشبكة (القيم اللوجيتية) على معامل سلمي واحد ومكتسب يُعرف بـ "درجة الحرارة" (T) قبل تطبيق دالة سوفت ماكس. هذا التعديل يلطف الاحتمالات دون تغيير قرار تصنيف الصور النهائي، مما يضمن أن ثقة النموذج تتماشى بشكل وثيق مع دقته الفعليّة.
كيف يعمل قياس درجة الحرارة#
في شبكة التصنيف القياسية، تُخرج الطبقة الأخيرة قيمًا لوجيتية خام، والتي يتم تمريرها بعد ذلك عبر تفعيل سوفت ماكس لإنتاج احتمالات مجموعها واحد. تميل بنيات التعلم العميق الحديثة، وخاصة تلك المُحسَّنة بقوة باستخدام دوال الخسارة مثل الإنتروبيا المتقاطعة، إلى دفع هذه القيم اللوجيتية نحو قيم متطرفة تقليلًا للخسارة، مما يؤدي إلى ظاهرة يصبح فيها النموذج غير معاير وواثقًا بشكل مفرط.
يُدخل قياس درجة الحرارة معلمة درجة الحرارة (T) في معادلة softmax.
- عندما تكون T = 1، تتصرف دالة softmax بشكل طبيعي.
- عندما تكون T > 1، يتم تقليل حجم اللوجيتات، مما يعمل على تخفيف توزيع المخرجات، مما يقلل فعلياً من ذروة الثقة ويوزع كتلة الاحتمالية بشكل متساوٍ أكثر عبر جميع الفئات.
- عندما تكون T < 1، يصبح التوزيع أكثر حدة، مما يدفع النموذج ليكون أكثر ثقة في توقعه الأعلى.
من خلال تحسين T على مجموعة تحقق مخصصة، يقلل المهندسون خطأ المعايرة المتوقع. يُفضل هذا التعديل البسيط ذو المعامل الواحد للغاية لأنه يتطلب الحد الأدنى من العبء الحسابي ويحافظ على الدقة الأصلية لأوزان النموذج.
قياس درجة الحرارة مقابل تنعيم التسميات#
بينما تهدف كلتا التقنيتين إلى منع التفرط والثقة المفرطة، إلا أنهما تعملان في مراحل مختلفة من دورة حياة النموذج. يتم تطبيق تنعيم التسميات أثناء التدريب. فهو يغير أهداف الحقيقة الأرضية (على سبيل المثال، تغيير تسمية ثابتة من 1.0 إلى 0.9) لمنع النموذج من تعيين احتمالية كاملة لفئة واحدة. في المقابل، فإن معايرة درجة الحرارة - والأنواع الأحدث مثل معايرة درجة الحرارة البؤرية - هي طرق معايرة لاحقة تُطبق بعد اكتمال التدريب، مما يعني أنها تعدل احتمالات الإخراج لنموذج مُدرب بالكامل دون الحاجة إلى أي إعادة تدريب.
تطبيقات العالم الحقيقي#
تعد المعايرة الصحيحة للنموذج أمراً بالغ الأهمية للسلامة والموثوقية عبر صناعات متنوعة:
- التشخيص الطبي: في مهام مثل اكتشاف أورام المخ، يمكن أن يؤدي التصنيف الخاطئ الواثق بشكل مفرط إلى عواقب سريرية وخيمة. يضمن استخدام معايرة درجة الحرارة أن نظام النمذجة التنبؤية يُخرج احتمالات موثوقة. إذا كان تنبؤ الفحص غير مؤكد إلى حد كبير بعد المعايرة، فيمكن للنظام الإشارة بثقة إلى الصورة لمراجعة يدوية من قبل اختصاصي الأشعة. تواصل الدراسات حول معايرة النماذج السريرية تسليط الضوء على قيمتها في البيئات التشخيصية المقيدة وعالية المخاطر.
- نماذج اللغات الكبيرة (LLMs): بالنسبة لننماذج اللغات الكبيرة، يُستخدم مقياس درجة الحرارة بشكل كبير للتحكم في العشوائية الناتجة وتنوع التوليد، كما يظهر مع معامل درجة الحرارة من OpenAI. تنتج درجات الحرارة المرتفعة نصًا أكثر إبداعًا وتنوعًا، بينما تنتج درجات الحرارة المنخفضة استجابات حتمية ومركزة. مع تقدم البحث، يتم تطوير تقنيات مثل معايرة درجة الحرارة التكيفية (ATS) لتصحيح تدهور المعايرة الذي يحدث غالبًا بعد التعلم المعزز من ملاحظات البشر.
- المركبات ذاتية القيادة: في القيادة الذاتية، يجب أن تقرر أنظمة كشف الكائنات فورا ما إذا كان العقبة مشاة أو ظلا. تضمن معايرة نماذج الرؤية هذه تفعيل آليات الرجوع الاحتياطي، مثل الفرملة الطارئة، بشكل موثوق عندما تنخفض ثقة النموذج الحقيقية دون عتبة أمان حرجة.
مثال برمجي: تنفيذ قياس درجة الحرارة#
توضح المقتطفات التالية كيف يمكنك تطبيق مقياس درجة الحرارة على القيم اللوجيتية الخام لنموذج تصنيف 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 أدوات قوية لإدارة تتبع التجارب، وضبط النماذج بدقة، ومراقبة زمن انتقال الاستدلال في الوقت الفعلي. بالإضافة إلى ذلك، يمكن تتبع المعرفة الأساسية حول تقنيات المعايرة الحديثة إلى دراسات مؤثرة مثل "حول معايرة الشبكات العصبية الحديثة"، والتي شاعت استخدام معايرة درجة الحرارة كمعيار صناعي. لمزيد من التطبيقات العملية، استكشف أطر معايرة الاحتمالات في scikit-learn أو نماذج TensorFlow الواعية بعدم اليقين.






