كيف قررت مسابقة القوزاق الرجعية

في هذا الربيع ، عُقدت مسابقة OpenAI Retro مهمة ، تم تخصيصها لتعزيز التعلم ، والتعلم التلوي ، وبالطبع Sonic. احتل فريقنا المركز الرابع من بين أكثر من 900 فريق. يختلف مجال التدريب مع التعزيز قليلاً عن التعلم الآلي القياسي ، وكانت هذه المسابقة مختلفة عن منافسة RL النموذجية. أطلب تفاصيل تحت القط.


الصورة



TL ؛ د


لا يحتاج الخط الأساسي المضبوط بشكل صحيح إلى حيل إضافية ... عمليا.


مقدمة في التدريب التعزيزي


الصورة

التعلم المعزز هو مجال يجمع بين نظرية التحكم الأمثل ونظرية اللعبة وعلم النفس وعلم الأعصاب. من الناحية العملية ، يتم استخدام التعلم المعزز لحل مشاكل صنع القرار والبحث عن الاستراتيجيات السلوكية المثلى ، أو السياسات المعقدة للغاية بالنسبة للبرمجة "المباشرة". في هذه الحالة ، يتم تدريب الوكيل على تاريخ التفاعلات مع البيئة. البيئة ، بدورها ، تقييم تصرفات الوكيل ، تزوده بمكافأة (عددي) - كلما كان سلوك الوكيل أفضل ، زادت المكافأة. ونتيجة لذلك ، يتم تعلم أفضل سياسة من الوكيل الذي تعلم زيادة المكافأة الإجمالية طوال فترة التفاعل مع البيئة.


كمثال بسيط ، يمكنك لعب BreakOut. في هذه اللعبة القديمة الجيدة من سلسلة Atari ، يحتاج الشخص / الوكيل إلى التحكم في المنصة الأفقية السفلية ، وضرب الكرة وكسر جميع الكتل العلوية معها تدريجيًا. كلما طرقت أكثر - كلما زادت المكافأة. وفقًا لذلك ، ما يراه الشخص / الوكيل هو صورة شاشة ، ومن الضروري اتخاذ قرار في أي اتجاه لتحريك المنصة السفلية.


الصورة

إذا كنت مهتمًا بموضوع التدريب التعزيزي ، فإنني أنصحك بشأن دورة تمهيدية رائعة من HSE ، بالإضافة إلى نظيرتها المفتوحة المصدر الأكثر تفصيلاً. إذا كنت تريد شيئًا يمكنك قراءته ، ولكن مع أمثلة - كتاب مستوحى من هاتين الدورتين. لقد راجعت / أكملت / ساعدت في إنشاء جميع هذه الدورات ، وبالتالي أعرف من تجربتي الخاصة أنها توفر أساسًا ممتازًا.


حول المهمة


كان الهدف الرئيسي من هذه المسابقة هو الحصول على وكيل يمكنه اللعب بشكل جيد في سلسلة ألعاب SEGA - Sonic The Hedgehog. بدأت OpenAI للتو في استيراد الألعاب من SEGA إلى منصتها لتدريب وكلاء RL ، وبالتالي قررت الترويج لهذه اللحظة قليلاً. حتى تم إصدار المقالة بجهاز كل شيء ووصفًا تفصيليًا للطرق الأساسية.


تم دعم جميع ألعاب Sonic الثلاثة ، ولكل منها 9 مستويات ، يمكنك من خلال النقر بالدموع الدموع ، اللعب ، وتذكر طفولتك (بعد شرائها على Steam أولاً).


كانت حالة البيئة (ما رآه الوكيل) هي الصورة من المحاكي - صورة RGB ، وكإجراء ، طُلب من الوكيل اختيار الزر الموجود على عصا التحكم الافتراضية للضغط - القفز / اليسار / اليمين وما إلى ذلك. حصل الوكيل على نقاط المكافأة وكذلك في اللعبة الأصلية ، أي لجمع الحلقات ، وكذلك لسرعة اجتياز المستوى. في الواقع ، كان لدينا صوت أصلي أمامنا ، فقط كان من الضروري المرور به بمساعدة وكيلنا.


عقدت المسابقة من 5 أبريل إلى 5 يونيو ، أي شهرين فقط ، وهو ما يبدو صغيرًا بما يكفي. تمكن فريقنا من الالتقاء ودخول المسابقة فقط في شهر مايو ، مما جعلنا نتعلم الكثير أثناء التنقل.


خطوط الأساس


كخطوط أساس ، تم تقديم أدلة تدريب كاملة لتدريب قوس قزح (نهج DQN) و PPO (نهج التدرج السياسي) على أحد المستويات المحتملة في Sonic وتقديم العامل الناتج.


استند إصدار Rainbow إلى مشروع anyrl غير المعروف ، ولكن PPO استخدم خطوط الأساس القديمة الجيدة من OpenAI وبدا لنا أكثر تفضيلًا.


اختلفت خطوط الأساس المنشورة عن النهج الموصوفة في المقالة من خلال بساطتها الكبيرة ومجموعات أصغر من "الاختراقات" لتسريع التعلم. وهكذا ، قام المنظمون بإلقاء الأفكار وتحديد الاتجاه ، ولكن القرار بشأن استخدام هذه الأفكار وتنفيذها ترك للمشارك في المسابقة.


فيما يتعلق بالأفكار ، أود أن أشكر OpenAI على الانفتاح ، وبشكل فردي جون شولمان على النصائح والأفكار والاقتراحات التي أعرب عنها في بداية هذه المسابقة. نحن ، مثل العديد من المشاركين (وحتى الوافدين الجدد إلى عالم RL) ، سمح لنا هذا بالتركيز بشكل أفضل على الهدف الرئيسي للمسابقة - التعلم التلوي وتحسين تعميم الوكيل ، والذي سنتحدث عنه الآن.


ميزات تقييم القرار


بدأ الشيء الأكثر إثارة للاهتمام في وقت تقييم وكلاء. في مسابقات / مقاييس RL النموذجية ، يتم اختبار الخوارزميات في نفس البيئة التي تم تدريبهم فيها ، مما يساهم في خوارزميات جيدة في التذكر ولديها العديد من المعلمات الفائقة. في نفس المسابقة ، تم اختبار الخوارزمية على مستويات Sonic الجديدة (التي لم يتم عرضها على الإطلاق لأي شخص) ، والتي طورها فريق OpenAI خصيصًا لهذه المسابقة. كان الكرز على الكعكة هو حقيقة أنه في عملية الاختبار ، مُنح الوكيل أيضًا مكافأة أثناء مرور المستوى ، مما جعل من الممكن إعادة التدريب مباشرة في عملية الاختبار. ومع ذلك ، في هذه الحالة ، تجدر الإشارة إلى أن الاختبار كان محدودًا في الوقت المحدد - 24 ساعة وفي علامات اللعبة - 1 مليون. في الوقت نفسه ، دعمت OpenAI بقوة إنشاء وكلاء يمكنهم العودة بسرعة إلى مستويات جديدة. كما ذكرنا سابقًا ، كان الحصول على هذه الحلول ودراستها هو الهدف الرئيسي لـ OpenAI خلال هذه المسابقة.


في البيئة الأكاديمية ، يسمى اتجاه دراسة السياسات التي يمكن أن تتكيف بسرعة مع الظروف الجديدة التعلم التلوي ، وفي السنوات الأخيرة كان يتطور بنشاط.


بالإضافة إلى ذلك ، على النقيض من مسابقات kaggle المعتادة ، حيث يتعلق الإرسال الكامل بإرسال ملف إجاباتك ، في هذه المسابقة (وفي مسابقات RL) ، كان على الفريق أن يلف حلهم في حاوية عامل ميناء مع واجهة برمجة التطبيقات المعطاة ، وجمعها وإرسالها صورة عامل الميناء. أدى هذا إلى زيادة الحد الأدنى لدخول المنافسة ، ولكنه جعل عملية اتخاذ القرار أكثر صدقًا - كانت الموارد والوقت لصورة عامل الميناء محدودة ، على التوالي ، لم تتجاوز الخوارزميات الثقيلة و / أو البطيئة التحديد ببساطة. يبدو لي أن هذا النهج في التقييم هو الأفضل بكثير ، لأنه يسمح للباحثين الذين ليس لديهم "مجموعة منزلية من DGX و AWS" بالتنافس على قدم المساواة مع عشاق نماذج الزجاج 50000. نأمل أن نرى المزيد من هذا النوع من المنافسة في المستقبل.


الفريق


كولسنيكوف سيرغي ( خائن )
متحمس RL. في وقت المسابقة ، كتب طالب في معهد موسكو للفيزياء والتكنولوجيا ، MIPT ودافع عن دبلوم من NIPS العام الماضي: تعلم تشغيل المنافسة (مقالة يجب أيضًا كتابتها).
Senior Data Scientist @ Dbrain - نقدم مسابقات جاهزة للإنتاج مع عامل الميناء والموارد المحدودة للعالم الحقيقي.


بافلوف ميخائيل ( fgvbrt )
كبير مطوري البحوث DiphakLab . شارك مرارا وفاز بجوائز في هاكاثون ومسابقات التدريب المعززة.


سيرجيف إيليا ( sergeevii123 )
متحمس RL. أنا ضربت واحدة من الهاكاثونات RL Deephack وبدأ كل شيء. عالم البيانات @ Avito.ru - رؤية الكمبيوتر للمشاريع الداخلية المختلفة.


سوروكين إيفان ( 1Ytic )
انخرط في التعرف على الكلام في voicepro.ru .


النهج والحل


بعد اختبار سريع لخطوط الأساس المقترحة ، وقع اختيارنا على نهج OpenAI - PPO ، كخيار أكثر تشكيلًا وإثارة للاهتمام لتطوير حلنا. بالإضافة إلى ذلك ، وفقًا لمقالهم الخاص بهذه المسابقة ، تعامل وكيل PPO مع المهمة بشكل أفضل قليلاً. من نفس المقالة ، ولدت التحسينات الأولى التي استخدمناها في حلنا ، ولكن أول الأشياء أولاً:


  1. تدريب تعاوني على PPO على جميع المستويات المتاحة


    الصورة

    تم تدريب الخط الأساسي المحدد على مستوى واحد فقط من مستويات Sonic الـ 27 المتاحة. ومع ذلك ، وبمساعدة تعديلات صغيرة ، كان من الممكن موازاة التدريب مرة واحدة مع جميع المستويات الـ 27. نظرًا للتنوع الكبير في التدريب ، كان للعامل الناتج قدرًا أكبر من التعميم وفهمًا أفضل لجهاز العالم الصوتي ، وبالتالي تعامل مع ترتيب الحجم بشكل أفضل.


  2. تدريب إضافي أثناء الاختبار
    بالعودة إلى الفكرة الرئيسية للمنافسة ، التعلم التلوي ، كان من الضروري إيجاد نهج من شأنه أن يكون الحد الأقصى من التعميم ويمكن بسهولة التكيف مع البيئات الجديدة. وبالنسبة للتكيف ، كان من الضروري إعادة تدريب العامل الحالي لبيئة الاختبار ، والذي تم بالفعل (في كل مستوى اختبار ، اتخذ العامل مليون خطوة ، وهو ما يكفي للتكيف مع مستوى معين). في نهاية كل لعبة اختبار ، قام الوكيل بتقييم الجائزة المتلقاة وتحسين سياسته باستخدام القصة التي تلقاها للتو. من المهم أن نلاحظ هنا أنه من خلال هذا النهج ، من المهم عدم نسيان جميع تجربتك السابقة وعدم التدهور في ظل ظروف معينة ، والتي ، في جوهرها ، هي المصلحة الرئيسية للتعلم التلوي ، حيث يفقد هذا الوكيل على الفور كل قدرته الحالية على التعميم.


  3. مكافآت الاستكشاف
    من خلال التعمق في شروط الأجر لمستوى ما ، تم منح الوكيل مكافأة للمضي قدمًا على طول إحداثيات x ، على التوالي ، يمكن أن يكون عالقًا في بعض المستويات ، عندما كان عليك أولاً المضي قدمًا ثم العودة. تقرر إجراء إضافة إلى مكافأة الوكيل ، ما يسمى الاستكشاف القائم على العد ، عندما حصل الوكيل على مكافأة صغيرة إذا كان في حالة لم يكن فيها بعد. تم تنفيذ نوعين من مكافآت الاستكشاف: بناءً على الصورة وعلى أساس إحداثيات x الخاصة بالوكيل. تم احتساب الجائزة بناءً على الصورة على النحو التالي: لكل موقع بكسل في الصورة ، تم حساب عدد المرات التي تم فيها العثور على كل قيمة للحلقة ، وكانت الجائزة متناسبة عكسًا مع المنتج عبر جميع مواقع البكسل عن عدد المرات التي تم فيها العثور على القيم في هذه المواقع للحلقة. تم اعتبار المكافأة المستندة إلى إحداثيات س بطريقة مماثلة: لكل إحداثي س (بدقة معينة) تم حساب عدد المرات التي كان فيها الوكيل في هذا الإحداثيات للحلقة ، المكافأة تتناسب عكسيًا مع هذا المبلغ لإحداثيات س الحالية.


  4. تجارب المزيج
    في "التدريس مع مدرس" في الآونة الأخيرة طريقة بسيطة ولكنها فعالة لزيادة البيانات ، ما يسمى مزيج. الفكرة بسيطة للغاية: تم إضافة صورتين إدخاليتين تعسفيتين وتم تعيين مجموع مرجح للتسميات المقابلة لهذه الصورة الجديدة (على سبيل المثال ، 0.7 كلب + 0.3 قطة). في مهام مثل تصنيف الصور والتعرف على الكلام ، يظهر المزيج نتائج جيدة. لذلك ، كان من المثير للاهتمام اختبار هذه الطريقة لـ RL. تمت الزيادة في كل دفعة كبيرة ، تتكون من عدة حلقات. تم خلط الصور المدخلة بالبكسل ، ولكن مع العلامات لم يكن كل شيء بهذه البساطة. تم خلط القيم المرتجعة والقيم و Neglogpacs بمجموع مرجح ، ولكن تم اختيار الإجراء (الإجراءات) من المثال بأقصى معامل. لم يظهر هذا الحل زيادة ملموسة (على الرغم من أنه يبدو أنه كان يجب أن تكون هناك زيادة في التعميم) ، لكنه لم يسوء خط الأساس. تقارن الرسوم البيانية أدناه خوارزمية PPO مع المزيج (الأحمر) وبدون المزيج (الأزرق): في الأعلى المكافأة أثناء التدريب ، في الجزء السفلي هو طول الحلقة.


    الصورة

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



الغلطات


والآن فيما يتعلق بمسألة ما تمت تجربته ، لكن "لم يطير". بعد كل شيء ، هذه ليست مقالة SOTA جديدة لإخفاء شيء ما.


  1. تغيير بنية الشبكة: تنشيط SELU والانتباه الذاتي وكتل SE
  2. التطور العصبي
  3. إنشاء مستويات Sonic الخاصة بك - تم إعداد كل شيء ، ولكن لم يكن هناك وقت كافٍ
  4. التدريب التلوي من خلال MAML والزواحف
  5. مجموعة من عدة نماذج والتدريب الإضافي أثناء اختبار كل نموذج باستخدام أخذ العينات الهامة

الملخص


بعد 3 أسابيع من نهاية المسابقة ، نشرت OpenAI النتائج . في 11 مستوى إضافي تم إنشاؤه بشكل إضافي ، حصل فريقنا على مكان رابع مشرف ، حيث قفز من المركز الثامن في اختبار عام ، وتجاوز خطوط الأساس المحجوبة من OpenAI.


الصورة

النقاط المميزة الرئيسية التي "طارت" في أول 3ki:


  1. نظام إجراءات محسّن (جاء بأزرارهم الخاصة ، وأزال أزرار إضافية) ؛
  2. التحقيق في الولايات من خلال التجزئة من صورة المدخلات ؛
  3. المزيد من مستويات التدريب ؛

بالإضافة إلى ذلك ، أود أن أشير إلى أنه في هذه المسابقة ، بالإضافة إلى الفوز ، تم تشجيع وصف قراراتهم ، بالإضافة إلى المواد التي ساعدت مشاركين آخرين بنشاط - كان هناك أيضًا ترشيح منفصل لهذا. مما أدى ، مرة أخرى ، إلى زيادة مسابقة المصباح.


خاتمة


أنا شخصياً أحببت هذه المسابقة وكذلك موضوع التعلم التلوي. خلال المشاركة ، تعرفت على قائمة كبيرة من المقالات (حتى أنني لم أنس بعضها) وتعلمت عددًا كبيرًا من الأساليب المختلفة التي آمل تطبيقها في المستقبل.


وفقًا لأفضل تقاليد المشاركة في المسابقة ، تتوفر جميع الرموز وتنشر على github .

Source: https://habr.com/ru/post/ar421585/


All Articles