الوحدة 1 — الوكيل والبيئة والمكافأة: الإطار
كلّ ما ستشاهدونه لاحقًا — تعلّم Q، وDQN، وPPO — ليس إلّا صياغة لإجابة عن سؤال واحد: ما هي السياسة التي تُعظّم مجموع المكافآت المتوقّعة على المدى الطويل؟ يبدأ هذا الفصل من إطار الحلقة، لأنّ جميع الأخطاء التي تظهر لاحقًا تعود دومًا إلى شيء أُسيء تعريفه هنا.
الحلقة الأساسية
يتفاعل التعلّم المعزّز عبر حلقة لا ينفكّ الوكيل والبيئة يتبادلان فيها ثلاث كمّيات:
- تنشر البيئة الحالة .
- يختار الوكيل الفعل وفق سياسته .
- تُعيد البيئة الحالة الجديدة ومكافأة ورايةً
terminatedأوtruncated.
هذا كلّ شيء. لا يوجد «مُشرف» يُخبر الوكيل بالفعل الصحيح كما في التعلّم بالإشراف؛ توجد إشارة رقمية واحدة — المكافأة — ينبغي على الوكيل أن يستنتج منها ما يجب فعله. الاختلاف الجوهري: المكافأة قد تصل بعد آلاف الخطوات (فوز شطرنج)، والفعل الذي أوصل إليها بعيد في الماضي، وهذه هي مسألة إسناد الفضل التي تُعيد كلّ الخوارزميّات لاحقًا صياغتها.
import gymnasium as gym
env = gym.make("FrozenLake-v1", is_slippery=False)
etat, _ = env.reset(seed=42)
for _ in range(20):
action = env.action_space.sample() # سياسة عشوائية للحظة
etat, recompense, terminated, truncated, info = env.step(action)
if terminated or truncated:
etat, _ = env.reset()
الحلقة والعائد المخفوض
يُسمّى تسلسل الحلقة. تنتهي الحلقة عند terminated (وصول إلى حالة نهائية طبيعية) أو truncated (قطع اصطناعي بسبب حدّ الخطوات). الفرق مهمّ: البوتسترابنغ لاحقًا يُطبَّق فقط على truncated، أمّا terminated فيُعطي قيمة صفر للحالة التي بعده لأنّها ببساطة غير موجودة.
الكمّية التي نحاول تعظيمها ليست مكافأة الخطوة القادمة، بل العائد:
معامل يُسمّى معامل التخفيض. عندما قريب من 1 (مثل ) يهتمّ الوكيل بالمدى البعيد؛ عندما قريب من يُصبح قصير النظر بضع عشرات من الخطوات. ولا يُختار اعتباطًا: فمعامل يعني أفقًا فعّالًا حوالي خطوة، وهذا رقم يجب مقارنته بطول الحلقة. أفق أكبر من الحلقة هو دومًا هدر: الوكيل يعتقد أنّه يخطّط لأبعد من نهاية العالم.
لماذا هذا ليس تعلّمًا بالإشراف
في التعلّم بالإشراف تُعطى أزواج ، و الصحيحة معروفة، ويكفي تقليل الخطأ. في التعلّم المعزّز، البيانات التي يراها الوكيل تعتمد على سياسته: سياسة سيّئة لا تزور أبدًا الحالات التي تحتوي مكافأة، وسياسة تُغيّر سلوكها تُغيّر توزيع بياناتها. هذه الاستقلاليّة عن الحالة المكسورة تفسّر لماذا لا تُطبَّق تقنيات الإشراف المألوفة كما هي.
نتيجة عمليّة: تحتاجون تفاعلات كثيرة جدًّا. حيث يكفي التعلّم بالإشراف مثلًا بـ50 ألف صورة، قد يحتاج DQN إلى مليون تفاعل ليتعلّم لعب فيديو بسيطة. كفاءة العيّنة ضعيفة بمعيار الإشراف، وأيّ اعتقاد بأنّها ستُماثله سيؤدّي إلى إحباط كبير.
فخاخ تصميم المكافأة
اختيار دالّة المكافأة أهمّ قرار في مشروع تعلّم معزّز، وهو مصدر الأخطاء الأكثر عنادًا. ثلاثة فخاخ متكرّرة:
- الاختصار (reward hacking): يجد الوكيل طريقة لجمع المكافأة دون أداء المهمّة الحقيقية. مثال شهير: قارب سباق في لعبة أُعطي مكافأة على جمع نقاط مكافآت، فتعلّم الدوران في حلقة يجمع فيها النقاط بدل إنهاء السباق.
- المكافأة المتناثرة: نصيحة «كافئ الوصول للهدف فقط» توقف الوكيل عند الصفر طوال ملايين الخطوات لأنّه لم يصل إلى الهدف صدفةً أبدًا. تشكيل المكافأة (reward shaping) يُضيف إشارات وسيطة، لكنّه خطر لأنّه قد يُبدّل الس ياسة المُثلى نفسها.
- الوحدات المتنافرة: مكافأة على الفوز و على كلّ خطوة تعمل؛ لكن على الفوز و على الخطوة تجعل الوكيل يفضّل الانتحار بسرعة لتقليل عدد الخطوات. المقياس النسبي بين مكوّنات المكافأة هو ما يحدّد السياسة، لا الرقم المطلق.
قبل الشكوى من تقارب بطيء، اطبعوا 20 حلقة عشوائية وارسموا توزيع المكافأة المتراكمة. إذا كانت جميعها صفرًا فذلك مكافأة متناثرة، وإذا كانت جميعها كبيرة فذلك حرف عن الهدف. تشخيص المكافأة قبل تشخيص الخوارزمية يوفّر أيّامًا.
الخلاصة
- الحلقة الأساسية هي
state → action → reward → new state، وكلّ خوارزميّات هذه الدورة تحلّها. - الهدف هو تعظيم العائد المخفوض ، لا مكافأة الخطوة القادمة؛ والاختيار الحكيم لـ يعكس الأفق الفعلي للمهمّة.
- الفرق مع الإشراف: بيانات تعتمد على السياسة، وكفاءة عيّنة أضعف بمراتب.
- تصميم المكافأة سابق لكلّ قرار تقني آخر، والفخاخ الثلاثة — الاختصار، والتناثر، والوحدات — تظهر في تسعة مشاريع من عشرة.
الوحدة التالية: نُصوغ هذه الحلقة رياضيًا بوصفها عمليّة قرار ماركوفية، وهو ما يسمح بالحسابات التي ستبني بلمان وتعلّم Q.