الشبكات التكرارية ونماذج التسلسل2014متوسط8 دقيقة قراءة
الترجمة الآلية العصبية عبر التعلم المشترك للمحاذاة والترجمة
Neural Machine Translation by Jointly Learning to Align and Translate
Bahdanau, D. · Cho, K. · Bengio, Y. — ICLR
المشكلة
في بنية -فاكّ الترميز المعتادة للترجمة الآلية العصبية، تُضغط الجملة المصدر بالكامل — مهما كان طولها — في متجه سياق واحد ثابت الأبعاد. هذا المتجه يتحوّل إلى عنق زجاجة حقيقي: كلما طالت الجملة، اضطر المُرمِّز إلى إهمال تفاصيل أكثر، وتنهار جودة الترجمة بوضوح في الجمل التي تتجاوز 20–30 كلمة.
الإسهام
آلية انتباه تسمح لفاكّ الترميز بالعودة ديناميكياً إلى جميع حالات المُرمِّز عند توليد كل كلمة مستهدفة. نموذج مُتعلَّم يحسب مدى صلة كل موضع في الجملة المصدر بخطوة التوليد الحالية، فيُنتج محاذاة مرنة تستبدل الثابت بمتجه سياق يتجدد في كل خطوة ويعي الموضع الذي يركز عليه. كذلك يُرقّى المُرمِّز إلى شبكة تكرارية ثنائية الاتجاه تُنتج تمثيلات أغنى تلتقط السياق من الجهتين.
الأثر
هذه الورقة التأسيسية هي التي أدخلت إلى نماذج التسلسل-إلى-تسلسل. ألهمت مباشرةً في المحوِّل، ونموذج Show-Attend-and-Tell لوصف الصور، وكل الأشكال الحديثة للانتباه. لولا هذه الورقة لما ظهر المحوِّل ولا GPT ولا Claude.
تخيّل مترجماً فورياً في مؤتمر. الطريقة القديمة تشبه أن يستمع إلى خطاب كامل مدته عشر دقائق، ثم يحاول تلخيصه في ذهنه دفعة واحدة والترجمة من الذاكرة فقط. طبيعي أن تضيع التفاصيل.
آلية الانتباه التي اقترحها باهداناو تشبه أن تضع أمام المترجم جداراً زجاجياً يُطلّ على ملاحظات المتحدث: أثناء ترجمة كل عبارة، يعود المترجم بنظره إلى الجزء المناسب من النص الأصلي — تاريخ هنا، اسم هناك، مصطلح تقني أبعد قليلاً — بدلاً من الاعتماد على ذاكرة مضغوطة واحدة.
عنق الزجاجة: متجه واحد لتذكُّر كل شيء
في نموذج المُرمِّز-فاكّ الترميز الذي قدمه تشو وآخرون (2014)، تقرأ الجملة المصدر وتضغطها في . بعد ذلك تتولى شبكة تكرارية ثانية () توليد الترجمة كلمة بكلمة اعتماداً على هذا المتجه.
المشكلة تتضح مع الجمل الطويلة. تخيّل على أنه حقيبة سفر: مهما طالت رحلتك، عليك وضع كل شيء في الحقيبة نفسها. جملة من 5 كلمات تسع بأريحية، لكن جملة من 50 كلمة تفيض عن الحقيبة. تجريبياً، ينخفض أداء نموذج تشو بحدّة في الجمل التي تتجاوز 20 كلمة.
الفكرة: دَع فاكّ الترميز يعود إلى المصدر
اقترح باهداناو وتشو وبنجيو تغييراً بسيطاً لكنه جوهري. بدلاً من إجبار الجملة المصدر كلها على المرور عبر متجه واحد، الفكرة أن نسمح لـفاكّ الترميز بأن يعود إلى الجملة المصدر كاملة في كل خطوة توليد — مع تفضيل مُتعلَّم للمواضع الأهم في تلك اللحظة.
تعمل الآلية في ثلاث مراحل، كأنك تطلب مساعدة أمين مكتبة:
- التعليق: يُنتج المُرمِّز واحداً () لكل كلمة في الجملة المصدر — كأن كل كلمة تُكتب على بطاقة فهرسة خاصة بها.
- التقييم: عندما يكون فاكّ الترميز على وشك توليد الكلمة ، يحسب درجة صلة كل تمثيل — كأن أمين المكتبة يرتّب البطاقات حسب علاقتها بسؤالك الحالي.
- الانتباه: تتحول الدرجات إلى أوزان عبر ، ويُبنى كـ لكل التمثيلات — كأن أمين المكتبة يسلمك ملخصاً مخصصاً جمعه من البطاقات الأكثر صلة.
الخطوة 1 — التعليق: المُرمِّز ثنائي الاتجاه
الشبكة التكرارية العادية تقرأ من اليسار إلى اليمين فقط، فالتمثيل عند الكلمة يلخّص الكلمات دون أن يعرف شيئاً عمّا بعدها. لكن في الترجمة كثيراً ما نحتاج سياقاً من الجهتين — مثلاً كلمة «عين» تحمل معنى مختلفاً تماماً بحسب ما إذا سبقتها «ينبوع» أو «بصر».
لذلك تستخدم الورقة (BiRNN). شبكة أمامية تقرأ الجملة من اليسار إلى اليمين وتنتج حالات مخفية ، وشبكة عكسية تقرأ من اليمين إلى اليسار وتنتج . يُدمج الاتجاهان في تمثيل واحد لكل كلمة:
الخطوة 2 — التقييم: نموذج المحاذاة
الآن نحتاج طريقة نقرر بها: عند توليد الكلمة المستهدفة ، ما مقدار إسهام كل تمثيل مصدر ؟ الورقة تقدّم شبكة صغيرة تُسمى نموذج المحاذاة، تأخذ مُدخلَين:
- : الحالة المخفية السابقة لـفاكّ الترميز — أي ما يفكر فيه حالياً.
- : تمثيل المُرمِّز عند الموضع — أي المعلومات التي تحملها تلك الكلمة المصدر.
يُنتج نموذج المحاذاة قيمة عددية تُسمى تقيس مدى توافق مع سياق فاكّ الترميز الحالي . تخيّل الأمر كأن كل كلمة في الجملة المصدر «ترفع يدها» بدرجات متفاوتة حين يسأل فاكّ الترميز: «من منكم يخصّ ما سأقوله الآن؟»
الخطوة 3 — الانتباه: بناء متجه السياق
قيم الطاقة هي درجات خام يمكن أن تأخذ أي قيمة حقيقية. لتحويلها إلى توزيع احتمالي فعلي (قيم غير سالبة مجموعها 1)، نطبّق سوفت ماكس:
بعد ذلك يُبنى متجه السياق كـمجموع موزون لجميع التمثيلات — كل كلمة مصدر تُسهم بمعلوماتها بقدر :
البنية الكاملة
بتجميع القطع معاً: يولّد فاكّ الترميز كل كلمة مستهدفة بالاعتماد على ثلاثة عناصر:
- : الكلمة المستهدفة السابقة (ما وُلِّد للتو).
- : الحالة المخفية لفاكّ الترميز (السياق المتراكم حتى الآن).
- : متجه السياق المُستخرج من الانتباه (ما تقوله الجملة المصدر بأنه الأهم الآن).
بعد ذلك يُحدّث فاكّ الترميز حالته المخفية ويُنتج التوزيع الاحتمالي للكلمة التالية:
المحاذاة على أرض الواقع
من أبرز نتائج الورقة خرائط المحاذاة البصرية. عند ترجمة النموذج من الإنجليزية إلى الفرنسية، ترسم أوزان الانتباه نمطاً شبه قُطري — لأن ترتيب الكلمات في اللغتين متقارب. لكن عند نقاط معينة ينحرف النمط: الصفة في الفرنسية تأتي بعد الاسم، فيتعلم النموذج من تلقاء نفسه أن ينتبه إلى كلمة بعد الموضع القُطري المتوقع. بعبارة أخرى، النموذج يكتشف القواعد النحوية وحده دون أن يُخبره أحد بها.
الفكرة نفسها بالكود
مبسَّط لإظهار الفكرة — ليس التنفيذ الحقيقي.
import numpy as np
def tanh(x):
return np.tanh(x)
def softmax(x):
e = np.exp(x - x.max(axis=-1, keepdims=True))
return e / e.sum(axis=-1, keepdims=True)
def bahdanau_attention(s_prev, annotations, W_a, U_a, v_a):
"""
s_prev: الحالة المخفية لفاكّ الترميز عند الخطوة i-1 (d_dec,)
annotations: جميع تمثيلات المُرمِّز h_1..h_T (T, d_enc)
W_a: أوزان مُتعلَّمة لحالة فاكّ الترميز (d_attn, d_dec)
U_a: أوزان مُتعلَّمة للتمثيلات (d_attn, d_enc)
v_a: أوزان مُتعلَّمة لاختزال النتيجة إلى درجة (d_attn,)
"""
T = annotations.shape[0]
# 1. إسقاط حالة فاكّ الترميز وكل تمثيل في فضاء المحاذاة
dec_proj = W_a @ s_prev # (d_attn,)
enc_proj = (U_a @ annotations.T).T # (T, d_attn)
# 2. الجمع مع tanh ← درجات الطاقة
energies = np.array([
v_a @ tanh(dec_proj + enc_proj[j]) # قيمة عددية لكل كلمة مصدر
for j in range(T)
]) # (T,)
# 3. سوفت ماكس ← أوزان الانتباه
weights = softmax(energies) # (T,) مجموعها 1
# 4. المجموع الموزون ← متجه السياق
context = weights @ annotations # (d_enc,)
return context, weightsالنتائج والأثر
على مهمة الترجمة من الإنجليزية إلى الفرنسية (WMT'14)، حقق النموذج القائم على الانتباه (RNNsearch-50) درجة BLEU بلغت 28.45، مقترباً من نظام الترجمة الإحصائية المبني على العبارات Moses الذي سجّل 33.30 — رغم أن النموذج عصبي بالكامل ولا يعتمد على أي سمات مصنوعة يدوياً.
الأهم من ذلك أن نموذج الانتباه حافظ على جودة الترجمة في الجمل الطويلة، بينما انهار أداء نموذج الأساسي تماماً. وكلما طالت الجملة اتسعت الفجوة: الجمل الأطول تعني تفوقاً أوضح لآلية الانتباه.
المسار التاريخي
2014
Seq2Seq (سوتسكيفر وآخرون)
طبقات LSTM متراصّة في بنية مُرمِّز-فاكّ ترميز للترجمة الآلية. اعتمدت على متجه سياق واحد ثابت الأبعاد — وهو عنق الزجاجة الذي تعالجه هذه الورقة.
2014
انتباه باهداناو (هذه الورقة)
قدّمت آلية الانتباه: نموذج محاذاة مُتعلَّم يتيح لفاكّ الترميز التركيز ديناميكياً على مواضع مختلفة في الجملة المصدر. أول انتباه مرن في الترجمة الآلية العصبية.
2015
انتباه لونغ
بسّط دالة التقييم الجمعية عند باهداناو إلى صيغة ضربية تعتمد على الضرب النقطي. وقدّم التمييز بين الانتباه المحلي والشامل مع تقنية التغذية المدخلية. أسرع وبنفس الفعالية.
2015
Show, Attend and Tell
نقل فكرة الانتباه إلى مجال وصف الصور — فاكّ الترميز ينتبه إلى مناطق مختلفة من خريطة سمات الشبكة الالتفافية عند توليد كل كلمة. أثبت أن الانتباه مفهوم عام يتجاوز النصوص.
2016
الترجمة الآلية العصبية من جوجل (GNMT)
نقلت الترجمة الآلية العصبية القائمة على الانتباه إلى بيئة الإنتاج في خدمة ترجمة جوجل. استخدمت بنية مُرمِّز-فاكّ ترميز من 8 طبقات مع انتباه، وحققت جودة قريبة من الترجمة البشرية في عدة أزواج لغوية.
2017
المحوِّل — الانتباه هو كل ما تحتاجه
تخلّص من التكرارية كلياً واستبدلها بالانتباه الذاتي. كل موضع ينتبه إلى كل موضع آخر بالتوازي، وهذا ما أتاح التوازي الحسابي على وحدات المعالجة الرسومية وفتح الباب أمام النماذج اللغوية الكبيرة الحديثة.
المرجعBahdanau, D., Cho, K., Bengio, Y.. Neural Machine Translation by Jointly Learning to Align and Translate. ICLR 2015, 2014.
مصطلحات هذه الورقة
- الانتباه الجمعيAdditive Attention
- نموذج المحاذاةAlignment Model
- الانتباه المَرِنSoft Attention
- متجه السياق ثابت الحجمFixed-Length Context Vector
- التمثيل التعليقيAnnotation
- درجة الطاقةEnergy Score
- الشبكة التكرارية ثنائية الاتجاهBidirectional RNN