MARL MADDPG، QMIX، MAPPO
argmaxبه طور تمیز توزیع می کند غالب در StarCraft Multi-Agent Challenge (SMAC). MAPPO(Yu et al., NeurIPS 2022, arXiv:2103.01955) PPO با یک عملکرد ارزش متمرکز است؛ "به طرز شگفت انگیزی موثر" در دنیای ذرات، SMAC، فوتبال تحقیق گوگل، Hanabi با تنظیم حداقل. این سیاست های آموزشی را برای تیم های عامل که باید غیرمتمرکز عمل کنند، پشتیبانی می کند. MAPPOdefault 2026 cooperative-MARL baselineاین درس هر یک از آن ها را از یک بازی کوچک شبکه ای ساخته و سه ایده را در حافظه عضلانی زمین می دهد قبل از اینکه به آموزش LLM-agent دست بزند.Type: Learn
Languages: Python (stdlib, small NumPy-free implementations)
Prerequisites: Phase 09 (Reinforcement Learning), Phase 16 · 09 (Parallel Swarm Networks)
Time: ~90 minutes
مشکل
سیستم های LLM-agent به طور فزاینده ای سیاست های هماهنگی بین عوامل را آموزش می دهند: چه زمانی باید تأخیر شود، چه زمانی باید عمل کند، چه کسانی باید تماس بگیرند. ادبیات که به شما می گوید چگونه چنین سیاست هایی را آموزش دهید، یادگیری تقویت چند عامل (MARL) است که قبل از موج LLM است و مجموعه ای کوچک از الگوریتم های غالب دارد.
خواندن مقالات MARL بدون ذخایر لغات الگویی دردناک است. آموزش متمرکز با اجرای غیرمتمرکز (CTDE) ، تجزیه ارزش و منتقدان متمرکز کلمات کلیدی نیستند. آنها پاسخ های خاص به مشکلات خاص هستند:
- از نظر هر مامور، "آر.آيل" مستقل نیست.
- RL متمرکز (یک عامل همه را کنترل می کند) مقیاس بندی نمی کند و محدودیت های اجرای را نقض نمی کند.
- CTDE بهترین هر دو را می گیرد: آموزش با اطلاعات جهانی، پیاده سازی با سیاست های محلی.
مفهوم
سه محیط که روزنامه ها از آن استفاده می کنند
- Particle World (multi-agent particle env).فیزیک 2D ساده با وظایف همکاری / رقابتی. تخت آزمایشی اصلی MADDPG.
- StarCraft Multi-Agent Challenge (SMAC).مدیریت میکروکامپروتیو، مشاهده جزئی، تخت آزمایشی QMIX، اقدامات متمایز، حالت های مداوم
- Google Research Football, Hanabi, MPE.خط هاي پايين نقشه
محیط های مختلف انواع مختلف عمل و مشاهده دارند. الگوریتم ها به همین ترتیب انتخاب می کنند.
MADDPG (2017) الگوی CTDE
هر مامورiيه بازيگر دارهmu_i(o_i)که مشاهده خودش را به عمل میرساند.Q_i(x, a_1, ..., a_n)این بازیگر با توجه به روند سیاست در برابر ارزیابی منتقد، به روز می شود.
actor update: grad_theta_i J = E[grad_theta mu_i(o_i) * grad_a_i Q_i(x, a_1..n) at a_i=mu_i(o_i)]
critic update: TD on Q_i(x, a_1..n) given next-state joint estimateچرا CTDE: در زمان آموزش، ما اقدامات همه را می دانیم؛ ما از آن برای کاهش تفاوت در هر منتقد استفاده می کنیم. در زمان نشریات، هر عامل فقط می بیند o_iو تماس هاmu_i(o_i). .
حالت شکست: منتقدان با عوامل N رشد می کنند (درآمدی شامل تمام اقدامات است). بدون تقرب، فراتر از عوامل ~ 10 مقیاس نمی کند.
QMIX (2018) تجزیه ارزش
فقط همکاری. پاداش جهانی مجموعه ای از یک تابع یک تن از ارزش های Q در هر عامل است:
Q_tot(tau, a) = f(Q_1(tau_1, a_1), ..., Q_n(tau_n, a_n)), df/dQ_i >= 0اون تک تکونگاري تضمین ميکنهargmax_a Q_totمی تونه توسط هر عامل انتخاب بشهargmax_{a_i} Q_iمستقل، یعنیexactly the decentralized execution propertyدر زمان آموزش، شبکه مخلوط کننده تولید می کندQ_totاز هر عامل Qs
چرا QMIX در SMAC برنده می شود: مدیریت کوچک StarCraft با عوامل همگام، کارگاه محلی، پاداش جهانی مناسب برای تجزیه ارزش است.
حالت شکست: محدودیت یکسردی محدود کننده است؛ برخی از وظایف دارای ساختار پاداش هستند که یکسردی قابل تجزیه نیستند (یک عامل برای تیم قربانی می کند). گسترش (QTRAN، QPLEX) این را کاهش می دهد.
MAPPO (2022) عدم توجه نادیده گرفته شده
PPO چند عامل: PPO با یک عملکرد ارزش متمرکز. هر عامل دارای سیاست خاص خود است؛ همه عوامل دارای عملکردهای ارزش را که وضعیت کامل را می بینند. Yu و همکاران 2022 MAPPO را با MADDPG، QMIX و تمدید آنها بر اساس پنج معیار مقایسه کردند و دریافتند:
- MAPPO با روش های غیرقانونی MARL در دنیای ذرات، SMAC، Google Research Football، Hanabi، MPE مطابقت دارد یا بر آن غلبه می کند.
- حداقل تنظیم های هیپر پارامتر مورد نیاز است.
- آموزش پایدار؛ قابل تولید در بین دانه ها است.
جامعه تا سال 2026، MAPPO پایه پیش فرض برای MARL همکاری است؛ هر روش جدید باید آن را شکست دهد.
چرا مهندسان مامورین LLM باید نگران باشند
سه کاربرد مستقیم:
- Router training.یک متا-آژانت انتخاب می کند که کدام زیرآژانت یک کار را انجام می دهد. این یک مشکل MARL با N زیرآژانت غیرمتمرکز و یک روتر متمرکز است. MAPPO مناسب است.
- Role emergence.در شبیه سازی عامل تولید، آموزش عوامل برای اتخاذ نقش های مکمل در طول زمان یک مشکل MARL پنهان است. تجزیه ارزش به سبک QMIX باعث تکمیلیت توسط ساخت می شود.
- Multi-agent tool use.وقتی عوامل ابزارها را به اشتراک می گذارند و برای بودجه رقابت می کنند، آموزش آنها از طریق CTDE سیاست های محلی قابل اجرا را که به محدودیت های منابع احترام می گذارند، تولید می کند.
هشدار عملی: در سال 2026، اکثر سیستم های LLM-agent تولید سیاست های خود را به جای آموزش آنها را تحریک می کنند. MARL زمانی که شما (ا) اطلاعات زیادی از تعامل، (ب) یک سیگنال پاداش واضح و (ج) تمایل به سرمایه گذاری در زیرساخت آموزش دارید، وارد می شود.
CTDE به عنوان یک الگوی طراحی فراتر از RL
حتی بدون آموزش، CTDE یک الگوی معماری مفید است:
- در طول طراحی ، دید کامل تیم را در نظر بگیرید.
- در زمان اجرا، اجرای غیرمتمرکز را اجرا کنید: هر عامل فقط می بیند
o_i. .
این الگوی شما را مجبور می کند تا وضعیت هر عامل را صریح نگه دارید و در مورد مشاهده ی جزئی در پیش فکر کنید. بسیاری از سیستم های تولید چند عامل به طور ساکت حالت مشترک را در همه جا فرض می کنند.
مشکل عدم ثابتیت
هنگامی که چندین عامل همزمان یاد می گیرند، محیط هر عامل (که شامل سیاست های دیگران است) غیر ثابت است. اثبات های کلاسیکی RL یک عامل را شکست می دهد. الگوریتم های MARL در این درس همه به این موضوع پاسخ می دهند:
- MADDPG: منتقد جهانی همه اقدامات را می بیند، بنابراین تخمین ارزش آن ثابت است.
- QMIX: تجزیه ارزش یادگیری را به یک فضای مشترک Q منتقل می کند که بهینه سازی به خوبی تعریف شده است.
- نقشه: عملکرد ارزش متمرکز تفاوت را از تغییرات سیاست های دیگران کاهش می دهد.
در سیستم های LLM-agent، عدم ثابتیت به این شکل آشکار می شود که "آموزم ماه گذشته کار کرد، اکنون که دیگر عامل در جریان تغییر کرد، رفتار نامناسب من". آموزش MARL با CTDE راه حل اصل است؛ راه حل های سریع در سطح سریع سریع سریعتر اما کمتر دوامدار هستند.
آنچه که این درس پوشش نمی دهد
آموزش شبکه های واقعی یک موضوع مرحله 09 است. این درس نسخه های سیاست های اسکریپت را ایجاد می کند که CTDE، تجزیه ارزش و الگوهای ارزش متمرکز را بدون بروزرسانی گرادیانت نشان می دهد. هدف این است که الگوهای را قبل از اینکه یک کتابخانه کامل MARL را انتخاب کنید (PyMARL، MARLlib، RLlib multi-agent) داخلی کنید.
آن را بسازید
code/main.pyسه نمونه نمایش را اجرا می کند، همه در یک شبکه کوچک دو عامل همکاری:
- محیط: 2 عامل در یک شبکه 4x4، یک گلوله پاداش. پاداش = 1 اگر هر عامل به گلوله برسد؛ کار تمام می شود.
IndependentAgentsهر عامل با بقیه مثل محیط رفتار می کنه.MADDPGStyleمنتقد متمرکز ارزش مشترک را محاسبه می کند؛ سیاست های بازیگران از آن به روز می شوند. بهبود سیاست های نوشته شده.QMIXStyleتجزیه ارزش با یک مخلوط کننده یک صدا.MAPPOStyleعملکرد ارزش متمرکز؛ سیاست ها در مقایسه با خط پایه مشترک به روز می شوند.
هر چهار قسمت یکسانی را اجرا می کنند و به طور متوسط از مراحل به هدف گزارش می کنند.
راه رفتن:
python3 code/main.pyتولید انتظار می رود: عوامل مستقل به طور متوسط ~6 مرحله را انجام می دهند؛ انواع CTDE به سمت ~3.5 مرحله (افزایی برای شبکه 4x4 3 است) تبدیل می شوند. تفاوت الگوی با وجود سیاست های اسکریپت نشان داده می شود.
ازش استفاده کن
outputs/skill-marl-picker.mdیک مهارت است که یک الگوریتم MARL را برای یک کار چند عامل داده شده انتخاب می کند: همکاری در مقابل رقابت، همگونی در مقابل همگونی، نوع فضای عمل، مقیاس، سیگنال پاداش.
-باده
مارل در تولید نادر است.
- Start with MAPPO.مقاله سال 2022 این را به عنوان خط پایه تعیین کرد؛ بازتولید آن ابتدا هفته ها از تعقیب روش های فانتزی را صرفه جویی می کند.
- Log every agent's observation and action stream.. رفع خطا هاي مارل بدون رد هر مامور بي اميديه
- Separate training code from execution code.CTDE یک رشته است؛ اجازه دهید مسیر اجرا واقعا فقط ببینید
o_i. . - Reward shaping warning.مارل به طرز فوق العاده ای حساس به طراحی پاداش است. یک خطای هماهنگی در شکل دادن و ماموران یاد می گیرند که از آن بهره مند شوند. آزمایشات خصومت آمیز را اجرا کنند.
- For LLM agentsدر ابتدا سیاست های سطح فوری را در نظر بگیرید. تنها زمانی که داده های تعامل + سیگنال پاداش + زیرساخت موجود باشد، در آموزش MARL سرمایه گذاری کنید.
تمرینات
- فرار کن
code/main.py. اندازه گیری فاصله مرحله به هدف بین عوامل مستقل و مدل MAPPO. آیا فاصله در شبکه 6×6 رشد می کند یا کوچک می شود؟ - یک نوع رقابتی را اجرا کنید: دو عامل، یک گلوله، تنها اولین کسی که به آن برسد پاداش می گیرد. کدام الگوی رقابت را تمیز مدیریت می کند؟
- MADDPG را بخوانید (arXiv:1706.02275) بخش 3. قانون تحديث دقیق منتقد را به صورت نمادین در رمزگذاری نامزدی به کلمات خود اجرا کنید.
- چرا نویسندگان استدلال می کنند ارزش متمرکز + PPO بر مارل خارج از سیاست در مقادیر مرجع خود غلبه می کند؟ سه ادعای قوی را لیست کنید.
- CTDE را به عنوان یک الگوی طراحی برای یک سیستم فرضیه ی LLM-agent (به عنوان مثال، عامل تحقیقاتی + خلاصه کننده + کد) اعمال کنید. اطلاعات مشترک در زمان طراحی که در زمان اجرا در دسترس نیست چیست؟
اصطلاحات کلیدی
| Term | What people say | What it actually means |
|---|---|---|
| MARL | "Multi-Agent RL" | Reinforcement learning for multi-agent systems. |
| CTDE | "Centralized Training, Decentralized Execution" | Train with global info; deploy with local policies. |
| MADDPG | "Multi-Agent DDPG" | CTDE with per-agent critic seeing all observations + actions. |
| QMIX | "Value decomposition" | Monotonic mixing of per-agent Qs. Cooperative. |
| MAPPO | "Multi-Agent PPO" | PPO with centralized value function. 2026 default baseline. |
| Value decomposition | "Sum of individual Qs" | Joint Q represented as a monotone function of per-agent Qs. |
| Non-stationarity | "Moving targets" | Each agent's env changes as others learn. The core MARL problem. |
| On-policy / off-policy | "Learn from current / replay" | PPO is on-policy (MAPPO); DDPG and Q-learning are off-policy. |
| SMAC | "StarCraft Multi-Agent Challenge" | Cooperative micromanagement benchmark; QMIX's homegrown ground. |
خواندن بیشتر
- Lowe et al. — Multi-Agent Actor-Critic for Mixed Cooperative-Competitive Environments MADDPG؛ NeurIPS 2017
- Rashid et al. — QMIX: Monotonic Value Function Factorisation for Deep Multi-Agent Reinforcement Learning QMIX؛ ICML 2018
- Yu et al. — The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games MAPPO؛ NeurIPS 2022
- BAIR blog post on MAPPO چارچوب قابل خواندن نتیجه MAPPO
- SMAC repository چالش چند عامل استارکرافت
This free lesson is part of the AI Engineering from Scratch curriculum. Read the full explanation, run the lesson code, and verify the result in the interactive reader or from the repository source.
Browse the complete course catalog or open this lesson on GitHub.