Yolo فيجن شنتشن
شنتشن
انضم الآن
مسرد المصطلحات

الشبكات المتبقية (ResNet)

اكتشف قوة الشبكات المتبقية (ResNet). تعرف على كيفية حل مشكلة التدرج المتلاشي من خلال تخطي الاتصالات لتمكين التعلم العميق للرؤية الحاسوبية.

الشبكات المتبقية، المعروفة على نطاق واسع باسم ResNets، هي نوع محدد من بنية الشبكات العصبية الاصطناعية (ANN) المصممة لتمكين تدريب الشبكات العميقة للغاية. قدمها باحثون في Microsoft عام 2015، وحلّت ResNet مشكلة حرجة في التعلم العميق تُعرف باسم مشكلة التدرج المتلاشي. في الشبكات التقليدية ، غالبًا ما يؤدي تكديس المزيد من الطبقات إلى تشبع الأداء أو تدهوره لأن الإشارة المطلوبة لتحديث أوزان النموذج تتلاشى مع انتشارها للخلف عبر الطبقات. قدمت ResNet "اتصالات التخطي" (أو الاتصالات المتبقية)، والتي تسمح للبيانات بتجاوز طبقة واحدة أو أكثر والتدفق مباشرة إلى مراحل المعالجة اللاحقة. أثبت هذا الابتكار أنه يمكن تدريب الشبكات الأعمق بشكل فعال، مما أدى إلى اختراقات مهمة في رؤية الكمبيوتر (CV) وأصبح مفهومًا أساسيًا للبنى الحديثة.

المفهوم الأساسي: التعلم المتبقي

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

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

الاختلافات الرئيسية في الهندسة المعمارية

منذ إنشائها، أصبحت العديد من أشكال ResNet معايير قياسية في مجتمع الذكاء الاصطناعي.

  • ResNet-50: نسخة مكونة من 50 طبقة تستخدم تصميم "عنق الزجاجة". يستخدم هذا التصميم تلافيف 1x1 لتقليل الأبعاد ثم استعادتها، مما يجعل الشبكة فعالة من الناحية الحسابية مع الحفاظ على دقة عالية .
  • ResNet-101 و ResNet-152: متغيرات أعمق مع 101 و 152 طبقة على التوالي. غالبًا ما يتم استخدامها عندما تسمح الموارد الحاسوبية بتعقيد أعلى لالتقاط خرائط ميزات أكثر تعقيدًا .
  • ResNeXt: تطور لـ ResNet يقدم بُعد "العددية"، حيث يقسم الكتلة المتبقية إلى مسارات متوازية متعددة، مما يحسن الكفاءة والأداء.

تطبيقات واقعية

إن متانة بنى ResNet جعلتها الخيار المفضل لمجموعة واسعة من المهام البصرية.

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

ResNet مقابل Architectures الأخرى

من المفيد التمييز بين ResNet والبنى الشائعة الأخرى لفهم فائدتها المحددة.

  • ResNet مقابل VGG: شبكات VGG (Visual Geometry Group) هي أيضًا شبكات CNN عميقة ولكنها تفتقر إلى الاتصالات المتبقية. وبالتالي، فإنها أصعب بكثير في التدريب على أعماق مماثلة لـ ResNet وتكون عمومًا أكثر تكلفة من الناحية الحسابية بسبب طبقاتها الكبيرة المتصلة بالكامل.
  • ResNet مقابل Inception: تركز شبكات Inception على العرض، باستخدام مرشحات بأحجام متعددة داخل نفس الطبقة لالتقاط الميزات بمقاييس مختلفة. تركز ResNet على العمق. تجمع البنى الحديثة مثل Inception-ResNet بين كلا المفهومين.
  • ResNet مقابل Vision Transformer (ViT): بينما تستخدم ViTs آليات الانتباه الذاتي لمعالجة الصور بشكل شامل، تعتمد ResNets على التلافيف المحلية. ومع ذلك، تظل ResNets أساسًا قويًا وغالبًا ما تكون أسرع في معالجة مجموعات البيانات الأصغر أو الاستدلال في الوقت الفعلي .

مثال على التنفيذ

PyTorch مكتبات التعلم العميق الحديثة مثل PyTorch الوصول إلى نماذج ResNet المدربة مسبقًا. هذه النماذج لا تقدر بثمن في التعلم النقلي، حيث يتم تدريب النموذج على مجموعة بيانات كبيرة مثل ImageNet يتم ضبطه بدقة لمهمة محددة.

يوضح Python التالي Python كيفية تحميل نموذج ResNet-50 المدرب مسبقًا باستخدام torchvision (جزء من PyTorch ) وإجراء تمرير أمامي بسيط. بينما مستخدمو منصة Ultralytics قد يستخدم في كثير من الأحيان يولو26 للكشف، فإن فهم المفاهيم الأساسية مثل ResNet أمر بالغ الأهمية للتخصيص المتقدم.

import torch
import torchvision.models as models

# Load a pre-trained ResNet-50 model
resnet50 = models.resnet50(weights=models.ResNet50_Weights.DEFAULT)
resnet50.eval()  # Set model to evaluation mode

# Create a dummy input tensor (batch_size, channels, height, width)
input_tensor = torch.randn(1, 3, 224, 224)

# Perform a forward pass to get predictions
with torch.no_grad():
    output = resnet50(input_tensor)

print(f"Output shape: {output.shape}")  # Expect [1, 1000] for ImageNet classes

أهميتها في الذكاء الاصطناعي الحديث

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

انضم إلى مجتمع Ultralytics

انضم إلى مستقبل الذكاء الاصطناعي. تواصل وتعاون وانمو مع المبتكرين العالميين

انضم الآن