Home Arrow Icon Knowledge base Arrow Icon Global Arrow Icon مكتبات بايثون للتعلم المعزز


مكتبات بايثون للتعلم المعزز


تقدم Python العديد من المكتبات لتنفيذ نماذج التعلم المعزز (RL) والتعلم المعزز العميق (DRL). فيما يلي بعض المكتبات الأكثر شهرة والأكثر استخدامًا:

1. كيراس آر إل:
- الوصف: KerasRL هي مكتبة تعلم معززة عميقة مبنية على قمة مكتبة Keras للتعلم العميق. يوفر مجموعة من واجهات برمجة التطبيقات عالية المستوى لبناء نماذج التعلم المعزز والتدريب عليها. يتضمن KerasRL تطبيقات الخوارزميات الشائعة مثل Deep Q-Networks (DQN) وطرق Actor-Critic[1][3].
- معايير:
- أساليب RL الحديثة: تشمل الخوارزميات المنفذة DQN وDDPG وCDQN وCEM وDeep SARSA.
- سهولة البدء: تم التعليق على الكود بشكل جيد وسهل القراءة، مما يجعل من السهل فهمه وتعديله.
- من السهل توصيل بيئتك الخاصة: لا تختلف عن OpenAI Gym، لذلك يلزم إجراء تعديلات على البيئات الأخرى.
- من السهل تعديل الوكلاء: من السهل جدًا إضافة وكلاء جدد.
- المجتمع والتحديثات: لا تتم صيانته بشكل نشط.
- دعم Tensorboard: لم يتم تنفيذه.
- ميزات أخرى: تتضمن نظام بيئة متجه[4].

2. RL_Coach:
- الوصف: RL_Coach هو إطار عمل Python RL تم تطويره بواسطة Intel AI Lab. يحتوي على العديد من الخوارزميات الحديثة ويكشف عن واجهات برمجة التطبيقات سهلة الاستخدام لتجربة خوارزميات RL الجديدة. المكونات معيارية، مما يجعل من السهل توسيع المكونات الموجودة وإعادة استخدامها[1].
- معايير:
- تم تنفيذ أحدث خوارزميات RL: تتضمن مجموعة واسعة من الخوارزميات مثل Actor-Critic، وACER، والاستنساخ السلوكي، والمزيد.
- الوثائق والبرامج التعليمية الرسمية: تتوفر وثائق كاملة وبرامج تعليمية قيمة.
- رمز قابل للقراءة: الكود مفتوح المصدر ولكنه يفتقر إلى التعليقات، مما يجعل التخصيص صعبًا.
- عدد البيئات المدعومة: غير محدد.
- أدوات التسجيل والتتبع: غير محدد.
- البيئة الموجهة: غير محددة.
- تحديثات منتظمة: غير محددة[1].

3. قوة الشد :
- الوصف: Tensorforce هو إطار عمل تعليمي معزز عميق يعتمد على TensorFlow. يتضمن أحد أفضل تطبيقات خوارزميات RL[4].
- معايير:
- أساليب RL الحديثة: غير محدد.
- وثائق وبرامج تعليمية جيدة: غير محدد.
- يعمل في بيئتك الخاصة: غير محدد.
- الرمز المقروء: غير محدد.
- تحديثات منتظمة ومجتمع نشط: غير محدد.
- دعم Tensorboard: غير محدد.
- ميزات أخرى: غير محدد[4].

4. تعلم لغة البرمجة بيك:
- الوصف: Pyqlearning هي مكتبة Python لتنفيذ التعلم المعزز والتعلم المعزز العميق، خاصة لـ Q-Learning وDeep Q-Network وDeep Q-Network متعدد الوكلاء. ويمكن تحسينه من خلال نماذج التلدين مثل التلدين المحاكى، والتليين المحاكى التكيفي، وطريقة مونت كارلو الكمومية[2].
- معايير:
- أساليب RL الحديثة: غير محدد.
- الوثائق والبرامج التعليمية الرسمية: غير محدد.
- الكود القابل للقراءة: غير محدد.
- عدد البيئات المدعومة: غير محدد.
- أدوات التسجيل والتتبع: غير محدد.
- البيئة الموجهة: غير محددة.
- تحديثات منتظمة: غير محددة[2].

5. خطوط الأساس المستقرة:
- الوصف: Stable Baselines هي مكتبة قوية تقدم مجموعة من خوارزميات التعلم المعزز الحديثة في لغة Python. تم إنشاؤه فوق مكتبة OpenAI Gym ويوفر واجهة برمجة تطبيقات بسيطة وسهلة الاستخدام لتدريب وتقييم وكلاء التعلم المعزز[3].
- معايير:
- أساليب RL الحديثة: تتضمن تطبيقات الخوارزميات الشائعة مثل A2C وTRPO وPPO.
- وثائق وبرامج تعليمية جيدة: غير محدد.
- يعمل في بيئتك الخاصة: غير محدد.
- الرمز المقروء: غير محدد.
- تحديثات منتظمة ومجتمع نشط: غير محدد.
- دعم Tensorboard: غير محدد.
- ميزات أخرى: غير محدد[3].

6. راي رليب :
- الوصف: Ray RLLib عبارة عن مكتبة تعليمية معززة مبنية على إطار عمل الحوسبة الموزعة لـ Ray. وهو يوفر مجموعة شاملة من واجهات برمجة التطبيقات لبناء وتدريب نماذج التعلم المعزز، بما في ذلك دعم التدريب الموزع وضبط المعلمات الفائقة[3].
- معايير:
- أساليب RL الحديثة: تتضمن تطبيقات الخوارزميات الشائعة مثل DQN وA3C وIMPALA.
- وثائق وبرامج تعليمية جيدة: غير محدد.
- يعمل في بيئتك الخاصة: غير محدد.
- الرمز المقروء: غير محدد.
- تحديثات منتظمة ومجتمع نشط: غير محدد.
- دعم Tensorboard: غير محدد.
- ميزات أخرى: غير محدد[3].

7. الدوبامين:
- الوصف: الدوبامين عبارة عن مكتبة للتعلم المعزز تم تطويرها بواسطة Google. وهو مصمم لتوفير إطار عمل مرن وسهل الاستخدام لبناء وتدريب وكلاء التعلم المعزز. يتضمن الدوبامين تطبيقات الخوارزميات الشائعة مثل DQN وC51، بالإضافة إلى أدوات لتصور وتحليل تجارب التعلم المعزز[3].
- معايير:
- أساليب RL الحديثة: تتضمن تطبيقات الخوارزميات الشائعة.
- وثائق وبرامج تعليمية جيدة: غير محدد.
- يعمل في بيئتك الخاصة: غير محدد.
- الرمز المقروء: غير محدد.
- تحديثات منتظمة ومجتمع نشط: غير محدد.
- دعم Tensorboard: غير محدد.
- ميزات أخرى: غير محدد[3].

8. رلكيت :
- الوصف: RLkit عبارة عن مكتبة للتعلم المعزز تم تطويرها بواسطة مختبر بيركلي لأبحاث الذكاء الاصطناعي (BAIR). إنه مبني على PyTorch ويوفر مجموعة من واجهات برمجة التطبيقات عالية المستوى لبناء وتدريب نماذج التعلم المعزز. يتضمن RLkit تطبيقات للخوارزميات الشائعة مثل DDPG وSAC، بالإضافة إلى أدوات لتصور النتائج وتحليلها[3].
- معايير:
- أساليب RL الحديثة: تتضمن تطبيقات الخوارزميات الشائعة.
- وثائق وبرامج تعليمية جيدة: غير محدد.
- يعمل في بيئتك الخاصة: غير محدد.
- الرمز المقروء: غير محدد.
- تحديثات منتظمة ومجتمع نشط: غير محدد.
- دعم Tensorboard: غير محدد.
- ميزات أخرى: غير محدد[3].

لكل مكتبة نقاط قوة ونقاط ضعف، ويعتمد اختيار المكتبة التي تريد استخدامها على المتطلبات المحددة لمشروعك. على سبيل المثال، إذا كنت بحاجة إلى مكتبة بها نطاق واسع من الخوارزميات المنفذة، فقد يكون RL_Coach خيارًا جيدًا. إذا كنت تفضل مكتبة مبنية على TensorFlow، فقد يكون Tensorforce مناسبًا. بالنسبة للمكتبة ذات واجهة برمجة التطبيقات (API) البسيطة وسهلة الاستخدام، قد تكون الخطوط الأساسية الثابتة هي الخيار الأفضل[1] [3] [4].

الاستشهادات:
[1] https://neptune.ai/blog/the-best-tools-for-reinforcement-learning-in-python
[2] https://pypi.org/project/pyqlearning/
[3] https://www.devopsschool.com/blog/list-of-reinforcement-learning-libraries/
[4] https://blog.dataiku.com/on-choosing-a-deep-reinforcement-learning-library
[5] https://pub.towardsai.net/top-python-packages-for-studying-reinforcement-learning-e332e1c6e16a?gi=9d11806ea7b2