12 نوفمبر 2025
Misraj AI
AI
في المقالات السابقة، تعلمنا الكثير عن طريقة دالة القيمة. نُعرِّف دالة الحالة والقيمة بأنها القيمة المتوقعة للعائد 𝐺 ₜ ، حيث العائد هو المكافأة المخصومة من خطوة الوقت 𝑡 حتى نهاية الحلقة إذا كنا نتعام...
في المقالات السابقة، تعلمنا الكثير عن طريقة دالة القيمة. نُعرِّف دالة الحالة والقيمة بأنها القيمة المتوقعة للعائد 𝐺 ₜ ، حيث العائد هو المكافأة المخصومة من خطوة الوقت 𝑡 حتى نهاية الحلقة إذا كنا نتعامل مع المهمة العرضية.
Gₜ= Rₜ+ γRₜ₊₁ + γ²Rₜ₊₂ + · · · (1)
V = E[Gₜ|sₜ= s] = E[rₜ+ γrₜ₊₁+ γ²rₜ₊₂ + · · · |sₜ= s] … (2)
حسب التعريف، 𝑉𝜋(𝑠) هي أهمية الحالة 𝑆 التي تتبع السياسة 𝜋 . ولكن دعنا نعود إلى المقالة الأولى حيث نقول إن هدفنا في التعلم التعزيزي هو تعليم العميل أفضل إجراء في حالة معينة 𝑆، لذا نتعلم السياسة 𝜋. ما نراه في المحاضرة السابقة، حيث نحسب الدالة 𝑄(𝑠,𝑎)، والتي تعطينا تدوينًا حول أهمية كل إجراء في الحالة الحالية 𝑆، ونتخذ أفضل قرار وفقًا لسياسة 𝜖−𝑔𝑟𝑒𝑒𝑑𝑦.
السؤال الأكثر أهمية هنا هو، "لماذا لا نتعلم السياسة بشكل مباشر؟".
بدلاً من تعلم دالة الحالة والقيمة (دالات قيمة الحالة والفعل متماثلة)، يمكننا حساب السياسة بشكل مباشر، والتي هي بحكم التعريف دالة تتطابق من الحالة 𝑠 إلى بعض الأفعال 𝑎.
π(a|s) = P (aₜ= a|sₜ= s) …(3)
في المعادلة (3)، نحدد سياسة عشوائية تعطينا توزيع الاحتمالات على 𝐴 للحالة الحالية 𝑠. نشرح الاختلافات بين السياسة العشوائية والحتمية قبل أن تتمكن من قراءة المزيد عنها في هذه المقالة.
وفي المقال التالي،
أشرح ما هو VFA، ونتعلم الكثير من الخوارزميات باستخدام VFA مثل Q-learning، c51، Rainbow، وما إلى ذلك ...
في هذه المقالة سوف نتعرف على طريقة تدرج السياسة ومميزاتها وعيوبها، فلنبدأ.
لنبدأ بمثال تحفيزي. لنتخيل أننا نريد أن نجعل عميلًا قادرًا على قيادة سيارة (سيارة ذاتية القيادة) وهناك عدد لا نهائي من الإجراءات للتحكم في عجلة القيادة (زاوية لا نهائية للاستخدام)، فكيف يمكننا استخدام دالة قيمة Q في مساحة الإجراء المستمر ؟ من الأفضل بكثير اتخاذ إجراء من حالة المراقبة مباشرةً، لكن هذا يؤدي إلى مشكلة أخرى تتعلق بالسياسة الحتمية، وسنتحدث عن ذلك لاحقًا، ولكن بالنسبة للعقل الفضولي، سأقدم لهم تلميحًا حول الحل بدلاً من تعلم الإجراء للحالة الحالية، سنحسب المتوسط والانحراف المعياري لتوزيع الإجراء ثم يمكننا أخذ عينات من الإجراءات من هذا التوزيع.
بالعودة إلى الموضوع، سنقوم فقط باستبدال دالة Q_value بـ 𝜋
دالة، لذا إذا استخدمنا شبكة عصبية، فسنستبدل الطبقة الأخيرة بطبقة جديدة تمنحني احتمالية اتخاذ إجراء ما بدلاً من قيمة اتخاذ هذا الإجراء. الأمر سهل، أليس كذلك؟
عندما نستخدم دالة القيمة Q فإننا نستخدم معادلة Bellman، والتي تعبر عن القيمة في الخطوة الحالية من خلال القيم في الخطوة التالية. في عالم آخر، فإن استخدام دالة القيمة سيخبرنا بفائدة الحالة في البيئة، لذا إذا عرفنا قيمة الحالة فيمكننا اتخاذ الإجراء بسهولة. عندما نحسب دالة القيمة-الحالة فإننا نستخدم معادلة Bellman لتحديث المعلمات.
V(sₜ) ← V(sₜ) + α[Rₜ+γV(sₜ₊₁)− V(sₜ)]… (4)
الهدف = Rₜ+ γV(sₜ₊₁)
δₜ= Rₜ+ γV (sₜ₊₁) − V (sₜ)
على النقيض من ذلك، عندما نستخدم السياسة فإننا لا نعرف أي شيء عن مدى جودة الإجراء الذي نتخذه، وبالتالي لا يمكننا تحديث معلمات وظيفتنا لاتخاذ قرار جيد في حالة معينة. لذلك سنحدد دالة أداء ستوفر لنا تدوينًا لمدى جودة السياسة الحالية.
ج(θ)=v(θ) … (5)
حيث v(θ) هي دالة القيمة الحقيقية لـ πθ السياسة التي تحددها θ. إذا أخذنا المشتق لدالة النتيجة.
∇θJ(θ)=∇θv(θ) …. (6)
الآن سوف نقوم بالكثير من العمليات الحسابية لإيجاد تدرج السياسة π. سوف نأخذ في الاعتبار الإعداد المتقطع ولكن الأمر نفسه ينطبق على الإعداد المستمر، فلنحدد المسارات τ على النحو التالي.
τ=(s₀,a₀,r₀,s₁,a₁,r₁,…,sₜ,aₜ,rₜ)
R(τ)=∑ ₜ R(s ₜ ,a ₜ )
V(θ)=E [∑ ₜ ᵀ R(s ₜ ,a ₜ )|π(θ)]
=∑τ P(τ,θ)R(τ)
حيث يمثل P(τ,θ) الاحتمالية على المسارات الكاملة عند تنفيذ السياسة πθ، لذا فإن هدفنا الآن هو.
argmax_θ V = argmax_θ ∑τ P(τ,θ)R(τ) ….(7)
يمكننا أن نلاحظ أن المعلمة θ تظهر فقط في توزيع المسارات التي يمكننا مواجهتها بموجب السياسة π.
لنأخذ المشتقة فيما يتعلق بـ θ.

نحن لا نعرف P(τ) لجميع المسارات الممكنة، لحل هذه المشكلة سنقوم بتشغيل السياسة m مرة ومتوسط الناتج ومن خلال التقدير التجريبي، نحصل على
∇θ V(θ)=(1/م) ∑ᵢ R(τⁱ) ∇θ logP(τⁱ,θ)….(8)
تُظهر المعادلة أعلاه أنه إذا تحركنا في اتجاه ∇V(θ) فإننا سنرفع معدل اللوغاريتم بما يتناسب مع مدى جودته، وهذا يعود لأننا نضرب في R(τ) وهو مجموع المكافأة في المسارات τ. دعنا نحاول تحليل المعادلة الأخيرة، يمكننا كتابة احتمال المسارات τ على النحو التالي.
∇θlogP(τⁱ,θ)= ∇θ سجل(μ(s₀) Π P(sⁱⱼ₊₁|sⱼⁱ,aⱼⁱ)πθ(aⱼⁱ|sⱼⁱ)) ….(9)
πθ(aⱼⁱ|sⱼⁱ) هو احتمال اتخاذ الإجراء aj بالنظر إلى الحالة sⱼ في المسارات i.
P(sⁱⱼ₊₁|sⱼⁱ,aⱼⁱ) هو احتمال ملاحظة الحالة sⱼ₊₁ التي تعطي الفعل aⱼ والحالة sⱼ عند المسارات i.

كما نرى فإن الحدين الأولين ثابتان بالنسبة إلى θ، لذا فإن المشتقة تساوي 0، وهذا يترك لنا حدًا واحدًا وهو المشتق لسياساتنا بالنسبة إلى θ، والآن يمكننا أن نرى أن التحويل إلى اللوغاريتم منطقي، وهو أمر لطيف للغاية، أليس كذلك؟
∇θV(θ) = (1/م) ∑ᵢmR(τⁱ)∑ ₜᵀ⁻¹ ∇logπθ(aⁱₜ|sⁱₜ)….(10)
هذا المقدر غير متحيز لمنحدر السياسة لأننا نأخذ المتوسط على m مسارات ولكنه صاخب للغاية (تباين مرتفع) لأن R (τ) قد يكون مختلفًا جدًا من مسار إلى آخر.
يمكننا كتابة المعادلة (10) على النحو التالي.
∇θ V(θ)=E τ∼πθ [R(τ)∑ₜᵀ⁻¹ ∇θlogπθ(aₜ|sₜ)] ….(11)
لاحظ أن المكافآت R(τ ⁱ ) يتم التعامل معها كرقم واحد وهو عبارة عن دالة لمسار كامل τ ⁱ. يمكننا تقسيم هذا إلى مجموع كل المكافآت التي واجهناها في المسار، وباستخدام هذه المعرفة، يمكننا استنتاج تقدير التدرج لمصطلح مكافأة واحد r ₜ ′.
∇θ E[rₜ′]=Eπθ[rₜ′∑ₜᵗ′ ∇θ logπθ(aₜ|sₜ)] ….(12)
في المعادلة (12)، آخذ المجموع حتى t′.

وسيكون هذا تباينًا أقل قليلاً من ذي قبل وهذا ما سنستخدمه لتحديث المعلمة في خوارزمية REINFORCE .

نحن نستخدم الخدعة العكسية التي شرحناها من قبل ونستخدم γ، ولكن كما قلنا من قبل في المهام العرضية يمكننا دائمًا استخدام γ = 1.
في هذه المقالة، أقدم طريقة تدرج السياسة مع الكثير من المعادلات الرياضية التي تجعل النموذج المحدث منطقيًا. وأقدم أيضًا خوارزمية REINFORC التي سيتم تحديثها في المقالة التالية باستخدام تقنية خط الأساس.
أتمنى أن تجد هذه المقالة مفيدة وأنا آسف جدًا إذا كان هناك أي خطأ أو خطأ إملائي في المقالة، فلا تتردد في الاتصال بي، أو ترك تعليق لتصحيح الأمور.
خليل حنارة
مهندس ذكاء اصطناعي في مسراج
تواصل معنا لتكتشف كيف يمكن لتقنيات مسراج أن تغيّر طريقة عمل مؤسستك.
لتبدأ رحلتك لحلول أذكى