GNN و CNN في Transductive و الـ Inductive التعلم الـ

– مقدمة:

من أهم النظريات خلف التعُّلم الموجَّه (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).
الفرق أن التعلم التحويلي (transductive learning) محدد بحالات معينة والتي تُمثل بيانات الاختبار على مستوى التعلم العميق. لنرى مثال كما في الصورة رقم ١ حتى توضح الفكرة بشكل أكبر،
صورة رقم ١ : فكرة التعلم الاستقرائي (inductive learning)
الصورة رقم ١ هو مثال على فكرة التعلم الاستقرائي. فرضنا أننا نريد أن نقوم ببناء نموذج تعلم عميق (deep learning model) لغرض التصنيف (classification). سنقوم بإعطاء النموذج صورة رقم معين والنموذج من المفترض أن يخبرنا عن ما هو الرقم الموجود في الصورة. الجدول الاول الخاص في بيانات التدريب يحتوي بيانات الصورة على شكل vetors وفي المقابل المُسميات (labels) للصور. بطريقة اخرى، نقوم باخبار النموذج أنه هذه الصورة والتي هيا صورة الرقم ٤ هيا في الواقع الرقم ٤ (استنتجنا هذه المعلومة من خلال رؤية المسميات المعطاة في الجدول). بالطريقة هذه قمنا بتدريب النموذج. الان، النموذج المُدرب سنختبره على بيانات لم يراها من قبل وهي البيانات في الجدول الثاني (فترة الاختبار) ومن المفترض أن يقوم النموذج بتوقع المُسميات لهذه الصور. لنشاهد الان الصورة رقم ٢ لمثال لفكرة التعلم التحويلي.
صورة رقم ٢ : فكرة التعلم التحويلي (transductive learning)

الصورة رقم ٢ هيا مثال لفكرة التعلم التحويلي، حيث نقوم باستخدام كامل البيانات عند تدريب النموذج والذي نريده أيضا لتصنيف صورة الارقام. لكن يبقى السؤال لماذا نستخدم كامل البيانات بدل أن نقوم بتقسيمها إلى بيانات تدريب واختبار كما في التعلم الاستقرائي؟ السبب هذا يحدث كثير عندما لا يكون عندنا بيانات كافية. بطريقة اخرى، عدد الصورة التي تحتوي المُسميات (labels) هيا قليلة جدا. بالتالي، سيكون عندنا بيانات تحتوي على مُسميات والاخرى لا تحتوي على مُسميات، ونقوم باستخدام كامل البيانات لبناء نموذج ناجح. هذا فعليا ما يحدث في التعُّلم الشبه موجَّه (semi-supervised learning).

  في التعلم الاستقرائي، سيكون عندنا عينات من البيانات (input samples) واعتبرها x، وسيكون عندنا مخرجات وهيا F(x)، والمشكلة التي نحاول حلها هيا بتوقع قيمة الدالة (function F). المشكلة هيا أنه نحاول أن نُعمم (generalize) من العينات ومن ثم نربطهم بالمخرجات بطريقة ناجحة. ونجاح الطريقة نستطيع رؤيته باختبارها على بيانات الاختبار. عمليا، من المستحيل أن نقوم بتوقع الدالة تماما ولكن عادة نقوم بمحاول توقع الدالة أو ما يُعرف بتوقع تقريبي للدالة (approximation of the function f).

– علاقة التعلم الاستقرائي والتحويلي بالشكبات العصبية (CNN) والشبكية (GNN):

صورة رقم ٣ : CNN vs 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 أو كتابة التعليق هنا

Leave a Reply

Your email address will not be published.