المعلوماتية > الذكاء الصنعي

مقدمة إلى تعلم الآلة (Machine Learning)

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

يصنف تعلم الآلة كفرع رئيسيٍّ من فروع الذكاء الصنعي (Artificial intelligence)، ويمكننا تعريفُه بأنه العلم الذي يسمحُ للكومبيوتر بالتصرف بدون أن يكونَ مبرمجاً مسبقاً للقيام بذلك التصرف بشكل صريح. أو بمعنى آخر، يتعلمُ كيفيةَ الاستجابة لأحداث معينة بالطريقة الصحيحة بشكل ذاتيٍّ دون أن يتمَّ تلقينُه ذلك صراحةً من قِبل المبرمج.

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

إلا أن الأمر ليس دومًا بهذه البساطة، ففي بعض المسائل، قد لا يكون هناك خوارزمية لحلّها. لنأخذ مسألةَ فرز البريد الإلكتروني المهمّ عن الإعلانات المزعجة مثالاً. الدخلُ في هذه الحالة معروف، وهو مجموعةُ الرسائل الواردة إلى صندوق البريد الإلكتروني، والخرج أو النتيجة المطلوبة أيضًا معروفة وهي الإجابة بنعم أو لا عن السؤال التالي: هل هذه الرسالة مهمة أم لا؟

قد يبدو السؤال سهلًا بالنسبة للمستخدم العادي، ولكنه ليس كذلك بالنسبة للكومبيوتر، لأنه لا توجد خوارزميةٌ واضحة يمكنه تنفيذها ليقررَ فيما إذا كانت الرسالة مهمة أم لا.

إن مفتاحَ الحل هو بالتعويض عن نقص المعرفة باستخدام البياناتِ الموجودة مسبقاً. ولكن كيف؟

بإمكاننا جعلُ الكومبيوتر يقوم بمعالجة آلاف الرسائلِ المعروفة مسبقًا و تصنيفها فيما إذا كانت مهمة أم لا حتى يستطيعَ الكومبيوتر استنتاج ما إذاكان البريد الجديد مهمًا أو غير مهم. بكلمات أخرى، نريد من الكمبيوتر أن يتعلمَ كيف يقوم باستخراج الخوارزميةِ اللازمة لفرز البريد غير المهم أوتوماتيكياً، وذلك من خلال تدريبه على دخلٍ معروفٍ مسبقاً. ونستطيع تعميمَ المثال السابق على كل المسائل التي لا نستطيع كتابةَ خوارزمية مناسبة لحلِّها، لكننا نملكُ البيانات الكافية لتدريب الكومبيوتر للقيام بذلك.

ماذا عن قواعد البيانات؟

كمياتٌ هائلة من البيانات يتم تسجيلها يوميًا في المتاجر الضخمة عن كل شيء يتعلق بالمستخدم ومشترياته ومدفوعاته. ولكن ما الفائدة من كل هذه البيانات إذا لم يتم تحليلها والاستفادة منها؟

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

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

تُسمّى تطبيقات تعلم الآلة في مجال قواعد البيانات التنقيب عن البيانات (Data Mining)، وتطبيقاتها العملية أكثر من أن تحصى. ففي مجال الطب، يتم استخدامها لأغراض التشخيص الطبي. وفي مجال الاتصالات، يتم تحليل أنماط الاتصالات لتحسين الشبكة والوصول إلى جودة خدمة مثالية. في الاقتصاد، يمكن استخدام نماذج تحليل البيانات في برامج القروض وكشف الاحتيال وأيضًا في أسواق البورصة، وغيرها الكثير من التطبيقات في شتى المجالات. (الجدير بالذكر أن الكثير من المراجع تميز تعلم الآلة عن التنقيب عن البيانات ويُعدّان فرعين منفصلين يتقاطعان في أمور عديدة)

يساعدنا تعلم الآلة أيضًا على حل الكثير من المشاكل في تطبيقات الرؤية الحاسوبية والتعرف على الحديث ومجال الروبوتات. لنأخذَ مثلًا عمليةَ التعرف على الوجوه؛ يقوم البشر بهذه المهمة بلا أي مجهود يُذكر، إذ نستطيع بسهولة التعرفَ على وجوه أفراد العائلة والأصدقاء من خلال النظر إليهم مباشرة أو من خلال صورهم، بغضِّ النظر عن الوضعية والإضاءة وتسريحة الشعر… إلخ. لكننا نقوم بذلك بطريقة لا واعية ولا نملك تفسيرًا حول كيفية قيامنا بذلك. ولأننا لا نملك هذا التفسير، لا يمكننا كتابةُ خوارزمية مناسبة للكومبيوتر. في الوقت نفسه، نعلم أن صورَ الوجوه ليست مجموعةً عشوائية من البكسلات، فالوجه يملك بنيةً متناظرة، فالعينان والأنف والفم لهم أماكن محددة في الوجه.

كل وجه هو عبارة عن نمطٍ مؤلفٍ من تركيبة معينةٍ من العناصر السابقة. من خلال تحليل عيناتِ صورِ وجه شخص ما، يمكن للبرنامج المتعلِّم أن يحفظ نمطًا معينًا خاصًا بهذا الشخص بالذات، ويمكنه لاحقًا التعرفُ عليه من خلال البحث عن النمط نفسه في صور أخرى. هذا أحد الأمثلة عن التعرف على الأنماط (Pattern Recognition).

مما يجدر ذكره أيضًا أن تعلم الآلة يستخدم نظريةَ الإحصاء لبناء نماذجَ رياضية، لأن الهدف الرئيسي هو الوصول لاستنتاج معين من عينة ما.

تقسم عمليات تعلم الآلة إلى ثلاثة أنواع رئيسية:

التعلم الخاضع للإشراف (Supervised learning) ويسمى أيضًا التعلم التنبؤي (predictive Learning): في هذا النوع من التعلُّم، يتم تدريبُ الكومبيوتر باستخدام دخلٍ معروفِ الخرج مسبقًا، كمجموعةٍ من رسائل البريد الإلكتروني المصنفة مسبقًا إلى مهمة أو غير مهمة، والمطلوب تعلمُّ كيفية ربط الدخل مع الخرج ليصبح بالإمكان مستقبلًا التنبؤ بالخرج من أجل أي دخل جديد. يندرج تحت هذا النوع أنواعٌ فرعية من التعلم بحسب الخرج المطلوب من نظام تعلم الآلة، من أهم هذه الأنواع:

-التصنيف (Classification): وهو النوع الأكثرُ استخدامًا في تعلم الآلة. في هذا النوع يكون الدخل مصنفًا إلى نوعين أو أكثر. وهدفُ عملية التعلم إنتاجُ نموذجٍ يستطيع تصنيفَ أي دخل جديد إلى نوع أو أكثر من الأنواع المعرفة سابقًا. مثال على هذاالنوع، عمليةُ تصنيف البريد الإلكتروني وعملية التعرف على الوجوه وعملية تصنيف الأزهار من خلال الصور.

-الانحدار (Regression): هذا النوع شبيه بالتصنيف، إلا أنه يتنبؤ بقيم مستمرةٍ بدلًا من أصنافٍ منفصلة. هناك العديد من التطبيقات لهذا النوع أيضًا كالتنبؤ بأسعار البورصة والتنبؤ بعمر شخصٍ يشاهد مقطعَ فيديو معينًا والتنبؤ بدرجة الحرارة في داخل مبنى ما اعتمادًا على معلومات الطقس والوقت والحساسات الموجودة.

التعلم غير الخاضع للإشراف (Unsupervised learning) ويسمى أيضًا التعلم التوصيفي(descriptive Learning ): بعكس النوع السابق فإن هذا النوع من التعلم يتم تدريب الكومبيوتر فيه عن طريق بياناتِ الدخل بدون أي خرجٍ معرّف مسبقًا، والهدف هنا هو استنباطُ نماذجَ جديدة وعلاقاتٍ خفية بين البيانات. من أهم الأنواع الفرعية ضمن هذا النوع:

-التجميع (Clustering): في هذا النوع يتمُّ فرزُ الدخل إلى مجموعات غير معروفة مسبقًا. من تطبيقاته تعلم حركات الشخص الواقف أمام كاميرا تقوم بتسجيل تحركاته، بحيث يستطيع النظامُ لاحقًا التعرفَ على هذه الحركات وربطها بردود فعل مناسبة [4].

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

-التعلم التعزيزي (Reinforcement learning): وهو الأقلُّ استخدامًا. وفي هذا النوع يتم تعلم كيفية التصرف عند حدث معين من خلال إعطاء إشارات ترمز إلى مكافئة أو عقاب بناء على السلوك الحالي.

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

يعدُّ تعلُّمُ الآلة من العلوم الصاعدة بقوة، ويُتوقع أن يلعب دورًا حساسًا في الكثير من التطبيقات الذكية مستقبلًا بالإضافة إلى دوره الحالي في الكثير من المجالات المؤثرة في حياتنا حتى بدون أن نعلم. كما أنه يمنحنا فهمًا أفضل للجينوم البشري، حيث أن الكثير من الباحثين يعتقدون بأنه الطريق الأفضل للتقدم بالذكاء الصنعي ليقتربَ من مستوى الذكاء البشري.

-----------------------------------

المصادر:

Ethem Alpaydin. 2010. Introduction to Machine Learning (2nd ed.). The MIT Press.

هنا

Kevin P. Murphy. 2012. Machine Learning: A Probabilistic Perspective. The MIT Press.

هنا

Machine learning course by Stanford University

هنا

Learning Event Patterns for Gesture Detection

Felix Beier، Nedal Alaqraa، Yuting Lai، Kai-Uwe Sattler

Proceedings of the 17th International Conference on Extending Database Technology،2014

هنا