مقدّمة في بديهيات الذكاء الاصطناعي لغير المتخصص ٣
- سيف البصري
- 24. Aug. 2016
- 7 Min. Lesezeit
بعد أن تطرّقنا في الحلقتين السابقتين إلى طبيعة الذكاء الاصطناعي و غايته في التطبيق، سأتناول في هذه الحلقة النمذجة و نتطرّق بشكل سطحي إلى كيفية ترجمة المشاكل التي نريد تمثيلها إلى الحاسوب الذكي ليفهمها و يتعامل معها. تذكّر، أنت لديك غاية أو مشكلة تريد من الحاسوب أن يفهمها أو يؤدّيها لك، و فوق كل ذلك، أن يؤدّيها بشكل صحيح و بالتالي تجنّب الأخطاء، و عليه، فمعرفة كيفية تصميم نموذج خوارزمي أمر بالغ الأهمية.
أنا ذكرت أنك تملك غاية أو تريد إيصال فكرة إلى الحاسوب ليفهمك. الآن هذه الـفكرة في ذهنك ستحاول أن تدخلها إلى الحاسوب على شكل بيانات، لأن الحاسوب يفضّل التعامل مع الأفكار عندما نجزّءها لبيانات و وحدات صغيرة نعرّفها له ليتمكّن من فرزها و فهمها. أحياناً تكون لدينا مهام كبيرة جداً و قاعدة البيانات تكون هائلة جداً. حينها سيكون من الصعب علينا نحن أن نحلّلها دون مساعدة الذكاء الاصطناعي، و هنا تحديداً يقوم الذكاء الاصطناعي بالـتنقيب في البيانات [Data-Mining] الكبيرة هذه لإيجاد علاقة منطقية يلخّصها بطريقة جديدة تكون مفهومة و مفيدة لصاحب البيانات.
البيانات الملخّصة و العلاقات بينها التي يتم الحصول عليها من التنقيب يطلق عليها أسم "نماذج" models. من أحد أهداف تنقيب البيانات أيضاً هو اختزال كمّيات البيانات الكبيرة أو ضغطها بحيث تعبّر بشكل بسيط عن كامل البيانات بدون تعميم. الأسم قد يبدو هنا مضللاً، فالتنقيب يعني البحث عن ما هو جديد و توليد بيانات جديدة، لكن المقصود هنا هو التعرّف على علاقات جديدة و معلومات مفيدة من المتاح من البيانات.
إذن تستطيع أن تفهم الـعملية كمحاولة لاستخراج المعرفة الصالحة [بالمعنى الإحصائي] و التي أ) لم تكن معروفة سابقاً و ب) قد تكون مفيدة لتحديد بعض الأسس و القوانين و الارتباطات الخفية.
أعطيك مثالاً:
في السنوات الأخيرة، تم استخدام وسيلة التنقيب في البيانات على نطاق واسع في مجالات العلوم و الهندسة مثل المعلوماتية البيولوجية، علم الوراثة، الطب، التعليم و هندسة الطاقة الكهربائية.
في علم الوراثة البشرية، ساعد التنقيب المتسلسل على فهم العلاقة بين التباينات في تسلسل الحمض النووي البشري عند الأفراد و بين التغير في قابلية التعرّض لمرض معيّن. بكلمات أخرى، يهدف التنقيب إلى معرفة كيف أن التغيّرات في تسلسل الحمض النووي للفرد قد تؤثّر على خطر الإصابة بالأمراض الشائعة مثل السرطان، و هذه خطوة مهمة جداً، خصوصاً في ظل التطوّرات الإيجابية التي نشهدها في مجال التعديل الجيني [CRISPR].
هنالك مجالات أخرى، ففي كل مرة تستخدم فيها بطاقة الائتمان يتم جمع البيانات حول مشترياتك لفهم سلوكك الاقتصادي و اهتماماتك، تقريباً يشابه الأمر البيانات التي يجمعها گوگل و الفيسبوك في تتبّع الصفحات التي تزورها لجمع معلومات أكثر عنك و بالتالي اختيار الدعايات و الصفحات المناسبة لك، طبعاً هنا ندخل في مجال أكثر تعقيداً من كونه مجرّد تنقيب، لكن لكي تفهم الصورة بشكل عام.
دعنا نعود لمشكلتك [مجموعة بياناتك] التي تريد طرحها على الحاسوب: من المنطقي أن يتناسب تعقيد المشكلة بشكل طردي مع تعقيد النموذج الخوارزمي. كما بيّنت في الحلقة السابقة، المحاكاة تحدث على مستوى عالي و على مستوى دقيق.
على أعلى مستوى، سوف تصمّم نموذج مشكلتك على واحد من أربع طرق مختلفة:
تصنيف البيانات [Data classification]
تحليل الانحدار أو تحليل الارتباط [Regression analysis]
التعنقّد الحوسبي [Clustering]
المتسلسلة الزمنية [Time Series]
في بعض الأحيان قد تتطلّب نمذجة مشكلة واحدة استخدام العديد من هذه الطرق سوياً، ذلك يعتمد طبعاً على غاية المهّمة أو طبيعة التعقيد الكامنة في المشكلة التي تريد حلّها.
سأتطرّق هنا بشكل سطحي فقط لكي تكوّن فكرة عامة عن طريقة عمل الذكاء الاصطناعي:
دعنا نبدأ مع الطريق الأوّل: تصنيف البيانات
حاول أن تتصوّر أنك تمتلك باقة كبيرة جداً من الزهور و لديك قاعدة من البيانات، لتكن مثلاً معلومات عن طول و لون الأزهار، هذه البيانات تتفاوت من زهرة إلى أخرى و أنت لديك عدد كبير منها و تريد أن تفرز بينها على أساس تلك المتغيّرات و تريد أن تبحث عن سمات مشتركة بحيث تتمكّن من تصنيفها بعد ذلك إلى طبقات تدرج فيها الزهور وفق البيانات المدخلة.
بعبارة أخرى، تصنيف البيانات هو عبارة عن ضم المتغيّرات التي تقيس مفهوماً معيناً و سمات مشتركة إلى بعضها البعض قبل أن يحللها الحاسوب الآلي.
لكن لماذا نقوم بذلك؟ عندما تقوم بتصميم نموذج خوارزمي و تمرّنه على التعامل الصحيح و المطلوب مع البيانات التي تريد إدخالها، فأنت تريد من خوارزمية التعلّم الآلي هذه أن تصنّف البيانات بشكل دقيق، لأن الخوارزمية عندما تتقن تصنيف البيانات بشكل دقيق، قد تتمكّن لاحقاً من التعرّف على البيانات الجديدة الغير معرّفة و تصنّفها تلقائياً.
رونالد فيشر [1890 - 1962] إحصائي إنجليزي، و عالم أحياء تطّوري وصفه رتشارد دوكنز بـ "أعظم عالم أحياء منذ داروين"، كتب أحد أشهر الأمثلة عن تصنيف البيانات. مثاله عن زهرة السوسن فيه مجموعة بيانات تحتوي على قياسات لهذه الزهرة.
البيانات شملت قياس التباين المورفولوجي [الشكلي] لثلاثة أنواع من زهرة السوسن. مجموعة البيانات تكوّنت من 50 عيّنة من جميع الأنواع الثلاث (setosa، virginica و versicolor). تم قياس أربع سمات من كل عيّنة: طول و عرض كأسية [sepal] الزهرة و بتلتها [petal] بالـ "سم". على أساس المزيج من هذه السمات الأربع، كتب فيشر نموذجاً خطياً للتمييز بين الأنواع عن بعضها البعض.
إذن دعنا نلخّص ما نعرفه من بيانات و ما نرغب بالحصول عليه:
لديك مجموعة من الزهور [50 زهرة] مقطوفة من ثلاثة أنواع من زهرة السوسن. هنالك أريع سمات من كل نوع: طول و عرض كأسية [sepal] الزهرة و بتلتها [petal]. و عليه فقاعدة البيانات عندنا تحتوي على 5 متغيّرات، السمات الأربع و النوع (setosa، virginica و versicolor).
ما أريده هو أن أصنّف البيانات هذه وفق المتغيّرات الـخمسة، لذلك دعنا نستعين بجدول مقسوم بفواصل ندوّن فيه بيانات الخوارزمية لكي تترتّب الصورة قبل أن نستعين بلغة برمجة: حيث أذكر الأرقام بالترتيب الذي يتطابق مع الصف الأوّل.
الصف الأول هو عادة تعريف لكل من الأعمدة في الملف [ملف قاعدة البيانات]. كما ترون، لكل من الزهور هناك خمس قطع من المعلومات المقدّمة:
"Sepal Length","Sepal Width","Petal Length","Petal Width","Species" ⟵ الصف الأوّل
5.1,3.5,1.4,0.2,"setosa"
4.9,3.0,1.4,0.2,"setosa"
4.7,3.2,1.3,0.2,"setosa"
...
7.0,3.2,4.7,1.4,"versicolor"
6.4,3.2,4.5,1.5,"versicolor"
6.9,3.1,4.9,1.5,"versicolor"
...
6.3,3.3,6.0,2.5,"virginica"
5.8,2.7,5.1,1.9,"virginica"
7.1,3.0,5.9,2.1,"virginica"
…
للتذكير، الأرقام هنا تمثّل السمات الأربعة مقاسة بالـسنتميتر. إضافة إلى ذلك، فإن قاعدة البيانات الأصلية أطول من العيّنة التي اقتبستها، هنا تجد قاعدة البيانات الكاملة.
الآن أدخلت للحاسوب البيانات التي أمتلكها و أطلب منه التعرّف على العلاقات بينها و فرزها. فالخوارزمية مصممة للتعرّف على نوع الزهرة نظراً لطول و عرض الكأسية و طول و عرض البتلة. الأنواع تمثّل هنا الفئة التي توعز إليها البيانات بعد تحليلها.
الفئات تكون عادة بيانات غير رقمية، و العضوية في فئة معيّنة [أي إيعاز مجموعة بيانات إلى فئة ما] يجب أن تحدّد بوضوح. كما ترى، لدينا في هذا المثال 3 أنواع من زهرة السوسن. إذا تم تدريب خوارزمية التعلّم الآلي للتعرّف على ثلاثة أنواع من السوسن، فلا نتوقّع أن الخوارزمية ستتعرّف على زهرة الياسمين مثلاً، ذلك لأننا قد عرّفنا الفئات و صنّفنا البيانات بشكل دقيق.
بعد أن شاهدنا كيفية استخدام بيانات لتصنيف بيانات، ماذا لو كانت المخرجات، أي النتيجة، المطلوبة هي قيمة رقمية [عدد] و ليست فئة؟ هنا نستخدم تحليل الانحدار أو تحليل الارتباط [طريقة إحصائية يتم فيها التنبّؤ بمتوسّط متغيّر عشوائي أو عدة متغيّرات عشوائية اعتماداً على قيم و قياسات متغيّرات عشوائية أخرى]. طبعاً هنالك أنواع متعددة، لكن لنقتصر على الفكرة الجوهرية.
على سبيل المثال، أنت تريد حساب الكفاءة في استهلاك وقود السيارات نسبة لـ [عدد الأميال/الغالون الواحد] (MPG).
و قد جمعت البيانات التالية لـ 5 أنواع من السيّارات: حجم المحرّك و وزن السيارة:
الصف الأوّل ⟵ "ميل/غالون"،"حجم الاسطوانة"،"سعة المحرّك"،"حصان [وحدة قدرة]"،"الوزن"،"التسارع"،"موديل السيّارة"،"أصل السيّارة"،"إسم السيّارة"
"mpg","cylinders","displacement","horsepower","weight","acceleration","model year","origin","car name"
18.0,8,307.0,130.0,3504.,12.0,70,1,"chevrolet chevelle malibu"
15.0,8,350.0,165.0,3693.,11.5,70,1,"buick skylark 320"
18.0,8,318.0,150.0,3436.,11.0,70,1,"plymouth satellite"
16.0,8,304.0,150.0,3433.,12.0,70,1,"amc rebel sst"
17.0,8,302.0,140.0,3449.,10.5,70,1,"ford torino"
...
يهدف تحليل الانحدار هنا لتدريب خوارزمية التعلّم الآلي على توفير معلومات جديدة و محسوبة من خلال البيانات المُدخلة عن السيارات. في هذه الحالة، ستطلب من الخوارزمية حساب الأميال نسبةً للغالون الواحد وفق البيانات التي أدخلتها. أي أن الحاسوب سيبحث عن علاقات غير معرّفة سابقاً داخل مجموعة البيانات المدخلة. فمثلاً سيجد علاقة بين سعة المحرّك و حجم الاسطوانة، و إلخ..
من المهم أيضاً أن نفهم، أن بعض البيانات سيتم إهمالها أثناء التحليل. مثلاً "إسم السيارة" و "الأصل" ليس لهما علاقة بكفاءة استهلاك الوقود، فبعض البيانات لا تكون مفيدة.
طريق آخر يستخدمه الذكاء الاصطناعي هو التعنقد الحوسبي:
بشكل سطحي و عام، التعنقد [Clustering] مشابه لتصنيف البيانات، من باب أن الحاسوب يهدف إلى تجميع البيانات المدخلة و تصنيفها. الخوارزميات هنا تأخذ البيانات المدخلة و تحشدها مع بعضها البعض، كما تتجمع حبات العنب لتشكّل العـنـقود. الفرق يكمن في أن التعنقد يعطي للخوارزمية الحرّية في تنظيم و ترتيب البيانات، بعكس المثال الأوّل [تصنيف البيانات data classification] عن زهور السوسن، حيث أعطيت للخوارزمية تفاصيل دقيقة عن كل فئة و كيف يتم توزيع البيانات. الأخيرة يكون غرضها أيضاً تصنيف البيانات الجديدة وفق البيانات المدخلة في البداية، بعكس التعنقد، هنا تحتاج لإعادة تصنيف كامل للمدخلات من جديد.
دعنا نعود للتعنقد الحوسبي: كما فهمت، هنا لا نحدد العناقيد، بل نترك للخوارزمية الحرّية في ذلك، و بالتالي تكون النتائج "غير متوقّعة". لو طبّقنا هذه الطريقة مثلاً على مثال السيّارات السابق، فمن المحتمل أن تقوم الخوارزمية بتقسيم السيّارات إلى أربع فئات بشكل يظهر لك أي السيّارات أشبه بالأخرى.
لاحظت هنا الفرق؟ تمثيل الخوارزمية الصحيح يحدد النتيجة أو الغاية من استخدام الذكاء الاصطناعي. تارة أنا أبحث عن تصنيف فقط، و تارة أخرى أبحث عن معلومات جديدة.
المتسلسلة الزمنية [Time Series]:
حاول أن تتفهّم أن خوارزميات التعلّم الآلي تعمل بشكل يشبه نوعاً ما الدوال الريّاضية. فهي تقوم برسم خرائط تربط بين قيم المدخلات و قيم النتائج. هذه يضفي للخوارزمية "حالة داخلية" تقتضي التتابع و بالتالي سيلعب الوقت دوراً مهماً.
رياضياً: نقول أن متغيّر الزمن هو (t) و القيم المناظرة له، المتغير التابع (x)، و أن كل قيمة في الزمن t يقابلها قيم للمتغير التابع x، وبالتالي فإن x دالة في الزمن t، أي (x = f(t.
بعبارة أبسط، المتسلسلة الزمنية هي مجموعة قياسات مسجّلة [لمتغيّر واحد أو أكثر] مرّتبة حسب زمن وقوعها. مثل أسعار السوق و بيانات مراقبة الطقس.
سأوضّح أكثر: إذ لم يكن هنالك حالة داخلية للخوارزمية، فستنتج مجموعة معيّنة من المدخلات دائماً نفس النتائج. مالمقصود بذلك؟
خذ مثال زهرة السوسن و مثال السيّارات على سبيل المثال: عندما أردنا تصنيف الزهور و السيّارت، لم يكن للوقت ذلك التأثير على نتيجة المدخلات. بينما عندما تكون بياناتك تتعلّق بالبورصة و النمو الاقتصادي، فسيكون للوقت أهمية كبيرة. نقطة سعر واحدة للسهم التجاري في يوم معيّن قد لا تساعدك كثيراً على التنبّؤ بالسعر. مع ذلك، معالجة بيانات عدة أيام مضت دوّنت فيها أسعار الأسهم قد تكون ذات فائدة لك. هنا يضفي الوقت للخوارزمية تلك الحالة الداخلية التي وصفتها سلفاً.
طبعاً أنت غير ملزم بفهم كل شيء هنا، المهم أن تعتبرها رحلة قصيرة فوق محيط الذكاء الاصطناعي. المتخصص قد يحتاج أكثر من حلقة كاملة في شرح المتسلسلة الزمنية فقط، لذلك لا تقلق إن لم تفهم الكثير، و أعتذر إن لم أنجح في تبسيط الفكرة. لكنك بعد أن ختمت هذه الحلقات، ستكون قد كوّنت صورة أوضح عن الذكاء الاصطناعي قد تشجّعك على الغوص في أعماقه أو الاهتمام بأخباره. في النهاية أنت تستخدمه يومياً في حياتك ;)
يتبع..
Comments