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

مُحسِّن Adam

تعرّف على كيفية قيام مُحسِّن Adam بتشغيل تدريب الشبكة العصبية الفعال بمعدلات تعلُّم تكيُّفية وزخم وتطبيقات واقعية في مجال الذكاء الاصطناعي.

Adam وهو اختصار لـ Adaptive Moment Estimation (تقدير اللحظة التكيفي)، هو خوارزمية تحسين متطورة تُستخدم على نطاق واسع لتدريب نماذج التعلم العميق. وقد أحدثت ثورة في هذا المجال من خلال الجمع بين مزايا امتدادين شائعين آخرين لـ الانحدار العشوائي التدرجي (SGD): خوارزمية التدرج التكيفي (AdaGrad) وانتشار الجذر المتوسط المربع (RMSProp). من خلال حساب معدلات التعلم التكيفي الفردية لمعلمات مختلفة من تقديرات اللحظات الأولى والثانية للانحدارات، Adam للشبكات العصبية بالتقارب بشكل أسرع بكثير من الطرق التقليدية. إن متانته ومتطلباته الدنيا من الضبط تجعله الخيار الافتراضي للعديد من الممارسين الذين يبدؤون مشروعًا جديدًا في مجال التعلم الآلي (ML).

كيف يعمل Adam

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

Adam هذه المشكلة عن طريق الاحتفاظ بعازلين تاريخيين لكل معلمة:

  1. الزخم (اللحظة الأولى): على غرار كرة ثقيلة تتدحرج من أعلى تل، يتتبع هذا المتوسط المتحرك للمتدرجات السابقة للحفاظ على السرعة في الاتجاه ذي الصلة.
  2. التباين (اللحظة الثانية): يتتبع هذا المتوسط المتحرك لمتوسط التدرجات المربعة، والذي يقيس معدل التعلم.

يتيح هذا المزيج للمُحسِّن اتخاذ خطوات أكبر في المناطق المسطحة من المشهد وخطوات أصغر وأكثر حذراً في المناطق شديدة الانحدار أو المضطربة. تم تفصيل الآليات المحددة في ورقةAdam الأساسية Adam التي أعدها Kingma و Ba، والتي أظهرت تفوقها التجريبي في مختلف مهام التعلم العميق (DL).

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

أدى تنوع Adam إلى اعتماده في جميع قطاعات الذكاء الاصطناعي (AI) تقريبًا.

Adam SGD

في حين Adam أسرع في التلاقي بشكل عام، من المهم تمييزه عن الانحدار العشوائي التدرجي (SGD). SGD أوزان النموذج باستخدام معدل تعلم ثابت، وغالبًا ما يُفضل استخدامه في المراحل النهائية من تدريب أحدث نماذج الكشف عن الكائنات لأنه يمكنه في بعض الأحيان تحقيق تعميم أفضل قليلاً (دقة نهائية) على بيانات الاختبار.

ومع ذلك، Adam "تكيفي"، مما يعني أنه يتعامل مع ضبط معدل التعلم تلقائيًا. وهذا يجعله أكثر سهولة في الاستخدام بالنسبة للتجارب الأولية والبنى المعقدة التي SGD ضبط SGD . بالنسبة للمستخدمين الذين يديرون التجارب على Ultralytics غالبًا ما يكون التبديل بين هذه المحسنات لمقارنة الأداء خطوة أساسية في ضبط المعلمات الفائقة.

التنفيذ باستخدام Ultralytics

الأطر الحديثة مثل PyTorch ومكتبة Ultralytics تجعل استخدام Adam . هناك نسخة شائعة تسمى AdamW (Adam Weight Decay) لأنه يعالج مشكلات التنظيم في 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")

بالنسبة للمطورين المهتمين بالأسس النظرية الأعمق، توفر موارد مثل ملاحظات تحسين ستانفورد CS231n تصورات ممتازة Adam بين Adam وخوارزميات أخرى مثل RMSProp و AdaGrad. بالإضافة إلى ذلك، توفر وثائقPyTorch تفاصيل تقنية عن الحجج وتفاصيل التنفيذ المتاحة للتخصيص.

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

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

انضم الآن