Automatic Differentiation

التفاضل الآلي

الاختصار: AutoDiff

التعريف

تقنية تحسب مشتقات برنامج حاسوبي بدقة آلياً بتطبيق قاعدة السلسلة على عملياته الأولية.

تختلف عن التفاضل العددي (تقريبي) والرمزي (تعبيرات ضخمة). النمط العكسي يحسب كل التدرجات بكلفة تقارب تمريراً أمامياً، وهو أساس الانتشار العكسي في PyTorch وTensorFlow.

Definition

Automatic differentiation computes exact derivatives of programs by applying the chain rule to elementary operations; reverse mode underlies backpropagation.

شرح مبسّط للمبتدئين

كمحاسب يسجل كل عملية حسابية ثم يعود للوراء ليحسب أثر كل مدخل على النتيجة.

شرح أكاديمي متخصص

يبني الرسم الحسابي ديناميكياً (PyTorch) أو ثابتاً (TensorFlow 1).

أمثلة عملية

  • loss.backward() في PyTorch.
تفاضل آلي بسيط Python
class V:
    def __init__(s, v): s.v, s.g = v, 0.0

x = V(3.0)
y = x.v ** 2          # y = x^2
x.g = 2 * x.v         # dy/dx = 2x
print(y, x.g)

شرح الكود

مثال مبسّط يوضح أن مشتقة x² عند 3 تساوي 6.

النتيجة المتوقعة

9.0 6.0

التطبيقات والاستخدامات

  • تدريب الشبكات.

المزايا

  • دقيق وسريع.

القيود والعيوب

  • يستهلك ذاكرة للنتائج الوسيطة.

تعلّم وراجع

مصطلحات مقترحة للتعلّم بعده