التعلم المعزز2018متقدم12 دقيقة قراءة
الفاعل-الناقد المَرِن: تعلُّم معزَّز عميق خارج السياسة بأقصى إنتروبيا مع فاعل عشوائي
Soft Actor-Critic: Off-Policy Maximum Entropy Deep Reinforcement Learning with a Stochastic Actor
Haarnoja, T. · Zhou, A. · Abbeel, P. · Levine, S. — ICML
المشكلة
بحلول 2018 كان التعلّم المعزَّز العميق بلا نموذج قد حقّق نتائج مبهرة في مهام التحكّم الصعبة، غير أن مشكلتين أساسيتين ظلّتا بلا حل. المشكلة الأولى: الإسراف في البيانات. أساليب مثل PPO تعمل داخل فتتخلّص من البيانات بعد كل تحديث، وتحتاج ملايين التفاعلات مع البيئة. المشكلة الثانية: الهشاشة. أساليب مثل DDPG تعمل خارج السياسة وتُعيد استخدام البيانات، لكنها كانت معروفة بعدم استقرارها — تعديل طفيف في معامل فائق أو في البذرة العشوائية قد يُنهي بانهيار كامل. احتاج الميدان إلى خوارزمية تجمع بين كفاءة التعلّم خارج السياسة واستقرار التعلّم داخل السياسة.
الإسهام
قدّم SAC خوارزمية فاعل- عملية خارج السياسة مبنية على إطار أقصى إنتروبيا. الفكرة المحورية: لا تُعظِّم المتوقعة وحدها، بل أضف إليها إنتروبيا السياسة لتشجيع على تنويع استراتيجياته. تعتمد الخوارزمية سياسة عشوائية بتوزيع غاوسي مسحوق عبر tanh، وشبكتَي Q مع تقنية القطع المزدوج لكبح ، وذاكرة إعادة تشغيل لاستثمار البيانات، وتحديثات هدف مَرِنة لضمان الاستقرار. حقّقت الخوارزمية أداءً متقدّماً على معايير التحكّم المستمر بما فيها مهمة Humanoid ذات الـ21 بُعداً، مع تفوّق واضح في الاستقرار وكفاءة استخدام العيّنات مقارنةً بالأساليب السابقة.
الأثر
تحوّل SAC إلى الخوارزمية المعيارية للتحكّم المستمر في التعلّم المعزَّز العميق. اعتمدت عليه خوارزميات لاحقة: CQL أخذت منه إطار أقصى إنتروبيا وطبّقته على التعلّم من بيانات مسجَّلة، وDreamer استلهمت تنظيم الإنتروبيا في التعلّم القائم على النموذج. الورقة التالية (SAC v2) أزالت آخر معامل فائق حسّاس بجعل درجة α تُضبط تلقائياً. واستقرار SAC جعله أول خوارزمية تعلّم معزَّز عميق تعمل بشكل موثوق على روبوتات حقيقية — من رباعيات الأرجل تتعلّم المشي من الصفر، إلى مهام التحكّم الدقيق باليد. أثبتت هذه النتائج أن الاستكشاف المنهجي عبر تعظيم الإنتروبيا ضرورة عملية لا مجرد ترف نظري.
تخيّل أنك وصلت مدينة جديدة لأول مرة. أحد الخيارات أن تحفظ طريقاً واحداً من الفندق إلى قاعة المؤتمر — سريع لكنه هشّ: طريق مغلق واحد يكفي لتضيع تماماً.
الخيار الأذكى أن تتجوّل عمداً في أيامك الأولى: تدخل الأزقّة الجانبية، تجرّب شوارع مختلفة، وتبني خريطة ذهنية مليئة بالبدائل. ستسلك مسارات أطول في البداية، لكنك ستكتشف طرقاً مختصرة وخيارات احتياطية. حين يُغلق شارع تتكيّف فوراً.
SAC يتبع الطريقة الثانية. يكافئ الوكيل ليس فقط على بلوغ الهدف، بل على بلوغه بأكبر عدد ممكن من الطرق المختلفة. هي الترجمة الرياضية لهذا المبدأ: كافئ التنوّع والمرونة. النتيجة: سياسة تجمع بين الأداء العالي والصمود أمام التغييرات.
ما قبل SAC: استهلاك مُفرط للبيانات وتدريب هشّ
بحلول 2018 كان أمام الباحثين في التحكّم المستمر عائلتان من الخوارزميات، ولكلٍّ منهما ثغرة جوهرية.
الأساليب مثل PPO تجمع دُفعة من المسارات، تُحدّث السياسة مرة واحدة، ثم ترمي البيانات. هذا النمط مستقر لأن البيانات تتطابق دائماً مع السياسة الحالية، لكن ثمن الاستقرار باهظ: ملايين الخطوات البيئية لحلّ مهمة متوسطة التعقيد. على روبوت حقيقي يعني ذلك أياماً كاملة من التشغيل الفيزيائي.
الأساليب مثل DDPG تحتفظ بكل التجارب السابقة في وتعيد استخدامها عشرات المرات، فتستثمر البيانات بكفاءة أعلى بكثير. لكن DDPG تتعلّم ولا تضيف العشوائية إلا كضجيج خارجي لغرض . النتيجة: قد تبالغ في تقدير القيم، والسياسة الحتمية تستغلّ تلك الأخطاء، فينهار النظام بأكمله بسبب تغيير بسيط في أو بذرة عشوائية غير موفّقة.
الميدان كان بحاجة إلى خوارزمية ترث من التعلّم خارج السياسة وتحقّق في الوقت نفسه استقرار التعلّم داخل السياسة.
الفكرة المحورية: اجعل العشوائية هدفاً بحدّ ذاتها
في التقليدي، الهدف واضح: ابحث عن سياسة تُعظّم المكافأة التراكمية المتوقعة. إطار أقصى يضيف بُعداً جديداً: إلى جانب المكافأة، يحصل الوكيل على مكافأة إضافية تتناسب مع مقدار التنوّع في أفعاله — أي مع إنتروبيا سياسته.
تخيّل لاعب شطرنج لا يعرف إلا افتتاحية واحدة مقابل أستاذ كبير يُتقن عشرات الافتتاحيات. ذخيرة الأستاذ واسعة (إنتروبيا عالية)، فيصعب التنبّؤ بخطوته التالية ويتكيّف بسرعة مع أي خصم. مكافأة الإنتروبيا تكافئ هذا الاتساع في السلوك تحديداً.
من الناحية العملية، بدلاً من تعظيم العائد العادي، يُعظّم الوكيل ما يُسمّى العائد المَرِن — وهو مجموع المكافآت مُضافاً إليه مكافأة إنتروبيا مُعايَرة عند كل خطوة. معامل المعايرة α يُسمّى درجة الحرارة: حين يكون مرتفعاً يدفع الوكيل نحو الاستكشاف، وحين ينخفض يدفعه نحو . هذه الفكرة الواحدة هي الأساس الذي تقوم عليه خوارزمية SAC بالكامل.
لماذا يفيد إقحام الإنتروبيا في الهدف؟ لثلاثة أسباب عملية. أولاً، الاستكشاف: سياسة ذات إنتروبيا عالية تزور حالات أكثر فتكتشف مكافآت لم تكن سياسة ضيّقة لتصل إليها أبداً. ثانياً، مقاومة التقارب المبكر: لا تستطيع السياسة أن تنهار إلى فعل واحد، فتبقى مرنة طوال التدريب. ثالثاً، المتانة: لأن السياسة تحتفظ بعدة استراتيجيات جيدة في آن واحد، لا تتسبّب تغييرات طفيفة في بانهيار كارثي.
معادلة بيلمان المَرِنة: حين تصبح الإنتروبيا جزءاً من القيمة
لنبدأ بالأساس. في التعلّم المعزَّز العادي، V^π(s) تُخبرك بالمكافأة التراكمية التي تتوقّعها إذا بدأت من الحالة s واتبعت السياسة π. أمّا دالة Q فتقيس الشيء نفسه لكن بعد أن تتّخذ فعلاً مُحدَّداً a أولاً. هي العلاقة التعاودية التي تربط بينهما.
في إطار أقصى إنتروبيا، نُعيد تعريف هاتين الدالتين لتشملا الإنتروبيا. دالة قيمة الحالة المَرِنة تُضيف مكافأة إنتروبيا عند كل خطوة. المَرِنة تستثني الإنتروبيا من الخطوة الأولى فقط — لأنك اخترت الفعل فعلاً — لكنها تحتسبها لكل الخطوات اللاحقة. بربط الدالتين نحصل على معادلة بيلمان المَرِنة، وهي العمود الفقري التعاودي لخوارزمية SAC.
الحدس وراء ذلك بسيط: V^π لم تعد تُجيب فقط عن سؤال «كم مكافأة سأجمع؟» بل عن سؤال «كم مكافأة سأجمع وأنا أحافظ على أكبر قدر من التنوّع في تصرّفاتي؟». الحالة تكون أعلى قيمةً كلّما استطاعت السياسة التصرّف منها بطرق متعددة.
البنية: ثلاث شبكات تعمل معاً
يُدرّب SAC ثلاث شبكات عصبية في وقت واحد، لكلٍّ منها وظيفة محدّدة — تماماً كفريق عمل يتكامل أعضاؤه.
الفاعل (شبكة السياسة π_θ) يأخذ الحالة الحالية ويُنتج توزيعاً احتمالياً على الأفعال. عملياً، تُخرج الشبكة قيمتين: المتوسط μ ولوغاريتم الانحراف المعياري log σ لتوزيع غاوسي. تُسحب عيّنة من هذا التوزيع ثم تُمرَّر عبر دالة tanh لتبقى ضمن نطاق مقبول فيزيائياً. هذا هو «الفاعل العشوائي» الذي يحمله عنوان الورقة.
ناقدان (شبكتا Q: Q_φ₁ وQ_φ₂) كلاهما يستقبل زوجاً من الحالة والفعل ويُعطي قيمة Q عددية واحدة. وجود ناقدَين بدلاً من واحد هو جوهر : نأخذ الأصغر بين التقديرين لكبح المبالغة في التقدير — وهي المشكلة التي عانى منها DDPG طويلاً.
(Q_φ̄₁ وQ_φ̄₂) نُسخ من الناقدين تُحدَّث ببطء شديد. بدلاً من نسخ الأوزان دفعة واحدة (تحديث صلب)، يستخدم SAC متوسط بولياك (تحديث مَرِن): في كل خطوة تتحرّك أوزان الهدف بنسبة ضئيلة جداً نحو الأوزان الرئيسية. تخيّل مُرشِّح ترددات منخفضة يُنعّم التقديرات المُضطربة ويمنع التدريب من التذبذب.
التوزيع الغاوسي المسحوق: عشوائية محدودة وقابلة للاشتقاق
SAC يحتاج سياسة تستوفي ثلاثة شروط في آن واحد: أن تكون (لتوليد الإنتروبيا)، ومحدودة المجال (لأن المحرّكات الفيزيائية لها حدود)، وقابلة للاشتقاق (لنتمكّن من حساب ). التوزيع الغاوسي المسحوق يحقّق الثلاثة معاً.
الآلية كالتالي: شبكة الفاعل تُخرج μ(s) وσ(s) — المتوسط والانحراف المعياري . نسحب عيّنة ضجيج ξ من التوزيع الطبيعي المعياري، ونحسب الفعل الخام: μ(s) + σ(s) ⊙ ξ. هذه هي : نُعبّر عن الفعل العشوائي كدالة حتمية لأوزان الشبكة مُضافاً إليها ضجيج مستقل، فيصبح بإمكاننا نشر التدرّج عبر عملية السحب بلا مشاكل.
بعد ذلك يُسحق الفعل الخام عبر tanh التي تحصره في المجال (−1, 1). هذا ضروري عملياً: مفصل الروبوت لا يدور إلى ما لا نهاية. حساب لوغاريتم احتمال الفعل المسحوق يتطلّب حدّ تصحيح (لوغاريتم محدِّد يعقوبيان tanh) اشتقّته الورقة في ملحقها.
حلقة التدريب: كيف تتعلّم الشبكات الثلاث
تدريب SAC يدور في حلقة من ثلاث مراحل تتكرّر عند كل خطوة تدرّج.
المرحلة 1 — تحديث الناقدين. نسحب دُفعة صغيرة من ذاكرة إعادة التشغيل. لكل انتقال (s, a, r, s', d) نحسب هدفاً لقيمة Q باستخدام الشبكات الهدف. الهدف يتضمّن حدّ الإنتروبيا: المكافأة + γ × الأصغر بين قيمتَي Q الهدف للحالة التالية − α × لوغاريتم احتمال الفعل التالي. كل ناقد يُدرَّب على تقليل بين تنبُّئه وهذا الهدف.
المرحلة 2 — تحديث الفاعل. مهمة الفاعل أن يجد أفعالاً تحقّق هدفين في آن واحد: قيمة Q عالية وإنتروبيا عالية. رياضياً، نُعظّم Q المتوقعة (الأصغر بين الناقدين) مطروحاً منها α × لوغاريتم الاحتمال. حيلة إعادة المعاملة هي ما يجعل حساب هذا التدرّج ممكناً.
المرحلة 3 — تحديث الشبكات الهدف. أوزان الهدف تتحرّك ببطء نحو أوزان الناقد الرئيسي عبر متوسط بولياك. القيمة النموذجية لمعامل بولياك ρ هي 0.995، أي أن 0.5% فقط من الأوزان الجديدة تتسرّب في كل خطوة — تحديث هادئ جداً يحمي التدريب من التذبذب.
خِدعة Q المزدوجة: ترويض انحياز التفاؤل
شبكة Q واحدة تميل بطبيعتها إلى المبالغة في التقدير: حين تأخذ أعلى قيمة من بين تقديرات مشوّشة بالضجيج، يكون التقدير منحازاً نحو الأعلى. الأمر يشبه أن تسأل حكمَين متحيّزَين وتأخذ دائماً الدرجة الأعلى — ستُبالغ في تقييم الأداء بشكل منهجي.
SAC (مستفيداً من فكرة TD3) يُدرّب شبكتَي Q مستقلتين ويعتمد الأصغر بين تنبُّؤاتهما كهدف للتدريب. الصورة الذهنية: اسأل ناقدَين واثق بالأكثر تحفّظاً. هذا التقدير «المتحفّظ» يكسر بتكلفة حسابية ضئيلة. كل ناقد يرى دُفعات بيانات مختلفة فيطوّر انحيازات مختلفة قليلاً، وأصغر القيمتين يكون أقرب إلى الحقيقة.
الشفرة الوهمية: SAC بنظرة واحدة
مبسَّط لإظهار الفكرة — ليس التنفيذ الحقيقي.
# تهيئة الفاعل π_θ والناقدين Q_φ1 وQ_φ2 والناقدين الهدف Q_φ̄1 وQ_φ̄2
# تهيئة ذاكرة إعادة التشغيل D
# ضبط معاملات الهدف: φ̄1 ← φ1، φ̄2 ← φ2
لكل خطوة في البيئة:
# 1. الجمع: سحب فعل من السياسة
a ~ π_θ(·|s)
s', r, done = env.step(a)
D.store(s, a, r, s', done)
# 2. التعلّم (إذا توفّرت عيّنات كافية)
batch = D.sample(batch_size)
لكل (s, a, r, s', d) في batch:
# ── تحديث الناقد ──
a_next ~ π_θ(·|s') # عيّنة طازجة من السياسة الحالية
Q_target = r + γ(1-d) * (
min(Q_φ̄1(s', a_next), Q_φ̄2(s', a_next))
- α * log π_θ(a_next|s') # حدّ الإنتروبيا
)
loss_Q1 = MSE(Q_φ1(s, a), Q_target)
loss_Q2 = MSE(Q_φ2(s, a), Q_target)
تحديث φ1 وφ2 بالنزول التدرّجي
# ── تحديث الفاعل ──
a_new ~ π_θ(·|s) # حيلة إعادة المعاملة
loss_π = mean(α * log π_θ(a_new|s)
- min(Q_φ1(s, a_new), Q_φ2(s, a_new)))
تحديث θ بالنزول التدرّجي
# ── تحديث الهدف (متوسط بولياك) ──
φ̄1 ← ρ * φ̄1 + (1−ρ) * φ1
φ̄2 ← ρ * φ̄2 + (1−ρ) * φ2الضبط التلقائي لدرجة الحرارة (SAC الإصدار الثاني)
في الورقة الأصلية، درجة الحرارة α معامل فائق ثابت يحتاج ضبطاً يدوياً. المشكلة أن الاختيار حسّاس: α عالية جداً تجعل السياسة فوضوية لا تتعلّم، وα منخفضة جداً تُفقدها مزايا الإنتروبيا. الورقة اللاحقة (Haarnoja وآخرون، 2018b) حلّت المشكلة بأناقة: جعلت α نفسها قابلة للتعلّم.
الآلية واضحة: نفرض قيداً يقول إن إنتروبيا السياسة يجب أن تبقى فوق حدّ أدنى مستهدف H̄ (غالباً −dim(A)، أي سالب عدد أبعاد ). ثم نستخدم الانحدار التدرّجي الثنائي لتعديل α تلقائياً: حين تنخفض الإنتروبيا تحت المستهدف ترتفع α لتدفع الوكيل نحو مزيد من التنوّع، وحين تكون الإنتروبيا كافية تنخفض α لتسمح للسياسة بالتركيز على تعظيم المكافأة. بهذه الطريقة يُلغى أكثر المعاملات الفائقة حساسية، ويعمل SAC عبر بيئات مختلفة بلا ضبط يدوي.
كيف يُقارن SAC بـ DDPG وTD3 وPPO
مقابل DDPG: الاثنان خوارزميتا خارج السياسة تعتمدان ذاكرة إعادة تشغيل. الفارق الجوهري أن DDPG تتعلّم سياسة حتمية وتلجأ لضجيج خارجي من أجل الاستكشاف — حلّ هشّ. في SAC، الاستكشاف ليس إضافة جانبية بل هدف أساسي مُدمج عبر تعظيم الإنتروبيا، كما أن القطع المزدوج يحمي من المبالغة في التقدير التي عانى منها DDPG.
مقابل TD3: TD3 عالج هشاشة DDPG عبر القطع المزدوج وتأخير تحديثات السياسة. SAC يتبنّى القطع المزدوج لكنه يسلك طريقاً مختلفاً نحو الاستقرار: بدلاً من تأخير التحديثات يستخدم تنظيم الإنتروبيا وسياسة عشوائية. نُشرت الخوارزميتان في الفترة نفسها تقريباً وتمثّلان حلّين متكاملين لمشاكل DDPG.
مقابل PPO: PPO تعمل داخل السياسة فترمي البيانات بعد كل تحديث وتحتاج تفاعلات أكثر بكثير مع البيئة. استقرارها مصدره تغيير السياسة ببطء (هدف بديل مقطوع)، لكن ثمن ذلك كفاءة عيّنات منخفضة. SAC يحقّق استقراراً مماثلاً أو أفضل مع كفاءة عيّنات أعلى بفارق كبير بفضل التعلّم خارج السياسة.
الأثر: من المعيار المرجعي إلى الروبوت الحقيقي
2017
تعلم Q المَرِن (السلف)
طرح هارنوجا وزملاؤه إطار أقصى إنتروبيا عبر تعلّم Q المَرِن. الأسلوب كان يعمل لكنه تطلّب استدلالاً تقريبياً معقّداً للتعامل مع فضاءات الأفعال المستمرة.
2018
SAC الإصدار الأول (هذه الورقة، ICML)
استُبدلت خطوة الاستدلال المعقّدة بإطار فاعل-ناقد عشوائي أبسط وأقوى. تصدّرت الخوارزمية معايير MuJoCo بما فيها مهمة Humanoid ذات 21 بُعداً.
2018
SAC الإصدار الثاني (حرارة تلقائية)
أضافت الورقة اللاحقة آلية ضبط تلقائي لمعامل درجة الحرارة α عبر الأمثَلة المقيَّدة، فأزالت آخر معامل فائق يحتاج ضبطاً يدوياً.
2019
حركة روبوتات حقيقية
شغّل هارنوجا وزملاؤه SAC على روبوت رباعي حقيقي (Minitaur) تعلّم المشي من الصفر في أقل من ساعتين. كانت هذه أول حالة نشر موثوق للتعلّم المعزَّز العميق على روبوت بأرجل في العالم الحقيقي.
2020
CQL — التعلم المعزَّز من بيانات مُسجَّلة مع إنتروبيا SAC
بنى كومار وزملاؤه خوارزمية تعلّم Q المحافظ فوق إطار أقصى إنتروبيا الذي أسّسه SAC، لتتعلّم من مجموعات بيانات ثابتة دون أي تفاعل مباشر مع البيئة.
2023
DreamerV3 يتبنّى مبادئ SAC
خوارزمية النموذج العالمي التي طوّرها هافنر وزملاؤه استلهمت تنظيم الإنتروبيا من SAC. حقّقت أداءً يتفوّق على البشر في Minecraft وAtari دون ضبط مخصّص لكل مهمة.
أثر SAC يتجاوز كونه خوارزمية واحدة. ما أثبته فعلاً هو أن تنظيم الإنتروبيا — مكافأة التنوّع السلوكي — مبدأ عام صالح للتطبيق في التعلّم المعزَّز من بيانات مسجَّلة، والقائم على النموذج، والمتعدد المهام، وتطبيقات الروبوتات. إطار أقصى إنتروبيا الذي حوّله SAC إلى أداة عملية صار اليوم جزءاً أساسياً من عدّة كل باحث ومهندس في التعلّم المعزَّز العميق.
المرجعHaarnoja, Zhou, Abbeel, Levine. Soft Actor-Critic: Off-Policy Maximum Entropy Deep Reinforcement Learning with a Stochastic Actor. ICML, 2018.
مصطلحات هذه الورقة
- الفاعل-الناقد المَرِنSoft Actor-Critic
- العشوائية الدلاليةEntropy
- مكافأة العشوائية الدلاليةEntropy Bonus
- خوارزمية التعلم خارج السياسة الحاليةOff-Policy
- بنية الفاعل والناقدActor-Critic
- تدرج السياسة التشغيليةPolicy Gradient
- الدالة QQ-function
- دالة قيمة الحالة الحاليةState-Value Function
- ذاكرة التجاربReplay Buffer
- شبكة الهدفTarget Network
- التحديث الناعمSoft Update
- حيلة إعادة البَرمَتَةReparameterization Trick
- دالة السحقSquashing Function
- الاستكشاف (تجربة أفعال جديدة)Exploration
- فضاء الأفعال المستمرContinuous Action Space