التعلم العميق / المعماريات وديناميات التدريب / الدرس 11
الانتباه والأقنعة والموضع
تتبع انتباه الضرب النقطي المحجم وحدد المعلومات التي توفرها الأقنعة وآليات الموضع.
في هذه الصفحة
أهداف الدرس
- حساب درجات الانتباه وأوزانه وقيمه.
- تطبيق الأقنعة قبل التطبيع.
- تمييز تفاعلات المحتوى عن معلومات الموضع.
يسترجع الاستعلام تركيباً موزوناً
يقارن الانتباه متجه الاستعلام بمتجهات المفاتيح، ويحول درجات التوافق إلى أوزان ثم يجمع متجهات القيم المقابلة. تحدد المفاتيح أين يوضع الوزن، وتحدد القيم ما يجمع؛ لذلك يختلف عقد أبعادهما ولو اختار النموذج عرضاً متساوياً. تشتق في الانتباه الذاتي من السلسلة نفسها بتحويلات مستقلة، وتأتي في الانتباه المتقاطع من مصدرين. لا يفرض أيهما السببية وحده؛ بل يجب تحديد السياق المتاح للمهمة وترميزه في القناع.
حجم الدرجات وافحص استعلاماً كاملاً
يقسم انتباه الضرب النقطي المحجم حاصل ضرب الاستعلام والمفتاح على جذر بُعد المفتاح قبل softmax. يخفف ذلك نمو الدرجات تحت افتراضات تباين شائعة، ولا يضمن منع كل تشبع. يستعمل المثال متجهات ثابتة ببعدين وقيماً عددية لفحص المراحل. يقع الخرج بين القيمتين لأن الأوزان غير سالبة ومجموعها واحد. قد يغير إسقاط لاحق أو جمع متبقٍ هذا المجال. يكرر الانتباه متعدد الرؤوس عمليات مشابهة في فضاءات متعلمة ثم يدمج النتائج.
from math import exp, sqrt
query = [1.0, 0.0]
keys = [[1.0, 0.0], [0.0, 1.0]]
values = [2.0, 8.0]
scores = [sum(a*b for a,b in zip(query,k))/sqrt(2) for k in keys]
m = max(scores)
weights = [exp(s-m)/sum(exp(t-m) for t in scores) for s in scores]
print([round(w,6) for w in weights])
print(f"context={sum(w*v for w,v in zip(weights,values)):.6f}")
[0.669762, 0.330238]
context=3.981431
ينتج استعلام واحد أوزاناً مطبعة لمفتاحين وسياقاً عددياً، دون تعلم أو تجزئة نص.
احجب الاعتمادات غير المسموحة
يستبعد قناع الحشو مواضع التخزين الاصطناعية، ويستبعد القناع السببي المستقبل بالنسبة إلى استعلام معين. يحذف المثال درجة غير مسموحة قبل التطبيع؛ أما تصفير الاحتمالات بعده دون إعادة تطبيع فيغير المجموع والحساب الموزون. يحتاج الصف الذي لا يملك مفتاحاً مسموحاً سياسة صريحة، إذ لا يمثل تطبيع قيم محجوبة بالكامل توزيعاً معناداً. تختلف قطبية القناع وشكله بين المكتبات؛ افحص الأوزان الفعلية في حالة صغيرة بدلاً من تفسير اسم متغير منطقي.
from math import exp
scores = [1.0, 2.0, 100.0]
allowed = [True, True, False]
maximum = max(s for s, ok in zip(scores, allowed) if ok)
unnormalized = [exp(s-maximum) if ok else 0.0 for s,ok in zip(scores,allowed)]
weights = [v/sum(unnormalized) for v in unnormalized]
print([round(w,6) for w in weights])
print("masked weight", weights[2])
[0.268941, 0.731059, 0.0]
masked weight 0.0
تستبعد الدرجة العالية المحجوبة قبل التطبيع ويصبح وزنها صفراً تماماً في المثال.
لا يرمز تطابق المحتوى إلى الترتيب وحده
دون آلية موضعية، يملك الانتباه الذاتي غير المقنع بنية متكافئة مع التبديل: تبديل المدخلات والاستعلامات والمفاتيح والقيم المناظرة يبدل المخارج. تحتاج السلسلة معلومات ترتيب من تضمينات موضعية أو قواعد نسبية أو تحويلات دورانية أو أقنعة أو بنية أخرى. تغير هذه الآليات طريقة دخول الموقع وليست زينة متبادلة. يفرض القناع السببي ترتيباً لكنه لا يصرح بكل علاقة مسافة. وثق حدود السياق وافحص تغير الطول بدلاً من افتراض تعميم غير محدود.
احسب كلفة السياق وحدود التفسير
يبني الانتباه الكثيف التقليدي تفاعلاً لكل زوج مواضع، فتنمو مصفوفة الدرجات تربيعياً مع الطول. قد تقلل تنفيذات بديلة التخزين أو تغير نمط الاتصال؛ وتتوقف الذاكرة والزمن الفعليان على الخوارزمية والأشكال والعتاد. لا يقيس المساق هذه الأنظمة. تصف أوزان الانتباه تركيباً داخلياً ولا تفسر سببية القرار النهائي تلقائياً. اختبر الأقنعة والتغيرات المضبوطة المناسبة، وافصل صحة الحساب عن الإمكان المعماري والأداء المثبت للمهمة.
الأخطاء الشائعة وإصلاحها
أثر هدف مستقبلي في تنبؤ سابق
- لماذا يحدث؟
- القناع السببي غائب أو معكوس أو مبثوث على محاور خاطئة.
- كيف تصلحه؟
- افحص مجموعة المفاتيح المسموحة لكل استعلام وصحح القناع.
- كيف تتجنب تكراره؟
- تحقق من انعدام وزن المستقبل في مثال صغير غير متساوي الأطوال.
مجموع أوزان الانتباه أقل من واحد بعد الحجب
- لماذا يحدث؟
- صُفرت الاحتمالات بعد softmax دون إعادة تطبيع.
- كيف تصلحه؟
- استبعد الدرجات قبل التطبيع بالعملية الموثقة.
- كيف تتجنب تكراره؟
- افحص مجموع الصفوف وحالة حجب الكل.
لم يؤثر تبديل الرموز كما تتطلب المهمة
- لماذا يحدث؟
- لم تدخل معلومات موضع مناسبة إلى الحساب.
- كيف تصلحه؟
- أضف آلية مبررة وافحص أمثلة حساسة للترتيب.
- كيف تتجنب تكراره؟
- احتفظ بأزواج محتواها متساوٍ وترتيبها مختلف.
اختبر فهمك
1. مفتاحان مسموحان بدرجتين متساويتين وقيمتين اثنين وستة؛ فما السياق؟
اعرض الحل المشروح
يعطي softmax نصفاً لكل منهما، فيكون السياق أربعة. لا تغير إضافة ثابت مشترك النتيجة. يجب ألا يسهم مفتاح ثالث محجوب مهما كانت درجته أو قيمته المخزنة.
2. لماذا لا يكفي رسم الانتباه لتفسير القرار سببياً؟
اعرض الحل المشروح
يعرض أوزاناً داخلية لطبقة ومدخل محددين، بينما تؤثر القيم والرؤوس الأخرى والإسقاطات والمسارات المتبقية والطبقات اللاحقة أيضاً. يحتاج الادعاء السببي تدخلاً وضوابط مناسبة، لا وزناً بارزاً بصرياً فحسب.
أهم ما تعلمته
- للاستعلامات والمفاتيح والقيم أدوار مختلفة.
- تحدد الأقنعة مسارات المعلومات قبل التطبيع.
- تحتاج افتراضات الموضع والكلفة إلى اختبارات صريحة.