التعلم المعزز2021متوسط11 دقيقة قراءة

عُد أولاً، ثم استكشِف

First Return, Then Explore

Ecoffet, A. · Huizinga, J. · Lehman, J. · Stanley, K.O. · Clune, J. — Nature

المشكلة

تعاني خوارزميات التعلّم المعزّز حين تكون المكافآت في البيئة نادرة أو مُضلِّلة. في ألعاب مثل Montezuma's Revenge وPitfall قد يحتاج إلى تنفيذ مئات الأفعال الصحيحة قبل أن يحصل على أي . أساليب الاستكشاف القائمة — بما فيها التحفيز الذاتي والفضول — تفشل بسبب مشكلتين جوهريتين: الأولى أن الخوارزمية تنسى كيف تعود إلى حالات واعدة سبق أن اكتشفتها (الانفصال)، والثانية أن ضجيج الاستكشاف يمنعها من العودة الموثوقة إلى تلك الحالات من الأساس (الانحراف).

الإسهام

Go-Explore: عائلة من الخوارزميات تُعالج الانفصال والانحراف بشكل مباشر. تحتفظ لكل الحالات التي زارتها، وتعود صراحةً إلى الحالات الواعدة قبل أن تستكشف، ثم — اختيارياً — تُقوّي المسارات المُكتشفة وتحوّلها إلى سياسات متينة أمام العشوائية عبر . حلّ Go-Explore جميع ألعاب Atari التي لم تكن محلولة سابقاً وحقّق تحسينات بأوامر من المقدار على Montezuma's Revenge وPitfall، كما حلّ مهمة روبوتية صعبة ذات مكافأة نادرة للغاية.

الأثر

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

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

أغلب الوكلاء في يشبهون مستكشفي كهوف بلا دفتر ولا جهاز انتقال: ينطلقون من المدخل في كلّ مرة ويأملون أن يتقدّموا عشوائياً أبعد من المحاولة السابقة. Go-Explore هو المستكشف الذي يملك كل الأدوات: تذكّر، عُد، استكشِف.

المشكلة: لماذا يفشل الاستكشاف الحالي

التعلّم المعزّز حقّق أداءً يفوق البشر في Go وStarCraft II وDota II — لكن كل هذه النجاحات اعتمدت على مكافآت كثيفة ومُشكَّلة بعناية تُعطي تغذية راجعة مستمرة. في كثير من المسائل العملية تكون المكافآت نادرة: تخيّل روبوتاً منزلياً لا يحصل على مكافأة إلا لحظة وضع الكوب في الخزانة بنجاح، وقبل ذلك عليه تنفيذ مئات الحركات الدقيقة دون أيّ إشارة توجّهه. وقد تكون المكافآت مُضلِّلة أيضاً: السير نحو أقرب مكافأة ظاهرة قد يقود الروبوت إلى طريق مسدود.

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

ما ميّز Go-Explore هو أنه لم يُقدّم حلاً فحسب، بل شخّص سبب الفشل أولاً، وحدّده في نمطَي إخفاق واضحين: الانفصال والانحراف.

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

الحل: تذكّر، عُد، استكشِف

فكرة Go-Explore بسيطة بشكل لافت، وتقوم على ثلاثة مبادئ:

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

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

3. ثم استكشِف — بمجرد الوصول إلى الحالة المختارة، يبدأ الاستكشاف الصرف: أفعال عشوائية أو سياسة استكشاف مُتعلَّمة. كل حالة جديدة يُصادفها تُضاف إلى الأرشيف.

هذا الفصل بين العودة والاستكشاف هو ما يحلّ المشكلتين معاً: الأرشيف لا ينسى أبداً (فيُعالَج الانفصال)، والعودة تحدث بلا ضجيج (فيُعالَج الانحراف).

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

تمثيل الخلايا: تجميع الحالات بذكاء

أيّ حقيقية تحتوي على عدد هائل من الحالات الفريدة يستحيل تخزينها واحدةً واحدة. الحلّ في Go-Explore هو فكرة الخلية: نأخذ مجموعة من الحالات التي تبدو متشابهة من حيث قيمتها الاستكشافية ونُعاملها ككيان واحد.

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

أمّا في Montezuma's Revenge مع معرفة مسبقة بالمجال، فالخلية تتكوّن من رقم الغرفة وموضع الوكيل التقريبي ومستوى اللعبة الحالي والمفاتيح التي بحوزته. هذا التمثيل المدمج يلتقط بدقّة ما يهمّ فعلاً لتقدّم الاستكشاف.

النقطة الجوهرية هنا أن اختيار تمثيل الخلية يُحدث فرقاً كبيراً: التمثيل الجيد يجمع الحالات التي لا فرق بينها من منظور الاستكشاف، ويُفرّق بين الحالات التي تمثّل حدوداً استكشافية مختلفة فعلاً.

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

مرحلتان: استكشف، ثم قوِّ

أبسط نسخ Go-Explore تعمل على مرحلتين منفصلتين، وكل مرحلة تحلّ مشكلة مختلفة:

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

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

وهنا تكمن قوة هذا التصميم: المرحلة الأولى حرّة في استخدام أيّ وسيلة للاستكشاف — حتى الحتمية واستعادة حالات المحاكي — لأن المرحلة الثانية هي التي تضمن أن السياسة النهائية تتعامل مع عشوائية العالم الحقيقي.

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

اختيار وجهة الاستكشاف: انتقاء الخلايا

ليست كل الخلايا في الأرشيف متساوية في قيمتها الاستكشافية. Go-Explore يختار الخلايا احتمالياً، والفكرة بسيطة: فضّل الخلايا التي زُرتها مرات أقل أثناء الاستكشاف، لأن المناطق المحيطة بها على الأرجح لم تُستكشف بعد.

الوزن الذي تحصل عليه كل خلية يتناسب عكسياً مع الجذر التربيعي لعدد مرات اختيارها:

W=1Cseen+1W = \frac{1}{\sqrt{C_{\text{seen}} + 1}}
وزن اختيار الخلية — تفضيل الخلايا الأقلّ زيارةCseenC_{\text{seen}} يُمثّل عدد المرات التي زِيرت فيها الخلية أثناء الاستكشاف. خلية زِيرت مرة واحدة تحصل على وزن 120.71\frac{1}{\sqrt{2}} \approx 0.71، في حين أن خلية زِيرت 100 مرة ينخفض وزنها إلى 11010.10\frac{1}{\sqrt{101}} \approx 0.10. بهذا الشكل يتحوّل الاهتمام تدريجياً نحو الخلايا الأقل استكشافاً دون تجاهل البقية كلياً.

في Montezuma's Revenge حين تتوفّر معرفة مسبقة بالمجال، يُضيف Go-Explore معايير مكانية ذكية إلى عملية الاختيار. مثلاً: الخلايا التي لها جيران أفقيون أقلّ في الأرشيف تحصل على وزن إضافي، لأنها تقع عند حافة المنطقة المستكشفة — أي أنها أقرب إلى المجهول. كذلك تُعطى أولوية للخلايا التي يحمل فيها الوكيل أكبر عدد من المفاتيح عند موقع معيّن. هذه الأوزان المُدركة للمجال تُسرّع الاستكشاف بشكل ملحوظ في البيئات ذات البنية المنتظمة.

Go-Explore بالسياسة: لا حاجة للمحاكي

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

هذا المتغيّر يُقدّم فائدتين مهمتين. الأولى أنّ وجود سياسة متاحة أثناء خطوة الاستكشاف يُحسّن الاستكشاف جذرياً: بدلاً من الأفعال العشوائية، يمكن توجيه الوكيل نحو أهداف جديدة — بما فيها خلايا لم تدخل الأرشيف بعد. التجارب أظهرت أنّ الاستكشاف بالسياسة يكتشف نحو أربعة أضعاف ما تكتشفه الأفعال العشوائية في كلٍّ من Montezuma's Revenge وPitfall.

الفائدة الثانية أنّ السياسة تتدرّب في بيئة عشوائية منذ البداية، فتتعلّم التعامل مع عشوائية البيئة بشكل طبيعي أثناء التدريب — وبالتالي لا حاجة لمرحلة تقوية منفصلة.

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

افتح في المختبر
قارن بين استراتيجيتَي العودة: استعادة المحاكي (تنقّل فوري) مقابل العودة بالسياسة (ملاحة مُتعلَّمة). بدّل بينهما لترى المفاضلات.
تستيقظ التجربة عند وصولك…

النتائج: حلّ ما كان مستعصياً

النتائج التي حقّقها Go-Explore كانت مذهلة بكل المقاييس. لنستعرضها على معيار Atari:

في Montezuma's Revenge حصل Go-Explore بعد التقوية مع التمثيل المُصغَّر على 43,791 نقطة — أي أربعة أضعاف أفضل نتيجة سابقة (11,618)، ومتفوّقاً بفارق كبير على متوسط الأداء البشري (4,753). ومع المعرفة المسبقة بالمجال، وصلت النتيجة إلى 1,731,645 متجاوزةً حتى الرقم القياسي البشري العالمي البالغ 1.2 مليون.

في Pitfall سجّل Go-Explore 6,954 نقطة — والمفاجأة أنه أول خوارزمية تُسجّل أيّ نقاط في هذه اللعبة تحت التقييم العشوائي الصحيح، بينما كانت أفضل نتيجة سابقة صفراً تماماً.

مرحلة الاستكشاف وحدها — أي قبل التقوية — تجد مسارات تتفوّق على البشر في كل ألعاب Atari الخمس والخمسين، بما فيها تجاوز أفضل النتائج المنشورة في 83.6% من الألعاب.

وعلى صعيد الروبوتيات، في مهمة التقاط ووضع صعبة — حيث يجب على ذراع روبوتية إمساك جسم ووضعه في أحد أربعة رفوف (اثنان منها خلف أبواب بمزالج) — حقّق Go-Explore نسبة نجاح 99%. في المقابل، PPO القياسي لم يجد أيّ مكافأة بعد مليار إطار. وحتى التحفيز الذاتي القائم على العدّ بنفس المعرفة المسبقة فشل أيضاً، ولم يستطع حتى تعلّم الإمساك الموثوق بسبب الانحراف.

افتح في المختبر
قارن نتائج Go-Explore بأفضل النتائج السابقة والأداء البشري على أصعب ألعاب Atari. لاحظ أن الفارق ليس نسبة مئوية بل مراتب من المقدار.
تستيقظ التجربة عند وصولك…

لماذا يهمّ هذا: البساطة تتفوّق على التعقيد

الأمر اللافت في Go-Explore هو الهُوَّة بين بساطة آلياته وضخامة نتائجه. لسنوات، استثمر الباحثون جهوداً كبيرة في أساليب تحفيز ذاتي معقّدة — خطأ التنبّؤ، وحدات الفضول، مكافآت العدّ — وكانت المكاسب تدريجية. ثم جاء Go-Explore بحلقته البسيطة «تذكّر، عُد، استكشِف» وحقّق قفزات بمراتب من المقدار.

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

ورؤية الورقة تتجاوز Go-Explore نفسه. فكرة تفكيك الاستكشاف إلى مرحلة عودة ثم مرحلة استكشاف هي مبدأ عام يصلح للدمج مع أيّ خوارزمية تعلّم معزّز. إنه تحوّل من فلسفة «استكشف في كل مكان قليلاً» إلى «عُد إلى نقطة محدّدة، ثم استكشف منها بعمق» — وهو نموذج أقرب فعلاً إلى الطريقة التي يستكشف بها البشر والحيوانات بيئاتهم.

الحلقة الأساسية في الكود

حلقة Go-Explore الأساسية (شِفرة زائفة مُبسَّطة)python

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

archive = {initial_cell: (initial_state, empty_trajectory)}
while not done:
    # 1. اختر — انتقِ خلية واعدة
    cell = select_cell(archive, weights)

    # 2. عُد — ارجع إلى تلك الحالة (بدون ضجيج استكشاف!)
    restore_simulator_state(archive[cell].state)

    # 3. استكشِف — نفّذ أفعالاً عشوائية من الحالة المُستعادة
    for step in range(explore_steps):
        action = random_action()
        new_state, reward = env.step(action)
        new_cell = map_to_cell(new_state)

        # حدّث الأرشيف إن كانت الخلية جديدة أو المسار أفضل
        if new_cell not in archive or is_better(trajectory, archive[new_cell]):
            archive[new_cell] = (new_state, current_trajectory)

السياق: الخطّ الزمني للاستكشاف

  1. 2015

    DQN على Atari (منيه وآخرون)

    حققت شبكات Q العميقة أداءً بمستوى بشري على كثير من ألعاب Atari لكنها فشلت في ألعاب الاستكشاف الصعب مثل Montezuma's Revenge مسجّلةً قرب الصفر.

  2. 2017

    ICM — وحدة الفضول الذاتي

    قدّم باثاك وآخرون الاستكشاف المبني على الفضول مستخدمين خطأ التنبّؤ كمكافأة ذاتية. حسّنت بعض الألعاب الصعبة لكنها ظلّت بعيدة عن المستوى البشري في Montezuma's Revenge.

  3. 2018

    RND — تقطير الشبكة العشوائية

    استخدم بوردا وآخرون خطأ التنبّؤ على سمات عشوائية كمكافأة ذاتية. وصلوا إلى نحو 10,000 على Montezuma's Revenge — الأفضل حينها لكن أقل من المستوى البشري.

  4. 2019

    النسخة الأولية لـ Go-Explore (إيكوفيه وآخرون)

    النسخة الأولية التي قدّمت Go-Explore مع استعادة حالة المحاكي. أظهرت تحسينات ضخمة لكن المجتمع ناقش في البداية الاعتماد على الحتمية.

  5. 2020

    Agent57 (باديا وآخرون)

    حقّق Agent57 من DeepMind أيضاً أداءً فوق بشري على كل ألعاب Atari بالتزامن، لكن بشروط تقييم أسهل. مقاربة مختلفة أكّدت أن جميع الألعاب قابلة للحل.

  6. 2021

    Go-Explore يُنشر في Nature

    نُشرت الورقة الكاملة في Nature متضمنةً Go-Explore بالسياسة ونتائج الروبوتيات. رسّخت مبدأ «عُد أولاً، ثم استكشِف» كمبدأ أساسي في الاستكشاف.

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

المرجعEcoffet, Huizinga, Lehman, Stanley, Clune. First return, then explore. Nature, 2021.

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