في لمحة: AndroidEnv
AndroidEnv عبارة عن طبقة جديدة لتمكين وكلاء التعلم التعزيزي من التدريب على نظام التشغيل Android ، الذي طوره Deepmind ، وهو فرع AI الشهير من Alphabet. إنه يقع بين Android و ADB من جانب ووكيل يتم تدريبه على الجانب الآخر. إذا كنت لا تعرف ، يشير مصطلح "الوكيل" إلى تطبيق للتعلم الآلي يمكنك ترميزه وتشغيله. AndroidEnv متاح كمستودع مفتوح المصدر على جيثب.
وصول واقعي إلى Android
يهدف AndroidEnv إلى توفير بيئة واقعية بقدر الإمكان للتدريب ، وبالتالي تتوافق القيود المطبقة مع تلك التي يمكن أن نتوقعها من الأشخاص الذين يتفاعلون مع Android أيضًا:
- يمكن للوكيل قراءة البيكسلات التي يعرضها Android بشكل أساسي ؛ لهذه الميزة ، يتم استخدام واجهة تحاكي شاشة تعمل باللمس
- تتكون مساحة العمل (مجموعة من الخيارات المتاحة للتفاعل مع البيئة) من عدة إجراءات بسيطة ، مثل اللمس أو الرفع أو الإزالة
الهدف من AndroidEnv هو دفع حدود التعلم المعزز. على غرار النظام الأساسي "Universe" الخاص بـ OpenAI ، والذي مكّن الوكلاء من التفاعل مع المشاهد عبر واجهة للماوس ولوحة المفاتيح ، يتيح أحدث تصميم لـ Deepmind للمطورين تدريب نماذجهم في واحدة من أكثر البيئات تحديًا التي يمكن تخيلها.
ما أعنيه بذلك هو أن النماذج السابقة تمكنت من الوصول إلى أهدافها عبر واجهة خاصة تبسط التفاعل كثيرًا. أيضًا ، لا يوفر AndroidEnv الكثير من المعلومات الإضافية بصرف النظر عن وحدات بكسل الشاشة (المزيد حول ذلك لاحقًا) ، مما يجعل استخدامه واقعيًا للغاية.
نظرة فاحصة على التفاعل
كما ذكرنا ، يوفر AndroidEnv مجموعة من الإجراءات الأولية التي تحاكي جميعها الحركات الأساسية التي قد يستخدمها الإنسان أيضًا عند التفاعل مع شاشة تعمل باللمس. تُستكمل هذه الإجراءات الأولية بمجموعة من الإيماءات التي تسمح للعامل بالتحكم الفعال ، مثل التمرير أو التمرير.
توضح التفاعلات مع AndroidEnv أيضًا أحد التحديات الكبيرة على هذا النظام الأساسي: اعتمادًا على التطبيق المفتوح (أو المهمة بشكل عام) ، يمكن أن تختلف اختلافًا جذريًا في المعنى. يمكن استخدام التمرير السريع في أحد التطبيقات في سياق مختلف تمامًا داخل تطبيق آخر.
مهم أيضًا: يتعين على وكلاء AndroidEnv التعامل مع طبيعة الوقت الفعلي لنظام التشغيل في الوقت الفعلي ، مثل Android. هذا يعني أنه لا يوجد انتظار من التطبيق حتى يحدد الوكيل الإجراء التالي - يستمر نظام التشغيل ببساطة في العمل. هذا هو التحدي الصعب على الوكلاء التغلب عليه. يوفر AndroidEnv أداة توافق صغيرة لتجنب المدخلات الإيجابية الخاطئة في حالة استغراق الوكيل وقتًا طويلاً للتفاعل (مثل ترك نقرة أثناء المعالجة ، مما يؤدي إلى ضغطة طويلة يفسرها Android).
تحديد المهام التي يجب إنجازها
تحدد المهمة مشكلة معينة يجب حلها بواسطة وكيل RL. للسماح بالتدريب المناسب لوكيلك ، تلتقط المهام جوانب بيانات معينة ذات صلة:
- "شروط إنهاء الحلقة": متى تنتهي المهمة أو متى فشلت بالتأكيد
- "المكافآت": تقديم ملاحظات رقمية للأهداف المحققة
- التطبيقات الأخرى التي يمكن التفاعل معها للمهمة
لتمكين التعليقات المفيدة وذات الصلة ، يتمتع AndroidEnv بإمكانية الوصول إلى ADB ، "جسر جهاز Android" ، وهو عبارة عن دفق من السجلات من الجهاز وبالتالي يسمح للمهمة بمراقبتها وتشغيل إشارات محددة مسبقًا عند الضرورة.
بحر من الاحتمالات
لا يمكن المبالغة في التأثير المحتمل الذي يمكن أن يحدثه AndroidEnv على التطوير الشامل للذكاء الاصطناعي والتعلم المعزز على وجه الخصوص. فهو لا يسمح فقط للوكلاء بتعلم كيفية التفاعل مع Android ("افتح الخرائط وابحث عن مطعم سوشي قريب") ، ولكن أيضًا لتطبيق تقنيات أخرى متنوعة لحل المشكلات ، اعتمادًا على التطبيق. على سبيل المثال ، يمكن تدريب الوكيل على ممارسة الألعاب (تتوفر جميع الألعاب على Android!) لتطوير استراتيجيات الفوز على المدى الطويل.
يعمل AndroidEnv كبوابة تم فتحها لأي شخص لكتابة نماذج ML التي يمكن تدريبها عمليًا على كل مهمة ممكنة. إنه أمر مذهل!
الإبحار
نظرًا لأنني لست مهندسًا للتعلم الآلي ، فإن معرفتي هي فقط على المستوى السطحي. تعمل هذه المقالة كمقدمة إلى AndroidEnv ، ولكن لمزيد من المعلومات ، يرجى مراجعة الملحق الذي يحتوي على جميع الروابط ذات الصلة ، بما في ذلك مستودع Github.