تعلم التمثيلات1986تأسيسي9 دقيقة قراءة
تعلُّم التمثيلات الموزَّعة للمفاهيم
Learning Distributed Representations of Concepts
Hinton, G. E. — Proceedings of the Eighth Annual Conference of the Cognitive Science Society
المشكلة
في عام 1986 كان كل مفهوم يُمثَّل بعقدة واحدة مخصَّصة له وحده — وهذا ما يُسمّى . المشكلة أن هذا الأسلوب يجعل الشبكة هشّة تماماً: إذا تعلّمت شيئاً عن «قطة» فلن تستفيد بأي شكل عند التعامل مع «كلب»، رغم التشابه الواضح بينهما. فوق ذلك، تحتاج الشبكة إلى عقدة منفصلة لكل مفهوم جديد، ولا توجد آلية تسمح من مفهوم إلى آخر.
الإسهام
أثبت هينتون أن الانتشار العكسي قادر على دفع الشبكة لاكتشاف تمثيلات موزَّعة من تلقاء نفسها — بمعنى أن كل مفهوم يتحوّل إلى نمط تنشيط يمتدّ عبر عدّة وحدات مخفية، وكل وحدة تتعلّم ترميز خاصّية دقيقة مثل الجيل أو الجنسية أو الفرع العائلي. النتيجة الأهم: المفاهيم المتشابهة تنتهي بأنماط تنشيط متقاربة، فيصبح التعميم تلقائياً — ما تتعلّمه الشبكة عن شخصٍ ما ينتقل تلقائياً إلى أقاربه ونظرائه. أجرى هينتون تجربته على شجرتَي عائلة متماثلتَي البنية فيهما 24 شخصاً و12 نوع علاقة، وأجبر الشبكة على ضغط كل هذه المعلومات عبر 6 وحدات فقط.
الأثر
هذه الورقة هي البذرة التي نبتت منها تضمينات الكلمات كما نعرفها اليوم. فكرة أن الشبكة تستطيع أن تتعلّم متّجهاً كثيفاً لكل مفهوم — بحيث يعكس القرب بين المتّجهات قرب المعنى — هي الأساس المباشر لـ Word2Vec عام 2013 ثم GloVe ثم طبقات في كل نموذج لغوي حديث. الورقة أظهرت أيضاً، قبل عقود من الزمن، أن الشبكة تُنتج سمات قابلة للتفسير داخل طبقاتها المخفية — وهو بالضبط ما يدرسه اليوم باحثو التفسير الآلي.
تخيّل مبنى مكاتب فيه طابق كامل لكل موظف — هذا يشبه التمثيل المحلّي تماماً. إذا أرادت أليس في الطابق السابع أن تتواصل مع بوب في الطابق الثاني والأربعين، فلا بدّ من الاتصال عبر مقسَّم هاتفي. ولو عرفتَ أن أليس تحبّ القهوة، فهذا لا يخبرك بأي شيء عن بوب.
الآن تخيّل مساحة عمل مفتوحة يجلس فيها الجميع في قاعة واحدة. كل شخص يجلس في مكان يعكس فريقه وخبرته ومهاراته، فتجد أصحاب الأدوار المتشابهة متجاورين بشكل طبيعي. أي معلومة جديدة تعرفها عن أحد المسوّقين تنطبق غالباً على زملائه الجالسين بجواره — وهذا هو جوهر التعميم: المعرفة تنتقل بفضل ترتيب الجلوس.
فكرة هينتون: دع الشبكة ترسم خريطة الجلوس بنفسها من خلال . والنتيجة: خريطة تتجاور فيها المفاهيم المتشابهة تلقائياً.
المشكلة: عقدة واحدة لكل مفهوم — هدر وهشاشة
قبل هذه الورقة، كانت تتبع ما يُعرف بالتمثيل المحلّي: كل مفهوم — سواء كان كلمة أو شخصاً أو كائناً — يُخصَّص له واحدة. «قطة» تُنشّط الخلية رقم 37، و«كلب» تُنشّط الخلية رقم 52. لا تداخل بينهما ولا أي رابط.
هذا الأسلوب يخلق ثلاث مشكلات جوهرية:
- لا تعميم. حين تُعدّل المرتبطة بـ«قطة»، لا يتغيّر شيء في تمثيل «كلب» — مع أنهما يتشاركان خصائص واضحة كالفراء والأرجل الأربعة. كل مفهوم يجب أن يُعلَّم من الصفر.
- تضخّم أُسّي. إذا كانت مفرداتك 50,000 كلمة، فأنت بحاجة إلى 50,000 خلية مخصَّصة — وذلك قبل أن تبدأ الشبكة أي فعلي.
- غياب إشارة التشابه. المسافة بين الخلية 37 والخلية 52 لا تحمل أي دلالة. الشبكة لا تملك وسيلة لتعرف أن «قطة» أقرب معنى إلى «كلب» منها إلى «ديمقراطية».
الفكرة: دع الشبكة تبتكر سماتها بنفسها
ما اقترحه هينتون كان مختلفاً جذرياً. بدلاً من تخصيص خلية عصبية لكل مفهوم، أجبر هوية المفهوم على المرور عبر ضيّق من الوحدات المخفية. تخيّل أن لديك 24 شخصاً وعليك تمثيلهم بـ6 خلايا فقط — الشبكة مضطرة عندئذٍ لاكتشاف مُدمجة يمكن إعادة استخدامها: خصائص دقيقة مثل «أي جيل؟» و«أي جنسية؟» و«أي فرع عائلي؟»، ثم تركّب هوية كل شخص من توليفة فريدة لهذه السمات.
هذا ما نسمّيه : كل مفهوم عبارة عن نمط تنشيط يمتدّ عبر وحدات كثيرة، وكل وحدة تشارك في تمثيل عدّة مفاهيم. النمط نفسه يصبح هو الهوية — كثيف، لا خلية عصبية وحيدة.
الجميل في الأمر أن الشبكة تكتشف هذه السمات من تلقاء نفسها عبر الانتشار العكسي. لا أحد يُملي عليها ترميز الجيل أو الجنسية؛ كل ما يحدث هو أن الانتشار العكسي يُعدّل الأوزان إلى أن تتنظّم الوحدات المخفية ذاتياً في سمات تُقلّل في التنبؤ.
التجربة: أشجار العائلة بوصفها مسألة تعلُّم
صمّم هينتون تجربة أنيقة: شجرتا عائلة لهما البنية ذاتها — واحدة بأسماء إنجليزية والأخرى بأسماء إيطالية — كل شجرة فيها 12 شخصاً موزّعين على ثلاثة أجيال. البنية متطابقة تماماً: كريستوفر تزوّج بينيلوبي في الشجرة الإنجليزية، ويقابلهما روبرتو وماريا في الإيطالية.
في هذا العالم الصغير 12 نوعاً من العلاقات (أب، أم، زوج، زوجة، ابن، ابنة، عم، عمة، أخ، أخت، ابن أخ، ابنة أخ)، وينتج عنها 104 ثلاثيات مثل (كولن، أمّه، فيكتوريا). المطلوب من الشبكة: أعطِها شخصاً ونوع علاقة، وعليها أن تتنبّأ بالشخص الذي يُكمل الثلاثية.
يمكنك تشبيه الأمر بـاستعلام في قاعدة بيانات علائقية مصغّرة، لكن الشبكة لا تملك قاعدة بيانات — كل ما عندها أوزان. عليها أن تتعلّم المحتوى والبنية معاً، وأن تضغط كل ذلك عبر عنق زجاجة من ستّ وحدات فقط.
البنية: خمس طبقات وعنق زجاجة واحد
تتكوّن الشبكة من خمس بتصميم منقسم مميّز:
- (36 وحدة): 24 وحدة بـ للأشخاص و12 وحدة بترميز أحادي للعلاقات. المُدخل هنا محلّي بالكامل — الشبكة تبدأ من رموز معزولة لا رابط بينها.
- الأولى (6+6 وحدات): مقسَّمة إلى مجموعتين منفصلتين. 6 وحدات تتصل حصراً بمُدخلات الأشخاص، و6 أخرى تتصل حصراً بمُدخلات العلاقات. بهذا الفصل، تُجبَر الشبكة على بناء تمثيل مضغوط مستقل لسؤال «مَن؟» وسؤال «أي علاقة؟» قبل أن تدمجهما.
- الطبقة المخفية الثانية (12 وحدة): متصلة اتصالاً كاملاً، وهي أول نقطة يلتقي فيها تمثيل الشخص بتمثيل العلاقة.
- الطبقة المخفية الثالثة (6 وحدات): عنق زجاجة إضافي يضغط التمثيل المُدمَج إلى بُعدية أصغر.
- (24 وحدة): وحدة لكل شخص، تُدرَّب على التنشّط عند الإجابة الصحيحة.
القرار التصميمي الحاسم هو عنق الزجاجة ذو الست وحدات لترميز الأشخاص. حين تُجبر 24 شخصاً على المرور عبر 6 خلايا عصبية فقط، فكل شخص لا بدّ أن يُرمَّز على شكل متّجه من 6 أبعاد — أي تمثيل موزَّع. الشبكة ببساطة لا تستطيع الحفظ الصمّ؛ ليس أمامها سوى الضغط والتعميم.
ما انبثق: سمات دقيقة قابلة للتفسير
بعد انتهاء التدريب، فحص هينتون الوحدات المخفية الست المسؤولة عن ترميز الأشخاص، فوجد أن كل وحدة تعلّمت سمة ذات معنى واضح — من تلقاء نفسها ودون أي توجيه:
- كاشف الجنسية: وحدة تعلّمت التفريق بين الإنجليز والإيطاليين — تُعطي قيمة موجبة لأبناء شجرة وسالبة للأخرى. اللافت أن الشبكة لم يُخبرها أحد أي الأسماء إنجليزية وأيها إيطالية.
- مرمِّز الجيل: وحدة أخرى رمّزت العمق في شجرة العائلة. الأجداد نشّطوها بقيمة موجبة، والأحفاد بقيمة سالبة، بينما وقع الجيل الأوسط في المنتصف.
- كاشف الفرع: وحدة ثالثة التقطت الفرع العائلي — يسار الشجرة مقابل يمينها.
والنتيجة الأبرز أن النظراء الإيطاليين والإنجليز أنتجوا أنماط تنشيط شبه متطابقة، ممّا يعني أن الشبكة اكتشفت التماثل البنيوي بين الشجرتين بمفردها تماماً.
ومن المثير للاهتمام ما لم ترمّزه وحدات الأشخاص: الجنس. الشبكة اكتشفت أن الجنس غير ضروري لتحديد هوية الشخص، فتركت ترميزه لوحدات العلاقات — حيث يحمل الفرق بين «أب» و«أم» الإشارة الكافية.
من أشجار العائلة إلى تضمينات الكلمات
المتّجه ذو الأبعاد الست الذي تتعلّمه الشبكة لكل شخص هو في حقيقته تضمين بالمعنى الكامل — متّجه كثيف مُتعلَّم يختزل الخصائص الدلالية للمفهوم. وهذا بالضبط ما تفعله وGloVe وطبقات التضمين في الحديثة، لكن على نطاق مفردات أوسع بكثير.
العلاقة هنا أعمق من مجرّد تشبيه. ما تفعله شبكة هينتون هو في الواقع مهمة التنبؤ بالروابط في رسم بياني معرفي: أعطِها (كيان، علاقة، ?) وعليها ملء الفراغ. هذا هو الإطار نفسه الذي تعمل به أساليب حديثة مثل TransE وغيرها من طرق التعلّم العلائقي.
حتى البنية المعمارية كانت سابقة لعصرها: الطبقة المخفية الأولى المنقسمة — قناة مستقلة لـ«مَن» وأخرى لـ«أي علاقة» — تُمهّد لفكرة التمثيلات المُفكَّكة التي نراها اليوم، حيث تُعالَج معلومات الكيان ومعلومات الدور كلٌّ على حدة قبل أن تتفاعلا.
الفكرة ذاتها في شيفرة برمجية
مبسَّط لإظهار الفكرة — ليس التنفيذ الحقيقي.
import torch
import torch.nn as nn
class FamilyTreeNet(nn.Module):
"""بنية هينتون: خمس طبقات مع عنق زجاجة من 6 وحدات لترميز الأشخاص."""
def __init__(self):
super().__init__()
# عنقا زجاجة منفصلان: الأشخاص (24 ← 6) والعلاقات (12 ← 6)
self.person_encoder = nn.Linear(24, 6) # ← التمثيل الموزَّع يعيش هنا
self.relation_encoder = nn.Linear(12, 6)
# الطبقات المدمجة
self.hidden = nn.Linear(12, 12) # 6+6 ← 12
self.narrow = nn.Linear(12, 6) # عنق زجاجة آخر
self.output = nn.Linear(6, 24) # التنبؤ بالشخص
def forward(self, person_onehot, relation_onehot):
p = torch.sigmoid(self.person_encoder(person_onehot)) # تضمين 6 أبعاد
r = torch.sigmoid(self.relation_encoder(relation_onehot))
combined = torch.cat([p, r], dim=-1) # دمج «مَن» + «أي علاقة»
h = torch.sigmoid(self.hidden(combined))
h = torch.sigmoid(self.narrow(h))
return torch.sigmoid(self.output(h)) # تنبؤ شبه أحادي
# المتّجه p = sigmoid(W @ person_onehot) ذو الأبعاد الست هو التمثيل الموزَّع.
# بعد التدريب، الأشخاص المتشابهون يحصلون على متّجهات ست متقاربة — التعميم تلقائي.لماذا كانت هذه الورقة مفصلية
1986
هذه الورقة (هينتون)
أول إثبات عملي على أن الانتشار العكسي قادر على اكتشاف تمثيلات موزَّعة انطلاقاً من بيانات علائقية خام. قدّمت هذه الورقة معيار أشجار العائلة الذي أصبح مرجعاً كلاسيكياً.
1986
تعلّم التمثيلات بنشر الأخطاء عكسياً (Nature)
الورقة المصاحبة في Nature التي نشرها روملهارت وهينتون وويليامز وعرّفت العالم بالانتشار العكسي على نطاق واسع، واستخدمت تجربة أشجار العائلة مثالاً رئيسياً.
2003
نموذج اللغة الاحتمالي العصبي (بينجيو وآخرون)
نقل فكرة هينتون إلى عالم النمذجة اللغوية على نطاق أوسع — كل كلمة تحصل على متّجه تضمين مُتعلَّم، وتتنبأ شبكة عصبية بالكلمة التالية انطلاقاً من هذه التضمينات.
2013
Word2Vec (ميكولوف وآخرون)
وسّع فكرة التمثيلات الموزَّعة لتشمل ملايين الكلمات، وأثبت أن المتّجهات المُتعلَّمة تلتقط علاقات قياسية مذهلة: ملك − رجل + امرأة ≈ ملكة.
2017
المحوِّل (فاسواني وآخرون)
طبقة التضمين في أساس كل مُحوِّل هي امتداد مباشر لهذه الفكرة — كل رمز يحصل على متّجه كثيف مُتعلَّم، تماماً كما تصوّر هينتون قبل ثلاثة عقود.
الخيط الذي يربط هذه الورقة بالحاضر مباشر بشكل لافت. أثبت هينتون أن الشبكة العصبية، إذا أُعطيت رموزاً خاماً ومهمة واضحة، ستكتشف بنفسها هندسةً للمعنى — فضاءً تعكس فيه درجة القرابة الدلالية. تلك الهندسة هي اليوم العمود الفقري لكل نظام يفهم اللغة أو يتعرّف على الصور أو يوصي بالمحتوى.
المرجعHinton, G. E.. Learning Distributed Representations of Concepts. Proceedings of the Eighth Annual Conference of the Cognitive Science Society, 1986.
مصطلحات هذه الورقة
- التمثيل الموزّعDistributed Representation
- تضمين الكلمةWord Embedding
- التحديث التراجعيBackpropagation
- الطبقة الخفيةHidden Layer
- ميزة / سمةFeature
- التعميمGeneralization
- التمثيل المحلّيLocalist Representation
- تعلم التمثيلات الرقميةRepresentation Learning