مقدمة قصيرة جدّاً في خوارزميّات تعلّم الآلة
مقدمة قصيرة جدّاً في خوارزميّات تعلّم الآلة
إذا سمعتَ عن خوارزميات تعلّم الآلة machine learning algorithms، وأحببتَ أن تتجاوز العنوان وتلقي نظرةً حقيقيّة على هذا المجال، فإليكَ وجبةً علميّة تتذوّق فيها حلاوة الهندسة والبرمجة والرياضيّات مجتمعاتٍ! هذه مقدّمة ٌقصيرة تسلّط الضوء على أهم الأفكار التي ألهمت الباحثين ودفعت البحث العلمي بخطواتٍ نوعية حتى تمكّن العلماء من برمجة هذه الخوارزميات لحلّ الكثير من المسائل (مثل مسألة تحديد وجه الإنسان في الصورة) التي أثارت إعجاب الناس عند استخدامها في الهواتف الذّكيّة على سبيل المثال
• التعلّم الآلي والرياضيات
تندرجُ خوارزميات تعلّم الآلة machine learning algorithms تحت مظلّة الذكاء الاصطناعي AI في علوم الحاسب computer science، وما يميّز هذا المجال بالذات عن مختلف مجالات علوم الحاسب الأخرى، أنّ الباحثَ فيه لا بدّ أن يكونَ منسجمًا -فكريًّا ونفسيًّا- مع الرياضيّات بجميعِ فروعها (جبر، تحليل، احتمالات، إحصاء، تفاضل، تكامل…) ومستوياتها، لأنّه عندما يريدُ أن يقرأ الأوراق البحثية المختلفة التي تخص خوارزميات تعلّم الآلة فسيجد في كثير منها الكثير من المعادلات والمتراجحات وحينها من المفترض أن يكونَ هذا الباحث متدرّبًا على قراءتها وتفسيرها، ولا نبالغُ لو قلنا إنّ برمجة خوارزميات التعلّم الآلي ما هي إلا برمجة توابع رياضيّة بكلّ ما تعنيه هذه الكلمات من معنى! وسنوضّح هذه الفكرة في الفقرات التالية…
• المُلاءمة Fitting
– يدرس الطلاب في مرحلة التعليم الثانوي أنواعًا مختلفة من التوابع الرياضية، ولن يكون هذا الشكل مثلًا غريبًا عليهم f(x) = 3 * x + 4، ففي المستوي الديكارتي (حيث نستطيع تعيين نقاط لها إحداثيات منسوبةً لمحورين أفقي هو X وعمودي هو Y) فإن أيّ تابع له الشكل f(x) = m*x + p لو قمنا برسمه فستكون النتيجة مستقيمًا له مَيل slope عن المحور الأفقي بمقدار m و تقاطع intercept مع المحور العمودي في النقطة P.
حسنًا، كم عدد النقاط التي يمرّ بها المستقيم؟ ? بالتأكيد ستقول: “إنه يمرّ بعدد لا نهائي من النقاط”.
طيب، كم نقطةً نحتاج لتعيين المستقيم y = 3 * x + 5 ؟
الجواب: نقطتان فقط! يعني: أعطني نقطتين وسأعطيك مستقيمًا يمرّ بهما ويمرّ أيضًا بعدد لا نهائي من النقاط التي تقع على نفس استقامة هاتين النقطتين.
– إن المعادلة السابقة لو أطعمتها إحداثيًّا من المحور x فستعطيك إحداثيًّا من المحور y بحيث تقع النقطة (X,Y) على المستقيم y = 3 * x + 5، أليسَ كذلك؟
– إن مسألة إيجاد التابع الذي يمرّ بمجموعة نقاط تسمّى مسألة ملاءمة fitting أو regression
– ووفق هذا المبدأ تعملُ أنظمة التنبّؤ prediction الكثيرة مثل التنبّؤ بأسعار الأسهم في البورصة وأسعار العملات في الأسواق المالية ودرجات الحرارة والرطوبة في أنظمة التنبّؤ بالطّقس.
• التصنيف classification
– لنفترض وجود الكثير من النقاط في المستوي الديكارتي بحيث أن جزءًا من هذه النقاط لونه أحمر وما تبقّى من النقاط لونه أزرق! وبحيث أن النقاط الزرقاء موجودة على يسار النقاط الحمراء..
– نستطيع -رياضيًّا- إيجادَ مستقيمٍ يفصلُ بين مجموعة النقاط الحمراء ومجموعة النقاط الزرقاء…
– الآن لنفترض أنّ نقطةً جديدةً تمّ رسمها في المستوي السابق وواجهنا السؤال التالي: “هل هذه النقطة زرقاء أم بيضاء”؟
– عندها سنستخدم المستقيم لتحديد جهة النقطة: إذا كانت عن يمينه فإنها حمراء، و إن كانت عن يساره فسنقول إنها نقطة زرقاء.
– وبنفس الطريقة: لو استطعنا تمثيل صورة وجه الإنسان بنقطة في الفضاء الديكارتي، وقمنا بوضع الكثير من صور الوجوه (أو الأفواه) التي تعودُ لرجالٍ يبتسمون والكثير من الصور التي فيها (أفواه) نساءٍ يبتسمنْ!، وقمنا بصناعة تابع رياضيّ يفصل تلك النقاط عن بعضها.. فعندما تأتينا صورةٌ فيها ابتسامةٌ جديدة وواجهنا السؤال التالي: “هل هذه ابتسامة رجلٍ أم ابتسامة امرأة؟”
– عندها سنستخدم التابع الرياضي السابق (الذي يكافئ في الفضاء الديكارتي خطًّا بيانيًّا معقّدًا) وسنقول: إذا كانت الصورة الجديدة تقع على يمين الخط فإنها صورة ابتسامة رجل وإن كانت تقع على يسار الخط فإنها صورة ابتسامة امرأة
– مسألة إيجاد التابع الذي يفصل الذي يفصل بين مجموعات النقاط تسمّى مسألة classification
• ملاحظات أخيرة
– من النادر جدًّا جدًّا أن تجدَ نظامًا ذكيًّا يجتازُ كل الاختبارات بدون أخطاء، تقريبًا كلّ الأنظمة الذكية تفشلُ في الكثير من المناسبات، فهذه تفشلُ مرّةً في تمييز وجه الإنسان في الصورة وتلك تقول عن ابتسامة رجلٍ إنها ابتسامة امرأة.. ومن المناسبِ هنا إيرادُ لطيفةٍ تخصّ نظامَ شركة آبل Apple للتعرف على الوجوه حيثُ فشلَ مرّاتٍ في تمييز وجوه التوائم وفشل كثيرًا في بعض بلدان شرق آسيا مثل الصين
– وصفُ الآلة بأنها ذكية هو وصف مجازي، وغالبًا مضلّل، الأدقّ هو وصفها بأنّها مُعلّمة learned أو مدرّبة.
– إن عمليّات تمثيل الصورة بنقطة وصناعة التابع الرياضي التي تحدّثنا عنها في فقرة “التعلّم الآلي والرياضيات” وغيرها.. كلّها تحتاجُ إلى قدرات حاسوبيّة عالية جدًّا، بل إنّك إن قدّمتَ لحاسوبك كل تلك النقاط (صور الوجوه) وتركته ليجدَ لك التابع الذي يصنّفها فلا تستغرب إن عُدتَ بعد يومين أو أسبوعين ووجدته ما زال غارقًا في تلك العملية، إن هذه النمذجة تحتاجُ إلى موارد فائقة من حيث كميّة ونوعية الداتا (الصور مثلًا) ومن حيث سرعة المعالجة الحاسوبيّة.
– إن عدد الصور (النقاط) التي نحتاجها لحل بعض المسائل كبيرٌ جدًّا وقد يتجاوز مئاتٍ من الGigabytes أو عشرات من الTerabytes (غوغل مثلًا تتعامل مع داتا massive من مقاسات الTerabyte)
– كلّ ما ذُكر في هذه المقالة موجّه للمبتدئين ولم تكن الغاية الإحاطة بكافة وجوه المسألة لأن الطالب الجامعي يستغرقُ سنةً أو سنتين من الدراسة والتدريب في هذا الاختصاص.
المصادر:
https://www.weather.gov/ohx/predictingdailymaxtemps
https://www.researchgate.net/publication/262639062_A_Linear_Regression_Approach_to_Prediction_of_Stock_Market_Trading_Volume_A_Case_Study
https://medium.com/@ageitgey/machine-learning-is-fun-part-4-modern-face-recognition-with-deep-learning-c3cffc121d78
https://www.sciencedaily.com/releases/2018/03/180314125440.htm
https://www.telegraph.co.uk/technology/2017/09/12/apple-suffers-embarrassing-demo-faceid-fail-iphone-x-launch/
https://www.mirror.co.uk/tech/apple-accused-racism-after-face-11735152