خطوات الاستخدام
1. أدخل قيمة خسارة الطالب (Student Loss): تمثل هذه القيمة الخطأ بين توقعات نموذج الطالب والملصقات الحقيقية (Hard Targets). عادةً ما تكون هذه الخسارة محسوبة باستخدام دالة خسارة مثل الإنتروبيا المتقاطعة (Cross-Entropy). يجب أن تكون القيمة موجبة، وكلما كانت أصغر كان أداء الطالب أفضل على البيانات الحقيقية.
2. أدخل قيمة خسارة المعلم (Teacher Loss): تمثل هذه القيمة الخطأ بين توقعات نموذج المعلم والملصقات الحقيقية أو بين توزيعات الاحتمالات الناعمة (Soft Targets) لنموذج المعلم وتوقعات الطالب. في تقطير المعرفة، تُستخدم هذه القيمة لنقل المعرفة من المعلم إلى الطالب. يجب أن تكون القيمة موجبة.
3. اختر معامل الترجيح α (Weight Factor): يتحكم هذا المعامل في الموازنة بين خسارة الطالب وخسارة المعلم. يُستخدم α في الصيغة: الخسارة الكلية = α * خسارة الطالب + (1-α) * خسارة المعلم. عادةً ما تكون قيمة α بين 0 و1. القيمة الأكبر تعطي وزناً أكبر لخسارة الطالب (التعلم من الملصقات الحقيقية)، بينما القيمة الأصغر تعطي وزناً أكبر لخسارة المعلم (التعلم من المعلم).
4. احسب الخسارة المجمعة: ستقوم الحاسبة بتطبيق الصيغة أعلاه وإظهار النتيجة بستة منازل عشرية مع تفصيل يوضح وزني الطالب والمعلم ومساهمة كل منهما. هذه القيمة تمثل الخسارة النهائية التي يجب استخدامها لتحسين نموذج الطالب عبر الانتشار العكسي (Backpropagation).
5. تحسين نموذج الطالب: استخدم الخسارة المجمعة لتحديث أوزان نموذج الطالب. بتقليل هذه الخسارة، يتعلم الطالب محاكاة أداء المعلم مع الحفاظ على الأداء الجيد على البيانات الحقيقية.
أمثلة محلولة
تطبيقات عملية على خسارة تقطير المعرفة بخطوات الحل كاملة.
الحل
لنفترض أن لدينا نموذج معلم (Teacher) كبير مثل ResNet-50 ونموذج طالب (Student) صغير مثل MobileNet. بعد تدريب المعلم، نستخدمه لتوليد توزيعات احتمالية ناعمة (Softmax Temperature) للصور. ثم ندرب الطالب باستخدام خسارة مزدوجة.
أثناء التدريب، قمنا بحساب خسارة الطالب (Student Loss) على دفعة من البيانات وكانت قيمتها 2.5 (باستخدام الإنتروبيا المتقاطعة). ومن جهة أخرى، حسبنا خسارة المعلم (Teacher Loss) من خلال مقارنة توزيعات الطالب الناعمة مع توزيعات المعلم الناعمة وكانت قيمتها 1.2 (باستخدام تباعد كولباك-ليبلر KL Divergence). اخترنا معامل ترجيح α = 0.6، مما يعني أننا نعطي وزناً أكبر للتعلم من الملصقات الحقيقية.
الآن، نحسب الخسارة المجمعة:
الخسارة الكلية = 0.6 * 2.5 + (1-0.6) * 1.2 = 1.5 + 0.48 = 1.98.
هذه الخسارة تستخدم لتحديث أوزان الطالب. بعد عدة دفعات، يبدأ الطالب في تحقيق أداء مشابه للمعلم مع حجم نموذج أصغر بكثير.
الحل
في تقطير المعرفة، غالباً ما تُستخدم درجة حرارة (T) لتليين توزيعات الاحتمالات. لنفترض أن لدينا معلم وطالب، ونستخدم T=4 لتوليد التوزيعات الناعمة. يتم حساب خسارة المعلم (Teacher Loss) باستخدام خسارة التقطير:
Loss_distill = T^2 * KL(softmax(logits_teacher / T), softmax(logits_student / T)).
لنفترض أن logits المعلم = [2, -1, 0.5] و logits الطالب = [1.5, -0.5, 0.2]. بعد تطبيق softmax مع T=4 نحصل على توزيعات ناعمة. ثم نحسب KL divergence ونضرب في T^2. لنفترض أن النتيجة كانت 3.0 (خسارة المعلم).
أما خسارة الطالب (Student Loss) فهي الإنتروبيا المتقاطعة مع الملصقات الحقيقية. لنفترض أن الملصق الحقيقي هو الفئة 0، وتوقعات الطالب (بدون درجة حرارة) كانت [0.6, 0.3, 0.1]، وبالتالي خسارة الطالب = -log(0.6) ≈ 0.51.
نأخذ α = 0.7. إذن الخسارة الكلية = 0.7 * 0.51 + 0.3 * 3.0 = 0.357 + 0.9 = 1.257.
نلاحظ أن مساهمة خسارة المعلم أكبر بسبب T^2. هذا يضمن أن الطالب يتعلم من المعلم بشكل فعال. إذا كانت T أكبر، تكون التوزيعات أكثر نعومة وتزيد مساهمة خسارة المعلم.
أمثلة محسوبة
قيم مُدخَلة ونتيجة محسوبة فعليًا بواسطة خسارة تقطير المعرفة.
المثال العربي الأول: α=0.6 مع خسارة طالب 2.5 ومعلم 1.2
- خسارة الطالب
- 2.5
- خسارة المعلم
- 1.2
- معامل الترجيح α (0-1)
- 0.6
تقطير بدرجة حرارة T=4: 0.357 + 0.9 = 1.257
- خسارة الطالب
- 0.51
- خسارة المعلم
- 3
- معامل الترجيح α (0-1)
- 0.7
α=1: انهيار المزيج إلى خسارة الطالب وحدها
- خسارة الطالب
- 2.5
- خسارة المعلم
- 1.2
- معامل الترجيح α (0-1)
- 1
α=0: الوزن كله لخسارة المعلم
- خسارة الطالب
- 2.5
- خسارة المعلم
- 1.2
- معامل الترجيح α (0-1)
- 0