یه روش خفن و جدید واسه هماهنگی چراغ‌ قرمزها با ادغام مدل‌های ریاضی و یادگیری تقویتی!

Fall Back

خب بچه‌ها، بریم ببینیم توی این مقاله جدید چه خبر بوده و اصلاً جریان این «سیستم هماهنگی سیگنال‌های ترافیکی با مدل هیبرید» چیه!

ماجرا اینجوریه که توی شهرای شلوغ ترافیک همیشه یه داستانیه: از یه طرف باید چراغ‌ قرمزها جوری تنظیم بشن که ماشین‌ها بتونن راحت و پشت هم حرکت کنن (یعنی مثل راهرو یه طرفه که همه سبز باشه و باهم برن جلو)، از یه طرف دیگه باید هوای هر چهارراه رو هم داشته باشیم و ببینیم که هر جا شلوغ شد، سریع واکنش نشون بدیم. خب مهندسای این مقاله یه ایده‌ی توپ دادن که هر دو مشکل رو با هم حل کنه!

اونا اومدن گفتن بیاید یه سیستم چندلایه درست کنیم: توی این سیستم، سه تا بخش اصلی داریم:

  1. هماهنگ‌کننده سطح بالا یا همون High-Level Coordinator (HLC): این بخش، حالت رئیس کل ماجراست! با توجه به ترافیک فعلی و پیش‌بینی‌هایی که انجام میده، تصمیم می‌گیره کدوم استراتژی رو برای هماهنگی چراغ‌ها انتخاب کنه. یعنی هم وضعیت الان رو می‌بینه، هم حواسش به آینده هست.

  2. هماهنگ‌کننده «راهرویی» یا Corridor Coordinator: این یکی نقش واسطه رو داره. اگه استراتژی‌مون مثلاً «هماهنگی بالاترین جریان» (Max-Flow Coordination که توی مقاله MFC نوشته شده و یعنی جایی که بیشترین ترافیک رد میشه رو الویت بدن) یا «هم‌زمانی سبزها» (Green-Wave Coordination، خلاصه شده GWC، یعنی کلی چراغ پشت سر هم سبز بمونن تا یه صف ماشین پشت هم حرکت کنه) باشه، این بخش میاد واسش فاز‌های چراغ‌ها رو تعیین می‌کنه.

  3. Agent یا عامل هیبریدی (Hybrid Signal Agent – HSA): این بچه‌ها دیگه ربات‌های هوشمندن که با یادگیری تقویتی، یعنی یه جور هوش مصنوعی که از تجربه و آزمون خطا یاد می‌گیره، تصمیم می‌گیرن چراغ‌ هر چهارراه کی قرمز و کی سبز بشه. تازه با یه روش خاص به اسم «action masking» هم کار می‌کنن که یعنی کارهای غیرممکن رو فیلتر می‌کنن و فقط انتخاب‌های منطقی رو میذارن روشون.

حالا توی مقاله از «یادگیری تقویتی سلسله‌مراتبی» (Hierarchical Reinforcement Learning) استفاده شده که یه مدل هوش مصنوعیه که مثل نردبان، تصمیم‌ها رو از بالا به پایین تقسیم و مدیریت می‌کنه. واسه آموزش الگوریتم‌ها هم از یه تکنیک به اسم Proximal Policy Optimization یا همون PPO استفاده کردن که اگه بخوای ساده بگم یه روش پیشرفته واسه آموزش عامل‌های هوشمنده که هم پایداره و هم سریع یاد می‌گیرن.

اینا اومدن سه مدل عامل هوشمند در نظر گرفتن: یکی MFC-aware که مخصوص مدل بیشترین جریان کار می‌کنه، یکی GWC-aware برای اون سبزخونه‌های پشت سر هم، و یکی pure agent control (PAC) که صرفاً مثل یه هوش مصنوعی بدون وابستگی به استراتژی خاص خودشو اداره می‌کنه.

در سطح بالا، HLC یاد می‌گیره که بسته به شرایط ترافیک بین این استراتژی‌ها سوییچ کنه. اینجا یه قضیه جالب هم هست و اونم «multi-objective reward balancing» ــ یعنی موقع آموزش یه امتیاز چندجانبه تعریف کردن تا هم راهروی خاص مدیریت بشه، هم کل شبکه شهری، نه فقط یه نقطه.

همه اینا رو روی یه پلتفرم شبیه‌سازی واقعاً قدرتمند به اسم SUMO-RLlib اجرا کردن (SUMO یه شبیه‌ساز ترافیک معروفه و RLlib هم یه کتابخونه یادگیری تقویتی). نتیجه چه شد؟

  • وقتی ترافیک خیلی سنگین بوده، مدل ترکیبی MFC قشنگ حجم عبور رو به حداکثر رسونده و باعث شده ته‌ترافیک کم بشه.
  • مدل ترکیبی GWC همیشه باعث کم شدن توقف ماشین‌ها سر چهارراه‌های اصلی شده و حرکت روانی رو توی شهر ایجاد کرده، اما بعضی وقتا می‌تونه باعث بشه کل شبکه شهری اونقدرا بهره‌ور نباشه (یعنی یه‌ذره کندی بیاره واسه جاهای دیگه).
  • عامل PAC تو درخواست‌های متوسط خیلی عالی کار کرده و زمان سفر ماشین‌ها تو کل شهر رو کم کرده، ولی تو ترافیک سنگین کارایی‌ش کم میشه.

خلاصه این سیستم سلسله‌مراتبی باعث شده انعطاف و واکنش سیستم به شرایط مختلف بالا بره، یعنی بتونه با هر میزان شلوغی تصمیم درست رو خودش بگیر.

پس با همچین طراحی هوشمندی توقع داریم شهرای آینده راحت‌تر نفس بکشن و کمتر تو ترافیک بمونیم؛ این وسط هم هوش مصنوعی داره پله‌پله یاد می‌گیره که بهترین تصمیم‌ها رو واسه چراغ‌قرمزهای شهر بگیره!

منبع: +