Decoder (Transformer) — مُفَكِّك الشفرة
مُفَكِّك الشفرة (بالإنجليزية: Decoder) — في مجال تعلم الآلة والتعلم العميق، هو أحد مكونات الشبكة العصبونية، وتتمثل مهمته الرئيسية في تحويل التمثيل المُشَفَّر (على سبيل المثال، متجه السياق أو سلسلة من الحالات الخفية المستلمة من المُشَفِّر) إلى سلسلة بيانات مُخرَجة (مثل نص أو صورة). يقوم مفكك الشفرة بتوليد البيانات المُخرَجة خطوة بخطوة، عادةً في وضع الانحدار الذاتي.
بمعنى أوسع، في نظرية المعلومات، مفكك الشفرة هو أي جهاز أو خوارزمية تحول البيانات المشفرة مرة أخرى إلى تنسيقها الأصلي أو المفهوم.
المفهوم والغرض
إذا كان المُشَفِّر مسؤولاً عن فهم وضغط البيانات المُدخَلة، فإن مفكك الشفرة مسؤول عن توليد ونشر البيانات المُخرَجة. فهو يأخذ تمثيلاً مدمجًا وغنيًا بالمعلومات ويحوله بشكل متسلسل إلى التنسيق المطلوب، سواء كان ذلك جملة بلغة أخرى، أو وصفًا نصيًا لصورة، أو سلسلة من النوتات الموسيقية.
السمة الرئيسية لمعظم مفككات الشفرة هي طبيعتها الانحدارية الذاتية: لتوليد العنصر التالي في التسلسل (على سبيل المثال، كلمة أو بكسل)، فإنها تستخدم كلاً من التمثيل المشفر وجميع العناصر التي تم إنشاؤها مسبقًا.
مفكك الشفرة في البنى المختلفة
مفكك الشفرة في المشفر التلقائي
في بنية المُشَفِّر التلقائي (autoencoder)، يؤدي مفكك الشفرة مهمة عكسية للمشفر:
- المُشَفِّر يضغط البيانات المُدخَلة إلى تمثيل خفي.
- مُفَكِّك الشفرة يأخذ هذا التمثيل الخفي ويحاول استعادة (إعادة بناء) البيانات الأصلية منه.
يتيح تدريب مثل هذه الشبكة استخدام مفكك الشفرة بشكل منفصل لتوليد بيانات جديدة عن طريق تغذية مدخلاته بمتجهات من الفضاء الكامن.
مفكك الشفرة في الشبكات العصبونية المتكررة (RNN/LSTM)
في النماذج الكلاسيكية لتحويل تسلسل إلى تسلسل (seq2seq)، القائمة على الشبكات العصبونية المتكررة (RNN) أو ذاكرة طويلة قصيرة المدى (LSTM)، يمثل مفكك الشفرة شبكة متكررة تولد التسلسل الناتج توكنًا تلو الآخر.
- مبدأ العمل: تتم تهيئة مفكك الشفرة بالحالة الخفية النهائية (متجه السياق) للمشفر. في كل خطوة، يستقبل مفكك الشفرة التوكن الذي تم إنشاؤه مسبقًا وحالته الخفية السابقة كمدخلات، ثم يولد التوكن التالي ويحدّث حالته. تستمر هذه العملية حتى يتم إنشاء توكن خاص بنهاية التسلسل (`<EOS>`).
مفكك الشفرة في بنية الترانسفورمر
يعمل مفكك الشفرة القائم على بنية الترانسفورمر (Transformer) أيضًا بشكل انحداري ذاتي، لكن هيكله الداخلي مختلف. وهو يتألف من مكدس من () طبقات متطابقة، كل منها تحتوي على ثلاث طبقات فرعية رئيسية:
- الانتباه الذاتي متعدد الرؤوس المقنّع (Masked Multi-Head Self-Attention): تعمل هذه الآلية بنفس طريقة عملها في المشفر، ولكن مع اختلاف واحد مهم وهو التقنيع. يمنع القناع كل موضع من "الانتباه" إلى المواضع اللاحقة في التسلسل. هذا يضمن أن التنبؤ للموضع يعتمد فقط على المخرجات المعروفة بالفعل في المواضع ، مما يحافظ على خاصية الانحدار الذاتي.
- الانتباه المتقاطع متعدد الرؤوس (Multi-Head Cross-Attention): هذه هي الآلية الرئيسية التي تربط مفكك الشفرة بالمشفر. هنا، تأتي الاستعلامات (Query) من الطبقة السابقة لمفكك الشفرة، بينما تأتي المفاتيح (Key) والقيم (Value) من التمثيلات الناتجة عن المشفر. يسمح هذا لمفكك الشفرة في كل خطوة توليد بالتركيز على الأجزاء الأكثر صلة من التسلسل المدخل.
- شبكة عصبونية أمامية التغذية (Feed-Forward Network): وهي مماثلة لتلك المستخدمة في المشفر.
أنواع النماذج القائمة على مفكك الشفرة
نماذج المشفر-مفكك الشفرة
هذه هي البنية الكلاسيكية حيث يعمل المشفر ومفكك الشفرة معًا.
- مبدأ العمل: يقوم المشفر بإنشاء تمثيل للبيانات المدخلة، ويقوم مفكك الشفرة بتوليد البيانات المخرجة باستخدام هذا التمثيل.
- أمثلة: نموذج الترانسفورمر الأصلي، T5، BART.
Decoder-Only models - نماذج مفكك الشفرة فقط
هذه النماذج، التي أصبحت مهيمنة في مجال الذكاء الاصطناعي التوليدي، تستخدم حصريًا مكدس مفككات شفرة الترانسفورمر.
- مبدأ العمل: في مثل هذه النماذج، لا يوجد انتباه متقاطع مع المشفر، نظرًا لعدم وجود مشفر. يعمل النموذج في وضع انحداري ذاتي بحت، حيث يتنبأ بالتوكن التالي بناءً على جميع التوكنات السابقة في نفس التسلسل. تتم معالجة المُوجِّه المدخل والنص الذي تم إنشاؤه بالفعل معًا.
- التطبيقات: مثالية للمهام التي تتطلب إكمال نص معين (توليد النصوص، أنظمة الحوار، روبوتات المحادثة).
- أمثلة: سلسلة GPT، LLaMA، Claude.
العلاقة مع المشفر
التفاعل بين المشفر ومفكك الشفرة هو مبدأ أساسي لمهام التحويل.
- المُشَفِّر يضغط المعلومات حول التسلسل المدخل إلى مجموعة من المتجهات.
- مُفَكِّك الشفرة يستخدم هذه المجموعة من المتجهات لتوليد تسلسل جديد بشكل متتابع.
يسمح الانتباه المتقاطع لمفكك الشفرة في كل خطوة "بالرجوع" إلى المشفر لفهم أي جزء من النص الأصلي يجب التركيز عليه في تلك اللحظة. على سبيل المثال، عند ترجمة جملة، يمكن لمفكك الشفرة، أثناء توليد كلمة ألمانية، أن "ينظر" إلى الكلمة الإنجليزية المقابلة لها في المدخلات.
انظر أيضًا
- GPT
المراجع
- Vaswani, A. et al. (2017). Attention Is All You Need. NIPS.