الثلاثاء، 21 مارس 2017

مقدمة إلى تعلم الآلة (Machine Learning) | الذكاء الصناعي

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

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

قد يبدو ذلك غريباً للوهلة الأولى، خاصة وأنه عادةً ما يتمُّ حلُّ أي مشكلة باستخدام الكومبيوتر من خلال الخوارزميات. والخوارزمية كما نعلم هي عبارة عن سلسلة من التعليمات التي يتم تنفيذها حرفياً للوصول إلى الحل المطلوب، كخوارزمية تقوم مثلًا بترتيب مجموعة من الأرقام تصاعديًا أو تنازليًا. إلا أن الأمر ليس دومًا بهذه البساطة، ففي بعض المسائل، قد لا يكون هناك خوارزمية لحلّها.
 لنأخذ مسألةَ فرز البريد الإلكتروني المهمّ عن الإعلانات المزعجة مثالاً. الدخلُ في هذه الحالة معروف، وهو مجموعةُ الرسائل الواردة إلى صندوق البريد الإلكتروني، والخرج أو النتيجة المطلوبة أيضًا معروفة وهي الإجابة بنعم أو لا عن السؤال التالي: هل هذه الرسالة مهمة أم لا؟
قد يبدو السؤال سهلًا بالنسبة للمستخدم العادي، ولكنه ليس كذلك بالنسبة للكومبيوتر،  لأنه لا توجد خوارزميةٌ واضحة يمكنه تنفيذها ليقررَ فيما إذا كانت الرسالة مهمة أم لا.
إن مفتاحَ الحل هو بالتعويض عن نقص المعرفة باستخدام البياناتِ الموجودة مسبقاً. ولكن كيف؟
بإمكاننا جعلُ الكومبيوتر يقوم بمعالجة آلاف الرسائلِ المعروفة مسبقًا و تصنيفها فيما إذا كانت مهمة أم لا حتى يستطيعَ الكومبيوتر استنتاج ما إذاكان البريد الجديد مهمًا أو غير مهم. بكلمات أخرى، نريد من الكمبيوتر أن يتعلمَ كيف يقوم باستخراج الخوارزميةِ اللازمة لفرز البريد غير المهم أوتوماتيكياً، وذلك من خلال تدريبه على دخلٍ معروفٍ مسبقاً. ونستطيع تعميمَ المثال السابق على كل المسائل التي لا نستطيع كتابةَ خوارزمية مناسبة لحلِّها، لكننا نملكُ البيانات الكافية لتدريب الكومبيوتر للقيام بذلك.
ماذا عن قواعد البيانات؟
كمياتٌ هائلة من البيانات يتم تسجيلها يوميًا في المتاجر الضخمة عن كل شيء يتعلق بالمستخدم ومشترياته ومدفوعاته. ولكن ما الفائدة من كل هذه البيانات إذا لم يتم تحليلها والاستفادة منها؟
تريدُ هذه المتاجر أن تعرفَ نوعيةَ الزبائن المحتملة لمنتج معين مثلًا. عندما تعجز الخوارزمياتُ عن حل هذه المسألة، يأتي تعلم الآلة بالحل. فمن خلال تحليل البيانات، يمكن التوصّلُ إلى أنماط معينة نستطيع من خلالها استخلاصَ لمعلومات. نحن نعرف أن الزبائنَ لا تذهب إلى المتجر لتشتري الأشياء بشكل عشوائي، فهم عندما يشترون المشروبات مثلًا، غالبًا ما يشترون رقائق البطاطا أيضًا. كما أنهم يشترون البوظة في الصيف والشوكولا في الأعياد.
حتى لو كانت مثلَ هذه الأنماط لا تعطي الصورةَ الكاملة، إلا أنه يمكنُ استخدامها للتنبؤ بالأنماط المشابهة في المستقبل. بل يمكننا القول بأن اكتشافَ هذه الأنماط هو الركنُ الأساسي في عملية تعـلم الآلة. تُسمّى تطبيقات تعلم الآلة في مجال قواعد البيانات التنقيب عن البيانات (Data Mining)،  وتطبيقاتها العملية أكثر من أن تحـصى. ففي مجال الطب، يتم استخدامها لأغراض التشخيص الطبي.
وفي مجال الاتصالات، يتم تحليل أنماط الاتصالات لتحسـين الشبكة والوصول إلى جودة خدمة مثالية. في الاقتصاد، يمكن استخدام نماذج تحليل البيانات في برامج القروض وكشـف الاحتيال وأيضًا في أسواق البورصة، وغيرها الكثير من التطبيقات في شتى المجالات.
(الجدير بالذكر أن الكثير من المراجـع تميز تعلم الآلة عن التنقيب عن البيانات ويُعدّان فرعين منفصلين يتقاطعان في أمور عديدة)

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

-الانحدار (Regression): هذا النوع شبيه بالتصنيف، إلا أنه يتنبؤ بقيم مستمرةٍ بدلًا من أصنافٍ منفصلة. هناك العديد من التطبـيـقات لهذا النوع أيضًا كالتنبؤ بأسعار البورصة والتنبؤ بعمر شخصٍ يشاهد مقطعَ فيديو معينًا والتنبؤ بدرجة الحرارة في داخل مبـنى مـا اعتمادًا على معلومات الطقس والوقت والحسـاسـات الموجودة.
التـعلـم غيـر الخاضع للإشراف (Unsupervised learning) ويسمى أيضًا التعلم التوصيفي(descriptive Learning ): بعكس النوع السابق فإن هذا النوع من التعلم يتم تدريب الكومبيوتر فيه عن طريق بياناتِ الدخل بدون أي خرجٍ معـرّف مسبقًا، والهدف هناهو استنباطُ نماذجَ جديدة وعلاقاتٍ خفية بين البيانات. من أهـم الأنواع الفرعية ضمن هذا النوع:
-التجميع (Clustering): في هذا النوع يتمُّ فرزُ الدخل إلى مجموعات غير معروفة مسبقًا.من تطبيقاته تعلم حركات الشخص الواقـف أمام كاميرا تقوم بتسجيل تحركاته، بحيث يستطيع النظامُ لاحقًا التعرفَ على هذه الحـركات وربطها بردود فعل مناسبة
ومن التطبيقات الأخرى في مجال التجارة الإلكترونية عمليةُ تجميع المستخدمين في مجموعات بناء على عمـلياتِ الشراء التي قاموا بها وسلوكِ التصفح الخاص بهم، ومن ثم استخدامها لإرسال  رسائلَ إعلانية موجهة بحسب كل مجموعة.
-التعلم التعزيزي (Reinforcement learning): وهو الأقلُّ استخدامًا. وفي هذا النوع يتم تعلم كيفية التصرف عند حدث معينمن خلال إعطاء إشارات ترمز إلى مكافئـة أو عقاب بناء على السلوك الحالي.
تجدر الإشارة بأن هناك العديد من التصنيفات الأخرى الأساسية منها والفرعية لعمليات التعلم الآلي، إلا أنه في هذا المقال - تمت الإشـارة إلى أهمـها فقط.
يعدُّ تعلُّمُ الآلة من العلوم الصاعدة بقوة،  ويُتوقع أن يلعب دورًا حساسًا في الكثير من التطبيقات الذكيـة مستقبـلًا بالإضافـة إلـى دوره الحالي في الكثير من المجالات المؤثرة في حياتنا حتى بدون أن نعلم. كما أنه يمنحنا فهمًا أفضل للجينوم البشري، حيث أن الكثير مـن الباحثين يعتقدون بأنه الطريق الأفضل للتقدم بالذكاء الصنعي ليقتربَ من مسـتوى الذكاء البشري.

0 التعليقات:

إرسال تعليق