تتعلم خوارزمية التطور العصبي لعب ماريو

ومن المعروف SethBling لفي القناة التي كان العديد من المناصب النصائح والاختراعات للعالم ماين كرافت. غالبًا ما يظهر محتوى آخر. على سبيل المثال ، يوجد ماريو في قائمة اهتمامات مدوّن الفيديو. كان SethBling هو أول من اجتاز Super Mario World على وحدة التحكم باستخدام خطأ مع تحرير الذاكرة عن طريق نقل العناصر في اللعبة. لا تزال أحدث مقاطع الفيديو والتدفقات الخاصة به تحتوي على نفس اللعبة. لكن ليس الشخص الذي يلعب ، بل خوارزمية ثورية عصبية ، كتبها سيث بلنغ نفسه.



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

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





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

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



لم يأت SethBling بمبدأ عمل من البداية. عند إنشائه ، استخدم العمل العلمي الموجود بالفعل على NEAT (NeuroEvolution of Augmenting Topology) ، التطور العصبي للطبولوجيا النامية. كما يصف كيف يمكن تقسيم الأجيال إلى أنواع ، والتي لا تحاول جميع الخوارزميات الجينية القيام بها. تمت كتابة MarI / O في Lua باستخدام محاكي BizHawk . لم يتوقف SethBling عند هذا الحد. أجبر الخوارزمية على المرور عبر منصات أخرى ، وبث عملية التعلم في حسابه على Twitch. من بين الألعاب كانت لعبة Super Mario Brothers الكلاسيكية. كان MarI / O قادرًا على اجتياز المستوى الأول ، ولكنه توقف بالفعل في المستوى الثاني. على الرغم من الفشل ، اكتشفت الخوارزمية عن طريق الخطأ خطأً صغيرًا يمكن أن يكون مفيدًا لراكبي السرعة.







تمسك بعض الأفراد على أحد الجدران عند مستوى Donut Plains 4 في Super Mario World. لقد استغرق الأمر بعض الوقت لفهم أنك بحاجة إلى الركض في الحائط ، لا تحتاج إلى القفز عليه. كان الجيل التالي قادرًا بالفعل على الركض على الحائط ، ولكن في العقبة التالية ، توقف الأفراد - نسوا كيفية القفز أمام العقبة. بعد بضعة أجيال ، أدركت الخوارزمية مكان الضغط على الزر إلى اليسار ، وأين القفز. لم يكن MarI / O قادرًا على إكمال هذا المستوى. أحد الأنابيب مرتفع للغاية بحيث لا يمكن القفز عليه. بدلاً من ذلك ، استخدم منصة أحد Hammer Brothers. قاطع SethBling عملية التعلم ، معتقدًا أن الخوارزمية لن تتعلم هذا أبدًا.







في الفيديو الثالث ، يلعب MarI / O دور Super Mario Kart في وضع Time Trial بدون أعداء. ساعد Winterbunny في تعديل البرنامج النصي للعمل في هذه اللعبة. على الرغم من أن Super Mario Kart يختلف عن المنصات ، فإن عملية التعلم هي نفسها. في البداية ، تكون الخوارزمية غبية ولا يمكنها فعل أي شيء. يحاول الأفراد النقر على أزرار معينة فقط. ولكن حتى في الجيل صفر كان هناك أفراد تعلموا الركوب بشكل جيد.



بالفعل في الجيل السابع ، تم العثور على شخص قاد 5 لفات في 2.5 دقيقة. هذا الرقم سيئ ، الرقم القياسي العالمي حوالي دقيقة. واجه الفرد باستمرار عوائق وأحيانًا دوائر ملفوفة. أظهرت فتاة من الجيل التاسع نتيجة جيدة لمدة 1.5 دقيقة ، حتى أنها حاولت البقاء على الطريق دون الذهاب إلى الخطوط الجانبية.

Pastebin MarI / O شفرة مصدر
قناة Twitch أخرى حيث يتعلم MarI / O لعب ألعاب مختلفة

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


All Articles