Learning Rate
تعرف على كيفية تأثير معدل التعلم على تدريب النموذج. اكتشف كيفية تحسين حجم الخطوة لنموذج Ultralytics YOLO26 لتحقيق أفضل أداء ممكن (SOTA) في اكتشاف الكائنات والمزيد.
يعد معدل التعلم إعداداً حاسماً ضمن ضبط المعلمات الفائقة الذي يحدد حجم الخطوة التي يتخذها النموذج أثناء عملية التحسين. وفي سياق تدريب الشبكة العصبية، فإنه يتحكم في مقدار تحديث الأوزان الداخلية للنموذج استجابة للخطأ المقدر في كل مرة يعالج فيها النموذج دفعة من البيانات. تخيل الأمر كشخص يمشي أسفل جبل باتجاه وادٍ (أخفض نقطة خطأ)؛ حيث يحدد معدل التعلم طول خطوته. إذا كانت الخطوة كبيرة جداً، فقد يتخطى الوادي تماماً ويفوت القاع. وإذا كانت الخطوة صغيرة جداً، فقد يستغرق الوصول إلى الوجهة وقتاً طويلاً بشكل غير عملي.
Link to this sectionمعضلة "Goldilocks" في التحسين#
غالباً ما يُوصف العثور على معدل التعلم الأمثل بأنه عملية توازن ضمن مهام تعلم الآلة. الهدف هو تقليل دالة الخسارة، التي تقيس الفرق بين تنبؤات النموذج والحقيقة الأرضية الفعلية. تعتمد هذه العملية بشكل كبير على خوارزمية تحسين مثل الانحدار العشوائي (SGD) أو مُحسِّن Adam للتنقل في مشهد الخسارة.
- معدل تعلم مرتفع جداً: إذا تم ضبط القيمة على مستوى عالٍ جداً، فستكون تحديثات أوزان النموذج جذرية. قد يؤدي هذا إلى ظاهرة "تجاوز الهدف"، حيث يفشل النموذج في التقارب نحو حل، وبدلاً من ذلك يتذبذب بشكل حاد أو يتباعد. يمكن أن يؤدي عدم الاستقرار هذا أحياناً إلى إثارة مشكلة تدرج متفجر، مما يجعل عملية التدريب عديمة الفائدة.
- معدل تعلم منخفض جداً: في المقابل، يضمن حجم الخطوة الصغير جداً تحرك النموذج بعناية نحو الحد الأدنى، ولكن قد ينتج عنه تجهيز ناقص لأن عملية التدريب تصبح بطيئة بشكل مؤلم. قد يعلق النموذج فعلياً في حد أدنى محلي أو يتطلب آلاف الحقب الإضافية لتعلم أنماط بسيطة، مما يهدر الموارد الحسابية. غالباً ما يستشير الباحثون توثيق PyTorch حول التحسين لفهم كيفية تفاعل الخوارزميات المختلفة مع هذه القيم.
Link to this sectionتطبيقات العالم الحقيقي#
The impact of learning rate adjustments is evident across various high-stakes industries where computer vision tasks are deployed.
-
Autonomous Driving Systems: In the development of autonomous vehicles, engineers utilize vast datasets to train models for object detection to identify pedestrians and traffic signs. When applying transfer learning to a pre-trained model like YOLO26, developers typically use a much smaller learning rate than they would during initial training. This "fine-tuning" ensures that the model learns the nuances of specific driving environments (e.g., snowy roads vs. desert highways) without erasing the general feature extraction capabilities it already possesses.
-
التصوير التشخيصي الطبي: في تحليل الصور الطبية، مثل اكتشاف الأورام في صور الرنين المغناطيسي، تعد الدقة أمراً بالغ الأهمية. يخلق معدل التعلم المرتفع هنا خطراً يتمثل في تخطي النموذج لفروق النسيج الدقيقة التي تميز الأنسجة الخبيثة عن الأنسجة الحميدة. غالباً ما يستخدم الممارسون تقنية تسمى "تسخين معدل التعلم" (learning rate warmup)، حيث يتم زيادة المعدل تدريجياً من الصفر إلى قيمة مستهدفة لتحقيق استقرار في مراحل التدريب الأولى، مما يضمن استقرار أوزان الشبكة العصبية في تكوين ثابت قبل بدء التعلم القوي. يمكنك قراءة المزيد حول هذه الاستراتيجيات في دورة جوجل السريعة لتعلم الآلة.
Link to this sectionالتمييز بين المصطلحات ذات الصلة#
من المهم التمييز بين معدل التعلم ومعلمات التدريب الأخرى، حيث غالباً ما يتم تكوينها في نفس ملفات الإعدادات ولكنها تخدم أغراضاً مختلفة:
- معدل التعلم مقابل حجم الدفعة: بينما يتحكم معدل التعلم في حجم التحديث، يحدد حجم الدفعة عدد عينات التدريب التي تتم معالجتها قبل حدوث التحديث. توجد علاقة قوية بينهما؛ فغالباً ما يتعين على المرء زيادة معدل التعلم عند زيادة حجم الدفعة للحفاظ على كفاءة التدريب، وهو مفهوم تم استكشافه في أوراق بحثية حول التدريب بالدفعات الكبيرة.
- معدل التعلم مقابل التضاؤل: يشير التضاؤل إلى استراتيجية يتم فيها تقليل معدل التعلم بشكل منهجي بمرور الوقت. قد يقوم المجدول بخفض المعدل بمعامل 10 كل 30 حقبة. يساعد هذا النموذج على القيام بقفزات مفاهيمية كبيرة في البداية ثم تحسين دقته بخطوات أصغر نحو نهاية التدريب. تعد هذه ميزة قياسية في حزمة Ultralytics Python.
Link to this sectionضبط معدل التعلم في Ultralytics YOLO#
عند استخدام أطر العمل الحديثة، يمكنك بسهولة ضبط معدل التعلم الأولي (lr0) وكسر معدل التعلم النهائي (lrf). أدناه مثال على كيفية تكوين ذلك باستخدام العميل المتوافق مع منصة Ultralytics لتشغيل تدريب مخصص.
from ultralytics import YOLO
# Load the YOLO26 model (latest state-of-the-art architecture)
model = YOLO("yolo26n.pt")
# Train the model with a custom initial learning rate
# lr0=0.01 sets the initial rate
# lrf=0.01 sets the final learning rate to (lr0 * lrf)
results = model.train(data="coco8.yaml", epochs=10, lr0=0.01, lrf=0.01)بالنسبة للمستخدمين المتقدمين، يمكن لتقنيات مثل LR Finder (التي شاع استخدامها بواسطة fast.ai) أتمتة اكتشاف أفضل قيمة بداية بشكل أساسي عن طريق تشغيل حقبة تجريبية قصيرة حيث يزداد المعدل بشكل أسي حتى تتباعد الخسارة. غالباً ما يكون إتقان هذه المعلمة الفائقة هو المفتاح لفتح أداء SOTA (الأحدث من نوعه) في مشاريع الذكاء الاصطناعي الخاصة بك.






