الانتقال إلى المحتوى

الأدلة الإرشادية

التعلّم المعزَّز

يقيّم Oloproof سياسة (policy) التعلّم المعزَّز بتشغيلها في جولات (episodes)، أو من سجل السياسة التي ستحلّ محلها. شغّلها حين تستطيع؛ واستخدم السجل حين لا تقع النتيجة إلا في العالم الحقيقي. هذه الصفحة هي المرجع لكلتا الطريقتين، ويشرح الدرس التعليمي كلًّا منهما على مثال قابل للتشغيل.

لا يستضيف Oloproof بيئةً ولا يعيد ضبطها ولا يحاكيها، ولا يدرّب السياسات. نظامك يشغّل بيئته الخاصة، كما يشغّل كل نظام يقيّمه Oloproof شيفرته الخاصة.

الجولات

المهمة حالة. والجولة قياس واحد لها: يشغّل نظامك السياسة في بيئته ويسجّل الجولة بـ current_case().rl_episode(...)، كمُخرَج فني من نوع rl_episode/v1.

الحقلالنوعالمعنى
stepsقائمة خطوات، index يبدأ من 1مكافأة كل خطوة (reward)، وتكلفة القيد فيها (cost، الافتراضي 0)، واختياريًا action وobservation
successtrue أو false أو غائبحكم البيئة نفسها على الجولة
truncatedقيمة منطقية، الافتراضي falseأنهى حدُّ الخطوات الجولةَ قبل بلوغ حالة نهائية
horizonعدد صحيح، اختياريحد الخطوات؛ ولا يجوز أن يتجاوز طول الجولة هذا الحد

يحوي السجل كل خطوة من الجولة. والجولة المبتورة هي جولة يعرّفها بروتوكول التقييم بأنها تنتهي عند حدها، لذا فعائدها وتكلفتها كاملان، وليسا حدودًا دنيا.

أعلن النوع الذي يسجّله النظام، كي يستطيع التشغيل رفض مُقيِّم يحتاج إلى سجل لا يكتبه النظام أبدًا:

system:
  name: grid-agent
  callable: env:run_baseline
  records: [rl_episode/v1]

مُقيِّمات الجولات

النوعيقيسالحقول
episode_returnالعائد، مع ترجيح كل مكافأة بـ discount لكل خطوة، كدرجةreturn_range (مطلوب)، discount (الافتراضي 1)
episode_successينجح حين تسجّل الجولة success: true؛ ويكون مفقودًا حين لا تسجّل شيئًالا شيء
episode_cost_withinينجح حين لا يتجاوز مجموع تكاليف الخطوات budgetbudget (مطلوب)

return_range هو النطاق الذي يقع فيه كل عائد، مثل 30 خطوة بقيمة -1 لكل منها في أسوأ الأحوال ومكافأة الهدف في أفضلها. والفترة حول متوسط العائد لا تصح إلا داخله، لذا فالعائد الواقع خارجه يوقف التشغيل برمز الخروج 2. وفي SDK الأصناف هي EpisodeReturn وEpisodeSuccess وEpisodeCostWithin في oloproof.evaluators.

عدة جولات لكل مهمة

اضبط replicates: لتشغيل عدة جولات لكل مهمة. ويقول current_case().replicate أيّ جولة تعمل الآن (0 للأولى)، وهو جزء من مفتاح التنفيذ المخزَّن، لذا فالبيئة التي تشتق بذرة الجولة منه تعيد الجولة نفسها للتكرار نفسه، ويعيد التشغيل الثاني استخدام ما خزّنه.

تبقى المهمة هي الوحدة. يصبح كل معيار متوسطًا على المهام لمتوسط كل مهمة على جولاتها، والفترة تعدّ المهام: خمس جولات لمهمة واحدة ليست خمس مهام مستقلة.

معدل النجاح على المهام المكرَّرة يقرأ نسبة الجولات الناجحة في كل مهمة. ولتسأل بدلًا من ذلك هل تنجح المهمة في كل مرة، أعلن مقياس every_replicate:

metrics:
  - {id: solved_every_time, type: every_replicate, criterion: episode_success}

لا تُحتسب المهمة إلا حين تنجح جميع جولاتها، لذا فكل مهمة نجاح واحد أو إخفاق واحد، وتنطبق فترة ذات الحدين الدقيقة. ومع جولة واحدة لكل مهمة يساوي معدل النجاح. والمهمة التي لها جولة مفقودة تكون مفقودة، حتى لو أخفقت جولة أخرى من جولاتها.

مقارنة سياستين

يقرن oloproof compare كل مهمة بنفسها، وقيمة كل جانب هي متوسطه على جولاته. ويُعرض فرق العائد بوحدة العائد نفسها، وفرق معدل النجاح بالنقاط المئوية. ويجوز أن يشغّل التشغيلان أعدادًا مختلفة من الجولات لكل مهمة، إلا لمقياس every_replicate: فالنجاح في كل جولة من خمس جولات والنجاح في الجولة الوحيدة سؤالان مختلفان، لذا لا تُحسب تلك المقارنة. ولا تُحسب مقارنات المِئين والترتيب حين يكون لأي من التشغيلين عدة جولات لكل مهمة.

التقييم خارج السياسة

استخدمه حين لا تقع النتيجة التي تهمّك إلا في العالم الحقيقي (تذكرة حُلَّت، مستخدم عاد) ولا تستطيع بعد تجربة السياسة الجديدة على حركة حقيقية. والدليل سجل لقرارات اتخذتها سياسة أقدم.

كل حالة قرار واحد مسجَّل:

{"id":"t001","input":{"topic":"technical","length":"short"},"expected":{"action":"small","logging_probabilities":{"small":0.7,"large":0.3},"reward":1}}
الحقلالمعنى
inputما رأته السياسة حين قرّرت
expected.actionالفعل الذي اتخذته سياسة التسجيل (logging policy)
expected.logging_probabilitiesالاحتمال الذي أعطته سياسة التسجيل لكل فعل في تلك اللحظة، ومجموعها 1
expected.rewardما تلا ذلك، ضمن reward_range؛ وغائب إن لم يصل أبدًا

النظام هو السياسة التي تريد تقييمها. يتلقى input ويعيد احتماله الخاص لكل فعل تحت probabilities، أو تحت الحقل الذي تسمّيه في probabilities_field. ولا يشغّل نموذجًا أبدًا ولا يمسّ العالم الحقيقي. ولا يحوي input إلا ما رأته سياسة التسجيل حين قرّرت: لا الفعل المسجَّل ولا المكافأة أبدًا، فالسياسة قيد الاختبار يجب ألا تراهما. والسياسة التي تختار بالسحب العشوائي تعيد الاحتمالات التي تسحب منها، لا الفعل الذي سحبته؛ ويُقيَّم كل قرار من جديد حتى لو تكرّر مُدخَله. وتُسمّى الأفعال تمامًا كما يسمّيها السجل: الفعل المكتوب بتهجئة مختلفة يُحتسب فعلًا لم تتخذه سياسة التسجيل قط.

النوعيقدّر
off_policy_valueمتوسط مكافأة السياسة على قرارات مثل القرارات المسجَّلة
off_policy_improvementذلك المتوسط مطروحًا منه متوسط سياسة التسجيل نفسها

كلاهما يأخذ reward_range وpropensity_floor، أصغر احتمال أعطته سياسة التسجيل لأي فعل قد تتخذه السياسة الجديدة. اضبطه بناءً على طريقة تصميم سياسة التسجيل (معدل استكشاف، حصة دنيا)، لا بتجربة قيم على السجل أبدًا. يُعاد ترجيح كل قرار مسجَّل باحتمال فعله في السياسة الجديدة مقسومًا على احتماله في سياسة التسجيل، والحد الأدنى يقيّد هذا الوزن: من دونه لا تصح أي فترة. وفي SDK الصنفان هما OffPolicyValue وOffPolicyImprovement.

ما يفعله المحرك بقرار لا يستطيع قراءته كما هو:

الوضعالنتيجة
احتمالات لا يبلغ مجموعها 1، أو فعل مسجَّل باحتمال 0، أو مكافأة خارج reward_rangeيتوقف التشغيل برمز الخروج 2: فالاحتمال الخاطئ يجعل الفترة خاطئة دون أن يُظهر ذلك
قد تتخذ السياسة الجديدة فعلًا سُجِّل باحتمال أقل من الحد الأدنىيكون القرار مفقودًا ويُحتسب بأسوأ قيمة ممكنة له
المكافأة غائبةيكون القرار مفقودًا ويُحتسب بأسوأ قيمة ممكنة له

ما تفترضه الإجابة:

  • سُجِّلت الاحتمالات حين قرّرت سياسة التسجيل، وهي الاحتمالات التي استخدمتها. ولا يقدّرها Oloproof أبدًا.
  • مكافأة كل قرار تعتمد على مُدخَله وفعله هو، لا على قرارات أخرى.
  • حافظت سياسة التسجيل على الاحتمالات نفسها طوال نافذة السجل.
  • تصف الإجابة قرارات مثل القرارات المسجَّلة، على امتداد الفترة الزمنية التي يغطيها السجل.

تكون الفترة واسعة حين يكون الحد الأدنى صغيرًا: فالقرارات التي تخبر عن فعل نادر الاختيار قليلة، وكل منها يُحتسب مرات كثيرة. ويضيّقها سجل أطول، وسياسة تسجيل تستكشف أكثر.

ما لم يُبنَ

  • التقييم خارج السياسة لسلسلة من القرارات، حيث يغيّر كل اختيار ما يأتي بعده.
  • سجل غيّرت سياسته احتمالاتها وهي تتعلّم خلال النافذة.
  • احتمالات قُدِّرت بعد وقوعها.
  • استضافة البيئات والمحاكيات أو إعادة ضبطها.

إلى أين بعد ذلك