إسماعيل بن علا

FrozenLake RL

طرق التعلم المعزز الكلاسيكية مقارنةً بالحل الأمثل الدقيق

التعلم المعزز · أكتوبر 2026 · مكتمل

أربع عشرة طريقة كلاسيكية للتعلم المعزز على FrozenLake وTaxi وCliffWalking، تُقاس كل منها مقارنةً بالحل الأمثل الدقيق المحسوب من النموذج.

التقنياتPythonNumPyGymnasiumPyTorchMatplotlibpytest

FrozenLake RL — نظرة عامة

نظرة عامة

بيئات toy-text في Gymnasium صغيرة بما يكفي لحساب السياسة المثلى بدقة من نموذج الانتقال، ما يجعلها المكان المناسب للتحقق من أن طريقة التعلم تعمل فعلًا بدل التخمين من منحنيات مليئة بالضجيج. بنيتُ حزمة واحدة تُشغَّل فيها كل طريقة كلاسيكية من كتاب Sutton وBarto بالأمر نفسه: تكرار القيمة (Value Iteration) وتكرار السياسة (Policy Iteration)، والتحكم بطريقة مونت كارلو (Monte Carlo) بنسختيه first-visit وevery-visit، وSARSA وexpected SARSA وQ-learning وdouble Q-learning، وSARSA متعدد الخطوات، وSARSA(lambda) وQ(lambda) مع آثار الأهلية (Eligibility Traces)، وDyna-Q، إضافة إلى DQN وREINFORCE على حالات بترميز one-hot.

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

تؤكد التشغيلات ما في الكتاب وتضع له أرقامًا. تبلغ جميع الطرق الحل الأمثل على البحيرة 4x4 الزلقة، لكن Dyna-Q يحتاج 240 حلقة بينما يحتاج مونت كارلو every-visit إلى 19,200. وعلى البحيرة 8x8 الزلقة يفشل مونت كارلو فشلًا واضحًا (نسبة نجاح 0.62 و0.03) بينما تبلغ طرق TD ‏0.83-0.88. وعلى CliffWalking يجد Q-learning مسار الحافة بعائد -13 ويحافظ SARSA على مسار أكثر أمانًا بعائد -17، تمامًا كما في المثال 6.6 من الكتاب.

السؤال

حين تكون المسألة صغيرة بما يكفي لحساب السياسة المثلى من النموذج مباشرة، إلى أي حد تقترب منها كل طريقة كلاسيكية، وكم حلقة تحتاج لبلوغها؟

أهم الميزات

كيف يعمل

  1. كشف النموذج

    يُقرأ جدول الانتقال P(s', r | s, a) لكل بيئة من Gymnasium مرة واحدة. ولا يستخدمه إلا البرمجة الديناميكية والمقيِّم الدقيق؛ أما العملاء المتعلمون فلا يرون إلا env.step().

  2. البرمجة الديناميكية

    يمسح تكرار القيمة معادلة بيلمان للأمثلية على جميع الحالات حتى تتوقف القيم عن التغير (39 مسحًا على البحيرة 8x8 الزلقة)؛ ويتناوب تكرار السياسة بين التقييم الدقيق والتحسين الجشع (8 مسوح).

  3. التعلم من الحلقات

    يحرّك مونت كارلو Q(s, a) نحو العائد الكامل؛ وتعتمد SARSA وexpected SARSA وQ-learning وdouble Q-learning على التمهيد (bootstrapping) بخطوة واحدة نحو هدف خاص بكل منها؛ وتوزّع SARSA متعدد الخطوات وSARSA(lambda) وQ(lambda) كل خطأ TD على الأزواج التي زيرت مؤخرًا؛ ويعيد Dyna-Q تشغيل نموذج عدّ متعلَّم 10 مرات لكل خطوة حقيقية.

  4. النسخ العصبية

    يدرّب DQN شبكة Q من نوع MLP على حالات one-hot مع مخزن إعادة التشغيل (replay buffer) وشبكة هدف؛ ويدرّب REINFORCE سياسة softmax مع خط أساس متعلَّم للقيمة ويأخذ متوسط 10 حلقات لكل تحديث، ودون ذلك يعلق عند 60 % على البحيرة 4x4 الزلقة.

  5. التقييم الدقيق ثم الفعلي

    تُحسب احتمالية نجاح السياسة الجشعة أو عائدها المتوقع من P ضمن الحد الزمني، ثم تُقاس مجددًا على 1,000 حلقة حقيقية؛ وأول نقطة من نقاط التقييم المئة تبلغ فيها الدرجة الدقيقة الهدف تعطي عدد الحلقات حتى بلوغ الهدف.

أمثلة

FrozenLake 8x8 الزلقة، بالبذرة نفسها في الجانبين. يسارًا: الأفعال العشوائية تسقط في حفرة خلال خطوات قليلة. يمينًا: سياسة Q-learning (نسبة نجاح 85 %) تتعرّج بعيدًا عن الحفر، لأن الحركة على الجليد قد تنزلق جانبيًا لكنها لا ترتد إلى الخلف أبدًا. النقاط البرتقالية تميّز الخلايا المزورة.
Taxi بالبذرة نفسها. يسارًا: الأفعال العشوائية تتجول 200 خطوة دون إيصال أي راكب (كل التقاط أو إنزال غير مسموح يكلّف -10). يمينًا: سيارة الأجرة المدرّبة بـ Q-learning تصل إلى الراكب وتلتقطه وتنزله عند الفندق في 15 خطوة بعائد 6.
CliffWalking، وكلاهما مدرّب بـ epsilon 0.1. يتعلم SARSA قيمة السياسة الاستكشافية ويبتعد عن الجرف (عائد -17)؛ ويتعلم Q-learning القيم الجشعة فيسلك أقصر طريق على طول الحافة (-13).
تكرار القيمة على البحيرة 8x8 الزلقة مسحًا بعد مسح: تنتشر قيمة الهدف إلى الخلف بخطوة في كل مسح، وتستقر الأسهم الجشعة حين تصل القيم إلى نقطة البداية.
لوحة نتائج المجموعات الست: الدرجة الدقيقة النهائية لكل طريقة بجانب سقف بيئتها. مونت كارلو على البحيرة 8x8 الزلقة والطرق on-policy على CliffWalking هي التي تقصر عن الهدف.
لوحة نتائج المجموعات الست: الدرجة الدقيقة النهائية لكل طريقة بجانب سقف بيئتها. مونت كارلو على البحيرة 8x8 الزلقة والطرق on-policy على CliffWalking هي التي تقصر عن الهدف.
الخرائط الحرارية للقيم والأسهم الجشعة التي تعلمتها كل طريقة على البحيرة 8x8 الزلقة. تشبه سياسات TD وDyna-Q والطرق العصبية سياسة تكرار القيمة؛ أما لوحتا مونت كارلو فلا.
الخرائط الحرارية للقيم والأسهم الجشعة التي تعلمتها كل طريقة على البحيرة 8x8 الزلقة. تشبه سياسات TD وDyna-Q والطرق العصبية سياسة تكرار القيمة؛ أما لوحتا مونت كارلو فلا.
سياسات CliffWalking: يسير Q-learning وDyna-Q على حافة الجرف، بينما تمر SARSA وexpected SARSA وSARSA(lambda) صفًا أو صفين أعلى.
سياسات CliffWalking: يسير Q-learning وDyna-Q على حافة الجرف، بينما تمر SARSA وexpected SARSA وSARSA(lambda) صفًا أو صفين أعلى.

المدخل

frozenlake-train --env frozenlake-4x4-slippery --method q-learning

المخرج

runs/frozenlake-4x4-slippery/q-learning/ (agent.npz, summary.json, history.json, run.png): 10,000 episodes in 5.5 s, target reached after 1,400 episodes, exact greedy success 0.740, rollout success 0.729 over 1,000 episodes

طريقة واحدة على بيئة واحدة؛ الأرقام هي صف Q-learning في جدول البحيرة 4x4 الزلقة، حيث السقف 0.744.

التقنيات المستخدمة

ما تعلمته

الحدود

الكلمات المفتاحية

التعلم المعزز · التعلم المعزز الجدولي · FrozenLake · Taxi · CliffWalking · Gymnasium · البرمجة الديناميكية · تكرار القيمة · تكرار السياسة · التحكم بطريقة مونت كارلو · SARSA · Q-learning · آثار الأهلية · Dyna-Q · Sutton وBarto