اكتشف قوة الشبكات المتبقية (ResNet). تعرف على كيفية حل مشكلة التدرج المتلاشي من خلال تخطي الاتصالات لتمكين التعلم العميق للرؤية الحاسوبية.
الشبكات المتبقية، المعروفة على نطاق واسع باسم ResNets، هي نوع محدد من بنية الشبكات العصبية الاصطناعية (ANN) المصممة لتمكين تدريب الشبكات العميقة للغاية. قدمها باحثون في Microsoft عام 2015، وحلّت ResNet مشكلة حرجة في التعلم العميق تُعرف باسم مشكلة التدرج المتلاشي. في الشبكات التقليدية ، غالبًا ما يؤدي تكديس المزيد من الطبقات إلى تشبع الأداء أو تدهوره لأن الإشارة المطلوبة لتحديث أوزان النموذج تتلاشى مع انتشارها للخلف عبر الطبقات. قدمت ResNet "اتصالات التخطي" (أو الاتصالات المتبقية)، والتي تسمح للبيانات بتجاوز طبقة واحدة أو أكثر والتدفق مباشرة إلى مراحل المعالجة اللاحقة. أثبت هذا الابتكار أنه يمكن تدريب الشبكات الأعمق بشكل فعال، مما أدى إلى اختراقات مهمة في رؤية الكمبيوتر (CV) وأصبح مفهومًا أساسيًا للبنى الحديثة.
السمة المميزة لشبكة ResNet هي "الكتلة المتبقية". في الشبكة العصبية التلافيفية القياسية (CNN)، تحاول كل طبقة تعلم التعيين المباشر من المدخلات إلى المخرجات. مع تعمق الشبكات، يصبح تعلم هذا التعيين المباشر أكثر صعوبة.
تغير ResNet هذا النهج من خلال صياغة هدف التعلم بشكل مختلف. بدلاً من الأمل في أن تتعلم كل مجموعة من الطبقات التعيين الأساسي بالكامل، تجبر الكتلة المتبقية الطبقات على تعلم "المتبقي" — أو الفرق — بين المدخلات والمخرجات المطلوبة. ثم تتم إعادة إضافة المدخلات الأصلية إلى المتبقي المكتسب من خلال اتصال تخطي. يعني هذا التغيير الهيكلي أنه إذا كان التعيين الهوياتي (تمرير المدخلات دون تغيير) هو الأمثل، يمكن للشبكة أن تتعلم بسهولة دفع المتبقي إلى الصفر. وهذا يجعل نماذج التعلم العميق (DL) أسهل بكثير في التحسين، مما يسمح لها بالتوسع من عشرات إلى مئات أو حتى آلاف الطبقات.
منذ إنشائها، أصبحت العديد من أشكال ResNet معايير قياسية في مجتمع الذكاء الاصطناعي.
إن متانة بنى ResNet جعلتها الخيار المفضل لمجموعة واسعة من المهام البصرية.
من المفيد التمييز بين ResNet والبنى الشائعة الأخرى لفهم فائدتها المحددة.
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 الطريق للنماذج العميقة والمعقدة التي تدعم الذكاء الاصطناعي اليوم.