AI-For-Beginners/translations/ar/lessons/4-ComputerVision/08-TransferLearning
leestott c6463675e6 🌐 Update translations via Co-op Translator 2025-08-28 04:44:09 +00:00
..
lab 🌐 Update translations via Co-op Translator 2025-08-28 04:44:09 +00:00
AdversarialCat_TF.ipynb 🌐 Update translations via Co-op Translator 2025-08-28 04:44:09 +00:00
Dropout.ipynb 🌐 Update translations via Co-op Translator 2025-08-28 04:44:09 +00:00
README.md 🌐 Update translations via Co-op Translator 2025-08-26 12:09:18 +00:00
TrainingTricks.md 🌐 Update translations via Co-op Translator 2025-08-26 12:09:18 +00:00
TransferLearningPyTorch.ipynb 🌐 Update translations via Co-op Translator 2025-08-28 04:44:09 +00:00
TransferLearningTF.ipynb 🌐 Update translations via Co-op Translator 2025-08-28 04:44:09 +00:00

README.md

الشبكات المدربة مسبقًا والتعلم بالنقل

تدريب الشبكات العصبية الالتفافية (CNNs) قد يستغرق وقتًا طويلًا، ويتطلب الكثير من البيانات. ومع ذلك، يتم قضاء معظم الوقت في تعلم أفضل المرشحات منخفضة المستوى التي يمكن للشبكة استخدامها لاستخراج الأنماط من الصور. وهنا يبرز سؤال طبيعي - هل يمكننا استخدام شبكة عصبية تم تدريبها على مجموعة بيانات واحدة وتكييفها لتصنيف صور مختلفة دون الحاجة إلى عملية تدريب كاملة؟

اختبار ما قبل المحاضرة

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

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

النماذج المدربة مسبقًا كمستخلصات للميزات

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

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

  • VGG-16/VGG-19: نماذج بسيطة نسبيًا لكنها تقدم دقة جيدة. غالبًا ما يكون استخدام VGG كخطوة أولى خيارًا جيدًا لمعرفة كيفية عمل التعلم بالنقل.
  • ResNet: عائلة من النماذج اقترحتها Microsoft Research في عام 2015. تحتوي على طبقات أكثر، وبالتالي تتطلب موارد أكبر.
  • MobileNet: عائلة من النماذج ذات الحجم المخفض، مناسبة للأجهزة المحمولة. استخدمها إذا كنت تعاني من نقص في الموارد ويمكنك التضحية بقليل من الدقة.

فيما يلي ميزات مستخرجة من صورة قطة بواسطة شبكة VGG-16:

ميزات مستخرجة بواسطة VGG-16

مجموعة بيانات القطط والكلاب

في هذا المثال، سنستخدم مجموعة بيانات القطط والكلاب، وهي قريبة جدًا من سيناريو تصنيف الصور في الحياة الواقعية.

✍️ تمرين: التعلم بالنقل

دعونا نرى التعلم بالنقل عمليًا في الدفاتر المرفقة:

تصور القطة المثالية

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

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

حلقة تحسين الصورة

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

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

القطة المثالية الحمار الوحشي المثالي
القطة المثالية الحمار الوحشي المثالي

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

صورة كلب صورة كلب مصنفة كقطة
الصورة الأصلية للكلب صورة كلب مصنفة كقطة

راجع الكود لإعادة إنتاج النتائج أعلاه في الدفتر التالي:

الخلاصة

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

🚀 تحدي

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

اختبار ما بعد المحاضرة

المراجعة والدراسة الذاتية

اقرأ TrainingTricks.md لتعميق معرفتك ببعض الطرق الأخرى لتدريب النماذج.

التكليف

في هذا المختبر، سنستخدم مجموعة بيانات حقيقية Oxford-IIIT للحيوانات الأليفة التي تحتوي على 35 سلالة من القطط والكلاب، وسنبني مصنفًا باستخدام التعلم بالنقل.

إخلاء المسؤولية:
تم ترجمة هذا المستند باستخدام خدمة الترجمة الآلية Co-op Translator. بينما نسعى لتحقيق الدقة، يرجى العلم أن الترجمات الآلية قد تحتوي على أخطاء أو معلومات غير دقيقة. يجب اعتبار المستند الأصلي بلغته الأصلية هو المصدر الموثوق. للحصول على معلومات حساسة أو هامة، يُوصى بالاستعانة بترجمة بشرية احترافية. نحن غير مسؤولين عن أي سوء فهم أو تفسيرات خاطئة ناتجة عن استخدام هذه الترجمة.