ML 101
M09 · L01
الوحدة 9

آلية الـ attention

من عنق زجاجة الـ vector الثابت للبحث الديناميكي — إزاي الـ attention (الانتباه) بيدّي كل خطوة decoding وصول مباشر لأي مكان في الـ encoder، وليه الفكرة دي أعادت تشكيل الـ deep learning كله.

01 / 11
ML 101
M09 · L01
المشكلة

عنق الزجاجة

الـ recurrent encoder–decoder بيضغط الـ input كله في vector واحد حجمه ثابت. ومع الـ sequences الطويلة، المعلومات المهمة بتضيع. والـ attention بيسيب العنق ده خالص.

output الـ encoder
N حالة
عنق زجاجة الـ RNN
vector 1
02 / 11
ML 101
M09 · L01
الـ Bahdanau attention (2015)

استرجاع موزون

الـ context vector
c_t=\sum_{j=1}^{N}\alpha_{tj}\,h_j,\quad \alpha_{tj}=\frac{\exp(e_{tj})}{\sum_k\exp(e_{tk})}

درجات الـ alignment etj بتقيس الصلة. والـ softmax بتدّي weights αtj مجموعها 1. والسياق ct = مجموع موزون لكل حالات الـ encoder. بيتفاضل تمامًا.

03 / 11
ML 101
M09 · L01
التجريد

query · key · value

  • الـ query (Q) — أنا بدوّر على إيه؟
  • الـ key (K) — كل مكان فيه إيه؟
  • الـ value (V) — كل مكان بيرجّع أنهي معلومات؟
  • التلاتة linear projections: Q=XWQ, K=XWK, V=XWV
04 / 11
ML 101
M09 · L01
الـ scaled dot-product attention

ضرب matrices واحد

معادلة الـ attention
\text{softmax}\!\left(\frac{QK^\top}{\sqrt{d_k}}\right)V

القسمة على √dk بتمنع تشبّع الـ gradient. والـ mask الاختياري بيحط الأماكن الجاية بـ −∞ للـ causal attention.

05 / 11
ML 101
M09 · L01
ليه الـ scaling؟

التحكم في الـ variance

الـ dot products العشوائية بين vectors Q وK المتوزّعة طبيعي معياري الـ variance بتاعها dk. ومن غير scaling، dk الكبير بيخلّي الـ softmax تقريبًا one-hot — gradients قريبة من الصفر، وتدريب بطيء.

الـ variance من غير scaling
dk
الـ variance بعد الـ scaling
1
06 / 11
ML 101
M09 · L01
الـ multi-head attention

h head بالتوازي

  • h attention heads مستقلين، كل واحد في أبعاد dk = dmodel/h
  • كل head بيتعلّم نوع مختلف من العلاقات (نحوية، معنوية، مكانية)
  • الـ outputs بتتوصّل وتتعمل لها projection لـ dmodel عن طريق WO
  • نفس العدد الإجمالي للـ parameters زي head واحد بالأبعاد الكاملة
07 / 11
ML 101
M09 · L01
الـ self-attention

كل مكان بينتبه لكل مكان تاني

  • Q وK وV كلهم طالعين من نفس الـ input sequence X
  • كل token بيجمع السياق من كل الـ tokens التانية في نفس الوقت
  • بيتحسب بالتوازي — مفيش اعتماد تسلسلي زي الـ recurrent networks
  • التكلفة: O(n²d) — تربيعي في طول الـ sequence
08 / 11
ML 101
M09 · L01
الـ cross-attention

sequenceين بيتفاعلوا

  • الـ queries من sequence (الـ decoder)، والـ keys والـ values من تانية (الـ encoder)
  • نفس رياضة الـ self-attention — اللي بيختلف مصدر Q وK وV بس
  • بيسمح بـ: الترجمة، وصف الصور، الـ speech recognition
  • أداة موحّدة لأي تفاعل بين الـ sequences والـ modalities
09 / 11
ML 101
اختبار سريع

شوف إيه اللي ثبت

أربع أسئلة من الدرس ده. جاوب عشان تشوف السبب — الشرح بيظهر سواء جاوبت صح أو غلط. ونتيجتك مش بتتحفظ.

السؤال 1 من 0
النتيجة 0/0

10 / 11
ML 101
الخلاصة
مراجعة

اتعلّمت إيه

الـ attention بيبدّل عنق زجاجة الـ vector الثابت باسترجاع موزون ديناميكي. وتجريد Q–K–V بيوحّد الـ Bahdanau attention والـ scaled dot-product attention والـ multi-head attention والـ self- والـ cross-attention في أداة واحدة أنيقة. والدرس 9.2 بيجمّع الحتت دي في architecture الـ transformer كاملة.

11 / 11