اكتشف كيف تمنع طبقة التخفيض الإفراط في الملاءمة في الشبكات العصبية. تعلم كيفية تنفيذ تقنية التنظيم هذه باستخدام Ultralytics لتحسين الدقة.
طبقة التسرب هي تقنية أساسية للتنظيم تستخدم في الشبكات العصبية (NN) لمكافحة مشكلة الإفراط في التكيف. عندما يتم تدريب نموذج على مجموعة محدودة من الأمثلة، غالبًا ما يتعلم حفظ الضوضاء والتفاصيل المحددة لبيانات التدريب بدلاً من تمييز الأنماط العامة الأساسية. يؤدي هذا الحفظ إلى دقة عالية أثناء التطوير ولكن أداءً ضعيفًا على المدخلات الجديدة غير المرئية. يعالج التسرب هذه المشكلة عن طريق تعطيل جزء من الخلايا العصبية بشكل عشوائي — أو "تسربها" — في طبقة خلال كل خطوة من خطوات عملية التدريب. هذه الاستراتيجية البسيطة والفعالة، التي تم تقديمها في ورقة بحثية رائدة من قبل Srivastava et al.، قد طورت بشكل كبير استقرار وأداء بنى التعلم العميق (DL).
الآلية الكامنة وراء طبقة التسرب تشبه بشكل بديهي إزالة لاعبين من فريق رياضي أثناء التدريب لإجبار اللاعبين المتبقين على العمل بجدية أكبر وعدم الاعتماد على لاعب واحد نجم. أثناء مرحلة تدريب النموذج، تولد الطبقة قناع احتمالي من الأصفار والآحاد. إذا تم تعيين معدل التسرب على 0.5، يتم تجاهل حوالي 50٪ من الخلايا العصبية مؤقتًا خلال تلك التمريرة الأمامية والخلفية المحددة. تجبر هذه العملية الخلايا العصبية النشطة المتبقية على تعلم ميزات قوية بشكل مستقل، مما يمنع الشبكة من الاعتماد بشكل مفرط على أي خلية عصبية واحدة — وهي ظاهرة معروفة في التعلم الآلي (ML) باسم التكيف المشترك للميزات.
أثناء الاستدلال في الوقت الفعلي، أو مرحلة الاختبار ، عادةً ما يتم تعطيل طبقة التسرب. تظل جميع الخلايا العصبية نشطة للاستفادة من القدرة التنبؤية الكاملة للنموذج المدرب. لضمان بقاء قيم التنشيط الإجمالية متسقة مع مرحلة التدريب، غالبًا ما يتم قياس الأوزان تلقائيًا بواسطة إطار العمل. المكتبات الحديثة مثل PyTorch تتعامل مع عمليات القياس الرياضي هذه بسلاسة، مما يسمح للمطورين بالتركيز على الهندسة بدلاً من الحساب.
بالنسبة لمستخدمي ultralytics حزمة، وتطبيق التسرب على نموذج متطور مثل
يولو26 بسيط مثل تعديل حجة التدريب. وهذا
مفيد بشكل خاص عند العمل مع مجموعات بيانات أصغر حيث يكون خطر الإفراط في التكيف أعلى. من خلال إدخال
العشوائية، يمكنك تشجيع النموذج على التعميم بشكل أفضل عبر بيئات متنوعة.
from ultralytics import YOLO
# Load the latest YOLO26 model (recommended for new projects)
model = YOLO("yolo26n.pt")
# Train the model with a custom dropout rate of 0.1 (10%)
# This encourages the model to learn more generalized features
results = model.train(data="coco8.yaml", epochs=50, dropout=0.1)
يعد التخلي عن البيانات أمرًا لا غنى عنه في مختلف مجالات الذكاء الاصطناعي (AI) حيث تستخدم النماذج أعدادًا كبيرة من المعلمات المتعلقة بالبيانات المتاحة.
على الرغم من أن تقنية dropout فعالة للغاية، إلا أنها غالبًا ما تستخدم جنبًا إلى جنب مع تقنيات أخرى. وهي تختلف عن تقنية data augmentation، التي تعدل الصور المدخلة (على سبيل المثال، قلبها أو تدويرها) بدلاً من بنية الشبكة نفسها. وبالمثل، فهي تختلف عن تقنية batch normalization، التي تعمل على تطبيع مدخلات الطبقة لتثبيت التعلم ولكنها لا تعطل الخلايا العصبية بشكل صريح.
بالنسبة للمشاريع المعقدة، قد تكون إدارة هذه المعلمات الفائقة تحديًا. Ultralytics تبسيط ذلك من خلال توفير أدوات لتصور مقاييس التدريب، مما يساعد المستخدمين على تحديد ما إذا كانت معدلات التسرب لديهم تقلل بشكل فعال من خسارة التحقق. سواء كنت تقوم ببناء نظام تصنيف صور مخصص أو خط أنابيب تقسيم متطور ، فإن فهم التسرب هو مفتاح بناء أنظمة ذكاء اصطناعي مرنة.