التعلم المعزز Reinforcement Learning

كتبت بواسطة Shadi Saleh | بتاريخ الثلاثاء 11 آب 2020

ماهو التعلم المعزز Reinforcement Learning ؟


التعلم المعزز هو تقنية يتم تعلم فيها ماذا يجب على العميل Agent ان يفعل وكيف يقوم بتحويل مجموعة من المعطيات او الملاحظات في وسط ما (بيئة) إلى أفعال بحيث يحصل على أكبر ربح ممكن. 

المُتعلم (أو سنشير له بالعميل) لا يعلم ماهي الأفعال الصحيحة التي يجب ان يقوم بها، عوضا عن ذلك يجب عليه اكتشافها بمفرده. في بعض الحالات الحرجة في التعلم المعزز قد يكون الربح الأعظمي ليس في الحركة التالية للعميل وانما في عدة حركات في المستقبل.


يقوم العميل Agent بتوليد بيانات تدريبية بمفرده من خلال تفاعله مع البيئة، حيث يتعلم العميل النتائج او المخرجات من كل عمل أو حركة يقوم بها من خلال منهج الخطأ و التجريب, وهذا هو الفرق الاساسي بين التعليم المعزز والتعلم الآلي التقليدي حيث يعلم العميل القرار الصحيح مسبقا من خلال البيانات التدريبية في التعلم بإشراف supervised learning.

بالتالي نستطيع ان نقول ان أهم خصائص التعلم المعزز:

  • العميل يتبع منهج البحث لتوليد حالات مختلفة ممكنة.
  • العميل يتبع مفهوم الخطأ والتجريب والربح المستقبلي الأعظم لاكتشاف الأفعال الصحيحة التي يجب عليه القيام بها.


كيف يختلف التعلم المعزز عن التعلم بإشراف Supervised Learning ؟


في التعلم بإشراف، يتعلّم العميل (أو النموذج Model) من خلال بيانات تدريبية Training Data، حيث يتم إسناد قيمة Label لكل مثال في البيانات التدريبية تعبر عن النتيجة التي سيحصل عليها العميل في ظروف معينة (او قيم لل  Features ) في البيانات التدريبية.

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


كيف يختلف التعليم المعزز عن التعليم بدون إشراف Unsupervised Learning؟


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

بناءا على ذلك تم اعتبار التعليم المعزز صنف ثالث في التعلم الآلي بالتالي أصبح لدينا: تعلم بإشراف, تعلم بدون إشراف وتعلم معزز.


أمثلة عن التعليم المعزز 


لكي تكتمل الصورة لدينا عن التعليم المعزز، نورد بعض الأمثلة التي يمكن تصنيفها ضمن هذا النمط من التعليم

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

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


إذا نظرنا إلى الأمثلة في الأعلى نستطيع أن نلمح خصائص  موحّدة لها, مثلا جميعها تحوي تفاعل بين العميل الذي سيقوم باتخاذ قرار وبين البيئة التي يعمل بها، حيث يقوم العميل بالبحث عن طريقة لتحقيق هدفه Goal بالرغم من وجود حالة غموض uncertainty حول البيئة الي يعمل بها. 

أيضا نستطيع ملاحظة ان قرارات العميل ستؤثر بالحالة المستقبلية للبيئة التي يعمل بها (مثل الوضع التالي لرقعة الشطرنج او الموضع التالي للروبوت بالنسبة لنقطة شحن البطارية). لذلك فإن العميل يقوم بأخذ قراراته مع مراعاة نتائج هذه القرارات المستقبلية على الحالة المتوقعة للبيئة، وهذا ما يعرف بالتخطيط الذي يقوم به العميل لحركاته.

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

إذا أخذنا بالاعتبار جميع ماذكر، نلاحظ أن العميل يستطيع ان يستخدم خبرته في تحسين حركاته في المستقبل. هذه الخبرة تكون معدومة في بداية عملية التعلم ولكنها تنمو بسرعة في كل مرة يقوم فيها العميل بالتدرب على تحقيق هدفه. لذلك لكي نستطيع ان نسمح للعميل بإجراء عملية التعلم، يجب ان يكون بمقدوره التفاعل مع البيئة التي يعمل بها.


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