الشبكات التكرارية ونماذج التسلسل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)، تقرأ الجملة المصدر وتضغطها في cc. بعد ذلك تتولى شبكة تكرارية ثانية () توليد الترجمة كلمة بكلمة اعتماداً على هذا المتجه.

المشكلة تتضح مع الجمل الطويلة. تخيّل cc على أنه حقيبة سفر: مهما طالت رحلتك، عليك وضع كل شيء في الحقيبة نفسها. جملة من 5 كلمات تسع بأريحية، لكن جملة من 50 كلمة تفيض عن الحقيبة. تجريبياً، ينخفض أداء نموذج تشو بحدّة في الجمل التي تتجاوز 20 كلمة.

افتح في المختبر
شاهد كيف تُضغط المعلومات في متجه ثابت الأبعاد. ثم بدّل العرض لترى كيف يحافظ الانتباه على إمكانية الوصول إلى كل كلمة في الجملة المصدر.
تستيقظ التجربة عند وصولك…

الفكرة: دَع فاكّ الترميز يعود إلى المصدر

اقترح باهداناو وتشو وبنجيو تغييراً بسيطاً لكنه جوهري. بدلاً من إجبار الجملة المصدر كلها على المرور عبر متجه واحد، الفكرة أن نسمح لـفاكّ الترميز بأن يعود إلى الجملة المصدر كاملة في كل خطوة توليد — مع تفضيل مُتعلَّم للمواضع الأهم في تلك اللحظة.

تعمل الآلية في ثلاث مراحل، كأنك تطلب مساعدة أمين مكتبة:

  • التعليق: يُنتج المُرمِّز واحداً () لكل كلمة في الجملة المصدر — كأن كل كلمة تُكتب على بطاقة فهرسة خاصة بها.
  • التقييم: عندما يكون فاكّ الترميز على وشك توليد الكلمة ii، يحسب درجة صلة كل تمثيل — كأن أمين المكتبة يرتّب البطاقات حسب علاقتها بسؤالك الحالي.
  • الانتباه: تتحول الدرجات إلى أوزان عبر ، ويُبنى كـ لكل التمثيلات — كأن أمين المكتبة يسلمك ملخصاً مخصصاً جمعه من البطاقات الأكثر صلة.

الخطوة 1 — التعليق: المُرمِّز ثنائي الاتجاه

الشبكة التكرارية العادية تقرأ من اليسار إلى اليمين فقط، فالتمثيل عند الكلمة jj يلخّص الكلمات 1,,j1, \ldots, j دون أن يعرف شيئاً عمّا بعدها. لكن في الترجمة كثيراً ما نحتاج سياقاً من الجهتين — مثلاً كلمة «عين» تحمل معنى مختلفاً تماماً بحسب ما إذا سبقتها «ينبوع» أو «بصر».

لذلك تستخدم الورقة (BiRNN). شبكة أمامية تقرأ الجملة من اليسار إلى اليمين وتنتج حالات مخفية h1,,hT\overrightarrow{h_1}, \ldots, \overrightarrow{h_T}، وشبكة عكسية تقرأ من اليمين إلى اليسار وتنتج h1,,hT\overleftarrow{h_1}, \ldots, \overleftarrow{h_T}. يُدمج الاتجاهان في تمثيل واحد لكل كلمة:

hj=[hj;hj]h_j = \left[\overrightarrow{h_j}^{\top} ; \overleftarrow{h_j}^{\top}\right]^{\top}
التمثيل ثنائي الاتجاه — كل كلمة تعرف جوارها الكاملدمج الحالة المخفية الأمامية مع العكسية يمنح كل تمثيل رؤية شاملة للكلمات المحيطة بالموضع j من الجهتين، وليس فقط الكلمات التي تسبقه.
افتح في المختبر
تابع التمريرة الأمامية (→) والعكسية (←) وهما تبنيان التمثيلات. كل تمثيل يلتقط سياق الجملة من الجهتين.
تستيقظ التجربة عند وصولك…

الخطوة 2 — التقييم: نموذج المحاذاة

الآن نحتاج طريقة نقرر بها: عند توليد الكلمة المستهدفة ii، ما مقدار إسهام كل تمثيل مصدر hjh_j؟ الورقة تقدّم شبكة صغيرة تُسمى نموذج المحاذاة، تأخذ مُدخلَين:

  • si1s_{i-1}: الحالة المخفية السابقة لـفاكّ الترميز — أي ما يفكر فيه حالياً.
  • hjh_j: تمثيل المُرمِّز عند الموضع jj — أي المعلومات التي تحملها تلك الكلمة المصدر.

يُنتج نموذج المحاذاة قيمة عددية تُسمى eije_{ij} تقيس مدى توافق hjh_j مع سياق فاكّ الترميز الحالي si1s_{i-1}. تخيّل الأمر كأن كل كلمة في الجملة المصدر «ترفع يدها» بدرجات متفاوتة حين يسأل فاكّ الترميز: «من منكم يخصّ ما سأقوله الآن؟»

eij=vatanh(Wasi1+Uahj)e_{ij} = v_a^{\top} \tanh(W_a \, s_{i-1} + U_a \, h_j)
طاقة الانتباه الجمعي — قلب الورقة البحثيةتقيس هذه الدرجة مدى أهمية موضع معيّن في الجملة المصدر بالنسبة إلى خطوة التوليد الحالية. الفكرة أن الآلية تأخذ حالة فاكّ الترميز وتمثيل الكلمة المصدر، وتجمعهما في فضاء واحد ثم تُخرج درجة توافق واحدة. كلما ارتفعت الدرجة، زاد تركيز النموذج على ذلك الجزء من المدخلات عند توليد الكلمة التالية. وجميع مكونات دالة التقييم هذه تُتعلَّم تلقائياً أثناء التدريب.
افتح في المختبر
تابع خطوات نموذج المحاذاة: شاهد كيف تحوّل المصفوفات W و U والمتجه v متجهين إلى درجة صلة واحدة.
تستيقظ التجربة عند وصولك…

الخطوة 3 — الانتباه: بناء متجه السياق

قيم الطاقة eije_{ij} هي درجات خام يمكن أن تأخذ أي قيمة حقيقية. لتحويلها إلى توزيع احتمالي فعلي (قيم غير سالبة مجموعها 1)، نطبّق سوفت ماكس:

αij=exp(eij)k=1Texp(eik)\alpha_{ij} = \frac{\exp(e_{ij})}{\sum_{k=1}^{T} \exp(e_{ik})}
أوزان الانتباه — اختيار مَرِن على مواضع المصدرتحدد هذه الأوزان مقدار التركيز الذي يمنحه النموذج لكل موضع في الجملة المصدر عند توليد الكلمة الحالية. الآلية تحوّل درجات الصلة إلى توزيع احتمالي: المواضع الأكثر ارتباطاً تحصل على أوزان أكبر، لكن المواضع الأخرى لا تُلغى تماماً بل تُسهم بنسب أقل. ولأن مجموع الأوزان يساوي واحداً في كل خطوة، يسهل تفسيرها كتوزيع يوضح أين يركّز النموذج انتباهه.

بعد ذلك يُبنى متجه السياق cic_i كـمجموع موزون لجميع التمثيلات — كل كلمة مصدر تُسهم بمعلوماتها بقدر :

ci=j=1Tαijhjc_i = \sum_{j=1}^{T} \alpha_{ij} \, h_j
متجه السياق — ملخص مخصص لكل كلمة مستهدفةالنماذج القديمة كانت تعتمد على ملخص ثابت واحد للجملة المصدر بأكملها. آلية الانتباه تستبدل ذلك بسياق ديناميكي يُعاد حسابه في كل خطوة توليد. النتيجة أن كل كلمة في المخرجات تستطيع التركيز على أجزاء مختلفة من المدخلات، فيصل النموذج إلى المعلومات الأنسب في اللحظة التي يحتاجها.
افتح في المختبر
انقر على كلمة مستهدفة لترى كيف يُبنى متجه سياقها من التمثيلات المصدر الموزونة.
تستيقظ التجربة عند وصولك…

البنية الكاملة

بتجميع القطع معاً: يولّد فاكّ الترميز كل كلمة مستهدفة yiy_i بالاعتماد على ثلاثة عناصر:

  • yi1y_{i-1}: الكلمة المستهدفة السابقة (ما وُلِّد للتو).
  • si1s_{i-1}: الحالة المخفية لفاكّ الترميز (السياق المتراكم حتى الآن).
  • cic_i: متجه السياق المُستخرج من الانتباه (ما تقوله الجملة المصدر بأنه الأهم الآن).

بعد ذلك يُحدّث فاكّ الترميز حالته المخفية ويُنتج التوزيع الاحتمالي للكلمة التالية:

si=f(si1,  yi1,  ci)p(yiy<i,x)=g(yi1,  si,  ci)\begin{aligned} s_i &= f(s_{i-1},\; y_{i-1},\; c_i) \\[4pt] p(y_i \mid y_{<i}, \mathbf{x}) &= g(y_{i-1},\; s_i,\; c_i) \end{aligned}
فاكّ الترميز مع الانتباه — خطوة التوليد الكاملةفي كل خطوة توليد، يُحدّث فاكّ الترميز حالته الداخلية بناءً على الكلمة التي ولّدها للتو ومتجه السياق الحالي الذي استمده من آلية الانتباه. ثم يستخدم هذه الحالة المحدَّثة مع معلومات السياق للتنبؤ بالكلمة التالية. هذا التحديث المستمر للحالة وتجديد نقطة التركيز على الجملة المصدر هو ما يجعل النموذج قادراً على توليد ترجمة مترابطة تتابع الأجزاء المناسبة لحظة بلحظة.
افتح في المختبر
انقر على أي مكوّن لفهم دوره في سلسلة المُرمِّز-فاكّ الترميز-الانتباه.
تستيقظ التجربة عند وصولك…

المحاذاة على أرض الواقع

من أبرز نتائج الورقة خرائط المحاذاة البصرية. عند ترجمة النموذج من الإنجليزية إلى الفرنسية، ترسم أوزان الانتباه نمطاً شبه قُطري — لأن ترتيب الكلمات في اللغتين متقارب. لكن عند نقاط معينة ينحرف النمط: الصفة في الفرنسية تأتي بعد الاسم، فيتعلم النموذج من تلقاء نفسه أن ينتبه إلى كلمة بعد الموضع القُطري المتوقع. بعبارة أخرى، النموذج يكتشف القواعد النحوية وحده دون أن يُخبره أحد بها.

افتح في المختبر
مرّر المؤشر فوق الخريطة الحرارية لاستعراض أوزان الانتباه. لاحظ النمط شبه القُطري وأين ينكسر بسبب اختلاف ترتيب الكلمات.
تستيقظ التجربة عند وصولك…

الفكرة نفسها بالكود

انتباه باهداناو الجمعي، كاملاًpython

مبسَّط لإظهار الفكرة — ليس التنفيذ الحقيقي.

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 — رغم أن النموذج عصبي بالكامل ولا يعتمد على أي سمات مصنوعة يدوياً.

الأهم من ذلك أن نموذج الانتباه حافظ على جودة الترجمة في الجمل الطويلة، بينما انهار أداء نموذج الأساسي تماماً. وكلما طالت الجملة اتسعت الفجوة: الجمل الأطول تعني تفوقاً أوضح لآلية الانتباه.

المسار التاريخي

  1. 2014

    Seq2Seq (سوتسكيفر وآخرون)

    طبقات LSTM متراصّة في بنية مُرمِّز-فاكّ ترميز للترجمة الآلية. اعتمدت على متجه سياق واحد ثابت الأبعاد — وهو عنق الزجاجة الذي تعالجه هذه الورقة.

  2. 2014

    انتباه باهداناو (هذه الورقة)

    قدّمت آلية الانتباه: نموذج محاذاة مُتعلَّم يتيح لفاكّ الترميز التركيز ديناميكياً على مواضع مختلفة في الجملة المصدر. أول انتباه مرن في الترجمة الآلية العصبية.

  3. 2015

    انتباه لونغ

    بسّط دالة التقييم الجمعية عند باهداناو إلى صيغة ضربية تعتمد على الضرب النقطي. وقدّم التمييز بين الانتباه المحلي والشامل مع تقنية التغذية المدخلية. أسرع وبنفس الفعالية.

  4. 2015

    Show, Attend and Tell

    نقل فكرة الانتباه إلى مجال وصف الصور — فاكّ الترميز ينتبه إلى مناطق مختلفة من خريطة سمات الشبكة الالتفافية عند توليد كل كلمة. أثبت أن الانتباه مفهوم عام يتجاوز النصوص.

  5. 2016

    الترجمة الآلية العصبية من جوجل (GNMT)

    نقلت الترجمة الآلية العصبية القائمة على الانتباه إلى بيئة الإنتاج في خدمة ترجمة جوجل. استخدمت بنية مُرمِّز-فاكّ ترميز من 8 طبقات مع انتباه، وحققت جودة قريبة من الترجمة البشرية في عدة أزواج لغوية.

  6. 2017

    المحوِّل — الانتباه هو كل ما تحتاجه

    تخلّص من التكرارية كلياً واستبدلها بالانتباه الذاتي. كل موضع ينتبه إلى كل موضع آخر بالتوازي، وهذا ما أتاح التوازي الحسابي على وحدات المعالجة الرسومية وفتح الباب أمام النماذج اللغوية الكبيرة الحديثة.

المرجعBahdanau, D., Cho, K., Bengio, Y.. Neural Machine Translation by Jointly Learning to Align and Translate. ICLR 2015, 2014.

مصطلحات هذه الورقة