التعلم المعزز العميق
مثّلوا مسألة تعلّم تعزيزي باستخدام الحالات والأفعال والمكافآت والبيئة.
95 دقيقة
وش بتتعلّم
- مثّلوا مسألة تعلّم تعزيزي باستخدام الحالات والأفعال والمكافآت والبيئة.
- قارنوا تدريب تدرج السياسة والممثل والناقد، وقيّموا السلوك عبر حلقات متكررة.
وش تحتاج قبل تبدأ
- الخوارزميات الجينية
الوقت المتوقع
95 دقيقةتشخيص اختياري
وش تعرف من قبل؟
ما له درجة نجاح، ولا يوقف الدرس. اختر «ماني متأكد» إذا هذا جوابك الصادق.
التعلم المعزز العميق
التعلم المعزز (Reinforcement Learning, RL) واحد من الأساليب الأساسية في تعلم الآلة، مع التعلم الموجّه والتعلم غير الموجّه. في التعلم الموجّه نعتمد على مجموعة البيانات اللي نعرف نتائجها، أما التعلم المعزز فيعتمد على التعلم بالممارسة. تخيلوا مثلًا إننا نشوف لعبة كمبيوتر أول مرة: نبدأ نلعب حتى لو ما نعرف القواعد، وبعد شوي تتحسن مهارتنا من نفس اللعب ومن تعديل تصرفاتنا.
عشان نطبق التعلم المعزز، نحتاج:
- بيئة أو محاكي يحدد قواعد اللعبة، ونقدر نشغّل التجارب داخله ونشوف نتائجها.
- دالة مكافأة توضّح لنا وش كثر نجحت التجربة. لو كنا نعلّم الكمبيوتر يلعب، فالمكافأة ممكن تكون النتيجة النهائية للعبة.
على حسب دالة المكافأة، نعدّل سلوكنا ونطوّر مهارتنا عشان يكون أداؤنا أحسن في المحاولة الجاية. الفرق الأهم بين التعلم المعزز وبقية أنواع تعلم الآلة إننا غالبًا ما نعرف هل فزنا أو خسرنا إلا عقب ما تخلص اللعبة. يعني ما نقدر نحكم على حركة وحدة لحالها هل هي زينة أو لا؛ المكافأة ما تجينا إلا في النهاية.
عادةً نسوي تجارب كثيرة في التعلم المعزز. وفي كل تجربة نوازن بين اتباع أفضل استراتيجية تعلمناها إلى الآن (الاستغلال) وتجربة حالات جديدة ممكنة (الاستكشاف).
Gymnasium
Gymnasium مكتبة تديرها Farama Foundation وتوفر واجهة موحدة لبيئات تعلم معزز كثيرة، ومنها مهام التحكم الكلاسيكية وبيئات خارجية اختيارية. تختلف اعتماديات كل عائلة من البيئات، لذلك راجعوا صفحة البيئة وملف التشغيل المثبّت لهالنسخة قبل التنفيذ.
موازنة CartPole
غالبًا قد شفتوا أجهزة توازن حديثة مثل Segway أو Gyroscooters. هالأجهزة توازن نفسها تلقائيًا بتعديل حركة عجلاتها على حسب الإشارة اللي تجيها من مقياس التسارع أو الجيروسكوب. في هالقسم بنتعلم كيف نحل مسألة قريبة منها: موازنة عمود. تشبه لاعب السيرك يوم يوازن عمود على يده، لكن الموازنة هنا تصير في بُعد واحد بس (1D).
النسخة المبسطة من المسألة اسمها CartPole. في بيئة CartPole عندنا عربة منزلقة تتحرك أفقيًا يمين أو يسار، وهدفنا نوازن فوقها عمودًا رأسيًا وهي تتحرك.
عشان ننشئ هالبيئة ونستخدمها، نحتاج كم سطر من كود Python:
import gymnasium as gym
env = gym.make("CartPole-v1")
observation, info = env.reset(seed=42)
terminated = truncated = False
total_reward = 0.0
while not (terminated or truncated):
action = env.action_space.sample()
observation, reward, terminated, truncated, info = env.step(action)
total_reward += reward
env.close()
print(f"Total reward: {total_reward}")
بيئات Gymnasium تشترك في دورة حياة وحدة: تبدأ reset() الحلقة، وتقدمها step(action) مع فصل انتهاء المهمة عن انتهاء حد الوقت.
في المثال اللي فوق نختار إجراءً عشوائيًا في كل خطوة؛ وعشان كذا التجربة تنتهي بسرعة:
وصف الشكل: عربة CartPole ما قدرت توازن العمود
هدف خوارزمية التعلم المعزز إنها تدرّب نموذجًا يسمّى السياسة π، وهو اللي يختار الإجراء المناسب استجابةً لحالة معيّنة. ونقدر بعد نتعامل مع السياسة على إنها احتمالية: لكل حالة s وإجراء a، ترجع لنا الاحتمال π(a|s) لاختيار الإجراء a وإحنا في الحالة s.
خوارزمية تدرّج السياسة
أوضح طريقة لنمذجة السياسة هي إننا نبني شبكة عصبية تستقبل الحالات وتطلع الإجراءات المقابلة، أو بالأدق احتمالات كل الإجراءات. وإلى حد ما، تشبه مهمة عادية من مهام التصنيف، لكن فيها فرق أساسي: ما نعرف مسبقًا وش الإجراء الصحيح في كل خطوة.
الفكرة إننا نقدّر هالاحتمالات. نبني متجهًا من المكافآت التراكمية يوضّح مجموع المكافآت عند كل خطوة من التجربة. ونطبق بعد خصم المكافآت بضرب المكافآت الأقدم في معامل γ=0.99 عشان يقل أثرها. بعدها نعزّز الخطوات اللي كانت على مسار التجربة وأدت إلى مكافآت أعلى.
تعرّفوا أكثر على خوارزمية تدرّج السياسة وشوفوها وهي تشتغل في دفتر المثال.
خوارزمية الممثل والناقد
فيه نسخة مطوّرة من تدرّج السياسة اسمها الممثل والناقد (Actor-Critic). فكرتها الأساسية إننا ندرّب الشبكة العصبية عشان ترجع شيئين:
- السياسة اللي تحدد وش الإجراء اللي نختاره، وهذا الجزء نسمّيه الممثل.
- تقدير مجموع المكافآت اللي نتوقع نحصل عليها من هالحالة، وهذا الجزء نسمّيه الناقد.
هالبنية تشبه من ناحية معيّنة GAN، لأن عندنا شبكتين يتدربن في مواجهة بعض. في نموذج الممثل والناقد، الممثل يقترح الإجراء، والناقد يقيّم النتيجة المتوقعة بصرامة. ومع هذا، هدفنا ندرّب الشبكتين مع بعض كوحدة وحدة.
وبما إننا نعرف المكافآت التراكمية الحقيقية والنتائج اللي رجّعها الناقد أثناء التجربة، نقدر بسهولة نسبية نبني دالة الخسارة اللي تقلل الفرق بينهم؛ وهذي تعطينا خسارة الناقد. أما خسارة الممثل فنحسبها بالطريقة نفسها المستخدمة في خوارزمية تدرّج السياسة.
بعد ما نشغّل وحدة من هالخوارزميات، نتوقع إن CartPole يصير بالشكل هذا:
وصف الشكل: عربة CartPole توازن العمود بنجاح
✍️ تمارين: تدرّج السياسة والتعلم المعزز بالممثل والناقد
كمّلوا التعلم في الدفترين هذولا:
مهام ثانية في التعلم المعزز
يمتد بحث التعلم المعزز من الألعاب إلى الروبوتات والتحكم واتخاذ القرار المتسلسل. ومن تطبيقاته الممتعة:
- تعليم الكمبيوتر يلعب ألعاب Atari. الصعوبة هنا إن الحالة مب متجهًا بسيطًا؛ هي لقطة شاشة، ونحتاج نستخدم CNN عشان نحوّل صورة الشاشة إلى متجه سمات أو نستخرج منها معلومات المكافأة. دعم Atari يتوفر من خلال حزم بيئات متوافقة مع Gymnasium.
- تعليم الكمبيوتر يلعب ألعاب الطاولة مثل الشطرنج وGo. تدربت برامج متقدمة مثل Alpha Zero من الصفر عن طريق وكيلين يلعبون ضد بعض ويتحسنون مع كل خطوة.
- في الروبوتات والتحكم الصناعي، تتيح المحاكاة اختبار السياسات قبل أي تشغيل مادي. ومع هذا يلزم تقييم السلامة وحدود المحاكي وإشراف بشري قبل نقل السياسة إلى نظام حقيقي.
الخلاصة
تعلمنا كيف ندرّب الوكلاء يحققون نتائج زينة بمجرد ما نعطيهم دالة مكافأة تعرّف الحالة المطلوبة للعبة، ونفتح لهم مجال يستكشفون مساحة البحث بذكاء. جرّبنا خوارزميتين وحققنا نتيجة طيبة بوقت قصير نسبيًا. لكن هذي بس بداية الرحلة مع التعلم المعزز؛ وإذا ودّكم تتعمقون أكثر، استخدموا مرجعًا متخصصًا إذا ودكم تتعمقون في الإثباتات والخوارزميات المتقدمة.
🚀 التحدي
استكشفوا التطبيقات المذكورة في قسم «مهام ثانية في التعلم المعزز»، وجرّبوا تنفّذون واحدًا منها!
المراجعة والتعلم الذاتي
راجعوا توثيق Gymnasium الحالي وقارنوا بين إنهاء المهمة (terminated) وبلوغ حد الوقت (truncated).
شوفوا هالفيديو الممتاز عن الطريقة اللي يتعلم فيها الكمبيوتر يلعب Super Mario.
الواجب: درّبوا سيارة جبلية
هدفكم في هالواجب إنكم تدرّبون بيئة ثانية من Gymnasium، وهي Mountain Car.
طبّق
المختبرات والواجب
الزبدة
- مثّلوا مسألة تعلّم تعزيزي باستخدام الحالات والأفعال والمكافآت والبيئة.
- قارنوا تدريب تدرج السياسة والممثل والناقد، وقيّموا السلوك عبر حلقات متكررة.
اختبار بعد الدرس
تأكد من فهمك
أرسله مرة وحدة عشان يفتح لك إكمال الدرس، وتقدر تعيده قد ما تبي.
اختم هالدرس
أرسل اختبار ما بعد الدرس، وبعدها أكّد إنك جاهز تكمّل الدرس.