كثيرًا ما يتردد على مسامعنا مصطلح تعلم الآلة Machine Learning في الآونة الأخيرة، ويزداد الاهتمام به يومًا بعد يوم، فما هو تعلم الآلة بالضبط؟ وما هي أفضل أطر العمل البرمجية والأدوات التي تساعدنا على استثماره وتحقيق أقصى استفادة منه في مشاريعنا؟ هذا ما سنتعرف عليه في مقال اليوم.
ما هو تعلم الآلة
هناك تعريفات متنوعة لتعلم الآلة تصب جميعها في الفكرة الأساسية التالية: تعلم الآلة Machine Learning أو ML اختصارًا، هو ببساطة جعل الحاسوب يتعلم الأشياء من تلقاء نفسه، وهذا هو الرابط بين تعلم الآلة والذكاء الاصطناعي AI، فالذكاء الاصطناعي يعني جعل الآلة تفكر وتتعلم كما يفعل الإنسان.
إذًا كيف ننجح في جعل الحاسوب يتعلم من تلقاء نفسه؟ أسهل طريقة لتحقيق ذلك هي باستخدام أطر عمل الذكاء الاصطناعي AI Frameworks فهي الطريقة المثلى للنجاح، وقبل أن نتعرف على هذه الأطر دعنا نستذكر في البداية معنى إطار العمل في البرمجة.
إطار العمل framework في جوهره هو طريقة لتنفيذ العمل، فمن خلالها يمكن تنظيم العمل البرمجي وتهيئة البيئة المناسبة لتحسين عملية التطوير وتسريعها، ولعل الكفاءة والفعالية هي أبرز فوائد استخدام إطار العمل.
سنعرض في هذا المقال 11 إطار عمل شهير من أفضل أطر عمل الذكاء الاصطناعي التي يمكننا استخدامها في مشاريع تعلم الآلة، وهي:
- تنسرفلو TensorFlow
- تورش Torch
- ثينو Theano
- كافيه Caffe
- كيراس Keras
- إطار عمل مايكروسوفت CNTK
- ساي كيت ليرن Scikit-learn
- أزور Azure ML Studio
- أكورد دوت نت Accord.NET
- سبارك Spark MLlib
- إطار عمل أمازون لتعلم الآلة Amazon Machine Learning
دعونا نوضح كل إطار من هذه الأطر وأبرز مميزاته واستخداماته بمزيد من التفصيل
1. تنسرفلو TensorFlow
يتمتع إطار العمل تنسرفلو TensorFlow بالعديد من المميزات التي تجعله خيارًا مناسبًا للمطورين الباحثين عن أداة فعالة لمشاريع الذكاء الاصطناعي، ولعل أبرز مميزاته أنه من تطوير شركة جوجل العالمية التي تمنحه دعمًا واسع النطاق وتوفر له تحديثات منتظمة ومستمرة لجعله يواكب آخر مستجدات التعلم الآلي.
ولا يخفى على أحد الدعم رفيع المستوى الذي تقدمه شركة بعراقة جوجل لمنتجاتها، فضلًا عن مجتمع المطورين الضخم الذي يستخدم تنسرفلو TensorFlow حول العالم والذي من شأنه توفير عون كبير من خلال مساهماته وإجاباته عن كل التساؤلات، وإضافة لميزات الدعم القوي، يتميز إطار تنسرفلو بالمرونة فهو نظام مقسم لأجزاء أو وحدات modular system، بمعنى يمكننا استخدام كل جزء من هذه الأجزاء بمفرده أو استخدام الأجزاء معًا حسب متطلبات مشروعنا، كما أنه يتمتع بقابلية النقل Portability وهذه ميزة مهمة يفضلها معظم مستخدميه، حتى أن بإمكاننا استعماله على الهاتف الجوال في حال لم يتوفر لنا الوصول إلى حاسوب مكتبي أو محمول لتثبيته.
ولمطالعة المزيد من المعلومات حول هذا الإطار واستخدامه عمليًا، ننصح بقراءة مقال بناء شبكة عصبية للتعرف على الأرقام المكتوبة بخط اليد باستخدام مكتبة TensorFlow.
2. تورش Torch
أطلق إطار عمل تورش Torch لأول مرة في العام 2002، وهو أقرب إلى المكتبة منه إلى إطار العمل التقليدي، حيث يتكون من مجموعة خوارزميات تستخدم في مجال تعلُّم الآلة، ومن أبرز المميزات التي يوفرها Torch لمستخدميه نذكر:
- المصفوفات متعددة الأبعاد N-dimensional arrays
- واجهة خاصة للغة البرمجة C
- عمليات الجبر الخطي الروتينية
- دعم سريع وفعال لوحدة معالجة الرسومياتGPU
- السرعة والمرونة في تطوير المشاريع
إلى جانب مجتمع المطورين الكبير الذي يستخدمه والذي من شأنه توفير الدعم المطلوب عند الحاجة، ويُحسَب لمجتمع Torch نشاطه الواسع على GitHub والسعي الدائم لتطوير هذه المكتبة.
ملاحظة: تورش هي مكتبة تعلم آلي مفتوحة المصدر تُستخدم لإنشاء الشبكات العصبية العميقة وهي مكتوبة بلغة البرمجة Lua، أما بايتورش PyTorch فهو إطار عمل مفتوح المصدر لتعلم الآلة يعتمد على لغة البرمجة بايثون ومكتبة تورش Torch وننصح بقراءة مقال تعرف على إطار عمل باي تورش PyTorch وأهميته لتطبيقات الذكاء الاصطناعي للتعرف أكثر على هذا الإطار.
3. ثينو Theano
تحظى الأداة ثينو Theano بشعبية كبيرة بين أُطر عمل الذكاء الاصطناعي، رغم أنه ليس حديثًا، لكنه يستند إلى لغة بايثون واسعة الانتشار وسهلة التعلُّم والمناسبة تمامًا لمشاريع تعلم الآلة والذكاء الاصطناعي وهذا يعطي ثينو قيمة مضافة.
يمكن أن نقول أن أداة Theano بمثابة معيار في مجال تعلُّم الآلة والذكاء الاصطناعي فهي قديمة نسبيًا وقد اعتمدت عليها الكثير من الأدوات الأخرى سواء على صعيد البنية أو الوظيفة، وأكثر ما يميزها الاختبار الشامل الذي تنفذه على الشيفرات البرمجية قبل إطلاقها وهي في الواقع رائدة في هذا المجال.
كما أنها تسهل التعامل مع التعبيرات الرياضية، وتدعم العمل مع التمايز الرمزي symbolic differentiation ووحدة معالجة الرسوميات GPU التي تسرّع إنجاز العمليات الحسابية بشكل كبير.
4. كافيه Caffe
صدر إطار العمل كافيه Caffe في العام 2017 وهو أحد أطر العمل الحديثة، ومكتوب بلغة ++C وهذا يجعله خيارًا مناسبًا للكثير من المبرمجين ومهندسي البرمجيات الذين غالبًا ما يجيدون هذه اللغة والتي ما زالت تستخدم على نطاق واسع.
ويُعَدّ Caffe أفضل أطر العمل المستخدمة في بناء الشبكات الالتفافية Convolutional networks وهي نوعٌ خاص من الشبكات العصبية لذا من الجيد اعتماده من البداية إذا كنا ننوي بناء هذا النوع من الشبكات في مشروعنا.
ومن مميزاته أيضًا العمل بسلاسة مع وحدة مالجة الرسوميات GPU المناسبة، فقد لا يستغرق Caffe أكثر من يوم واحد لمعالجة عشر ملايين صورة، فإذا كانت السرعة من أولوياتنا فسيكون هذا الإطار خيارًا مثاليًا لنا.
5. كيراس Keras
إطار العمل كيراس Keras بسيط وسهل التعلُّم، كما يتمتع Keras بصغر حجمه lightweight وهذا يجعله سريع الأداء لقلة الموارد الحاسوبية التي يحتاجها لإنجاز مهمة معينة مقارنة بغيره من أطر العمل، ويوفر كيراس بالإضافة إلى ما سبق واجهة للعمل مع بايثون، وقد تحدثنا عن أهمية هذه اللغة لمستخدمي الذكاء الاصطناعي، ويُعدّ خيارًا ممتازًا في بناء الشبكات العصبية التكرارية recurrent networks، والشبكات العصبية الالتفافية convolutional networks، على عكس Caffe الذي يتخصص فقط بالشبكات العصبية الالتفافية.
وهذه قائمة بالمهام التي يتعامل معها كيراس بطريقة جيدة لتعرف في أي نوع من المشاريع يمكنك استخدامه:
- التصنيف Classification
- توليد النص Generating text
- تلخيص النص Summarizing a text
- الترجمة Translations
- التعرف على الكلام Speech recognition
- ويمكن اعتماده للعديد من المهام المعقدة الأخرى
6. Microsoft CNTK
يُعَدّ CNTK من مايكروسوفت منافسًا قويًّا لأُطر عمل الذكاء الاصطناعي شائعة الاستخدام مثل TensorFlow وغيره، فهو يتعامل مع مختلف عمليات التعلُّم الآلي مثل: بناء الشبكات العصبية الالتفافية والتكرارية والشبكات ذات الذّاكرة الطويلة قصيرة المدى LSTMs.
وقد جَهِدَت مايكروسوفت منذ إطلاقه لجعل CNTK مرنًا، وفعَّالًا، وعالي الأداء، وقد نجحت مايكروسوفت في مسعاها، فقد حصل CNTK على نتائج جيدة في معظم اختبارات الأداء المعيارية benchmark tests التي خضع لها، فهو يقدم أداءً جيدًا في كل عملية ينفذها ضمن وقت محدد، كما أنه يتعامل بمرونة وفعالية مع جميع أنواع المهام التي تُعطى له، مثل: التعرّف على الكلام، والتعرّف على الصور ومعالجتها، وتوليد النصوص، وتدريب أنظمة الإنتاج. كما أنه يعمل بكفاءة مع نظامي ويندوز و لينكس على حد سواء.
7. ساي كيت ليرن Scikit-learn
أكثر ما يميز Scikit-learn أنه منصة مفتوحة المصدر تتمتع بمجتمع نشط للغاية يساندنا في أي مشكلة قد تواجهنا، فالإجابات متوفرة بكثرة في منتديات المنصة، وإن لم نجد نبحث عنه بين المواضيع المنشورة كل ما علينا هو طرح سؤال جديد وترقب الإجابات فالمجتمع متفاعل وسيجيبنا بسرعة، ويمكننا دائمًا الاستعانة بالتوثيقات التي توفرها Scikit-learn.
وفضلًا عن الدعم المميز لهذا الإطار فهو سريع الأداء، ويؤمن لمستخدميه واجهة برمجة تطبيقات API واضحة ومنظمة وجاهزة للعمل مع مختلف الاحتياجات. ولمطالعة المزيد حول استخدام ساي كيت ليرن عمليًا ننصح بمقال بناء مصنف بالاعتماد على طرق تعلم الآلة بلغة البايثون باستخدام مكتبة Scikit-Learn.
8. Azure ML Studio
تختلف Azure ML Studio عن غيرها من أطر عمل الذكاء الاصطناعي بكونها تمتلك نسختين، نسخة مدفوعة وأخرى مجانية، بالإضافة لكونها أداةً تفاعلية وسحابية، وهذا ما سنشرحه تاليًّا.
تُنشئ Azure ML Studio التحليلات التنبؤية لنماذج تعلُّم الآلة بطريقة تفاعلية، فتتنبأ بالنتائج وفقًا للبيانات التي تقدمها لها، كما تتيح لنا بناء نماذجنا الخاصة بسهولة بواسطة السحب والإفلات ثم التنبؤ بالنتيجة استنادًا إلى المدخلات، وزيادة في دقة النتائج توفر Azure مكتبة مضمّنة built-in library تحتوي مجموعة واسعة من خوارزميات الذكاء الاصطناعي الكفيلة بتحسين تنبؤاتنا. وأكثر ما يميزها أنها سحابية، فلن نحتاج لتثبيت أي تطبيق على جهازنا، إذ كل ما يتطلبه الأمر حاسوب شخصي أو محمول متصل بالإنترنت.
9. أكورد دوت نت Accord.NET
يُستخدم إطار العمل Accord.NET في معالجة الصور وتعلم الآلة، وهو مكتوب بلغة #C المستخدمة بكثرة في بناء البرامج والتطبيقات، ويتضمن مكتبات متنوعة للحوسبة العلمية بما فيها مكتبات تعلُّم الآلة، وهذه أبرز المميزات التي يوفرها:
- دعم آلات المتجهات Support for vector machines
- خوارزمية التجميع باستخدام نموذج غاوس المختلط Gaussian Mixture Models
- خوارزمية k-Means
- أشجار القرار Decision Trees
- النماذج البايزية البسيطة Naive Bayesian models
لمعرفة المزيد عن هذه الخوارزميات وغيرها ننصح بقراءة مقال أدوات برمجة نماذج تعلم الآلة.
ملاحظة: ذكرنا أن Accord.NET مميز في التعامل مع الصور، وبالتالي فهو مناسب للعمل مع كائنات اكتشاف الوجوه ومعالجتها إذ يحوّلها إلى تدفقات من الصور، وبالمثل أيضًا للمهام المتعلقة بالصوتيات audio فهو قادر على معالجة الإشارات الصوتية وتحويلها وفلترتها لتناسب برامج التعلم الآلي والتطبيقات الإحصائية.
10. سبارك Spark MLlib
يعمل إطار العمل Spark MLlib كمكتبة لتعلّم الآلة على غرار معظم الأدوات التي عرضناها سابقًا، وهو يتضمن عدة خوارزميات ملائمة للمهام التالية:
- التصنيف classification لتحديد الصنف الذي ينتمي إليه عنصر ما بناءً على خصائصه
- التجميع clustering لتقسيم مجموعة من البيانات إلى مجموعات أو عناقيد بحيث تكون العناصر في كل مجموعة متشابهة فيما بينها وتختلف عن العناصر في المجموعات الأخرى
- الانحدار regression لفهم وتوقع العلاقات بين المتغيرات
- التصفية التعاونية collaborative filtering لتوقع تفضيلات المستخدم بناءً على معلومات جُمعت من عدة مستخدمين سابقين وغيرها.
ومن أبرز مميزات Spark MLlib بساطته وتوافقه مع الأدوات والأطر الأخرى، إذ يتيح لنا هذا التوافق الاهتمام بجوانب معينة من مشروعنا وتنفيذها بالتطبيق المناسب لها طالما أن يتوافق مع إطار العمل، وهو ما يضمن تطويرًا أسرع وأكثر كفاءة.
ويتمتع Spark MLlib بمحرك فعّال يتفوق على لغتي البرمجة بايثون و R اللتين لطالما استخدمهما علماء البيانات في التعامل مع مهام التعلم الآلي، إذ يعالج Spark MLlib المشكلات التي لا تستطيع بايثون و R معالجتها بطريقة تفاعلية وعلى نطاق أوسع.
ملاحظة: يمكننا اختيار لغة البرمجة التي نريدها للعمل مع Spark MLlib من بين اللغات التالية: بايثون، و R، و Scala، وجافا.
11. Amazon Machine Learning
يمكننا إضافة ميزات الذكاء الاصطناعي إلى مختلف أنواع التطبيقات بالاستعانة بأداة تعلّم الآلة من منصة أمازون AWS، ومن هذه الميزات تحليل الكلام، وروبوتات الدردشة chatbot، والرؤية الحاسوبية computer vision.
ما يميز AWS إمكانية استخدامها مع أطر عمل الذكاء الاصطناعي الأخرى مثل TensorFlow و Caffe، وهو ما يمنحنا بيئة متقنة وفعّالة لتطبيقات تعلّم الآلة وإمكانية الاستفادة فيها من وظائف TensorFlow و Caffe جنبًا إلى جنب مع وظائف AWS.
توفر AWS أداة مُضَمّنة تدعى Amazon Sagemaker تساعدنا على بناء نماذجنا الخاصة للتعلُّم الآلي ونشرها بسهولة وكفاءة، وتفيدنا بشكل كبير إذا كنا نخطط لاستخدام Amazon Machine Learning كإطار عمل في مشروعنا.
الخلاصة
بهذا نكون قد وصلنا لنهاية مقالنا الذي اكتشفنا فيه أهم أُطر عمل الذكاء الاصطناعي المتخصصة في تعلُّم الآلة، حيث قد عرضنا بعجالة سريعة أحد عشر إطار عمل من أفضل الأُطر المتوفرة حاليًا، ولكل منها مزاياه الخاصة والجوانب التي يتفوق فيها على غيره سواء من ناحية الأداء أو التحديثات أو التوافق مع لغات البرمجة أو التخصص في نوع معين من المعالجة مثل معالجة الصور أو غيرها. يمكننا الآن الانطلاق من هنا واختيار المنتج الذي يناسبنا والبحث عنه أكثر ثم البدء بتعلمه،
ترجمة -وبتصرف- لمقال 11 Best AI Framework for Machine Learning لصاحبه Mark Bynum.
أفضل التعليقات
لا توجد أية تعليقات بعد
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.