شرح بسيط للتعلم التعزيزي (مع مخططات وكود حقيقي)

التعلم المعزز: الأساسيات في مقال واحد — كود حقيقي، مخططات وخطوات ملموسة، مقتطفات من دورة تتكون من 45 درسًا.

شرح بسيط للتعلم التعزيزي (مع مخططات وكود حقيقي)

دليل مباشر وموجز: Reinforcement Learning مفكك بالرسوم البيانية والأمثلة العملية والأوامر المجربة. كل المحتوى مستمد من دورة منظمة تضم 16 فصلاً — وإليكم أفضل ما فيها.

tl;dr
  • المقدمة والتثبيت
  • أساسيات التعلم التعزيزي
  • عملية قرار ماركوف
  • تعلم Q التقليدي
  • البرمجة الديناميكية
~$ cat ./parcours.md # Reinforcement Learning — 15 فصول
01
مقدمة وتثبيت
→ عرض الدورة ولماذا التعلم التعزيزي ؟→ تثبيت Python، Gymnasium و PyTorch+ 1 دروس أخرى
02
أساسيات التعلم التعزيزي
→ التعلم التعزيزي مقابل المشرف مقابل غير المشرف→ الوكيل، البيئة، الحالة، الإجراء، المكافأة+ 2 دروس أخرى
03
عملية قرار ماركوف
→ شرح عملية قرار ماركوف (MDP)→ معادلة بيلمان البديهية+ 2 دروس أخرى
04
التعلم Q التقليدي
→ التعلم Q: الحدس والصيغة→ تنفيذ جدول Q في Python+ 2 دروس أخرى
05
البرمجة الديناميكية
06
SARSA والمتغيرات
→ SARSA: قريبة on-policy للتعلم Q→ التعلم Q مقابل SARSA: متى تستخدم أيًا منهما+ 2 دروس أخرى
07
شبكات Q العميقة
→ لماذا شبكة عصبية ؟→ معمارية DQN مع PyTorch+ 2 دروس أخرى
08
طرق مونت كارلو
→ تنبؤ مونت كارلو→ تحكم مونت كارلو+ 1 دروس أخرى
🏁
المشروع النهائي (+ 7 فصول في الطريق)
→ ستخرج بمشروع ملموس وقابل للعرض

أول بيئة Gymnasium (FrozenLake)

NOTEالهدف — التعامل عمليًا مع أول بيئة Gymnasium. فهم الواجهة العالمية reset / step، ومفهوم الحلقة (episode)، وتشغيل وكيل عشوائي على لعبة FrozenLake.

الأهداف التعليمية

TIPعند إتمام هذه الوحدة
  • إنشاء بيئة باستخدام gym.make
  • فهم طريقتي reset وstep
  • تحديد فضاء الملاحظة وفضاء الإجراء
  • كتابة حلقة حلقة كاملة
  • تشغيل وكيل عشوائي ومراقبة نتيجته

FrozenLake: ساحة اللعب

FrozenLake عبارة عن شبكة 4×4 تمثل بحيرة متجمدة. يبدأ الوكيل من نقطة البداية (S) ويجب أن يصل إلى الهدية (G) عبر الجليد الصلب (F) مع تجنب الثقوب (H) التي تؤدي إلى الخسارة. بسيطة ومرئية ومثالية للمبتدئين.

NOTEملاحظة: افتراضيًا تكون FrozenLake «زلقة» (is_slippery=True). قد ينزلق الوكيل الذي يريد الذهاب يمينًا وينتهي في مكان آخر. هذا يضيف عنصر العشوائية ويجعل المشكلة أكثر إثارة. يمكن تعطيل هذه الخاصية عند البداية.

الواجهة العالمية: reset وstep

تشترك جميع بيئات Gymnasium في نفس الواجهة، وهذا ما يجعل كتابة الوكلاء سهلة. طريقتان فقط تكفيان.

reset()

يعيد البيئة إلى حالتها الأولية ويعيد الحالة الأولى. يُستدعى في بداية كل حلقة (جزء كامل من اللعب).

step(action)

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

WARNINGتنبيه: تذكر دائمًا استدعاء env.close() في النهاية، خاصة مع العرض الرسومي. وإلا قد تبقى نوافذ وهمية مفتوحة وتستهلك الذاكرة.

تصور اللعبة

لرؤية الوكيل يلعب على الشاشة، أضف وضع العرض:

حل FrozenLake باستخدام Value Iteration

NOTEالهدف — تطبيق Value Iteration على FrozenLake من البداية إلى النهاية: حساب V*، استخراج السياسة المثلى، تشغيل الوكيل وقياس معدل الفوز. أول وكيل يفوز فعليًا.

الأهداف التعليمية

TIPعند إتمام هذه الوحدة
  • كتابة Value Iteration كاملاً لـ FrozenLake
  • استخراج السياسة المثلى من V*
  • تقييم الوكيل على عدد كبير من الحلقات
  • تفسير القيم والسياسة الناتجة
  • فهم تأثير الجليد الزلق

الخطوة 1: الوصول إلى نموذج FrozenLake

توفر FrozenLake نموذجها الكامل عبر env.unwrapped.P. وهو قاموس يعطي، لكل حالة وكل إجراء، قائمة الانتقالات الممكنة.

هندسة DQN باستخدام PyTorch

NOTEالهدف — بناء شبكة DQN العصبية باستخدام PyTorch. فهم الهندسة (المدخل، الطبقات المخفية، المخرج)، دور دوال التنشيط، وكيف تتنبأ الشبكة بقيم Q.

الأهداف التعليمية

TIPعند إتمام هذه الوحدة
  • تعريف شبكة باستخدام nn.Module
  • اختيار حجم المدخل والمخرج حسب البيئة
  • فهم دور الطبقات المخفية وReLU
  • إجراء تنبؤ (forward pass)
  • فهم أن المخرج يعطي قيمة Q لكل إجراء

تشريح DQN

DQN الخاص بـ CartPole شبكة بسيطة جدًا: تأخذ الأرقام الأربعة للحالة، تمررها عبر طبقتين مخفيتين، وتنتج قيمتين Q (واحدة لكل إجراء: يسار، يمين).

va-plus-loin

تغطي هذه المقالة أكثر المقتطفات فائدة — الدورة الكاملة Reinforcement Learning (16 فصلاً، 45 درسًا، تمارين محلولة ومشروع ختامي) تأخذك حتى النهاية.

./acceder-au-cours-complet cours gratuit : Maîtriser Claude Code

الأسئلة الشائعة

كم من الوقت يلزم لتعلم Reinforcement Learning؟
مع تقدم منظم (16 فصلاً، 45 درسًا قصيرًا وعمليًا) يمكن الوصول إلى مستوى تشغيلي في بضعة أسابيع بمعدل 30 إلى 60 دقيقة يوميًا. الأهم هو تطبيق كل مفهوم فورًا.
هل هناك متطلبات سابقة؟
يفضل الإلمام بأساسيات المجال: هذا المحتوى يتعمق مع حالات حقيقية.
من أين نبدأ عمليًا؟
طبّق الأوامر الواردة في هذه المقالة، ثم تابع الدورة الكاملة Reinforcement Learning: فهي ترتب الـ45 درسًا بالترتيب مع تمارين ومشروع ختامي.

📬 هل تريد تلقي هذا النوع من الأدلة كل أسبوع؟ اشترك مجانًا — كود حقيقي، بدون حشو.