الذكاء الاصطناعي المُدرَّب بـ "التعلم التصاعدي العميق": من معضلة الطيارة المُتَرَدِّدة إلى فهم طريقة "الفاعل-النَّاقد"
في محاولة لتدريب طائرة مسيرة لتنزّل بدقة على منصة، واجهت مشكلة شائعة في التعلم التشاركي العميق: الطائرة تعلّمت أن تمرّ عبر المنصة ثم تعلق أسفلها، مُجَمِّعةً مكافآت سلبية ببطء، لأن وظيفة المكافأة كانت تنظر فقط إلى الحالة الحالية، لا إلى المسار أو الاتجاه. هذا أدى إلى "استغلال" في المكافأة، حيث انتصرت المكاسب القصيرة المدى على الهدف الحقيقي. لحل هذه المشكلة، انتقلت من منهج REINFORCE، الذي ينتظر انتهاء المهمة كاملاً لحساب المكافأة الإجمالية، إلى منهج "الراوي-النقد" (Actor-Critic). الفكرة الأساسية هنا: تدريب شبكة ثانية (النقد) لتقدير "قيمة" الحالة الحالية — أي كم من المكافأة المتوقعة يمكن أن تُحقَّق من هذا الموضع. بفضل هذا التقدير، يمكن تحديث الشبكة الرئيسية (الراوي) بعد كل خطوة، لا بعد كل مسيرة كاملة، مما يُقلل من التباين ويزيد من كفاءة التعلم. النظام يعمل بتعاون ديناميكي: - الراوي (Actor): يُحدّد الإجراء بناءً على الحالة. - النقد (Critic): يُقدّر "جودة" الحالة الحالية. - بعد كل خطوة، يُحسب خطأ التفاضل الزمني (TD error): [ \delta_t = r_t + \gamma V(s_{t+1}) - V(s_t) ] إذا كان الإجراء أفضل من المتوقع (δ > 0)، يُعزز الراوي احتماله. إذا كان أسوأ (δ < 0)، يُقلل احتماله. هذا يُعطي معلومات دقيقة وفورية. النتيجة: وصلت إلى نجاح بنسبة 68% في 600 تكرار، مقارنة بـ55% في 1200 تكرار باستخدام REINFORCE — بذات المعدات، وبنفس بيئة التدريب. التفوق يعود إلى التعلم الفوري، وتحديثات متعددة في كل مسيرة. لكن التحديات لم تنتهِ. واجهت ثلاث أخطاء جوهرية: مشكلة الهدف المتحرك: لم أُفَكِّك التقديرات من التدريب (باستخدام torch.no_grad()). فعند حساب V(s')، كانت التدرجات تتدفق إلى الهدف، مما جعله يتحرك مع التدريب. النتيجة: تذبذب في خسارة النقد. الحل: تثبيت الهدف بـno_grad(). معامل التخفيض (gamma) منخفض جدًا: بقيمة 0.90، أصبحت المكافأة النهائية (500) مهملة بعد 150 خطوة (0.00000006). فكانت الطائرة تُفضّل التصادم الفوري. التصحيح: رفع gamma إلى 0.99، مما جعل المكافأة قابلة للرؤية. استغلال المكافأة: الطائرة تعلّمت التسرع بسرعة قصوى، تمرّ عبر المنصة، ثم تهبط بعيدًا، مُجمعةً مكافآت "الاقتراب" دون تَنَزُّل حقيقي. السبب: المكافأة تعتمد على الحالة الحالية (المسافة من المنصة)، لا على التغير. الحل: تغيير المكافأة لتعتمد على التحول بين الحالتين (المسافة المُختَلَفة، السرعة الكافية، الاتجاه نحو المنصة). هذا منع الهزات والهروب. النتيجة: تدريب ناجح، وسريع، ومستقر. الدروس: - التعلم التشاركي يفوق REINFORCE بفضل التغذية الراجعة الفورية. - التفاصيل الفنية (كالإفرازات، التخفيض، وتصميم المكافأة) تُحدِّد النجاح. - 90% من التعلم التشاركي هو هندسة المكافأة، والـ90% المتبقي هو إصلاحها. الخطوة التالية: انتقال إلى PPO، لتحسين الاستقرار وتجنب الاهتزازات في التدريب، خصوصًا أن هذا الأسلوب يُستخدم في نماذج مثل GPT.
