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

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

لمحاكاة جهاز المحركات البشرية ، يتم إنشاء بيئات خاصة تحاول محاكاة العالم المادي بأكبر قدر ممكن من الدقة لحل مشكلة معينة. على سبيل المثال ، ركزت مسابقة
NIPS 2017 على إنشاء روبوت بشري يحاكي المشي البشري.
لحل هذه المشكلة ، عادة ما تستخدم أساليب التعلم العميق مع التعزيز ، والتي تؤدي إلى استراتيجية جيدة ، ولكن ليس الأمثل. بالإضافة إلى ذلك ، في معظم الحالات ، يكون وقت التدريب طويلاً للغاية.
كما لوحظ بشكل صحيح في
المقالة السابقة ، فإن المشكلة الرئيسية في الانتقال من المهام الخيالية / البسيطة إلى المهام الحقيقية / العملية هي أن المكافآت في مثل هذه المشاكل عادة ما تكون نادرة للغاية. على سبيل المثال ، يمكننا تقييم مرور مسافة طويلة فقط عندما يصل الوكيل إلى خط النهاية. للقيام بذلك ، يحتاج إلى تنفيذ سلسلة معقدة وصحيحة من الإجراءات ، وهذا ليس هو الحال دائمًا. يمكن حل هذه المشكلة عن طريق إعطاء الوكيل في البداية أمثلة حول كيفية "اللعب" - ما يسمى بمظاهرات الخبراء.
لقد استخدمت هذا النهج لحل هذه المشكلة. لقد تحولت إلى تحسين كبير في جودة التدريب ، يمكننا استخدام مقاطع الفيديو التي تظهر حركات الشخص أثناء الجري. على وجه الخصوص ، يمكنك محاولة استخدام إحداثيات حركة أجزاء معينة من الجسم (على سبيل المثال ، القدمين) مأخوذة من مقطع فيديو على YouTube.
البيئة
في مهام التعلم المعززة ، يتم مراعاة تفاعل الوكيل والبيئة. واحدة من البيئات الحديثة لنمذجة جهاز الإنسان الحركي هي بيئة محاكاة OpenSim باستخدام محرك فيزياء Simbody.

في هذه البيئة ، "البيئة" هي عالم ثلاثي الأبعاد مع عقبات ، "العامل" هو روبوت بشري مع ستة مفاصل (الكاحل والركبتين والوركين على قدمين) والعضلات التي تحاكي سلوك العضلات البشرية ، و القيم الحقيقية من 0 إلى 1 ، والتي تحدد توتر العضلات الموجودة.
يتم احتساب المكافأة كتغيير في موضع الحوض على طول المحور س ناقص عقوبة استخدام الأربطة. وبالتالي ، من ناحية ، تحتاج إلى الذهاب إلى أقصى حد ممكن في وقت معين ، ومن ناحية أخرى ، تجعل عضلاتك تعمل بأقل قدر ممكن. تنتهي حلقة التدريب إذا تحقق 1000 تكرار ، أو كان ارتفاع الحوض أقل من 0.65 متر ، مما يعني أن نموذج الشخص يقع.
تنفيذ قاعدة
الهدف الرئيسي من التدريب التعزيز هو تعليم الروبوت على التحرك بسرعة وكفاءة في البيئة.
من أجل اختبار الفرضية حول ما إذا كان التدريب في العروض التوضيحية يساعد ، كان من الضروري تنفيذ خوارزمية أساسية تتعلم الجري بسرعة ، ولكن دون المستوى الأمثل ، مثل العديد من الأمثلة الموجودة.
للقيام بذلك ، طبقنا بعض الحيل:
- بادئ ذي بدء ، كان من الضروري تكييف بيئة OpenSim حتى تتمكن من استخدام خوارزميات تعلم التعزيز بفعالية. على وجه الخصوص ، في وصف البيئة ، أضفنا إحداثيات ثنائية الأبعاد لمواضع أجزاء الجسم بالنسبة للحوض.
- تمت زيادة عدد أمثلة اجتياز المسافة بسبب تناسق الوسط. في الموضع الأولي ، يكون العامل متماثلًا تمامًا حول الجانبين الأيسر والأيمن من الجسم. لذلك ، بعد مسافة واحدة ، يمكنك إضافة مثالين في وقت واحد: المثال الذي حدث ، والمرآة متناظرة بالنسبة إلى الجانب الأيسر أو الأيمن من جسم الوكيل.
- لزيادة سرعة الخوارزمية ، تم تخطي الإطارات: تم إطلاق الخوارزمية لتحديد الإجراء العامل التالي فقط كل تكرار ثالث ، وفي حالات أخرى ، تم تكرار الإجراء المحدد الأخير. وبالتالي ، تم تقليل عدد التكرارات لإطلاق خوارزمية اختيار إجراء العامل من 1000 إلى 333 ، مما قلل من عدد الحسابات المطلوبة.
- التعديلات السابقة تسارعت بشكل ملحوظ التعلم ، ولكن عملية التعلم لا تزال بطيئة. لذلك ، تم تطبيق طريقة تسريع بشكل إضافي ، مقترنة بانخفاض في دقة العمليات الحسابية: تم تغيير نوع القيم المستخدمة في ناقل حالة العامل من مزدوج إلى تعويم.

يوضح هذا الرسم البياني التحسن بعد كل من التحسينات الموضحة أعلاه ، فإنه يوضح المكافأة المستلمة لعصر من وقت التدريب.
إذن ما علاقة YouTube به؟
بعد تطوير النموذج الأساسي ، أضفنا توليد المكافآت استنادًا إلى الوظيفة المحتملة. يتم تقديم وظيفة محتملة من أجل إعطاء الروبوت معلومات مفيدة حول العالم من حولنا: نقول إن بعض المواضع الجسدية التي أخذتها شخصية الفيديو قيد التشغيل هي "أكثر ربحية" (أي أنه يحصل على مكافأة أكبر لهم) من غيرها.
قمنا ببناء الوظيفة على أساس بيانات الفيديو المأخوذة من مقاطع فيديو يوتيوب والتي تصور تشغيل أشخاص حقيقيين وشخصيات بشرية من الرسوم وألعاب الكمبيوتر. تم تعريف الوظيفة الكلية المحتملة على أنها مجموع الوظائف المحتملة لكل جزء من الجسم: الحوض والركبتين والقدمين. باتباع النهج القائم على إمكانات تشكيل المكافآت ، في كل تكرار للخوارزمية ، يزود العامل بمكافأة إضافية تقابل التغيير في إمكانات الحالة السابقة والحالية. تم إنشاء الوظائف المحتملة للأجزاء الفردية من الجسم باستخدام المسافات العكسية بين الإحداثيات المقابلة لجزء الجسم في البيانات التي تم إنشاؤها بواسطة الفيديو والروبوت البشري.
درسنا ثلاثة مصادر البيانات:
بيكر آلان. دورات المشي المتحركة - 2010
ProcrastinatorPro. QWOP سبيدرون - 2010
ShvetsovLeonid.HumanSpeedrun - 2015... وثلاث وظائف مسافة مختلفة:


هنا dx (dy) هو الفرق المطلق بين إحداثي x (y) لأجزاء الجسم المقابلة المأخوذة من بيانات الفيديو والإحداثي x (y) للعامل.
فيما يلي النتائج التي تم الحصول عليها عن طريق مقارنة مصادر البيانات المختلفة لوظيفة محتملة تستند إلى PF2:

النتائج
مقارنة الإنتاجية بين المستوى الأساسي ونهج تشكيل الأجر:

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

بشكل منفصل ، أود أن أشير إلى النتيجة المهمة التالية: تمكنا من إثبات نظريًا أن المكافأة المستندة إلى دالة محتملة لا تؤدي إلى تفاقم السياسة المثلى. من أجل إظهار هذه الميزة في هذا السياق ، استخدمنا وكيلًا مثاليًا تم إنشاؤه بواسطة الوكيل الأساسي بعد 12 ساعة من التدريب. تم استخدام عامل النموذج الأولي الناتج كمصدر بيانات لوظيفة محتملة. من الواضح أن العامل الذي تم الحصول عليه باستخدام هذا النهج لن يعمل على النحو الأمثل ، وأن مواقف القدمين والركبتين في معظم الحالات لن تكون في المواضع المثلى. بعد ذلك ، تم تدريب العامل الذي تم تدريبه بواسطة خوارزمية DDPG باستخدام الوظيفة المحتملة على البيانات التي تم الحصول عليها. بعد ذلك ، تم إجراء مقارنة لنتائج التعلم لعامل مع وظيفة محتملة مع وكيل النموذج الأولي. يوضح جدول تدريب الوكلاء أن وكيل RL قادر على التغلب على الأداء الأمثل لمصدر البيانات.
الخطوات الأولى في العلوم
لقد أنهيت مشروع التخرج في وقت مبكر جدا. أود أن أشير إلى أن لدينا طريقة مسؤولة للغاية لحماية الدبلوم. منذ سبتمبر ، يعرف الطلاب الموضوع ومعايير التقييم وماذا ومتى يفعلون. عندما يكون كل شيء واضحًا ، يكون العمل مناسبًا جدًا ، فلا يوجد شعور "لدي عام كامل قادم ، يمكنني أن أبدأ في الأسبوع / الشهر / ستة أشهر القادمة". نتيجة لذلك ، إذا كنت تعمل بكفاءة ، فيمكنك الحصول على النتائج النهائية للرسالة بحلول العام الجديد ، وقضاء الوقت المتبقي في إعداد النموذج ، وجمع نتائج ذات دلالة إحصائية وكتابة نص الدبلوم. هذا هو بالضبط ما حدث لي.
قبل شهرين من الدفاع عن الدبلوم ، كان لديّ نص العمل جاهز بالفعل ، واقترح مستشاري العلمي ألكسي ألكسندروفيتش شبيلمان كتابة مقال عن
ورشة عمل حول عوامل التكيف والتعلم (ALA) في ICML-AAMAS. الشيء الوحيد الذي كنت بحاجة إلى القيام به هو ترجمة أطروحتي وإعادة حزمها. نتيجة لذلك ، أرسلنا مقالًا إلى المؤتمر و ... تم قبوله! كان هذا أول منشور لي وكنت سعيدًا جدًا عندما رأيت خطابًا بكلمة "مقبول" في بريدي. لسوء الحظ ، في نفس الوقت تدربت في كوريا الجنوبية ولم أستطع حضور المؤتمر شخصيًا.
بالإضافة إلى
نشر العمل المنجز والاعتراف به ، فقد أحضر لي المؤتمر الأول نتيجة لطيفة أخرى. بدأ أليكسي ألكساندروفيتش يجذبني لكتابة مراجعة لأعمال الآخرين. يبدو لي أن هذا مفيد للغاية لاكتساب الخبرة في تقييم الأفكار الجديدة: وبهذه الطريقة يمكنك أن تتعلم تحليل العمل الحالي ، والتحقق من فكرة الأصالة والملاءمة.
من الجيد كتابة مقال عن ورشة العمل ، لكن المسار الصحيح هو الأفضل
بعد كوريا ، حصلت على فترة تدريب في شركة JetBrains Research وواصلت العمل في المشروع. في هذه المرحلة ، قمنا باختبار ثلاث صيغ مختلفة لوظيفة محتملة وقمنا بإجراء مقارنة. لقد أردنا حقًا مشاركة نتائج عملنا ، لذلك قررنا كتابة مقالة كاملة في مؤتمر المسار الرئيسي
ICARCV في سنغافورة.
من الجيد كتابة مقال في ورشة عمل ، ولكن على المسار الرئيسي هو الأفضل. وبطبيعة الحال ، كنت سعيدًا جدًا عندما اكتشفت أن المقال مقبول! علاوة على ذلك ، وافق زملاؤنا ورعاتنا من JetBrains على دفع ثمن رحلتي إلى المؤتمر. كانت المكافأة الضخمة هي الفرصة للتعرف على سنغافورة.
عندما تم شراء التذاكر بالفعل ، تم حجز الفندق ولم أستطع الحصول على تأشيرة فقط ، تلقيت رسالة في البريد:

لم أحصل على تأشيرة دخول رغم أن لديّ مستندات تؤكد خطابي في المؤتمر! اتضح أن سفارة سنغافورة لا تقبل طلبات الفتيات غير المتزوجات والعاطلات عن العمل دون سن 35 عامًا. وحتى إذا كانت الفتاة تعمل ، لكن ليس متزوجة ، فإن فرصة الحصول على الرفض لا تزال كبيرة جدًا.
لحسن الحظ ، علمت أن مواطني الاتحاد الروسي المسافرين عبر العبور يمكنهم الإقامة في سنغافورة لمدة تصل إلى 96 ساعة. ونتيجة لذلك ، سافرت إلى ماليزيا عبر سنغافورة ، حيث قضيت ما يقرب من ثمانية أيام في المجموع. استمر المؤتمر نفسه ستة أيام. بسبب القيود ، حضرت الأربعة الأولى ، ثم اضطررت إلى المغادرة للعودة لإغلاقها. بعد المؤتمر ، قررت أن أشعر بالسائح وأنني أتجول في المدينة لمدة يومين وزرت المتاحف.
أعددت خطابا في ICARCV مقدما ، مرة أخرى في سان بطرسبرج. تم التدريب عليها في ورشة تدريب التعزيز. لذلك ، كان التحدث في المؤتمر مثيرًا ولكن ليس مخيفًا. استغرق العرض التقديمي نفسه 15 دقيقة ، ولكن بعد ذلك كان هناك قسم من الأسئلة ، والذي بدا مفيدًا جدًا بالنسبة لي.
لقد طرحت بعض الأسئلة المثيرة للاهتمام التي دفعت بأفكار جديدة. على سبيل المثال ، حول كيفية قيامنا بترميز البيانات. في عملنا ، قمنا بترميز البيانات يدويًا ، وتم عرض علينا استخدام مكتبة تتفهم تلقائيًا أماكن أجزاء جسم الإنسان. الآن بدأنا للتو في تنفيذ هذه الفكرة. يمكنك قراءة العمل كله
هنا .
في ICARCV ، استمتعت بالتواصل مع العلماء وتعلمت الكثير من الأفكار الجديدة. كان عدد المقالات المثيرة التي التقيت بها في هذه الأيام القليلة أكثر مما كان عليه في السنوات الأربع الماضية. يوجد الآن "ضجيج" للتعلم الآلي في العالم ، وتظهر كل يوم عشرات المقالات الجديدة على الإنترنت ، ومن الصعب جدًا العثور على شيء ذي قيمة. يبدو لي أن الأمر يستحق ذلك في المؤتمرات: لإيجاد مجتمعات تناقش مواضيع جديدة مثيرة للاهتمام ، وتتعرف على الأفكار الجديدة وتتقاسم أفكارها الخاصة. وكون صداقات!