قم بإنشاء وكلاء AI للتعلم الآلي في محرك غير واقعي 4 و 5
مقدمة إلى Mindmaker: https://www.youtube.com/watch؟v=erm_pzhapia
نظرة عامة على المخططات: https://youtu.be/tuo423nujek
مجموعة Discord: https://discord.gg/shxfwtmsha
يعد مكون Mindmaker AI Plugin مكونًا إضافيًا مفتوح المصدر يمكّن الألعاب والمحاكاة داخل UE4 و UE5 لتعمل كبيئات Openai Gym لتدريب عوامل التعلم الآلي المستقل. يسهل المكون الإضافي اتصالًا بالشبكة بين مشروع محرك غير حقيقي يحتوي على بيئة التعلم ، ومكتبة Python ML التي تتلقى بيانات من Unreal Engine وتوصيفًا في بيئة صالة الألعاب الرياضية Openai مخصصة لتدريب الوكيل. يمكن أن تكون مكتبة التعلم الآلي المستقلة إما نصًا مخصصًا في Python في حالة إنشاء أداة ML الخاصة بك باستخدام خادم ML الخاص بـ MindMaker ، أو قد يكون محركًا تعليميًا مسبقًا مثل Mindmaker's DRL (خوارزميات Baselines3 المستقرة). بغض النظر عن الخيار الذي تختاره ، يمكن للمطورين والباحثين في مجال Mindmaker AI تدريب عوامل التعلم الآلي بسهولة لمشاريع ثنائية الأبعاد و 3D و VR.
تمتد التطبيقات الممكنة إلى ما بعد تصميم اللعبة إلى مجموعة متنوعة من المساعي العلمية والتقنية. وتشمل هذه المحاكاة الآلية ، والقيادة ذاتية الحكم ، والهندسة المعمارية التوليدية ، والرسومات الإجرائية وأكثر من ذلك بكثير. توفر واجهة برمجة التطبيقات هذه منصة مركزية يمكن أن تصل إليها التقدم في التعلم الآلي للعديد من هذه الحقول. بالنسبة لمطوري الألعاب ، تتضمن حالات استخدام عوامل التحسين الذاتي التحكم في سلوك NPC (في مجموعة متنوعة من الإعدادات مثل العوامل المتعددة والخصود) ، وقرارات تصميم النماذج الأولية ، والاختبار الآلي لبناء اللعبة.
يتم تضمين محرك التعلم DRL في رابط مشروع المثال بالإضافة إلى رمز مصدر Python لتعديله ، الموجود في دليل Content MindMaker Source. تشمل الخوارزميات المدعومة حاليًا من قبل محرك التعلم DRL ما يلي: ناقد الممثل (A2C) ، عينة من الفاعل الفعال مع إعادة تشغيل الخبرة (ACER) ، ناقد الممثل باستخدام kronecker-factored regit (SAC) ، TWIN PINDISTION (DQN) ) ، تدرج السياسة الحتمية العميقة (DDPG). يشبه المكون الإضافي وظيفيًا وكلاء ML الخاص بالوحدة ، مع بعض المزايا - بدلاً من الحاجة إلى إنشاء بيئة صالة الألعاب الرياضية Openai المخصصة لكل تطبيق ، يستخدم المرء بيئة واحدة واختيار ببساطة أي من ملاحظات الوكيل والإجراءات التي يجب تعريضها لخوارزمية ML. فويلا ، دع التعلم يبدأ!
هناك مكونان أساسيان ستستخدمهما أثناء العمل مع مكون Mindmaker Plugin ، ومشروع Enginge غير الواقع الذي يحتوي على بيئة التعلم ، ومكتبة التعلم الآلي المستقل المستخدم من قبل الوكيل لتحسين كل ما يحاول التعلم. يمكن أن تكون مكتبة التعلم الآلي المستقلة إما نصًا مخصصًا في Python في حالة إنشاء أداة ML الخاصة بك باستخدام خادم ML الخاص بـ Mindmaker ، أو قد يكون محركًا تعليميًا مسبقًا مثل Mindmaker DRL Engine (خوارزميات خطوط الأساس المستقرة).
للتجربة باستخدام مكتبات ML مختلفة بالتزامن مع Mindmaker ، استخدم خادم MindMaker Remote ML. مع ذلك ، يمكنك تخصيص محرك تعلم Python الخاص بك ، بدلاً من استخدام محرك DRL المُجسّل مسبقًا. لاستخدام خادم ML البعيد ، اتبع الخطوات هذه:
إذا كنت ترغب في توظيف العديد من عملاء ML متصلين ببيئة تعليمية واحدة ، على سبيل المثال في سيناريو وكيل متعدد ، يمكن القيام بذلك باستخدام Mindmaker Server و Plugin.
لإنشاء عوامل تعليمية متعددة ، قم أولاً بإعداد وكلاء التعلم الخاص بك كما هو موضح في أحد مثال المخططات. بالنسبة لكل وكيل تعليمي جديد ، ستحتاج إلى زيادة إعدادات منفذ Socketio في وحدة التحكم AI الجديدة بحلول 1. في وقت بدء تشغيل الخادم ، يتم إنشاء أرقام منافذ الخادم الجديدة تلقائيًا لكل مثيل جديد من MindMaker.exe التي تقوم بتشغيلها ، بدءًا من 3000 والانتقال من هناك لما مجموعه 100.
على سبيل المثال ، إذا قمت بإضافة وكيل تعليمي ثانٍ إلى خريطتك ، فستحتاج إلى جميع الوظائف نفسها الموجودة في أول وكيل تعليمي ، وعقدة Launch Mindmaker Blueprint وما إلى ذلك ، ولكن بدلاً من تعيين هذا الوضع إلى المنفذ 3000 ، ستقوم بتعيين المنفذ 3001 في المخططات. إلى جانب تغيير إعداد منفذ Socketio في مخططات ، ستحتاج أيضًا إلى التغيير لتغيير وظيفة مخطط Connect Socketio ، وتعديل العنوان والمنفذ إلى الرقم الجديد الذي أنشأته "http: // localhost: 3001" على سبيل المثال.
بمجرد الانتهاء من ذلك ، ستحتاج فقط إلى إنشاء مثيل ثانٍ لملف Mindmaker_Client.py الذي سيتصل بعامل التعلم الثاني. يمكن أن يتم التدريب في وقت واحد ، بالتوازي. التعديل الوحيد الذي تحتاج إلى إجراؤه إلى Mindmaker_client.py هو تغيير sio.connect ('http: // localhost: 3000') في الجزء السفلي من الملف إلى sio.connect ('http: // localhost: 3001') أو أيا كان عدد عوامل التعلم الجديدة التي تعمل معها. إذا كان لديك خمسة وكلاء تعليميين ، فسيكون لديك خمس حالات من تشغيل العميل وسيحصل كل منها على رقم منفذ جديد على طول الطريق حتى 3005
التعلم المقلد مع مستقرة extablines 3 يمكن تعديل مصدر Mindmaker Python لدعم التعلم المقلدة باستخدام خوارزميات التعلم المقلدة المدعومة
لحفظ نموذج مدرب ، قم بتعيين مربع الاختيار "حفظ النموذج بعد التدريب" في وظيفة Mindmaker في إطلاق TRUE. ستحتاج إلى التأكد من أن عدد حلقات التدريب الخاصة بك هو رقم غير صفر. سوف ينقذ النموذج بعد اكتمال التدريب. لتحميل النماذج المدربة ، قم بإلغاء تحديد مربع الاختيار "حفظ النموذج بعد التدريب" ، وبدلاً من ذلك قم بتعيين مربع الاختيار "تحميل النموذج المسبق" في وظيفة Mindmaker لإطلاق True. ستحتاج أيضًا إلى تعيين عدد حلقات التدريب على الصفر ، حيث لا يوجد تدريب يجب أن يحدث. تأكد من أن عدد حلقات التقييمات هو عدد صحيح غير صفري ، لأن هذا سيكون كيف يوضح النموذج الذي تم تدريبه مسبقًا التعلم. يتم حفظ النماذج محليًا في مجلد "AppData Roaming" لجهاز الكمبيوتر الخاص بك ، على سبيل المثال C: Users leon appdata Roaming
بشكل افتراضي ، يحفظ Mindmaker فقط إلى دليل AppData/Roaming على أجهزة Windows. لتمكين تسجيل Tensorboard ، اتبع هذه الخطوات.
هذه عملية ثلاث خطوات ، تحتاج إلى تحديد الإجراءات التي يمكن للوكيل اتخاذها ، وما هي معايير المكافأة الخاصة به ، وما هي الملاحظات التي سيحتاج الوكيل إلى إجراؤها بشأن بيئته لتعلم مكافأة بنجاح.
إطلاق Mindmaker ---------> تلقي الإجراء --------> Make Obs -----> تحقق من المكافآت --------> إرسال OBS و RWRD إلى Mindmaker ------ العودة لتلقي الإجراء
في عملية التعلم ، يجب أولاً تكوين محرك Mindmaker Learning مع مساحة المراقبة التي يستخدمها الوكيل وإجمالي عدد الإجراءات المتاحة للوكيل. لا تحتاج إلى تقديم أي معلومات عن المكافأة عند تهيئتها ، وسيتم مواجهتها فقط أثناء التدريب.
تتمثل العملية الكلية للتعلم في أنه بمجرد إطلاقها وتوصيلها بمحرك غير واقعي ، سيبدأ محرك Mindmaker Learning في توفير إجراءات عشوائية لاتخاذ وكيل المحرك غير الواقع الذي يجب أن يأخذه ، واستجابة لذلك ، سيعيد الوكيل مع UE قائمة بالملاحظات التي قام بها بمجرد اتخاذ الإجراء ، بالإضافة إلى أي مكافأة تلقاها في العملية. انظر أعلاه الرسم البياني. على مدار العديد من الحلقات ، ستعمل الخوارزمية التي تستخدمها شركة Mindmaker على تحسين إجراءات الوكلاء استجابةً للملاحظات والمكافآت المستلمة من UE. هذه العملية هي نفسها بغض النظر عن خوارزمية التعلم الآلي الذي يختار المرء توظيفه مع Mindmaker. مع هذه المعلومات ، ستبدأ خوارزمية التعلم التي يتم استخدامها في Mindmaker في تحسين قرارات عمل الوكلاء ، واكتشاف التسلسل الضروري بشكل مثالي لتلقي المكافآت باستمرار. يتم التحكم في المقايضة بين الإجراءات العشوائية والاتخاذ المتعمدة في معلمات الاستكشاف/الاستغلال في مكتبة ML التي حددتها للاستخدام مع Mindmaker ، على سبيل المثال خطوط الأساس المستقرة. تتكرر هذه العملية لكل حلقة من التدريب. بعد عدد ثابت من حلقات التدريب ، يمكنك التبديل بالكامل إلى استخدام الخوارزمية للتنبؤ بالأفعال "الأفضل" بدلاً من اتخاذ الحالات العشوائية.
تعمل Mindmaker من خلال لف بيئة غير حقيقية بتنسيق متوافق مع صالة الألعاب الرياضية Openai بحيث يمكن نشر أي مكتبة ML التي تم تصميمها للعمل مع Openai Gym على بيئة المحرك غير الواقعية. الغرض من استخدام صالة الألعاب الرياضية المفتوحة هو توحيد العوامل ذات الصلة للتعلم ، أي تنسيق تلقي الملاحظات والمكافآت والإجراءات الوكلاء ، بحيث يمكن لأي خوارزمية ML الوصول إلى المتغيرات ذات الصلة للتعلم دون الحاجة إلى إعادة التعديل لكل مهمة محددة. يمكن للخوارزميات التي تعمل مع Openai Gym من العمل مع أي بيئة ووكيل يستخدم بروتوكول Openai الموحد.
تكوين محرك Mindmaker Learning في البداية ، ستحتاج إلى تكوين وظيفة Mindmaker لإطلاق ضمن Unreal Engine لوكيل التعلم الخاص بك. يتم ذلك عن طريق تعيين متغير ACTION_SPACE داخل Mindmaker لتعادل العدد الإجمالي للإجراءات المتاحة لوكيلك. ستحتاج أيضًا إلى تكوين متغير Observation_Space لمطابقة الرقم ونوع الملاحظات التي سيستخدمها وكيلك فيما يتعلق بالمكافأة التي تحاول استلامها. بشكل افتراضي ، يتم تمرير الملاحظات من غير واقعية كصفيف ، انظر مشروع المثال. اعتمادًا على عدد الملاحظات التي سيجدها وكيلك ضرورية لاستخدامها ، سيتغير حجم الملاحظة.
المكافأة - المكافأة هي متغير تم تعيينه وفقًا للمعايير المحددة التي اخترتها للوكيل للتعلم أو التحسين. في مخطط UE4 ، ستستخدم عقدة فرع لتحديد الظروف البيئية وإجراءات الوكيل التي يجب الوفاء بها لتفعيل المكافأة. هذا من تم نقله إلى Mindmaker بواسطة اتصال المقبس. انظر مثال المشروع. الإجراء - هذا متغير يحتوي على قيمة عدد صحيح تمثل أي إجراء اتخذه الوكيل. ستحتاج أيضًا إلى تحديد العدد الإجمالي للإجراءات المتاحة للوكيل وتعيين MaxCtions في Mindmaker على قدم المساواة في هذا الرقم. الملاحظات - perhapse أصعب المتغيرات التي ستتعامل معها. مفتاح تعيين هذا بشكل صحيح هو فهم أنه يجب تضمين إجراءات الوكلاء بأنفسهم في متغير الملاحظات ، بالإضافة إلى أي معيار بيئي آخر مشار إليه في وظيفة المكافأة. يحتاج الوكيل إلى معرفة الإجراء أو الإجراءات التي اتخذتها والتي أثرت على المكافأة وأي متغيرات بيئة تغيرت أيضًا. يتم تمريرها إلى محرك Mindmaker Learning كصفيف ويتم تحديثه في متغير الملاحظات فيه.
سنناقش هنا المعلمات الفردية لعقدة Blueprint LaunchMindmaker ، والتي هي المكون الرئيسي لوظائف مخططات Mindmaker.
خوارزمية RL - هذا هو المكان الذي يمكن للمرء أن يختاره نكهة خوارزمية RL يريد المرء تدريب الوكيل معه. هناك عشرة خيارات في القائمة المنسدلة ، حيث تحتوي كل خوارزمية على إيجابيات وسلبيات خاصة بها. يمكن العثور هنا على مناقشة مفصلة حول المتاحة للخوارزميات ذات الصلة وحالات استخدامها. https://spinningup.openai.com/en/latest/spinningup/rl_intro2.html
NUM Train EP - هذا هو إدخال عدد صحيح يمثل عدد حلقات التدريب التي يرغب المرء في التعهد بها. كلما زاد عدد حلقات التدريب ، زاد استكشاف الوكيل قبل الانتقال إلى السلوك الاستراتيجي الذي يكتسبه أثناء التدريب. يحدد تعقيد الإجراءات التي يحاول الوكيل تعلمها عادة عدد حلقات التدريب المطلوبة - تتطلب الاستراتيجيات والسلوكيات الأكثر تعقيدًا المزيد من حلقات التدريب.
Num Eval EP - هذا أيضًا إدخال عدد صحيح ويمثل عدد حلقات التقييم التي سيخضعها الوكيل بعد التدريب. هذه هي الحلقات التي يوضح فيها الوكيل سلوكه المستفاد.
مساحة العمل المستمرة - هذا هو مدخلات منطقية تحدد ما إذا كان العامل يستخدم مساحة عمل مستمرة. إن مساحة الإجراء المستمرة هي مساحة لا حصر لها من الإجراءات التي يمكن للوكيل اتخاذها ، على سبيل المثال إذا كان يتعلم توجيه سيارة ، ومدى من الزوايا التي يمكن أن يتغير عليها عمود التوجيه هو قيمة عشرية بين 0 و 180 ، أكثر من وجود عدد لا حصر له من القيم في هذا النطاق مثل .12 و 145.774454. سترغب في التعرف في بداية الاستخدام إذا كان لدى وكيلك عددًا لا حصر له من الإجراءات أو إجراءات الأرقام المحدودة التي يمكن أن يتخذها. يجب أن تكون مساحة الإجراء مستمرة أو منفصلة ، لا يمكن أن تكون كلاهما.
مساحة العمل المنفصلة - هذا هو مدخلات منطقية تحدد ما إذا كان العامل يستخدم مساحة عمل منفصلة. إن مساحة الإجراء المنفصلة هي مساحة يوجد فيها عدد محدود من الإجراءات التي يمكن أن يتخذها الوكيل ، كما لو أن الذكاء الاصطناعى يمكنه التحرك يمينًا فقط أو مساحة واحدة. في هذه الحالة ، لا يحتوي سوى إجراءين متاحين له ومساحة الإجراء منفصلة. يحدد المستخدم نوع مساحة الإجراء التي سيستخدمها الوكيل قبل استخدام Mindmaker وتعيين هذه القيم وفقًا لذلك.
شكل مساحة العمل - هذا يحدد الحدود السفلية والعليا للإجراءات المتاحة للوكيل. إذا كنت تستخدم مساحة عمل منفصلة ، فهذا ببساطة هو العدد الإجمالي للإجراءات المتاحة للوكيل ، على سبيل المثال 2 أو 8. إذا كنت تستخدم مساحة عمل مستمرة ، فستكون الأمور أكثر تعقيدًا ويجب أن تحدد الحدود المنخفضة والعالية لمساحة الإجراء. التنسيق للقيام بذلك هو على النحو التالي: منخفض = lowboundary ، مرتفع = Highboundary ، الشكل = (1 ،) في هذه الحالة ، Lowboundary هي قيمة مثل -100.4 و Highboundary هي قيم مثل 298.46. ستمثل جميع القيم العشرية بين هذه الحدود الإجراءات المتاحة للوكيل. إذا كان لديك مجموعة من هذه الإجراءات ، فيمكنك تغيير جزء الشكل لتعكس هذا.
شكل مساحة الملاحظة - بشكل صحيح هذا الإدخال هو مشتق Python من فئة البيئة المخصصة لـ AI المفتوحة ويحدد الحدود السفلية والعليا للملاحظات المتاحة للعامل بعد اتخاذ إجراء. التنسيق للقيام بذلك هو كما يلي: low = np.array ([lowboundary]) ، High = np.array ([Highboundary]) ، dtype = np.float32. تخيل وكيلًا يحتاج إلى اتخاذ ثلاثة إجراءات محددة على التوالي لتلقي مكافأة ، فإن مساحة الملاحظة الخاصة بها تحتاج إلى تضمين الوصول إلى هذه الإجراءات الثلاثة ، والتي سيتم تمثيل كل منها بملاحظة فريدة. لذلك يجب أن تشمل مجموعة الملاحظات ثلاث قيم مختلفة ، كل منها ذات حدود فريدة خاصة. على سبيل المثال ، قد يتم تعريف مساحة الإجراء هذه على هذا النحو: low = np.array ([0،0،0]) ، High = np.array ([100،100،100]) ، dtype = np.float32 Met ، من مساحة المراقبة يجب أن تتضمن إشارة إلى هذه القيمة. إذا كان يجب استيفاء خمسة شروط لمكافأة الوكيل ، فيجب أن يكون كل من هذه الشروط الخمسة جزءًا من مساحة مراقبة الوكلاء.
تحميل النموذج المسبق للمدربين - هذه قيمة منطقية تحدد ما إذا كنت ترغب في تحميل بعض السلوك الذي تم تدريبه مسبقًا والذي تم حفظه مسبقًا. إذا قمت بتعيين هذا على TRUE ، فستحتاج إلى تحديد اسم الملف في مربع إدخال اسم نموذج حفظ /تحميل. يتم حفظ جميع النماذج افتراضيًا في دليل التجوال بيانات التطبيق على سبيل المثال C: Users username AppData Roaming
احفظ النموذج بعد التدريب - هذه قيمة منطقية تحدد ما إذا كنت ترغب في توفير الوكيل لإنقاذ السلوك الذي تعلمته بعد التدريب. إذا قمت بتعيين هذا على TRUE ، فستحتاج إلى تحديد اسم الملف في مربع إدخال اسم نموذج حفظ/تحميل. يتم حفظ جميع النماذج افتراضيًا في دليل التجوال بيانات التطبيق على سبيل المثال C: Users username AppData Roaming
حفظ/تحميل اسم الطراز - هذه سلسلة تمثل اسم النموذج الذي ترغب في حفظه أو تحميله. يتم حفظ الملفات إلى دليل التجوال بيانات التطبيق على سبيل المثال c: user username appdata roming
استخدم المعلمات المخصصة - هذه قيمة منطقية تحدد ما إذا كنت تريد استخدام إصدار الأسهم من الخوارزمية التي حددتها أو ترغب في تعديل معلماتها. إذا كنت ترغب في استخدام معلمات مخصصة ، فيمكن الوصول إليها من خلال متغيرات بنية المعلمات المخصصة. إذا قمت بالنقر فوقها ، على سبيل المثال A2CParams ، سترى جميع القيم التي يمكن تعيينها في هذه الهياكل. يمكن الاطلاع على تفاصيل مفصلة للمعلمات لكل خوارزمية هنا: https://stable-baselines.readthedocs.io/en/master/
يتم تقديم قائمة عينة من الوظائف من مشروع المثال أدناه لفهم كيفية تمرير المعلومات بين Mindmaker و Unreal Engine ، وترد جميع أصول UE ذات الصلة بمشكلة الألعاب في مجلد الأصول/DeepLearningNPC. من الأهمية بمكان وجود مخطط يسمى AI_CHARACTER_CONTROLER_BP في مخطط AI_CHARACTER_CONTROLER_BP ، يتم تكوين جميع متغيرات البيئة لتمريرها إلى تطبيق Mindmaker المستقل. وتشمل هذه الوظائف الأساسية التالية
تحميل وظيفة الإدخال الحسي - يستورد الكائنات التي يمكن أن تصل إليها الذكاء الاصطناعى من أجل الاستشعار أو معالجة وظيفة عناصر التحكم البيئية في البيئة - وهذا يتحكم في منطق أجزاء من البيئة التي تغير مثل هذه الأضواء التي تعمل على إيقاف تشغيلها وما إلى ذلك
تحديد وظيفة مساحة الإجراء - قم بتشفير جميع إجراءات الوكيل الممكنة في قيمة رقمية واحدة يمكن تمريرها إلى التطبيق المستقل للتقييم بواسطة خوارزمية RL
وظيفة LaunchMindmaker - هذا يدعو التطبيق المستقل عند بدء التشغيل بحيث يمكنه بدء بيانات التقييم من بيئة UE. بعد بدء ذلك ، يبدأ تطبيق RL في التحقيق في البيئة بإجراءات عشوائية يولدها ، مثل شخص أعمى يبحث في الظلام عن الضوء. الضوء هو المكافأة ، والتي تم تحديدها في وظيفة مكافأة Check Function. ينتقل LaunchLearningEngine أيضًا في بعض معلومات بيئة UE الأساسية إلى التطبيق المستقل ، مثل عدد الإجراءات التي يمكن أن يتخذها الوكيل ، وعدد الحلقات الإجمالية التي يجب تدريبها ، وعدد الحلقات لعرض الإستراتيجية المكتسبة للوكلاء بعد التدريب. سيستغرق عرض جميع الوكلاء التدريب العشوائي وقتًا طويلاً.
وظيفة الاستقبال - بعد بدء تشغيل وظيفة محرك التعلم ، فإن الوظيفة التالية لإطلاق النار هي الانتعاش. يتلقى هذا الإجراء الذي يختاره التطبيق المستقل ، ويقوم بعدد من إجراءات المتابعة معه ، مثل تحديث موقع الوكلاء في البيئة ، والتحقق من ما إذا كان الإجراء الجديد يفي بحالة المكافأة ، وعرض إجراءات الوكلاء إذا كنا من خلال التدريب ، وتحديث ملاحظات الوكلاء حول بيئتها حتى يمكن نقلها مرة أخرى إلى تطبيق standalone في الحلقة التالية.
جعل وظيفة الملاحظات - الغرض من ذلك هو تحديث الملاحظات الوكلاء حول بيئتها بعد الإجراء الذي اتخذته للتو. ستشمل هذه ، على سبيل المثال ، موقع الوكلاء مع البيئة وأي بيانات بيئية أخرى تغيرت منذ آخرها اتخاذ إجراء. يتم تخزين هذه في متغير هيكل مخصص.
CheckReward - هذا يحدد حالة المكافأة للوكيل في البيئة. إذا تم استيفاء شرط المكافأة هذه بعد الوكيل الذي يتخذ إجراءًا ، يتم تمرير هذه المعلومات إلى التطبيق المستقل في وظيفة SEND Observations التالية. إرسال وظيفة الملاحظات - تأخذ الملاحظات الجديدة التي أدلى بها الوكيل وأي معلومات مكافأة وتنقلها إلى التطبيق المستقل. هذه هي الطريقة التي ستتمكن بها خوارزمية RL من تقييم ما إذا كان الإجراء الذي اتخذته للتو أمرًا جيدًا ، وتحديث استراتيجيتها وفقًا لذلك. بعد حرائق هذه الوظيفة ، اكتمل التكرار أو حلقة اللعبة ، وتكرر العملية Infinitum.
قد تتطلب بعض المهام فترات تدريب ممتدة حيث يثبت تصور حركات الوكيل بشكل محظور للوقت. على هذا النحو ، في بعض الأمثلة التي تصور حركات الوكيل قد تم تعطيلها ، لكن التدريب يحدث في الخلفية بمجرد تشغيل المثال وعند الانتهاء ، سيظهر الوكيل الاستراتيجية المكتسبة.
عشوائيًا في هذه الحالة يعني أن الوكيل يستخدم مولد أرقام عشوائية للاختيار بين الإجراءات المتاحة لها أثناء التدريب. ثم تلاحظ خوارزمية RL نتائج هذه الإجراءات العشوائية وأي مكافآت تلقيتها وتستخدم هذه المعلومات لاختيار إجراءات أفضل خلال مرحلة "الاستغلال". هذه هي الطريقة التي يتم بها تطوير استراتيجية مستفادة.
يأخذ جمع المعلومات أثناء التعلم شكل مجموعة من الملاحظات التي يتم إنشاؤها بعد كل من الإجراءات العشوائية للوكيل. إذا تم استخدام المكون الإضافي لـ Mindmaker ، يتم تعريف الشكل الدقيق للمصفوفة في خاصية حجم المراقبة لوظيفة Launch Mindmaker Blueprint وسيعتمد على المتغيرات الضرورية للوكيل لمراقبة هذه اللعبة أو مهمة التعلم. سوف يتغير اعتمادًا على مهمة التعلم أو اللعبة.
يدرك الوكيل فقط جزء البيئة التي يتعرض لها مصمم اللعبة. عند استخدام المكون الإضافي Mindmaker ، يتم ملء هذه الملاحظات في مكالمة وظيفة Make Observations في محرك غير حقيقي. سيؤدي ذلك إلى توليد مجموعة من الأرقام في الشكل المحدد بواسطة خاصية حجم المراقبة لوظيفة Launch Mindmaker Blueprint. يجب اختيار الملاحظات بحيث تشتمل فقط على البيانات الضرورية للوكيل للتعلم منها ، وإلا فقد يصبح التدريب مستهلكًا للوقت المحظور.
في تعلم الفانيليا - لا يلزم أي شبكة عصبية ويتم تخزين التعلم بتنسيق جدولي. عند استخدام Mindmaker التعرف على التعزيز العميق ، يمكن للمرء أن يختار بين مجموعة متنوعة من بنية الشبكة العصبية بما في ذلك RNN و CNN وما إلى ذلك. يمكن للمرء أن يضعها في خصائص كل خوارزمية مخصصة لمكالمة وظيفة LaunchMaker Lameprint.
إنشاء بيئة تعلم تعزيز عميق مخصص
مقدمة. لتعزيز التعلم لألعاب الفيديو الذكاء الاصطناعي
التعلم التعزيز - إنه وعد ومخاطر
وثائق خطوط الأساس المستقرة