Adam Optimizer
استكشف مُحسّن Adam للتعلم العميق. تعلم كيف يجمع بين الزخم وRMSProp لتقارب أسرع في نماذج مثل Ultralytics YOLO26.
مُحسّن Adam، وهو اختصار لـ Adaptive Moment Estimation، هو خوارزمية تحسين متطورة تُستخدم على نطاق واسع لتدريب نماذج التعلم العميق. لقد أحدث ثورة في هذا المجال من خلال الجمع بين مزايا اثنتين من أشهر امتدادات الانحدار الاشتقاقي العشوائي (SGD): خوارزمية التدرج التكيفي (AdaGrad) وانتشار متوسط الجذر التربيعي (RMSProp). من خلال حساب معدلات تعلم تكيفية فردية لمعاملات مختلفة بناءً على تقديرات اللحظات الأولى والثانية للتدرجات، يسمح Adam لـ الشبكات العصبية بالتقارب بشكل أسرع بكثير من الطرق التقليدية. تجعله متانته ومتطلبات الضبط الدنيا خيارًا افتراضيًا للعديد من الممارسين الذين يبدأون مشروع تعلم آلي (ML) جديد.
Link to this sectionكيف يعمل Adam#
في جوهره، يتضمن تدريب النموذج تقليل دالة الخسارة، التي تقيس الفرق بين تنبؤات النموذج والبيانات الفعلية. تستخدم الخوارزميات القياسية عادةً حجم خطوة ثابت (معدل تعلم) للهبوط في "مشهد الخسارة" نحو الحد الأدنى من الخطأ. ومع ذلك، غالبًا ما يكون هذا المشهد معقدًا، ويتميز بمنحدرات وهضاب يمكن أن تحبس الخوارزميات الأبسط.
يعالج Adam هذا الأمر من خلال الاحتفاظ بمخزنين تاريخيين لكل معامل:
-
الزخم (اللحظة الأولى): يشبه كرة ثقيلة تتدحرج على منحدر، حيث يتتبع المتوسط المتحرك للتدرجات السابقة للحفاظ على السرعة في الاتجاه ذي الصلة.
-
التباين (اللحظة الثانية): يتتبع هذا المتوسط المتحرك للتدرجات المربعة، مما يوسع نطاق معدل التعلم.
يسمح هذا المزيج للمُحسّن باتخاذ خطوات أكبر في المناطق المسطحة من المشهد وخطوات أصغر وأكثر حذرًا في المناطق شديدة الانحدار أو الصاخبة. تم تفصيل الآليات المحددة في ورقة بحث Adam التأسيسية بواسطة Kingma و Ba، والتي أثبتت تفوقها التجريبي عبر مهام التعلم العميق (DL) المختلفة.
Link to this sectionتطبيقات العالم الحقيقي#
أدت تعدد استخدامات مُحسّن Adam إلى اعتماده عبر جميع قطاعات الذكاء الاصطناعي (AI) تقريبًا.
- معالجة اللغات الطبيعية (NLP): تعتمد النماذج اللغوية الكبيرة، مثل المحولات التوليدية مسبقة التدريب (GPT)، بشكل كبير على Adam (أو بديله AdamW) للتدريب. تتعامل الخوارزمية مع التدرجات المتباعدة المرتبطة بالمفردات الضخمة ومجموعات البيانات الهائلة بكفاءة، مما يتيح إنشاء روبوتات دردشة وأنظمة ترجمة قوية.
- رؤية الكمبيوتر في الرعاية الصحية: في تحليل الصور الطبية، يجب أن تكتشف النماذج شذوذات دقيقة مثل الأورام في فحوصات التصوير بالرنين المغناطيسي. يساعد Adam الشبكات العصبية التلافيفية (CNNs) على التقارب بسرعة نحو حلول عالية الدقة، وهو أمر بالغ الأهمية عند تطوير أدوات تشخيصية لـ الذكاء الاصطناعي في الرعاية الصحية.
Link to this sectionAdam مقابل SGD#
على الرغم من أن Adam أسرع بشكل عام في التقارب، فمن المهم تمييزه عن الانحدار الاشتقاقي العشوائي (SGD). يقوم SGD بتحديث أوزان النموذج باستخدام معدل تعلم ثابت وغالبًا ما يُفضل للمراحل النهائية من تدريب نماذج اكتشاف الأجسام الحديثة لأنه يمكنه أحيانًا تحقيق تعميم أفضل قليلاً (دقة نهائية) على بيانات الاختبار.
ومع ذلك، فإن Adam "تكيفي"، مما يعني أنه يتعامل مع ضبط معدل التعلم تلقائيًا. وهذا يجعله أكثر سهولة في الاستخدام للتجارب الأولية والهياكل المعقدة حيث يكون ضبط SGD صعبًا. بالنسبة للمستخدمين الذين يديرون تجارب على منصة Ultralytics، غالبًا ما يكون التبديل بين هؤلاء المُحسّنات لمقارنة الأداء خطوة أساسية في ضبط المعلمات الفائقة.
Link to this sectionالتنفيذ باستخدام Ultralytics#
تجعل الأطر الحديثة مثل PyTorch ومكتبة Ultralytics استخدام Adam أمرًا مباشرًا. يوصى غالبًا ببديل شائع يسمى AdamW (Adam مع اضمحلال الوزن) لأنه يحل مشكلات التنظيم في خوارزمية Adam الأصلية. هذا فعال بشكل خاص لأحدث الهياكل مثل YOLO26، الذي يستفيد من الاستقرار الذي يوفره AdamW.
يوضح المثال التالي كيفية تدريب نموذج YOLO26 باستخدام مُحسّن AdamW:
from ultralytics import YOLO
# Load the cutting-edge YOLO26n model
model = YOLO("yolo26n.pt")
# Train the model using the 'AdamW' optimizer
# The 'optimizer' argument allows easy switching between SGD, Adam, AdamW, etc.
results = model.train(data="coco8.yaml", epochs=5, optimizer="AdamW")بالنسبة للمطورين المهتمين بالأسس النظرية الأعمق، توفر موارد مثل ملاحظات تحسين Stanford CS231n تصورات ممتازة لكيفية مقارنة Adam بخوارزميات أخرى مثل RMSProp و AdaGrad. بالإضافة إلى ذلك، تقدم وثائق مُحسّن PyTorch تفاصيل فنية حول الوسائط وتفاصيل التنفيذ المتاحة للتخصيص.






