الـ policy methods
تعلّم القيمة Q درّب قيم وبعدين قرا policy منها. الـ policy كانت ناتج جانبي. والدرس ده بيدرّب الـ policy نفسها — وبيخلص بالـ reinforcement learning بيتستخدم فين فعلًا، وفين لأ.
اتعلّم الـ policy على طول
- الـ actions المتصلة — maxa Q على زاوية توجيه هو optimization في حد ذاته، جوه كل تحديث
- الـ optimality العشوائية — أحسن policy في حجر-ورقة-مقص عشوائية؛ والـ argmax متقدرش تقول ده
- النعومة — تغيير قيمة صغير جدًا بيقلب الـ argmax؛ أما الاحتمالات فبتتحرّك بالراحة
الـ policy gradient
خلّي الـ actions الكويسة أكتر احتمالًا، على قد ما هي كويسة. وخد بالك من الغايب: مفيش حد بيفاضل الـ environment، فده بيفضل model-free. ودي الصيغة من غير خصم — فمع الخصم الحد عند الخطوة t بياخد weight قده γt، وده اللي بيتشال عمليًا. ساتون وبارتو (2018)، فصل الـ policy gradient.
REINFORCE
أبسط تمثيل. العب episode؛ واستخدم الـ return Gt اللي جه فعلًا بعد كل خطوة بدل Q. gradient ascent — الإشارة موجبة، لأن الـ reward بتتكبّر مش الـ loss بيتصغّر.
من غير bias، وفيه noise من غير حدود
Gt بتجمع كل reward بعد الـ action، فبتشرب كل حادثة عشوائية جت بعده. actionين متطابقين ممكن يسحبوا returns مختلفين جامد — واحد بيتعزّز بقوة والتاني بيتثبّط بقوة.
الـ baselines والـ advantage
اطرح أي حاجة بتعتمد على الـ state مش على الـ action: الـ gradient بيفضل من غير bias، والـ variance بيقع. استخدم V(s) وهتاخد الـ advantage (الأفضلية) — فالدرجات المطلقة بتبقى نسبية.
الـ actor والـ critic
الـ actor هو الـ policy وبيمشي ورا الـ policy gradient. والـ critic بيقدّر V(s) بـ temporal-difference regression عادي — bootstrapping الدرس 14.3، متعاد استخدامه. ومع critic الـ advantage بتبقى الـ TD error، فمش محتاج episode بتخلص.
الـ clipped objective بتاع PPO
خطوة واحدة حجمها زيادة بتبوّظ الـ policy — والـ policy بتولّد البيانات، فمتقدرش تتعافى. الـ PPO بيعمل clipping للـ probability ratio rt(θ) في [1−ε، 1+ε]. ولأنه بياخد الأصغر، عائد الزقّ أكتر بيتفرد.
ممل، وبيشتغل
- first-order بس — طرق الـ trust region اللي قبله احتاجت معلومات انحناء؛ وclipping وmin بيدّوا أثر قريب
- hyperparameters قليلة — مدى clipping، وlearning rate، وعدد epochs
- إعادة استخدام البيانات — الـ clipping هو اللي بيخلّي كذا epoch على batch واحد آمنين
- الخصائص اللي شولمان وزمايله دعوا لها — وأوضح مكان أغلب الناس بيقابلوه فيه هو RLHF (الـ slide الجاية)
- ملحوظة: ε دي مدى clipping، مالهاش علاقة بإبسيلون الـ exploration
RLHF
مفيش reward function لـ «إجابة مفيدة»، فبتتعلّم. كريستيانو وزمايله (2017) أسّسوا ده؛ وأويانج وزمايله (2022) طبّقوه على الـ language models.
- بيانات التفضيل — البني آدمين بيرتّبوا الأزواج، مش بيدّوها درجات
- الـ reward model — fit supervised على الترتيبات دي
- fine-tuning بـ PPO — مع penalty على البعد عن الـ model الأصلي
حدود صريحة
- الـ sample inefficiency — ملايين الـ episodes لمهام البني آدم بيتعلّمها في دقايق
- تحديد الـ reward — الـ agent بيحسّن اللي إنت كتبته، مش اللي إنت قصدته
- الـ sim-to-real — الـ policy المتدرّبة في simulator اتعلّمت الـ simulator، بأخطاؤه
- الـ reproducibility — seeds مختلفة، منحنيات مختلفة جدًا. run واحدة مش دليل
ده رايح فين
طرق الـ policy بتدرّب πθ على طول، وده اللي القيم متقدرش عليه مع الـ actions المتصلة أو العشوائية بجد. الـ REINFORCE من غير bias وفيه noise؛ والـ baseline بيدّي الـ advantage؛ والـ critic بيخلّي التحديثات بخطوة واحدة ممكنة؛ والـ PPO بيعمل clipping للخطوة عشان الـ run تنجو. والـ RLHF هو الطبقات دي كلها متوجّهة لتفضيل البني آدم. ولو معاك أمثلة عليها labels للسلوك الصح، فاستخدم الـ supervised learning بداله.