تعرّف على كيفية قيام مُحسِّن Adam بتشغيل تدريب الشبكة العصبية الفعال بمعدلات تعلُّم تكيُّفية وزخم وتطبيقات واقعية في مجال الذكاء الاصطناعي.
Adam (تقدير اللحظة التكيفية) هي خوارزمية متطورة ومستخدمة على نطاق واسع خوارزمية تحسين متطورة ومستخدمة على نطاق واسع مصممة لتحديث معلمات الشبكة العصبية أثناء عملية التدريب. من خلال الجمع بين أفضل خصائص اثنين من الامتدادات الشائعة الأخرى الشعبية الأخرى Stochastic Gradastic Grad Descent Descent (SGD)- وتحديداً خوارزمية التدرج التكيفي (AdaGrad) وخوارزمية الانتشار الجذري المربع المتوسط (RMSProp) - يحسب Adam معدلات التعلم التكيفية لكل معلمة فردية. تسمح هذه تسمح لها بالتعامل مع التدرجات المتفرقة على المشاكل الصاخبة بكفاءة، مما يجعلها خيارًا افتراضيًا لتدريب بنى التعلم العميق المعقدة (DL), بما في ذلك أحدث نماذجYOLO11 .
تتضمن الآلية الأساسية وراء Adam حساب اللحظات الأولى والثانية من التدرجات لتكييف معدل التعلم لكل وزن في الشبكة العصبية. يمكنك التفكير في "العزم الأول الأولى" على أنها الزخم الذي يحافظ على حركة التحسين في الاتجاه الصحيح على غرار كرة ثقيلة تتدحرج أسفل التل. يتتبع "العزم الثاني" التباين غير المركزي، مما يؤدي بشكل فعال إلى قياس حجم الخطوة بناءً على الحجم التاريخي للتدرجات.
أثناء عملية الترحيل العكسي، تحسب الخوارزمية تدرج دالة الخسارة فيما يتعلق بأوزان الأوزان. ثم يقوم Adam بعد ذلك بتحديث المتوسطات الأسية المتحركة للتدرج (الزخم) والتدرج المربع (التباين). تُستخدَم هذه المتوسطات المتحركة لتوسيع نطاق التدرج الحالي، مما يضمن أن النموذج يأخذ خطوات أكبر في الاتجاهات مع تدرجات متناسقة وخطوات أصغر في الاتجاهات ذات التباين العالي. هذه العملية مفصلة في ورقة بحثAdam الأصلية التي كتبها كينجما وبا.
يتطلب فهم وقت استخدام Adam مقارنته بالخوارزميات الشائعة الأخرى الموجودة في أطر التعلم الآلي (ML).
بسبب متانته وقلة متطلباته من حيث لضبط المعلمات الفائقة، يُستخدم Adam في مختلف المجالات عالية التأثير.
عند استخدام واجهة برمجة تطبيقاتUltralytics Python يمكنك بسهولة تحديد مُحسِّن Adam لتدريب نماذج اكتشاف الكائنات أو التجزئة أو تقدير الوضع. في حين أن SGD هو الافتراضي للعديد من تكوينات YOLO فإن Adam هو بديل ممتاز لمجموعات البيانات الأصغر أو عندما يكون التقارب السريع تكون الأولوية للتقارب السريع.
يوضح المثال التالي كيفية تدريب YOLO11 باستخدام مُحسِّن Adam :
from ultralytics import YOLO
# Load a generic YOLO11 model
model = YOLO("yolo11n.pt")
# Train the model on the COCO8 dataset using the 'Adam' optimizer
# The 'optimizer' argument creates the specific PyTorch optimizer instance internally
results = model.train(data="coco8.yaml", epochs=5, optimizer="Adam")
تسمح هذه المرونة للباحثين والمهندسين بتجربة تكوينات المُحسِّن للعثور على أفضل إعداد لمجموعات البيانات المخصصة مجموعات البيانات المخصصة الخاصة بهم.