نقل التعلم في التعلم العميق [دليل شامل]
نشرت: 2020-12-07جدول المحتويات
مقدمة
ما هو التعلم العميق؟ إنه فرع من فروع التعلم الآلي الذي يستخدم محاكاة للدماغ البشري تُعرف بالشبكات العصبية. تتكون هذه الشبكات العصبية من الخلايا العصبية التي تشبه الوحدة الأساسية للدماغ البشري.
تشكل الخلايا العصبية نموذجًا للشبكة العصبية ويسمى هذا المجال من الدراسة بالتعلم العميق. النتيجة النهائية للشبكة العصبية تسمى نموذج التعلم العميق. في الغالب ، في التعلم العميق ، يتم استخدام البيانات غير المنظمة التي يستخرج منها نموذج التعلم العميق الميزات من تلقاء نفسه عن طريق التدريب المتكرر على البيانات.
تُعرف هذه النماذج المصممة لمجموعة معينة من البيانات عند توفرها للاستخدام كنقطة بداية لتطوير نموذج آخر بمجموعة مختلفة من البيانات والميزات ، باسم نقل التعلم. بعبارات بسيطة ، يعد Transfer Learning طريقة شائعة حيث يتم استخدام نموذج واحد تم تطويره لمهمة معينة مرة أخرى كنقطة بداية لتطوير نموذج لمهمة أخرى.
نقل التعلم
تم استخدام التعلم الانتقالي من قبل البشر منذ زمن سحيق. على الرغم من أن هذا المجال من التعلم الانتقالي جديد نسبيًا في التعلم الآلي ، فقد استخدم البشر هذا بطبيعته في كل المواقف تقريبًا.
نحاول دائمًا تطبيق المعرفة المكتسبة من تجاربنا السابقة عندما نواجه مشكلة أو مهمة جديدة وهذا هو أساس نقل التعلم. على سبيل المثال ، إذا علمنا أن نركب دراجة وعندما طُلب منك ركوب دراجة نارية لم نقم بها من قبل ، فسيتم دائمًا تطبيق خبرتنا في ركوب الدراجة عند ركوب الدراجة النارية مثل توجيه المقبض وموازنة الدراجة. يشكل هذا المفهوم البسيط أساس نقل التعلم.
لفهم الفكرة الأساسية لتعليم النقل ، ضع في اعتبارك أن النموذج X تم تدريبه بنجاح لأداء المهمة A مع النموذج M1. إذا كان حجم مجموعة البيانات للمهمة B صغيرًا جدًا مما يمنع النموذج Y من التدريب بكفاءة أو التسبب في زيادة ملاءمة البيانات ، فيمكننا استخدام جزء من النموذج M1 كقاعدة لبناء النموذج Y لأداء المهمة B.

لماذا ننقل التعلم؟
وفقًا لأندرو نج ، أحد رواد عالم اليوم في الترويج للذكاء الاصطناعي ، "سيكون نقل التعلم هو المحرك التالي لنجاح تعلم الآلة". ذكر ذلك في حديث ألقي في مؤتمر نظم معالجة المعلومات العصبية (NIPS 2016). مما لا شك فيه أن نجاح ML في صناعة اليوم يرجع في المقام الأول إلى التعلم تحت الإشراف. من ناحية أخرى ، من الآن فصاعدًا ، مع وجود قدر أكبر من البيانات غير الخاضعة للإشراف وغير المسماة ، سيكون نقل التعلم أحد الأساليب التي سيتم استخدامها بشكل كبير في الصناعة.
في الوقت الحاضر ، يفضل الناس استخدام نموذج مدرب مسبقًا تم تدريبه بالفعل على مجموعة متنوعة من الصور مثل ImageNet بدلاً من بناء نموذج شبكة عصبية تلافيفية كاملة من البداية. التعلم عن طريق التحويل له فوائد عديدة ، ولكن المزايا الرئيسية هي توفير وقت التدريب ، وتحسين أداء الشبكات العصبية ، وعدم الحاجة إلى الكثير من البيانات.
قراءة: أهم تقنيات التعلم العميق
طرق نقل التعلم
بشكل عام ، هناك طريقتان لتطبيق التعلم بالنقل - أحدهما هو تطوير نموذج من البداية والآخر هو استخدام نموذج مدرب مسبقًا.
في الحالة الأولى ، نقوم عادةً ببناء بنية نموذجية اعتمادًا على بيانات التدريب وقدرة النموذج على استخراج الأوزان والأنماط من النموذج تتم دراستها بعناية باستخدام العديد من المعلمات الإحصائية. بعد بضع جولات من التدريب ، اعتمادًا على النتيجة ، قد يلزم إجراء بعض التغييرات على النموذج لتحقيق الأداء الأمثل. بهذه الطريقة ، يمكننا حفظ النموذج واستخدامه كبداية لبناء نموذج آخر لمهمة مماثلة.
عادةً ما تتم الإشارة إلى الحالة الثانية لاستخدام النماذج المدربة مسبقًا بشكل شائع إلى Transfer Learning. في هذا ، يتعين علينا البحث عن النماذج المدربة مسبقًا والتي يتم مشاركتها من قبل العديد من المؤسسات البحثية والمنظمات التي يتم إصدارها بشكل دوري للاستخدام العام. هذه النماذج متاحة للتنزيل على الإنترنت مع أوزانها ويمكن استخدامها لبناء نماذج لمجموعات بيانات مماثلة.
نقل تنفيذ التعلم - نموذج VGG16
دعنا ننتقل إلى تطبيق نقل التعلم من خلال استخدام نموذج مدرب مسبقًا يسمى VGG16.
VGG16 هو نموذج شبكة عصبية تلافيفية تم إصداره من قبل أساتذة جامعة أكسفورد في عام 2014. كان أحد النماذج الشهيرة التي فازت بمسابقة ILSVR (ImageNet) في ذلك العام. لا يزال يُعترف به كواحد من أفضل هياكل نماذج الرؤية. تحتوي على 16 طبقة وزن بما في ذلك 13 طبقة تلافيفية ، و 3 طبقات متصلة بالكامل ، وطبقة قصوى ناعمة. لديها ما يقرب من 138 مليون معلمة. الموضح أدناه هو هندسة نموذج VGG16.
مصدر الصورة: https://towardsdatascience.com/understand-the-architecture-of-cnn-90a25e244c7

الخطوة 1: الخطوة الأولى هي استيراد نموذج VGG16 الذي توفره مكتبة keras في إطار عمل TensorFlow.
الخطوة 2: في الخطوة التالية ، سنقوم بتعيين النموذج إلى متغير "vgg" وتنزيل أوزان ImageNet من خلال إعطائها كوسيطة للنموذج
الخطوة 3: نظرًا لأن هذه النماذج المدربة مسبقًا مثل VGG16 ، فقد تم تدريب ResNet على عدة آلاف من الصور وتستخدم لتصنيف فئات متعددة ، لا نحتاج إلى تدريب طبقات النموذج المدرب مسبقًا مرة أخرى. ومن ثم ، قمنا بتعيين جميع طبقات نموذج VGG16 على أنها "خطأ".
الخطوة 4: نظرًا لأننا قمنا بتجميد جميع الطبقات وإزالة طبقات التصنيف الأخيرة لنموذج VGG16 المدرب مسبقًا ، نحتاج إلى إضافة طبقة تصنيف أعلى النموذج المدرب مسبقًا لتدريبه على مجموعة بيانات. ومن ثم ، قمنا بتسطيح الطبقات وإدخال طبقة كثيفة نهائية مع softmax كوظيفة التنشيط مع مثال على نموذج تنبؤ بالفئة الثنائية.
الخطوة 5: في هذه الخطوة الأخيرة ، نقوم بطباعة ملخص نموذجنا لتصور طبقات نموذج VGG16 المدرب مسبقًا والطبقتين اللتين أضفناهما فوقه باستخدام Transfer Learning.
من الملخص أعلاه ، يمكننا أن نرى أن هناك ما يقرب من 14.76 مليونًا من المعلمات الإجمالية التي يُسمح فقط باستخدام حوالي 50000 معلمة تنتمي إلى الطبقتين الأخيرتين لأغراض التدريب بسبب الشرط المحدد أعلاه في الخطوة 3. المتبقي 14.71 يشار إلى المعلمات M على أنها معلمات غير قابلة للتدريب.
بمجرد تنفيذ هذه الخطوات ، يمكننا تنفيذ خطوات لتدريب الشبكة العصبية التلافيفية العادية عن طريق تجميع نموذجنا باستخدام معلمات خارجية مثل المحسن ووظيفة الخسارة.

بعد التجميع ، يمكننا بدء التدريب باستخدام وظيفة الملاءمة لعدد محدد من الحقب. بهذه الطريقة ، يمكننا استخدام طريقة نقل التعلم لتدريب أي مجموعة بيانات مع العديد من النماذج المدربة مسبقًا على الشبكة وإضافة بضع طبقات أعلى النموذج وفقًا لعدد فئات بيانات التدريب الخاصة بنا.
اقرأ أيضًا: خوارزمية التعلم العميق [دليل شامل]
خاتمة
في هذه المقالة ، مررنا بالفهم الأساسي لـ Transfer Learning وتطبيقه وكذلك تنفيذه باستخدام نموذج VGG16 تم تدريبه مسبقًا من مكتبة keras. بالإضافة إلى ذلك ، فقد تبين أن استخدام الأوزان المدربة مسبقًا فقط من آخر طبقتين من الشبكة له أكبر تأثير على التقارب.
ينتج عن هذا أيضًا تقارب أسرع بسبب الاستخدام المتكرر للميزات. لدى Transfer Learning الكثير من التطبيقات في بناء النماذج اليوم. الأهم من ذلك ، يحتاج الذكاء الاصطناعي لتطبيقات الرعاية الصحية إلى العديد من هذه الأوضاع المدربة مسبقًا نظرًا لحجمها الكبير. على الرغم من أن التعلم التحويلي قد يكون في مراحله الأولية ، إلا أنه في السنوات القادمة سيكون أحد الأساليب الأكثر استخدامًا لتدريب مجموعات البيانات الكبيرة بمزيد من الكفاءة والدقة.
إذا كنت مهتمًا بمعرفة المزيد حول التعلم الآلي ، فراجع دبلوم PG في IIIT-B & upGrad في التعلم الآلي والذكاء الاصطناعي المصمم للمهنيين العاملين ويقدم أكثر من 450 ساعة من التدريب الصارم ، وأكثر من 30 دراسة حالة ومهمة ، IIIT- حالة الخريجين B ، أكثر من 5 مشاريع تتويجا عملية ومساعدة وظيفية مع أفضل الشركات.
كيف يختلف التعلم العميق عن التعلم الآلي؟
يعتبر كل من التعلم الآلي والتعلم العميق مجالين متخصصين تحت مظلة تسمى الذكاء الاصطناعي. التعلم الآلي هو فئة فرعية من الذكاء الاصطناعي تتعامل مع كيفية تعليم الآلات أو أجهزة الكمبيوتر للتعلم وتنفيذ مهام محددة بأقل قدر من المشاركة البشرية. والتعلم العميق هو مجال فرعي من التعلم الآلي. يعتمد التعلم العميق على مفاهيم الشبكات العصبية الاصطناعية التي تساعد الآلات على تقدير السياقات واتخاذ القرار مثل البشر. بينما يتم استخدام التعلم العميق لمعالجة كميات هائلة من البيانات الأولية ، يتوقع التعلم الآلي عادةً مدخلات في شكل بيانات منظمة. علاوة على ذلك ، في حين أن خوارزميات التعلم العميق يمكن أن تعمل بدون تدخل بشري إلى أدنى حد ، فإن نماذج التعلم الآلي ستظل بحاجة إلى مستوى معين من المشاركة البشرية.
هل هناك أي متطلبات مسبقة لتعلم الشبكات العصبية العميقة؟
سيحتاج العمل في مشروع واسع النطاق في مجال الذكاء الاصطناعي ، وخاصة التعلم العميق ، إلى أن يكون لديك مفهوم واضح وسليم لأساسيات الشبكات العصبية الاصطناعية. لتطوير أساسيات الشبكات العصبية الخاصة بك ، أولاً ، تحتاج إلى قراءة الكثير من الكتب المتعلقة بالموضوع وكذلك الاطلاع على المقالات والأخبار لمواكبة الموضوعات والتطورات الشائعة. لكن عند الوصول إلى المتطلبات الأساسية لتعلم الشبكات العصبية ، لا يمكنك تجاهل الرياضيات ، وخاصة الجبر الخطي وحساب التفاضل والتكامل والإحصاء والاحتمالات. بصرف النظر عن ذلك ، فإن المعرفة العادلة بلغات البرمجة مثل Python و R و Java ستكون مفيدة أيضًا.
ما هو نقل التعلم في الذكاء الاصطناعي؟
تُعرف تقنية إعادة استخدام العناصر من نموذج التعلم الآلي الذي تم تدريبه مسبقًا في نموذج جديد باسم نقل التعلم في الذكاء الاصطناعي. إذا تم تصميم كلا النموذجين لأداء وظائف متشابهة ، فمن الممكن مشاركة المعرفة المعممة بينهما عبر نقل التعلم. تعزز تقنية نماذج التدريب هذه الاستخدام الفعال للموارد المتاحة وتمنع إهدار البيانات المصنفة. مع استمرار تطور التعلم الآلي ، يستمر التعلم الانتقالي في اكتساب أهمية أكبر في تطوير الذكاء الاصطناعي.