نقل التعلم – Transfer Learning

ن

تستخدم تقنية نقل التعلم في التعلم العميق “Deep Learning”. والتعلم العميق يعتمد على الشبكات العصبية والتي تحاكي في هيكلها الشبكة العصبية لدماغ الإنسان ومن هنا جاءت تسميتها بالشبكات العصبية “Neural Networks”. وهنا لا بد من فهم البنية الأساسية للشبكات  العصبية والتي نتجت عنها فكرة “نقل التعلم – Transfer Learning”.

 تتكون الشبكة العصبية من مجموعة من الطبقات المتعاقبة “Layers” وتحتوي كل طبقة على عدد من النقاط “Neurons”.

في التطبيقات الحقيقية تتألف الشبكات العصبية من عدد كبير من الطبقات وتحتوي كل طبقة على عدد كبير جداً من النقاط. تسمى الطبقة الأولى : طبقة المدخلات “Input layer” وتسمى الطبقة الأخيرة : طبقة المخرجات “Output layer”. أما الطبقات البينية فتمسى الطبقات المخفية “Hidden layers”. تبدأ الطبقات المخفية بالتعرف على المزايا تدريجياً حتى تصل إلى الطبقة الأخيرة التي يتم فيها تحديد صنف المدخل.

هناك العديد من التحديات التي يواجهها المختصون لبناء نموذج جيد في التعرف على الكائنات ومن أهمها : ضرورة توافر كمية هائلة من البيانات اللازمة أثناء عملية تدريب النموذج، ونتيجة لذلك فإن عملية التدريب تتطلب حاسبات بمواصفات عالية وتستغرق وقتاً طويلاً يمتد لأيام في أغلب الحالات.

ما هو نقل التعلم:

نقل التعلم هو تقنية يتم تطويرها في مجال تعلم الآلة وتعنى بحفظ المعلومات التي يتم اكتسابها في محاولة حل مسألة معينة لغرض استخدامها في حل مسألة أخرى مشابهة لها. فعلى سبيل المثال المعلومات المكتسبة في التعرف على صور الطيور يمكن استخدامها عند محاولة التعرف على صور الطائرات. وكمثال آخر يمكن استخدام المعلومات المكتسبة في التعرف على السيارات في التعرف على أشياء أخرى مشابهه لها مثل الشاحنات.

كيف يستفيد نقل التعلم من الشبكات المدربة مسبقاً.

قامت العديد من المجموعات البرمجية ببناء عدة نماذج للشبكات العصبية هدفها التعرف على الصور. تتألف هذه النماذج من عدد كبير من الطبقات المخفية المعقدة في بنيتها. وقد تم تدريب هذه النماذج على أعداد هائلة جدً من الصور تقدر بالملايين. أظهرت هذه النماذج قدرة كبيرة جداً في التعرف على عدد كبير من الكائنات. يمكن إعادة استخدام هذه النماذج الذكية في التعرف على كائنات جديدة لم يتم التدريب عليها مسبقاً. وذلك من خلال استئصال الطبقة الأخيرة واستبدالها بطبقات جديدة وإعادة تدريبها لغرض تهيئتها للتعرف على كائنات جديدة. وتسمى هذه العملية “نقل التعلم”.

لماذا نستخدم نقل التعلم ؟

لماذا نلجأ إلى استخدام “نقل التعلم” ولا نقوم ببناء شبكات عصبية جديدة. لكي نقوم ببناء نموذج من أجل التعرف على كائنات جديدة فسنواجه العديد من التحديات أهمها هو الكم الكبير من البيانات التي نحتاجها لتدريب النموذج. نماذج الذكاء الاصطناعي لديها نهم وجشع كبيرين في الحصول على البيانات من أجل بناء نموذج جيد. في أغلب الأحيان وعلى سبيل المثال عندما نحتاج إلى بناء نموذج لكي يتعرف على صور الكواكب والتمييز بينها، فإننا بحاجة لعشرات الآلاف وربما مئات الآلاف من صور الكواكب لكي يتم تدريب النموذج عليها.

وبالطبع فإن هذا الكم الكبير من الصور يحتاج إلى حاسبات بمواصفات عالية وسوف يستغرق وقتاً طويلاً في عملية التدريب تقدر بالساعات وربما بالأيام لكي ينهي عملية التدريب التي ربما لا تعطي النتائج المرجوة من المرة الأولى. وقد نحتاج إلى إعادة التدريب مرات ومرات حتى نصل إلى نتائج مرضية.

وهنا نفضل دائماً أن نعود إلى أو “النموذج المدرب مسبقاً” لكي لا نضطر إلى تجميع عشرات الآلاف من الصور والتي قد لا تتوفر بتاتاً لكثير من المسائل المتنوعة. ولكي يوفر علينا الوقت الطويل في التدريب.

أشهر النماذج المتاحة في نقل التعلم:

  • VGG16 : ظهرت في عام 2014 بواسطة “سيمونيان و زيسرمان”. تحتوي على 16 طبقة وتبلغ مساحة تخزينها 533 ميغابايت. علماً أنه في 2014 كان النموذج المكون من 16 طبقة يعتبر عميق جداً.
    Very Deep Convolutional Networks for Large Scale Image Recognition
  • ResNet50 : ظهرت في عام 2015 بواسطة “He et al.”. وتتألف من 50 إلى 200 طبقة. وعلى الرغم من زيادة عدد الطبقات فيها مقارنة ب “VGG16” إلا إن مساحتها تبلغ 102 ميغابايت وذلك نظراً لاختلاف بنيتها التركيبية.
    Deep Residual Learning for Image Recognition
  • Inception V3 : كان أو ظهور لها بتركيبتها المصغرة في عام 2014 بواسطة “سيغادي وآخرون” ، ومساحتها أقل سابقاتها حيث بلغت 96 ميغابايت فقط.
    Going Deeper with Convolutions

وهنا لا بد أن نعرج على المصطلح المهم والشائع في هذا السياق “ImageNet” ، وهو عبارة كمية كبيرة من البيانات تقدر بـ 1.2 مليون صورة تستخدم لتدريب هذه النماذج لتصنيف 1000 كائن. ويقام سنوياً تحدي لتقييم هذه النماذج من خلال قياس اداءها ومقارنة نتائج كل نموذج بناءً من خلال هذه البيانات. يطلق على هذه الفعالية:
” ImageNet Large Scale Visual Recognition Challenge, or ILSVRC”

أمثلة استخدام نقل التعلم:

يعتبر علم الأشعة من أهم المجالات التي يستخدم فيها نقل التعلم لتصنيف العديد من الأمراض من خلال صور الأشعة المتوفرة. تم الاستعانة بنموذج “VGG16” لبناء نموذج معدل يهدف لتحديد الشخص المصاب بفيروس كورونا باستخدام صور الأشعة لرئة المريض وقد بلغت دقة النموذج المعدل 97 بالمائة. ويعود ذلك إلى أن نموذج “VGG16” مدرب على مئات الآلاف من الصور التي تشبه بعضها في بنيتها صورة الرئة كما هو موضح في الصورة التالية:

في الصورة أعلاه نجد أن حواف الجسم الخارجي للبطريق تتشابه مع شكل الإطار الخارجي لرئة الإنسان. المزايا التي يمكن للنموذج الأساسي استخلاصها من التدرب على الشكل الخارجي للبطريق يمكن الاستعانة بها واستخدامها للتعرف على شكل الرئة أيضاً. وعندما يتدرب النموذج الأساسي لإيجاد المزايا الأساسية في الكائنات مثل البطريق والبط على سبيل المثال فإن ذلك سيساعد النموذج في تعلم المزايا التي سيحتاجها النموذج للتفريق بين الرئة والكبد عندما يحتاج يتم تدريبه على بيانات جديدة في مجال آخر مثل الصور الطبية.

وهنا في هذا المقال تطرقنا إلى نقل التعلم بشكل سطحي ولم نتعمق في الكثير من التفاصيل لأن الهدف هو أخذ نظرة عامة وفهم ماهية نقل التعلم. من أجل تسهيل اتخاذ القرار عند الشروع في بناء نموذج لحل مسألة معينة.

عن الكاتب

Avatar
خالد الريمي

اضافة تعليق

خالد الريمي

Avatar

التواصل

أي مقال سأكتبه يكون المستهدف منه المتخصص فسأكتب ذلك في بداية المقال بإذن الله.

سأقدر كثيراً التعليقات التي تثير التساؤلات، وتناقش الأفكار، وتثري الموضوع..