تقطير المعرفة

في تعلم الآلة، **يشير تقطير المعرفة** أو **تقطير النموذج** إلى عملية نقل المعرفة من نموذج كبير إلى نموذج أصغر. بينما تمتلك النماذج الكبيرة (مثل الشبكات العصبية العميقة جدًا أو مجموعات العديد من النماذج) قدرة معرفية أكبر من النماذج الصغيرة، قد لا يتم استغلال هذه القدرة بالكامل. ويمكن أن يكون تقييم نموذج مكلفًا من الناحية الحوسبية حتى وإن كان يستغل قدرًا قليلًا من قدرته المعرفية. ينقل تقطير المعرفة هو نقل المعرفة من نموذج كبير إلى نموذج أصغر دون فقدان الصلاحية. ونظرًا لأن النماذج الأصغر أقل تكلفة من حيث التقييم، يمكن نشرها على أجهزة أقل قوة (مثل الأجهزة المحمولة ).

يجب عدم الخلط بين تقطير النموذج وضغط النموذج، حيث يشير ضغط النموذج إلى الأساليب التي تهدف إلى تقليل حجم نموذج كبير نفسه، دون تدريب نموذج جديد. يحافظ ضغط النموذج بشكل عام على بنية النموذج وعدد المعلمات الاسمية، مع تقليل البتات لكل معلمة.

تم استخدام تقطير المعرفة بنجاح في عدة تطبيقات لتعلم الآلة مثل كشف الأجسام ،  النماذج الصوتية، ومعالجة اللغة الطبيعية. ومؤخرًا، تم تقديمه أيضًا إلى الشبكات العصبية الرسومية القابلة للتطبيق على البيانات غير الشبكية.

## طُرق
يجب أن يتم نقل المعرفة من نموذج كبير إلى نموذج صغير بطريقة ما تُعلم الأخير دون فقدان الصلاحية. إذا تم تدريب كلا النموذجين على نفس البيانات، فقد لا يمتلك النموذج الأصغر القدرة الكافية لتعلم تمثيل معرفي موجز مقارنة بالنموذج الكبير. ومع ذلك، يتم ترميز بعض المعلومات حول التمثيل معرفي الموجز في الاحتمالات الزائفة تُسند إلى مخرجاته: عندما يتنبأ النموذج بشكل صحيح بفئة معينة، فإنه يُعطي قيمة كبيرة لمتغير الخرج المقابل لتلك الفئة، وقيمًا أصغر لبقية متغيرات الخرج. توزيع القيم بين المخرجات لسجل معين يوفر معلومات حول كيفية تمثيل النموذج الكبير للمعرفة. لذلك، يمكن تحقيق هدف النشر الاقتصادي لنموذج صالح من خلال تدريب النموذج الكبير فقط على البيانات، مستفيدًا من قدرته الأفضل على تعلم تمثيلات معرفية موجزة، ثم تقطير هذه المعرفة في النموذج الأصغر، من خلال تدريبه على تعلم الناتج الناعم للنموذج الكبير.

### الصياغة الرياضية
بالنظر إلى نموذج كبير كدالة للمتغير المتجه \mathbf{x} ، تم تدريبها لمهمة تصنيف محددة، فإن الطبقة النهائية للشبكة عادةً ما تكون طبقة سوفت ماكس على الشكل التالي:

: 
y_i(\mathbf{x}|t) = \frac{e^{\frac{z_i(\mathbf{x})}{t}}}{\sum_j e^{\frac{z_j(\mathbf{x})}{t}}}


حَيث إن t هو *درجة الحرارة*، وهي معلمة يتم ضبطها على 1 لـ softmax القياسية. يقوم عامل softmax بتحويل قيم logit z_i(\mathbf{x}) إلى الاحتمالات الزائفة: إذ تُؤدي القيم الأعلى لدرجة الحرارة إلى توليد توزيعات أكثر ليونة من الاحتمالات الزائفة بين فئات المخرجات. يتكون تقطير المعرفة من تدريب شبكة أصغر، تُسمى *النموذج المقطر*، على مجموعة بيانات تُسمى *مجموعة النقل* (وهي مختلفة عن مجموعة البيانات المستخدمة لتدريب النموذج الكبير) باستخدام دالة الخسارة المعروفة باسم الانتروبيا المتقاطعة بين مخرجات النموذج المقطر \mathbf{y}(\mathbf{x}|t) ومخرجات النموذج الكبير \hat{\mathbf{y}}(\mathbf{x}|t) لنفس السجل (أو متوسط المخرجات الفردية، إذا كان النموذج الكبير عبارة عن تجميع)، باستخدام قيمة مرتفعة لدرجة حرارة سوفت ماكس t في كلا النَمُوذجِين 

: E(\mathbf{x}|t) = -\sum_i \hat{y}_i(\mathbf{x}|t) \log y_i(\mathbf{x}|t) .

في هذا السياق، تؤدي درجة الحرارة العالية إلى زيادة الإنتروبيا في المخرجات، مما توفير المزيد من المعلومات للتعلم للنموذج المقطر مقارنة بالأهداف الصعبة، وفي نفس الوقت تقليل تباين التدرج بين السجلات المختلفة، وبالتالي السماح بمعدل تعلم أعلى. 

إذا كانت الحقيقة الأساسية مُتوفرة لمجموعة النقل، يُمكن تَقوية العملية مِنْ خلال إضافة الإنتروبي المتقاطع إلى دالة الخسارة بين الناتج y_i(\mathbf{x}|1) من النموذج المقطر المحسوب باستخدام t = 1، والعلامة المعروفة \bar{y}_i

: 
E(\mathbf{x}|t) = -t^2 \sum_i \hat{y}_i(\mathbf{x}|t) \log y_i(\mathbf{x}|t) - \sum_i \bar{y}_i \log y_i(\mathbf{x}|1)


حيث يتم وزن مكون الخسارة المتعلق بالنموذج الكبير بعامل t^2 لأنه مع زيادة درجة الحرارة، يتغير تدرج الخسارة بالنسبة لأوزان النموذج بعامل \frac{1}{t^2}.

### العلاقة مع ضغط النموذج
تحت افتراض أن قيم اللوجيتات لها متوسط صفري، من الممكن إظهار أن ضغط النموذج هو حالة خاصة من تقطير المعرفة. يُعطى تدرج خسارة تقطير المعرفة E بالنسبة للوغيت النموذج المقطر z_i كما يلي:

: 
\begin{align}
  \frac{\partial}{\partial z_i} E
    &= -\frac{\partial}{\partial z_i} \sum_j \hat{y}_j \log y_j \\
    &= -\frac{\partial}{\partial z_i} \hat{y}_i \log y_i + \left( -\frac{\partial}{\partial z_i} \sum_{k\neq i} \hat{y}_k \log y_k \right)\\
    &= -\hat{y}_i \frac{1}{y_i} \frac{\partial}{\partial z_i} y_i + \sum_{k\neq i} \left( -\hat{y}_k \cdot \frac{1}{y_k} \cdot e^{\frac{z_k}{t}} \cdot \left( -\frac{1}{\left(\sum_j e^{\frac{z_j}{t}} \right)^2 }\right) \cdot e^{\frac{z_i}{t}} \cdot \frac{1}{t} \right)\\
    &= -\hat{y}_i \frac{1}{y_i} \frac{\partial}{\partial z_i} \frac{e^{\frac{z_i}{t}}}{\sum_j e^{\frac{z_j}{t}}} + \sum_{k\neq i} \left( \hat{y}_k \cdot \frac{1}{y_k} \cdot y_k \cdot y_i \cdot \frac{1}{t} \right)\\
    &= -\hat{y}_i \frac{1}{y_i}
    \left(
      \frac{\frac{1}{t} e^{\frac{z_i}{t}} \sum_j e^{\frac{z_j}{t}} - \frac{1}{t} \left( e^{\frac{z_i}{t}} \right)^2}
         {\left( \sum_j e^{\frac{z_j}{t}} \right)^2}
    \right) + \frac{y_i\sum_{k\neq i}\hat{y}_k}{t}\\
    &= -\hat{y}_i \frac{1}{y_i} \left( \frac{y_i}{t} - \frac{y_i^2}{t} \right) + \frac{y_i(1-\hat{y}_i)}{t}\\
    &= \frac{1}{t} \left( y_i - \hat{y}_i \right) \\
    &= \frac{1}{t} \left( \frac{e^{\frac{z_i}{t}}}{\sum_j e^{\frac{z_j}{t}}} - \frac{e^{\frac{\hat{z}_i}{t}}}{\sum_j e^{\frac{\hat{z}_j}{t}}} \right) \\
\end{align}


حيث إن \hat{z}_i هي قيم اللوجيتات للنموذج الكبير. للقيم الكبيرة لـ t يمكن تقريب ذلك كالتالي:

: 
\frac{1}{t}
\left(
  \frac{1 + \frac{z_i}{t}}{N + \sum_j \frac{z_j}{t}} -
  \frac{1 + \frac{\hat{z}_i}{t}}{N + \sum_j \frac{\hat{z}_j}{t}}
\right)


وبمُوجب فَرضية المُتوسط الصفري \sum_j z_j = \sum_j \hat{z}_j = 0 تُصبح  \frac{z_i - \hat{z}_i}{NT^2} ، وهي مُشتَقة مِنْ \frac{1}{2} \left( z_i - \hat{z}_i \right)^2، أي أن الخسارة تعادل مطابقة قيم لوغيتات للنمُوذجين، كَما هو الحال في ضغط النموذج.

### خوارزمية "الضرر الدماغي الأمثل"
خوارزمية تلف الدماغ الأمثل (OBD) هي كما يلي:

: قم بذلك حتى يتم الوصول إلى المستوى المطلوب من الندرة أو الأداء:
:: قم بتدريب الشبكة (باستخدام طرق مثل الانتشار الخلفي) حتى يتم الحصول على حل معقول
:: حساب الأهمية لكل معلمة
:: حذف بعض المعلمات ذات الأهمية الأقل

حذف المعامل يعني تثبيت المعامل عند الصفر. يتم تعريف "أهمية" المعامل \theta كــ \frac 12 (\partial_\theta^2 L)\theta^2، حيث إن L هي دالة الخسارة. يمكن حساب المشتقة الثانية \partial_\theta^2 L يمكن حسابها عن طريق الانتشار الخلفي من الدرجة الثانية.

الفكرة وراء تلف الدماغ الأمثل هي تقريب دالة الخسارة في جوار المعامل الأمثل \theta^* عن طريق توسعة تايلور التوسع: L(\theta) \approx L(\theta^*) + \frac 12 \sum_i (\partial_{\theta_i}^2L(\theta^*)) (\theta_i - \theta_i^*)^2 أين ، لأن \theta^* أمثل، ويتم تجاهل المشتقات المتقاطعة \nabla L(\theta^*) \approx 0\partial_{\theta_i}\partial_{\theta_j}L لتوفير الحساب. وبذلك، تقارب أهمية المعامل الزيادة في الخسارة إذا تم حذف ذلك المعامل.

## تاريخ
منهجية ذات الصلة هي *ضغط النموذج* أو *تقليم* ، حيث يتم تقليل حجم الشبكة المدربة. تم القيام بذلك لأول مرة في عام 1965 بواسطة أليكسي إيفاخنينكو وفالنتين لابا في الاتحاد السوفييتي (1965). تم تدريب شبكاتهم العميقة طبقة بطبقة من خلال تحليل الانحدار. تم تقليم الوحدات الخفية الزائدة باستخدام مجموعة تحقق منفصلة. تشمل طرق ضغط الشبكات العصبية الأخرى تقليل الوزن المتحيز  وتَلف الدِماغ الأمثل.

تم نشر مثال مبكر على تقطير الشبكات العصبية بواسطة يورغن شميدهوبر في عام 1991، في مجال الشبكات العصبية المتكررة (RNNs). كانت المشكلة هي التنبؤ بالتسلسل لسلاسل طويلة، أي التعلم العميق. تم حلها بواسطة شبكتين متكررتين RNN. واحدة منهما (*الآلة الأوتوماتيكية*) توقعت التسلسل، وأخرى (*المقسم) توقعت* أخطاء الآلة الأوتوماتيكية. في الوقت نفسه، توقعت الآلة الحالات الداخلية للوحدة. بعد أن يتمكن المُؤتمت من التنبؤ بالحالات الداخلية للمُجمِّع بشكل جيد، فإنه يبدأ في إصلاح الأخطاء، وسرعان ما يصبح المُجمِّع قديمًا، مما يترك شبكة RNN واحدة فقط في النهاية.

تم ايضًا دراسة فكرة استخدام مخرجات شبكة عصبية واحدة لتدريب شبكة عصبية أخرى تحت تسمية تكوين شبكة المعلم-الطالب. في عام 1992، تناولت عدة أوراق بحثية الميكانيكا الإحصائية لتكوينات المعلم والطالب باستخدام آلات اللجنة  أو كلاهما آلات التكافؤ.

تم تسمية ضغط معرفة عدة نماذج في شبكة عصبية واحدة بضغط النموذج في عام 2006، تم تحقيق الضغط معرفة النماذج المتعددة في شبكة عصبية واحدة *بضغط النموذج*: تم تحقيق الضغط من خلال تدريب نموذج أصغر على كميات كبيرة من البيانات الزائفة الموسومة بواسطة تجميع عالي الأداء، مع تحسين مطابقة لوجيت للنموذج المضغوط مع لوجيت المجموعة. قدمت طبعة الأولية لتقطير المعرفة لـ جيفري هينتون وآخرون (2015)  المفهوم وأظهرت بعض النتائج التي تم التوصل إليها في مهمة تصنيف الصور.

يرتبط تقطير المعرفة أيضًا بمفهوم *الاستنساخ السلوكي* الذي ناقشه فاراز تورابي وآخرون.

## المراجع

## روابط خارجية

* تقطير المعرفة في الشبكة العصبية – Google AI

تصنيف:التعلم العميق
تصنيف:تقطير
تصنيف:تعلم الآلة
تصنيف:الحاسوبية