الشبكات التكرارية ونماذج التسلسل2014متوسط12 دقيقة قراءة

التعلُّم من تسلسل إلى تسلسل باستخدام الشبكات العصبية

Sequence to Sequence Learning with Neural Networks

Sutskever, I. · Vinyals, O. · Le, Q.V. — NeurIPS

المشكلة

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

الإسهام

بنية عامة للتعلُّم التسلسلي من البداية إلى النهاية تعتمد على شبكتي LSTM متعددتي الطبقات: مُرمِّز يقرأ المتتالية المصدر ويختزلها في متجه سياق واحد ثابت الأبعاد ( الأخيرة)، ومفكّ ترميز يولِّد المتتالية الهدف رمزاً تلو الآخر انطلاقاً من هذا المتجه. الحيلة الجوهرية: عكس ترتيب الجملة المصدر بحيث تتقارب الكلمات المتناظرة فيتحسَّن التعلُّم بشكل ملحوظ. في ترجمة الإنجليزية إلى الفرنسية حقق النظام 34.81 BLEU متجاوزاً خطوط الأساس الإحصائية، ومقترباً من أفضل النتائج حين أُعيد ترتيب قوائم الترجمات المرشّحة.

الأثر

أول برهان مقنع على أن شبكة عصبية صرفة — بلا أي هندسة يدوية للسمات — تستطيع منافسة أنظمة الترجمة الآلية الإحصائية. أسّس هذا البحث نموذج –فاكّ الترميز الذي صار العمود الفقري لكل أنظمة التحويل التسلسلي الحديثة. كل إنجاز لاحق — ، ، GPT، BART — بُني مباشرةً على هذه البنية. وامتدّ أثره إلى ما هو أبعد من الترجمة: توليد التعليقات على الصور (Show and Tell)، وتركيب الكلام (Tacotron)، والذكاء الاصطناعي الحواري.

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

لا تستطيع العودة لإعادة الاستماع. كل ما تحتاجه يجب أن يكون محفوظاً في ذلك الملخص الذهني. إن كان الخطاب قصيراً فالملخص واضح وحيّ، أمّا إن طال فالتفاصيل تبدأ بالضبابية — وهذا هو الذي يفرضه التمثيل ثابت الحجم.

نموذج يعمل بالمبدأ نفسه: شبكة أولى تستمع إلى المدخل بأكمله وتختزله في متجه واحد، ثم شبكة LSTM ثانية تولِّد المخرجات اعتماداً على ذلك المتجه وحده.

المشكلة: الشبكات العصبية العميقة لا تجيد التعامل مع المتتاليات المتغيرة الطول

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

الحل السائد آنذاك — الترجمة الآلية الإحصائية القائمة على العبارات — كان سلسلة من مراحل مصمَّمة كلٌّ على حدة: نموذج محاذاة، ونموذج لغوي، ونموذج إعادة ترتيب، وجداول عبارات، ومفكّ ترميز. كل مرحلة مبنية يدوياً وتحتاج بياناتها وضبطها المستقل. لم تكن ثمة طريقة بسيطة لتدريب المنظومة بأكملها .

السؤال الذي طرحه هذا البحث: ماذا لو استطاعت شبكة عصبية واحدة أن تقرأ مدخلاً بأي طول وتولّد مخرجاً بأي طول؟

الفكرة: شبكتا LSTM — واحدة تستمع والأخرى تتكلم

اقترح سوتسكيفر وفينيالز ولي بنيةً بسيطة بشكل لافت. الفكرة أن نقسم المسألة إلى شطرين:

المُرمِّز — شبكة LSTM متعددة الطبقات تقرأ الجملة المصدر كلمةً كلمة. في كل خطوة تُحدِّث حالتها المخفية فيتشكّل تدريجياً ملخص داخلي يزداد ثراءً. بعد آخر كلمة، تتحوّل الحالة المخفية النهائية إلى متجه وحيد ثابت الأبعاد — هو — يختزل معنى الجملة المدخلة بأكملها.

— شبكة LSTM ثانية متعددة الطبقات، تبدأ عملها بتلقّي متجه السياق بوصفه حالتها المخفية الابتدائية. تولِّد الجملة الهدف كلمةً تلو الأخرى: في كل خطوة تستقبل الكلمة التي ولّدتها للتوّ وحالتها المخفية الحالية، ثم تحسب توزيعاً احتمالياً على كامل عبر دالة ، وتختار الكلمة الأعلى احتمالاً. رمز خاص لنهاية الجملة يُخبر مفكّ الترميز بالتوقف.

يُدرَّب النظام بالكامل بحيث يُعظِّم احتمال الترجمة الصحيحة بمعلومية الجملة المصدر.

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

الهدف الرياضي: تعظيم الاحتمال الشرطي

الهدف هو تقدير الاحتمال الشرطي لمتتالية الهدف y1,,yTy_1, \dots, y_{T'} عند معرفة متتالية المصدر x1,,xTx_1, \dots, x_T، علماً بأن الطولين TT وTT' قد يختلفان. يقرأ المُرمِّز الجملة المصدر ويُنتج متجه السياق vv، ثم يصوغ مفكّ الترميز الاحتمال على النحو التالي:

p(y1,,yTx1,,xT)=t=1Tp(ytv,y1,,yt1)p(y_1, \dots, y_{T'} \mid x_1, \dots, x_T) = \prod_{t=1}^{T'} p(y_t \mid v, y_1, \dots, y_{t-1})
تفكيك قاعدة السلسلة — هدف التدريب بالكاملالنموذج يولّد المخرجات كلمةً تلو الأخرى. في كل خطوة يستعين بالمعلومات المستخلصة من المدخل وبكل الكلمات التي ولّدها حتى تلك اللحظة ليتنبأ بالكلمة التالية. بتكرار هذه العملية يبني مفكّ الترميز الجملة كاملةً مع الحفاظ على اتساقها مع المدخل ومع ما سبق توليده.

من الناحية العملية، يُعظِّم التدريب لوغاريتم احتمال المتتالية الهدف الصحيحة، وهو ما يكافئ تقليل . كل تنبؤ بكلمة هو في جوهره عملية تصنيف على كامل المفردات (80,000 كلمة فرنسية في هذا البحث).

عنق الزجاجة: حشر المعنى في متجه ثابت الحجم

متجه السياق vv هو الرابط الوحيد بين المُرمِّز ومفكّ الترميز. تخيَّله كـجسر ضيِّق بين جزيرتين: كل ذرة معنى من الجملة المصدر لا بدّ أن تعبر هذا الجسر. عرض الجسر ثابت (1,000 بُعد في هذا البحث)، سواء كانت الجملة من 5 كلمات أو 50.

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

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

الحيلة التي أحدثت الفارق: اعكس ترتيب الجملة المصدر

من أكثر نتائج البحث إثارةً للدهشة: مجرد عكس ترتيب الجملة المصدر (بحيث تصبح "أ ب ج" ← "ج ب أ" قبل الترميز) حسَّن درجة بنحو 5 نقاط.

لماذا ينفع هذا؟ لنتأمَّل ترجمة "The cat sat" إلى "Le chat assis". بدون العكس، تكون أول كلمة يراها المُرمِّز ("The") بعيدة بمقدار TT خطوة عن أول كلمة يولِّدها مفكّ الترميز ("Le") في الرسم الحسابي — سلسلة طويلة تتلاشى فيها . بعد العكس تصبح آخر كلمة عالجها المُرمِّز ("The"، التي انتقلت إلى النهاية) مجاورة مباشرةً لأول كلمة يولِّدها مفكّ الترميز ("Le") — أي اعتمادية قصيرة المدى يُجيد LSTM التعامل معها.

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

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

خيارات معمارية فارقة

اتخذ المؤلفون عدة قرارات تصميمية مدروسة:

شبكات LSTM عميقة (4 طبقات) — الشبكة ذات الطبقة الواحدة أعطت نتائج أضعف بفارق واضح. كل إضافية تمنح الشبكة قدرة تمثيلية أعلى وتسمح لها ببناء سمات أكثر تجريداً. أربع طبقات حققت أفضل توازن بين العمق والقابلية للتدريب.

فصل معاملات المُرمِّز عن مفكّ الترميز — الشبكتان لا تتشاركان . المُرمِّز يتعلم الضغط، ومفكّ الترميز يتعلم التوليد. فصلهما يمنح كلاً منهما حرية التخصص في مهمته.

حالات مخفية بأبعاد 1,000 — كل طبقة LSTM تحمل متجه حالة مخفية من 1,000 بُعد. مع 4 طبقات يحمل النموذج 8,000 قيمة حقيقية تنتقل عبر كل خطوة زمنية (1,000 × 4 طبقات × 2 لحالة الخلية والحالة المخفية).

160 ألف كلمة في مفردات المصدر و80 ألفاً في مفردات الهدف — أي كلمة خارج هذا النطاق تُستبدل برمز «مجهول». حجم المفردات يحدد مباشرةً حجم طبقة Softmax في المخرجات، وبالتالي يؤثر في استهلاك الذاكرة والحوسبة.

التوليد: بحث الحزمة يجد ترجمات أفضل

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

يحتفظ بأفضل BB جملة مرشحة في كل خطوة (تُسمّى «الحزمة»). في كل موضع يوسّع كل مرشح بكل كلمة تالية ممكنة، ويقيّم التوسعات جميعها، ثم يُبقي على أفضل BB فقط. الأمر أشبه باستكشاف عدة مسارات في متاهة في الوقت نفسه بدل الالتزام بمنعطف واحد في كل مرة.

وجد البحث أن حجم حزمة يساوي 2 فقط أعطى تحسيناً ملموساً مقارنةً بفك الترميز الجشع، بينما الأحجام الأكبر أعطت مكاسب متناقصة.

افتح في المختبر
شاهد بحث الحزمة (B=3) وهو يستكشف عدة ترجمات مرشحة في آنٍ واحد. فك الترميز الجشع يلتزم بمسار واحد، أمّا بحث الحزمة فيتحوّط بعدة خيارات.
تستيقظ التجربة عند وصولك…

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

تطبيق مبسَّط لبنية مُرمِّز–فاكّ ترميز تسلسلية بشبكة LSTMpython

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

import numpy as np

def lstm_step(x, h_prev, c_prev, W, U, b):
    """خطوة واحدة من LSTM: مدخل x، حالة مخفية سابقة h، حالة خلية سابقة c."""
    z = W @ x + U @ h_prev + b      # دمج المدخل مع الحالة المخفية
    i, f, o, g = np.split(z, 4)      # بوابات: إدخال، نسيان، إخراج + مرشح
    i, f, o = sigmoid(i), sigmoid(f), sigmoid(o)
    g = np.tanh(g)
    c = f * c_prev + i * g           # تحديث الخلية: انسَ القديم واكتب الجديد
    h = o * np.tanh(c)               # الحالة المخفية: الخلية بعد البوابة
    return h, c

def encode(source_words, params):
    """اقرأ الجملة المصدر معكوسة وأعِد الحالة المخفية النهائية = متجه السياق."""
    h, c = np.zeros(D), np.zeros(D)
    for word in reversed(source_words):          # الخطوة المفتاحية: اعكس المدخل
        x = params['embed_src'][word]
        h, c = lstm_step(x, h, c, *params['enc'])
    return h  # → هذا المتجه الوحيد يختزل المدخل بأكمله

def decode(context_vector, params, max_len=50):
    """ولِّد كلمات الهدف واحدة تلو الأخرى بدءاً من متجه السياق."""
    h = context_vector       # مفكّ الترميز يبدأ حيث انتهى المُرمِّز
    c = np.zeros(D)
    word = '`<SOS>`'           # رمز بداية الجملة
    output = []
    for _ in range(max_len):
        x = params['embed_tgt'][word]
        h, c = lstm_step(x, h, c, *params['dec'])
        logits = params['W_out'] @ h + params['b_out']   # قيِّم كل كلمة
        probs = softmax(logits)                           # احتمالات على المفردات
        word = vocab[np.argmax(probs)]                    # اختيار جشع (أو بحث حزمة)
        if word == '`<EOS>`': break
        output.append(word)
    return output

# التدريب: عظِّم log p(الهدف | المصدر_المعكوس)
# عند الاستدلال: بحث الحزمة يحلّ محل الانتقاء الجشع لنتائج أفضل

نتائج غيَّرت مسار المجال

على معيار الترجمة WMT'14 من الإنجليزية إلى الفرنسية:

  • نموذج تسلسل إلى تسلسل واحد سجَّل 34.81 BLEU متجاوزاً أفضل خط أساس إحصائي قائم على العبارات (33.30) رغم خلوّه من أي سمات لغوية مصمّمة يدوياً.

  • مجموعة من 5 شبكات LSTM بتهيئات عشوائية مختلفة مع بحث الحزمة بلغت 34.81 BLEU، ما يدلّ على أن التنويع يُفيد حتى ضمن البنية ذاتها.

  • حين استُخدم نموذج تسلسل إلى تسلسل لـإعادة ترتيب أفضل 1,000 ترجمة من النظام الإحصائي، بلغ النظام المشترك 36.5 BLEU — قريباً من أفضل نتيجة آنذاك (37.0).

  • تعامل النموذج مع الجمل الطويلة بنجاح مفاجئ — خلافاً لتوقعات عنق الزجاجة ثابت الحجم — وإن تراجع الأداء فعلاً على جمل تتجاوز نحو 35 كلمة.

افتح في المختبر
قارن درجات BLEU بين المقاربات المختلفة. لاحظ كيف يضاهي النظام العصبي الترجمة الإحصائية المهندسة يدوياً.
تستيقظ التجربة عند وصولك…

ماذا تعلَّم النموذج فعلاً

ظهرت نتيجة لافتة حين أسقط المؤلفون متجهات السياق لجمل كثيرة على فضاء ثنائي الأبعاد باستخدام : الجمل المتقاربة في المعنى تجمّعت معاً — حتى لو اختلف ترتيب كلماتها الظاهري.

فمثلاً، "John admires Mary" و"Mary is admired by John" انعكستا على نقطة شبه متطابقة، بينما "John admires Mary" و"John criticizes Mary" ابتعدتا كثيراً. شبكة LSTM تعلَّمت ترميز المعنى لا مجرد تسلسل الكلمات. كان ذلك دليلاً مبكراً على أن النماذج التسلسلية تُطوِّر حقيقية وليست مجرد حفظ للأنماط.

التدريب على نطاق واسع (نسخة 2014)

كان تدريب النموذج إنجازاً هندسياً بمعايير ذلك الوقت:

  • 12 مليون زوج جمل من مجموعة بيانات WMT'14 إنجليزي-فرنسي - 8 وحدات معالجة رسوميات تعمل بالتوازي لنحو 10 أيام - 384 مليون — رقم ضخم بمعايير 2014 - لمنع - من 128 جملة مُجمَّعة حسب الطول لرفع الكفاءة - يبدأ عند 0.7 ويُنصَّف كل نصف حقبة بعد الحقبة الخامسة

عالج النموذج نحو 6,300 كلمة في الثانية موزَّعة على 8 وحدات معالجة. جُمّعت الجمل حسب أطوالها حتى تحتوي كل دفعة جملاً متقاربة الحجم، فتقلّ العمليات المهدرة على الحشو.

القيود وما تلاها

كان البحث صريحاً بشأن نقاط ضعفه:

عنق الزجاجة ثابت الحجم — ضغط جملة من 50 كلمة في متجه واحد بأبعاد 1,000 يعني حتماً فقدان معلومات. تراجع أداء النموذج على الجمل الأطول من نحو 35 كلمة، وهو بالضبط المدى الذي يبدأ فيه عنق الزجاجة بالتأثير الحاد.

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

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

المعالجة التتابعية — شبكات LSTM تعالج الرموز واحداً تلو الآخر ما يحدّ من التوازي وسرعة التدريب. المحوِّل عام 2017 حلّ هذه المشكلة بالكامل.

شجرة النَّسَب: من تسلسل إلى تسلسل نحو معالجة اللغة الحديثة

  1. 2014

    تسلسل إلى تسلسل (هذا البحث)

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

  2. 2014

    مرمِّز-فاكّ ترميز بشبكة تكرارية (Cho وآخرون)

    بنية متزامنة وثيقة الصلة قدَّمت أيضاً خلية GRU. بالتوازي مع هذا البحث، أسّسا معاً نموذج المرمِّز-فاكّ الترميز.

  3. 2015

    آلية الانتباه (بحداناو وآخرون)

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

  4. 2015

    Show and Tell (فينيالز وآخرون)

    طبّق فكرة تسلسل إلى تسلسل على توليد تعليقات الصور — شبكة التفافية تحلّ محل مرمِّز LSTM، ومفكّ الترميز يولّد وصفاً نصياً للصورة.

  5. 2016

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

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

  6. 2017

    المحوِّل (فاسواني وآخرون)

    استبدل التكرار بالانتباه الذاتي فحلّ عنق زجاجة المعالجة التتابعية. بنية المرمِّز–فاكّ الترميز موروثة مباشرةً من تسلسل إلى تسلسل.

  7. 2019

    BART (لويس وآخرون)

    مرمِّز ذاتي لإزالة التشويش مبني على بنية المحوِّل التسلسلية. دُرِّب مسبقاً عبر إفساد النص ثم تعلُّم إعادة بنائه — سليل مباشر لفكرة المرمِّز–فاكّ الترميز.

المرجعSutskever, Vinyals, Le. Sequence to Sequence Learning with Neural Networks. NeurIPS, 2014.

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