– مقدمة:
من أهم النظريات خلف التعُّلم الموجَّه (supervised learning) في تعلم الآلة أو التعلم العميق هيا فكرة التعلم الاستقرائي (inductive learning). فكرة التعلم الاستقرائي ستاعدنا على فهم كيفية تطبيق نماذج تعلم الآلة والتعلم العميق في الحياة الواقعية. في هذه المقالة سنوضح التالي:
- فكرة التعلم الاستقرائي (inductive learning).
- وما علاقتها بفكرة التعلم التحويلي (transductive learning).
- الفرق بينهما. وما علاقتهما بالشبكات العصبية (CNN) والشبكات العصبية الشبكية (GNN).
– التعلم الاستقرائي (inductive learning) و التعلم التحويلي (transductive learning):
التعلم الاستقرائي هو فعليا ما نفعله في الشبكات العصبية عند تدريبها، حيث يكون عندنا بيانات تدريب نقوم باستخدامها لبناء النموذج الخاص فينا لغرض ما، ومن ثم نختبر النموذج المُدرب على بيانات الاختبار. التعاريف التالية هيا توضيح أكثر للمفاهيم:- التعلم الاستقرائي (inductive learning): نقوم بتطبيق أو استخدام ما تم ملاحظته على بيانات التدريب من أنماط وغيره (training samples) لبناء نموذج تعلم عميق موجه (supervised deep learning model) قادر على التطبيق بنجاح في الحياة الواقعية مثل تطبيقه على بيانات الاختبار (testing samples). هنا النموذج المدُرب هو معُمم أكثر (more generalized model).
- التعلم التحويلي (transductive learning): نقوم بتطبيق أو استخدام ما تم ملاحظته على بيانات التدريب من أنماط وغيره (training samples) لبناء نموذج تعلم عميق موجه (supervised deep learning model) قادر على التطبيق بنجاح على بيانات الاختبار (testing samples).
الصورة رقم ٢ هيا مثال لفكرة التعلم التحويلي، حيث نقوم باستخدام كامل البيانات عند تدريب النموذج والذي نريده أيضا لتصنيف صورة الارقام. لكن يبقى السؤال لماذا نستخدم كامل البيانات بدل أن نقوم بتقسيمها إلى بيانات تدريب واختبار كما في التعلم الاستقرائي؟ السبب هذا يحدث كثير عندما لا يكون عندنا بيانات كافية. بطريقة اخرى، عدد الصورة التي تحتوي المُسميات (labels) هيا قليلة جدا. بالتالي، سيكون عندنا بيانات تحتوي على مُسميات والاخرى لا تحتوي على مُسميات، ونقوم باستخدام كامل البيانات لبناء نموذج ناجح. هذا فعليا ما يحدث في التعُّلم الشبه موجَّه (semi-supervised learning).
– علاقة التعلم الاستقرائي والتحويلي بالشكبات العصبية (CNN) والشبكية (GNN):
الصورة رقم ٣ توضح الفرق بين الشبكات العصبية الترشيحية (convolutional neural network) وبين الشبكات العصبية الشبكية (graph neural network)، حيث الفرق أن الشبكات العصبية الشبكية تتعامل مع graph عند حل أي مشكلة. وكما نرى المدخل للشبكة العصبية هو graph. نفس المنهجية المتبعة في CNN عند التعامل مع الصور تُستخدم مع الـ graph في GNN مع اختلاف الامور التقنية التي ممكن نخصص لها مقالة منفصلة لاحقا.
ما يميز GNN بشكل عام هو أنها نستطيع من خلالها أن نحصل على خصائص أكثر من الgraph عند استخدامه، وهذه الخصائص لا نستطيع الحصول عليها في حال CNN. على سبيل المثال، باستخدام graph، نقدر نرى الروابط والعلاقات بين المستخدمين لو فرضنا أنه نريد بناء نموذج مختص بتحليل تويتر. هذه المعلومات نستطيع الحصول عليها من الgraph لان كل عقدة (node) يمثل مستخدم وبالتالي نستطيع الحصول على هذه المعلومات واضافتها لتحسين دقة النموذج.
الان نحن ذكرنا أن التعلم الاستقرائي موجود في CNN. لكن يبقى السؤال، هل GNN تندرج تحت التعلم الاستقرائي او التحويلي؟ عند القيام بتدريب شبكة GNN فنحن نتبع نفس طريقة CNN ونقسم البيانات الى بيانات تدريب واختبار. وهذا هو التعلم الاستقرائي. لكن في نفس الوقت، العلاقات بين العقد (nodes) في الـ graph تُمثل التعلم التحويلي . افترض أنه تم تدريب نموذج GNN، في فترة اختبار النموذج عندما نضيف عقدة جديدة وافرض انه مستخدم جديد، نحن في هذه الحالة نحتاج إلى إعادة تدريب النموذج بشكل كامل عند الاخذ في الاعتبار المسافات بين العقد وتاثيرها على عمل النموذج. بطريقة اخرى نستطيع أن نقول أن الـ graph ليس استقرائي بشكل كامل.
– الخاتمة :
الفرق بين التعلم الاستقرائي والتعلم التحويلي أنه في التعلم الاستقرائي نحن نريد تعلم الدالة لمدخل معين والتي يمكن تطبيقها إلى أي مدخل اخر. وعلى العكس في التعلم الاستقرائي، نحن نقوم نوعا ما بنقل بعض الخصائص لحالات محددة.
ان اصبت فمن الله وان اخطات فمن نفسي .. لا تنسى مشاركة المقالة اذا أعجبتك .. اخوكم رائد الحربي
ولاي ملاحضات او استفسارات يرجى مراسلتي على تويتر @raedalharbi14 أو كتابة التعليق هنا