التعلم المعزز1992متوسط9 دقيقة قراءة

خوارزميات إحصائية بسيطة لتتبُّع التدرُّج في التعلُّم بالتعزيز للشبكات العصبية

Simple Statistical Gradient-Following Algorithms for Connectionist Reinforcement Learning

Williams, R. J. — Machine Learning

المشكلة

بحلول عام 1992، كان الانتشار العكسي قد حوّل الشبكات العصبية إلى أداة قوية في التعلّم الموجَّه: أعطِ الشبكة صورة قطة مع الإجابة الصحيحة «قطة»، وستتعلّم. لكنّ هذا النجاح اعتمد على وجود إجابة صحيحة في كل خطوة — وهو شرط لا يتحقّق في التعلّم بالتعزيز.

في التعلّم بالتعزيز، العميل يختار أفعالًا ويتلقّى مكافأة عدديّة فقط — رقم يقول «+10» أو «−3». هذا الرقم يُخبرك بمدى جودة أدائك الإجمالي، لكنه لا يُخبرك ماذا كان ينبغي أن تفعل. لا يوجد «ناتج مستهدف» لحساب الخطأ بالنسبة إليه، وبالتالي لا يمكن تشغيل الانتشار العكسي بالطريقة المعتادة. فكيف تحسب اتجاه تحسين الأوزان حين تعتمد النتيجة على أفعال عشوائية اختارتها الشبكة نفسها — والبيئة التي أعطت صندوق أسود لا يمكن اشتقاقه رياضيًّا؟

الإسهام

اكتشف ويليامز أنّ تحديث الأوزان في التعلّم بالتعزيز يمكن أن يكون بسيطًا بشكل مدهش: خذ المكافأة التي حصلت عليها، واضربها في اتجاه تعديل الأوزان الذي يجعل الفعل المُختار أكثر احتمالًا. هذا التحديث البسيط يتّبع — بشكل مُثبت رياضيًّا — اتجاه تعظيم المكافأة المتوقّعة. الحيلة الرياضية التي تجعل هذا ممكنًا تُعرف ، وميزتها الكبرى أنّها لا تحتاج نموذجًا رياضيًّا للبيئة ولا تشترط أن تكون دالّة المكافأة قابلة للاشتقاق — فقط جرّب أفعالًا وراقب النتائج. لكنّ هذا المُقدِّر يعاني من تذبذب شديد بين التجارب، لذلك قدّمت الورقة أيضًا فكرة خطّ الأساس: اطرح قيمة مرجعية من المكافأة قبل التحديث، فيهدأ التذبذب دون أن يفسد اتجاه التعلّم. بهذين الابتكارين معًا، أصبحت أساليب تدرّج عمليّة للمرة الأولى.

الأثر

كل خوارزمية حديثة تُدرِّب نماذج الذكاء الاصطناعي بناءً على تقييمات البشر تعود جذورها إلى هذه الورقة. خوارزمية PPO — التي تُدرِّب ChatGPT وClaude وGemini عبر التعلّم بالتعزيز من التقييم البشري — هي سليل مباشر لـ REINFORCE. وكذلك A3C وTRPO وعائلة الفاعل والناقد بأكملها. جميعها تستخدم الفكرة الأساسية ذاتها التي أثبتها ويليامز — أنّه يمكنك حساب اتجاه تحسين سياسة عشوائية عبر حيلة المشتقّة اللوغاريتمية. بل إنّ الهويّة الرياضية نفسها تظهر خارج التعلّم بالتعزيز تمامًا: في المُرمِّز التلقائي المتغايِر، وفي الاستدلال المتغايِر، وفي البحث الآلي عن بنية الشبكة. إنّها واحدة من أكثر الأفكار إعادةً للاستخدام في تاريخ تعلّم الآلة.

في ، هناك معلّم يُمسك بيدك في كل خطوة: «هذه الصورة قطة، وهذه كلب.» الشبكة تقارن إجابتها بالإجابة الصحيحة، وتُصلح أوزانها عبر . العملية واضحة لأنّ الاتجاه الصحيح معروف دائمًا.

في ، لا وجود لمعلّم — بل مُسجِّل نقاط فحسب. تخيّل أنّ الشبكة تقف أمام عدة أزرار وتقلب عملات معدنية لاختيار أيّها تضغط. بعد سلسلة من الضغطات، يظهر الحكم ويقول «+10» أو «−3». لكنّه لا يقول أبدًا أيّ ضغطة كانت السبب — فقط النتيجة الإجمالية.

هنا تأتي فكرة REINFORCE: إن حصلتَ على +10، عُد إلى كل عملة قلبتَها واسأل: «في أيّ اتجاه يجب أن أُميلك حتى يصبح هذا التسلسل بالذات أكثر احتمالًا في المرة القادمة؟» ثم أمِل كل عملة بذلك المقدار، مضروبًا في حجم المكافأة (+10). النتيجة: المسارات التي أعطت نتائج جيدة تصبح أكثر احتمالًا تدريجيًّا، والمسارات السيئة تتلاشى — دون أن يُخبرك أحد ما كان الفعل «الصحيح».

المشكلة: لا يوجد هدف للانتشار العكسي

في التعلّم الموجَّه، الوصفة واضحة: الشبكة تتنبّأ بـ y^\hat{y}، تقارنها بالهدف المعروف yy، ثم تُمرّر الخطأ عبر الانتشار العكسي لحساب تدرّج θL(y,y^)\nabla_\theta L(y, \hat{y}). كل في الشبكة يعرف بالضبط في أيّ اتجاه يتحرك وبأيّ مقدار — لأنّ الإجابة الصحيحة موجودة للمقارنة.

التعلّم بالتعزيز يكسر هذه الوصفة في موضعين جوهريين:

  • لا توجد إجابة صحيحة. يختار الفعل aa في ss، والبيئة تُعيد مكافأة عدديّة rr فقط. لا أحد يُخبر العميل ماذا كان ينبغي أن يفعل، مما يعني أنّه لا يوجد «هدف» لحساب الخطأ بالنسبة إليه.
  • البيئة صندوق أسود لا يمكن اشتقاقه. المكافأة تأتي من البيئة — محرك فيزيائي، لعبة، مُقيِّم بشري — ولا نملك معادلات رياضية تصفها. لذلك لا يمكنك تمرير عبرها كما تفعل في الانتشار العكسي المعتاد.

قبل ويليامز، كانت الحلول المتاحة محدودة وباهظة: إمّا بناء نموذج رياضي كامل للبيئة (وهو غير عملي لبيئات معقّدة)، أو تجربة تعديل كل وزن على حدة ومراقبة تأثيره على المكافأة — وهذا يتطلّب آلاف التجارب لكل خطوة تحديث واحدة في الشبكات الكبيرة.

افتح في المختبر
انقر كل تبويب لمقارنة تدفّق المعلومات في التعلّم الموجّه مقابل التعلّم بالتعزيز. لاحظ كيف يفتقر مسار التعلّم بالتعزيز إلى سهم «الإجابة الصحيحة».
تستيقظ التجربة عند وصولك…

الخطوة 1: اجعل الشبكة تُخرج احتمالات بدل قرارات حتميّة

الخطوة الأولى لويليامز أنيقة في بساطتها: بدلًا من أن تُخرج الشبكة فعلًا واحدًا حتميًّا (مثل «تحرّك يمينًا»)، اجعلها تُخرج توزيعًا احتماليًّا على جميع الأفعال المتاحة — أي نسبة مئوية لكل فعل تُعبّر عن مدى ترجيح الشبكة له. مثلًا: «يمين 60%، يسار 25%، أعلى 10%، أسفل 5%». ثم يُسحب الفعل الفعلي عشوائيًّا وفقًا لهذه النسب.

هذا التوزيع يُسمّى ويُرمز له بـ πθ(as)\pi_\theta(a \mid s) — أي احتمال اختيار الفعل aa حين تكون الشبكة في الحالة ss بأوزانها الحالية θ\theta. لفضاء أفعال منفصل، تحسب طبقة المخرجات هذا التوزيع عبر دالّة (تمامًا كما في المعتاد).

لماذا العشوائية مهمّة هنا؟ لأنّ العميل يحتاج إلى تجريب أفعال مختلفة ليكتشف أيّها يعطي مكافآت أعلى. لو كان يختار دائمًا الفعل الأعلى احتمالًا، لن يستكشف بدائل قد تكون أفضل — وهذا هو جوهر معضلة مقابل .

الهدف النهائي: إيجاد أوزان θ\theta تُعظِّم المكافأة الإجمالية المتوقّعة:

J(θ)=Eπθ[trt]J(\theta) = \mathbb{E}_{\pi_\theta}\left[\sum_t r_t\right]

والسؤال الذي طرحه ويليامز: هل يمكننا حساب θJ(θ)\nabla_\theta J(\theta) — أي اتجاه تعديل الأوزان الذي يزيد المكافأة المتوقّعة — حتى نصعد في اتجاه التدرّج كما نفعل في التعلّم الموجَّه؟

افتح في المختبر
عدّل أوزان الشبكة لترى كيف يتغيّر التوزيع الاحتمالي للأفعال. انقر «عيّنة!» لسحب فعل من التوزيع الحالي.
تستيقظ التجربة عند وصولك…

الخطوة 2: حيلة المشتقّة اللوغاريتمية — جوهر REINFORCE

هنا نصل إلى الجوهر الرياضي. المشكلة واضحة: نريد حساب θEπθ[R]\nabla_\theta \mathbb{E}_{\pi_\theta}[R] — أي في أيّ اتجاه نُعدّل الأوزان لزيادة المكافأة المتوقّعة. لكنّ التوقّع هنا محسوب على مسارات مُعايَنة من السياسة ذاتها التي نحاول تحسينها. وبما أنّ المعاينة عملية عشوائية منفصلة، لا يمكن تمرير التدرّج عبرها مباشرةً — فهي ليست دالّة رياضية قابلة للاشتقاق.

الحيلة التي وجدها ويليامز تعتمد على خاصية بسيطة ومعروفة في التفاضل. الفكرة: بدلًا من اشتقاق الاحتمال مباشرةً، اشتقّ لوغاريتم الاحتمال ثم اضربه في الاحتمال نفسه: θpθ(x)=pθ(x)θlogpθ(x)\nabla_\theta \, p_\theta(x) = p_\theta(x) \, \nabla_\theta \log p_\theta(x)

لماذا هذا مفيد؟ لأنّ الطرف الأيسر يتطلّب اشتقاق التوزيع الاحتمالي بالكامل (وهو صعب)، بينما الطرف الأيمن يحتوي على pθ(x)p_\theta(x) كمُعامل ضرب — وهذا يعني أنّنا نستطيع تحويل التكامل إلى توقّع يمكن تقديره ببساطة عبر أخذ عيّنات. الهويّة نفسها مجرد قاعدة السلسلة: بما أنّ ddθlogf=1fdfdθ\frac{d}{d\theta}\log f = \frac{1}{f}\frac{df}{d\theta}، ضرب الطرفين في ff يُعطي المعادلة أعلاه.

الآن نُطبّقها على المكافأة المتوقّعة:

θJ(θ)=Eπθ ⁣[Rθlogπθ(as)]\nabla_\theta J(\theta) = \mathbb{E}_{\pi_\theta}\!\left[R \cdot \nabla_\theta \log \pi_\theta(a \mid s)\right]
مُقدِّر تدرُّج REINFORCE (مبرهنة تدرُّج السياسة للحالة العَرَضِية)هذه المعادلة تقول شيئًا بسيطًا وعميقًا في آنٍ واحد: لمعرفة اتجاه تحسين الأوزان، خذ عيّنات من المسارات، واحسب لكل مسار حاصل ضرب المكافأة في اتجاه زيادة احتمال الأفعال المُتّخذة. ثم خذ المتوسط. لا حاجة لنموذج رياضي للبيئة، ولا لدالّة مكافأة قابلة للاشتقاق — فقط جرّب وراقب النتائج واحسب.
افتح في المختبر
تتبّع الاشتقاق خطوةً بخطوة. انقر «التالي» لترى كيف تحوّل حيلة المشتقّة اللوغاريتمية تدرُّجًا مستعصيًا إلى توقُّع بسيط.
تستيقظ التجربة عند وصولك…

خوارزمية REINFORCE خطوة بخطوة

الآن نجمع كل القطع معًا في خوارزمية عملية:

  1. شغّل تفاعلية كاملة. دع السياسة العشوائية πθ\pi_\theta تتفاعل مع البيئة من البداية إلى النهاية، وسجّل كل شيء: الحالات sts_t التي مرّ بها العميل، والأفعال ata_t التي اختارها، والمكافآت rtr_t التي تلقّاها.
  2. احسب لكل خطوة. العائد هو مجموع المكافآت المستقبلية مع تخفيض تدريجي للمكافآت البعيدة: Gt=k=0Ttγkrt+kG_t = \sum_{k=0}^{T-t} \gamma^k r_{t+k}. γ\gamma يجعل المكافآت القريبة أهمّ من البعيدة — لأنّ المكافأة بعد 100 خطوة أقلّ يقينًا من المكافأة في الخطوة التالية.
  3. احسب اتجاه التحسين. لكل خطوة، اضرب العائد في اتجاه زيادة احتمال الفعل المُختار: Δθ=αGtθlogπθ(atst)\Delta\theta = \alpha \, G_t \, \nabla_\theta \log \pi_\theta(a_t \mid s_t).
  4. حدّث الأوزان. طبّق θθ+Δθ\theta \leftarrow \theta + \Delta\theta.
  5. كرّر من الخطوة 1 مع جولة جديدة.

هذه طريقة — أي أنّها تنتظر حتى تنتهي الجولة بالكامل قبل تحديث أيّ وزن (لا تُقدّر المكافآت المستقبلية، بل تنتظر رؤيتها فعلًا). هذا أنّ العائد GtG_t تقدير غير متحيّز للمكافأة الحقيقية المتوقّعة. عيبه: أنّ الانتظار حتى نهاية الجولة قد يكون بطيئًا جدًّا.

افتح في المختبر
شاهد خوارزمية REINFORCE تعمل على عالم شبكيّ بسيط. كل جولة تولّد مسارًا؛ والعائد يُرجِّح تدرّجات لوغاريتم الاحتمال لتحديث السياسة.
تستيقظ التجربة عند وصولك…
خوارزمية REINFORCE في نحو 25 سطرًا من بايثونpython

مبسَّط لإظهار الفكرة — ليس التنفيذ الحقيقي.

import numpy as np
def softmax(x):
    e = np.exp(x - x.max())
    return e / e.sum()

# شبكة السياسة: الحالة ← احتمالات الأفعال W = np.random.randn(4, 2) * 0.01   # 4 حالات، فعلان
alpha = 0.01    # معدل التعلم gamma = 0.99    # معامل خفض العوائد المستقبلية
for episode in range(1000):
    states, actions, rewards = [], [], []
    s = env.reset()

    # 1) نفّذ جولة تفاعلية كاملة
    while not done:
        probs = softmax(W[s])
        a = np.random.choice(len(probs), p=probs)
        s_next, r, done = env.step(a)
        states.append(s); actions.append(a); rewards.append(r)
        s = s_next

    # 2) احسب العوائد G_t لكل خطوة
    G = 0
    returns = []
    for r in reversed(rewards):
        G = r + gamma * G
        returns.insert(0, G)

    # 3-4) حدّث الأوزان باستخدام تدرّج السياسة
    for t in range(len(states)):
        s, a, G_t = states[t], actions[t], returns[t]
        probs = softmax(W[s])
        # ∇_θ log π(a|s) في softmax: one-hot(a) - probs
        grad_log = -probs.copy()
        grad_log[a] += 1.0
        W[s] += alpha * G_t * grad_log   # التحديث الجوهري

مشكلة التذبذب العالي وكيف تحلّها خطوط الأساس

في REINFORCE يشير في المتوسط إلى الاتجاه الصحيح — أي أنّه غير متحيّز. لكنّ مشكلته العملية أنّ تذبذبه هائل بين جولة وأخرى. السبب أنّ العائد GtG_t يعتمد على كامل من الأفعال العشوائية، فمسار محظوظ قد يحصل على Gt=100G_t = 100، والمسار التالي يحصل على Gt=50G_t = -50. يتأرجح اتجاه التحديث بعنف من جولة لأخرى، فيصبح التعلّم بطيئًا للغاية — كأنّك تحاول المشي في خطّ مستقيم لكنّ الريح تدفعك يمينًا ويسارًا بشكل عشوائي.

حلّ ويليامز أنيق: اطرح قيمة مرجعية b(s)b(s) تُسمّى من العائد قبل ضربه في التدرّج:

θJ1Ni(Gt(i)b(st))θlogπθ(at(i)st)\nabla_\theta J \approx \frac{1}{N}\sum_{i} (G_t^{(i)} - b(s_t)) \nabla_\theta \log \pi_\theta(a_t^{(i)} \mid s_t)

الفكرة بسيطة: بدلًا من أن تسأل «هل كانت المكافأة كبيرة؟»، اسأل «هل كانت المكافأة أفضل من المتوقّع؟». إن حصلت على +10 في حالة يكون متوسّطها +8، فالفرق +2 فقط — تحديث صغير. لكن إن حصلت على +10 في حالة متوسّطها +2، فالفرق +8 — تحديث كبير. هذا يُمركز الإشارة حول الصفر ويُقلّل التذبذب جذريًّا.

الجميل رياضيًّا أنّ أيّ خطّ أساس لا يعتمد على الفعل aa يُحافظ على عدم تحيُّز التقدير (لأنّ Ea[θlogπθ(as)]=0\mathbb{E}_a[\nabla_\theta \log \pi_\theta(a|s)] = 0 — وهذا يعني أنّ طرح ثابت من المكافأة لا يُغيّر الاتجاه المتوسّط للتدرّج، فقط يُهدّئ تذبذبه).

أفضل خطّ أساس ممكن يقترب من Vπ(s)V^\pi(s) — أي المكافأة المتوقّعة من هذه الحالة فصاعدًا. هذه الملاحظة قادت مباشرةً إلى بنية : شبكة «الناقد» تتعلّم تقدير Vπ(s)V^\pi(s)، وشبكة «الفاعل» تستخدم الفرق GtV(st)G_t - V(s_t) — الذي يُسمّى الأفضلية — كوزن لتدرّج السياسة. فلا يُعزَّز الفعل إلّا إذا أعطى نتيجة أفضل من المتوقّع، لا مجرد نتيجة إيجابية.

افتح في المختبر
شاهد 50 تقدير تدرُّج مع خطّ أساس وبدونه. النسخة مع خطّ الأساس تتقارب أسرع بكثير لأنّ إشارتها ممركزة حول الصفر.
تستيقظ التجربة عند وصولك…

الدمج مع التحديث التراجعي

من أجمل جوانب هذه الورقة أنّ REINFORCE لا تحتاج آلية تدريب جديدة — بل تستخدم الانتشار العكسي ذاته الذي تعرفه الشبكات العصبية أصلًا. الفرق الوحيد هو ما يُمرَّر عكسيًّا عبر الشبكة.

في التعلّم الموجَّه: تُمرّر تدرّج الخطأ loss(y,y^)\nabla \text{loss}(y, \hat{y}) — أي الفرق بين ما توقّعته الشبكة وما كانت الإجابة الصحيحة.

في REINFORCE: تُمرّر تدرّج لوغاريتم احتمال الفعل المُختار logπθ(as)\nabla \log \pi_\theta(a|s)، ثم تضرب التحديث الناتج في المكافأة المُعدّلة GtbG_t - b. بقية العملية — الانتشار العكسي عبر الطبقات، حساب التدرّجات الجزئية — تبقى كما هي تمامًا.

هذا الاستقلال عن البنية أمر بالغ الأهمية: سواء كانت شبكة السياسة شبكة أو أو — كما اتّضح لاحقًا — شبكة ، فإنّ صياغة ويليامز تعمل دون تعديل. الشرط الوحيد: أن تُنتج طبقة المخرجات توزيعًا احتماليًّا قابلًا للاشتقاق على الأفعال. وبهذا أعطت الورقة التعلّم بالتعزيز مفتاحًا للاستفادة من أيّ تطوّر مستقبلي في بنى الشبكات العصبية.

افتح في المختبر
شاهد السياسة تتطوّر عبر 100 جولة. الأفعال التي أدّت لعوائد مرتفعة تُعزَّز؛ والتي أدّت لعوائد ضعيفة تُثبَّط.
تستيقظ التجربة عند وصولك…

الإرث: من REINFORCE إلى تدريب النماذج اللغوية الكبرى

معادلة تدرّج السياسة التي أثبتتها هذه الورقة هي واحدة من أكثر المعادلات تأثيرًا في تاريخ تعلّم الآلة. لفهم مدى تأثيرها، تتبّع كيف تطوّرت عبر ثلاثة عقود — مع ملاحظة أنّ الهويّة الرياضية الأصلية ظلّت في قلب كل هذه التطوّرات:

  1. 1992

    REINFORCE

    ويليامز يُثبت أنّ ضرب المكافأة في تدرّج لوغاريتم الاحتمال يُعطي اتجاه التحسين الصحيح. الطريقة تحتاج جولات كاملة وتعاني من تذبذب عالٍ — لكنّ الأساس الرياضي متين وأنيق.

  2. 2000

    مبرهنة تدرُّج السياسة (ساتون وآخرون)

    ساتون وزملاؤه يُعمّمون نتيجة ويليامز لتشمل المهام المستمرة التي لا تنتهي بجولات محدّدة، مما أسّس نظريًّا لأساليب الفاعل والناقد (Actor-Critic) التي تتعلّم أثناء التشغيل دون انتظار نهاية الجولة.

  3. 2015

    TRPO

    يستخدم تدرّج السياسة مع إضافة ضمانة أمان — كل تحديث يُحصر في «منطقة ثقة» يكون فيها التقريب الرياضي صالحًا، مما يمنع السياسة من التغيّر بشكل مفاجئ وكارثي بين تحديث وآخر.

  4. 2016

    A3C

    يُشغّل عشرات العملاء بالتوازي في نسخ مستقلة من البيئة، كلّ منهم يجمع تجارب ويحسب تدرّجات السياسة مع خطّ أساس مُتعلَّم (الناقد). هذا التوازي سرّع التعلّم بشكل كبير ومكّن من التعامل مع بيئات ثلاثية الأبعاد معقّدة لأول مرة.

  5. 2017

    PPO

    يُبسّط فكرة TRPO بشكل كبير عبر «قصّ» نسبة التحديث بدلًا من حساب منطقة الثقة الكاملة — خوارزمية سهلة التنفيذ وفعّالة، أصبحت الأداة الأساسية في التعلّم العميق بالتعزيز ولاحقًا العمود الفقري لتدريب النماذج اللغوية عبر التقييم البشري (RLHF).

  6. 2022

    التعلّم بالتعزيز من التقييم البشري للنماذج اللغوية

    PPO — وهو سليل مباشر لـ REINFORCE — يُستخدم لضبط GPT وClaude وGemini بناءً على تفضيلات المُقيّمين البشريين. الفكرة: بدلًا من المكافأة من بيئة لعبة، المكافأة تأتي من حُكم إنسان على جودة الإجابة. هويّة التدرّج التي وضعها ويليامز عام 1992 تقع في قلب أكثر أنظمة الذكاء الاصطناعي تأثيرًا في العقد الأخير.

المرجعWilliams, R. J.. Simple Statistical Gradient-Following Algorithms for Connectionist Reinforcement Learning. Machine Learning, 1992.

مصطلحات هذه الورقة