ارتفعت المكافأة، لا جودة المشي
سجّل تدريب Cassie أفضل رقم عند 3:14 فجرًا. بدا الرقم جيدًا، أما المشية فلا. في هذه الفجوة تكمن المشكلة.
- AI
- RL
- شخصي
عند 3:14 فجرًا أرسلت رسالة عبر Slack إلى قناة كنت الوحيد المستيقظ فيها.
cassie run 18402: reward 847.3 (new best)
كان هذا أعلى رقم وصل إليه التدريب. فتحت آخر محاكاة متوقعًا أن أرى تحسنًا واضحًا في المشي. لم يحدث ذلك. تقدمت Cassie بسرعة، لكن خطواتها بقيت متوترة ومكلفة في الطاقة. كان تغير صغير في الأرض كفيلًا على الأرجح بإسقاط الروبوت إلى جانبه.
أغلقت الحاسوب، ولبست حذائي، وخرجت أمشي حول الحي.
المكافأة هي مواصفة
كنت أدرّب روبوتًا ثنائي الأرجل في MuJoCo باستخدام Ray RLlib. تبدو الحلقة بسيطة: تحدد دالة مكافأة، وتشغّل عددًا كبيرًا من الحلقات في المحاكاة، ثم تحدّث سياسة التحكم نحو الأفعال التي تجمع مكافأة أكبر.
الصعب هو تحديد معنى «أفضل».
في المشي يمكنني مكافأة السرعة إلى الأمام والبقاء واقفًا، ثم معاقبة استهلاك الطاقة أو الحركة العنيفة للمفاصل أو انزلاق القدمين على الأرض. لكل عنصر وزن. اخترت هذه الأوزان قبل ثلاثة أسابيع فوق فنجان قهوة، بناءً على السلوك الذي أريده والإخفاقات التي رأيتها.
لا تعرف السياسة أنني أريد مشية مقنعة. هي لا ترى سوى الرقم. وإذا استطاعت التقدم بحركة متصلبة وغريبة تستغل نقصًا في دالة المكافأة، فقد حلّت المسألة التي أعطيتها لها.
الوكيل لا يغش. المواصفة هي الناقصة.
لماذا أزعجني الرقم
كان الجو دافئًا بالنسبة إلى أيار. وكانت باريس هادئة بما يكفي لسماع خطواتي وبعض الدراجات. أضاء مخبز أنواره مبكرًا، وكان شخص في الداخل يرتب الصواني لصباح اليوم.
في الوقت نفسه واصل الروبوت تشغيل الحلقات على cluster بسرعة تفوق الزمن الحقيقي بكثير. عندها بدا لي أن مشكلة المكافأة ليست تفصيلًا في التعلم المعزز، بل عادة أوسع.
ندير أنظمة كثيرة عبر مؤشرات بديلة. يصبح التفاعل بديلًا عن الاهتمام، ووقت إغلاق الطلب بديلًا عن جودة الدعم، وعدد سطور الكود بديلًا عن تقدم العمل الهندسي، ونتيجة benchmark بديلًا عن جودة النموذج.
نحتاج إلى هذه المؤشرات لأن الهدف الحقيقي غالبًا صعب أو مكلف القياس. تبدأ المشكلة حين يتحول المؤشر إلى الهدف نفسه. يستطيع فريق دعم إغلاق الطلبات بسرعة وترك العملاء غاضبين. يستطيع نموذج النجاح في benchmark والفشل على مدخلات عادية. ويستطيع روبوت جمع 847.3 نقطة مع مشية سيئة.
يجعل الذكاء الاصطناعي هذه المشكلة أسهل في التوسع. عندما يستطيع نظام تحسين هدف قابل للقياس بتكلفة منخفضة وبصورة متكررة، يتكرر أي خطأ صغير في الهدف بكفاءة مذهلة.
عدم التوافق من دون خيال علمي
تقفز نقاشات توافق الذكاء الاصطناعي سريعًا إلى آلات واعية أو سيناريوهات كارثية. النسخة التي أقابلها في عملي أقل درامية بكثير.
هي نموذج يفعل تمامًا ما تكافئه عملية التقييم، لكنه لا يعطي الجواب الذي يريده أحد. وهي عملية آلية تحسّن لوحة المؤشرات وتسيء الخدمة. وهي فريق يثق برقم نظيف بعدما انحرف السلوك الحقيقي.
غالبًا لا يحاول من يبنون هذه الأنظمة إلحاق الضرر. يحاولون إطلاق المنتج ومقارنة التجارب وتحريك الرقم. أعرف ذلك لأنني واحد منهم.
الحل ليس إلغاء القياس، بل الاستمرار في النظر إلى الشيء الذي يمثله القياس. راقب المشية. اقرأ حديث العميل. اختبر النموذج خارج benchmark. واسأل من يتحمل الفشل عندما يكون المؤشر خطأ.
يحتاج هذا العمل وقتًا أطول من قراءة الرسم البياني، ولذلك يسهل تجاوزه.
في اليوم التالي
نمت حتى الظهر، وأجبت الرسائل، وعدلت عقوبة الطاقة. انخفضت المكافأة. وبعد مزيد من التدريب ارتفعت من جديد، وهذه المرة كانت المشية أكثر سلاسة.
سجلت عرضًا لأن النتيجة تحسنت فعلًا. ثم اتصلت بوالدي وسألته كيف تعلم إصلاح السيارات في عمري. تحدث أربعين دقيقة، وكنت أدوّن الملاحظات.
لم تحدث لحظة كشف كبرى. لم أترك الذكاء الاصطناعي ولم أقرر أن المؤشرات سيئة. كتبت دالة مكافأة أفضل وتابعت العمل.
الدرس أصغر من ذلك: عندما يتحسن الرقم وتبدو النتيجة أسوأ، افحص النتيجة. قد يشير انزعاجك إلى شيء لا يستطيع الهدف قياسه.