یه نگاه باحال به ADP-Net: روش جدید پیش‌بینی حرکت آدم‌ها تو جمعیت

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

تا حالا مدل‌هایی مثل STGCN اومدن (یعنی Spatial-Temporal Graph Convolutional Networks، یه مدل یادگیری ماشینی که سعی می‌کنه این روابط فضایی و زمانی رو با گراف نشون بده) ولی اینا سه مشکل اصلی داشتن: اول اینکه پیام‌هایی که تو شبکه پخش می‌کنن به یه قدم یا همون “hop” محدود میشه و خیلی عمیق رفتار آدما رو نمی‌بینه، دوم اینکه اگه بخوایم گراف رو بزرگ‌تر کنیم و محیط واقعی‌تری بسازیم، این مدل‌ها بی‌دردسر گسترش‌پذیر نیستن و به هم میریزن، و سوم اینکه هر بخش از شبکه تو همچی مدل‌هایی با منطق خودش کار می‌کنه و انسجام کلی ضعیفه. تهشم باعث میشه نتایجشون اونقدری که باید، خوب نباشه.

اینجا محقق‌ها اومدن با یه ایده جدید به اسم ADP-Net وارد شدن. این اسمش یعنی Attention-Diffusion-Prediction Network، که حالا توضیح میدم چیه. تو این مدل جدید، سه نوآوری جالب هست:

  1. یه لایه گراف کانولوشنی (یعنی همون لایه‌ای که داده‌ها رو روی گراف حساب می‌کنه و روابط رو یاد می‌گیره) که بصورت همزمان با یه سیستم توجه کار می‌کنه. منظور از توجه (attention) تو هوش مصنوعی اینه که مدل میره روی بخش‌های مهم‌تر داده، تمرکز می‌کنه و بجای اینکه همه اطلاعات رو یه‌جور ببینه، قسمت‌های حیاتی‌تر رو بیشتر وزن می‌ده.

  2. لایه‌های جدیدی برای پخش توجه در مقیاس‌های مختلف دارن که اسم باکلاسش میشه “multi-scale attention diffusion layers”. یه جورایی میشه گفت اینا باعث میشن پیام‌ها تو گراف تو مسیرهای مختلف و با عمق بیشتر پخش بشن، نه فقط یه hop ساده. این کار با چیزی به اسم “graph diffusion convolution (GDC)” انجام میشه که یعنی پیام‌ها خیلی منعطف و تا چندین قدم تو گراف حرکت می‌کنن.

  3. یکی دیگه از بخش‌های مهم، یه ماژول کانولوشن زمانی سازگار (adaptive temporal convolution) هست که باعث میشه مدل بتونه تغییرات زمانی تو مقیاس‌های مختلف رو بفهمه. یعنی اگه رفتار یه‌دفعه‌ای عوض شد یا تو زمان‌های طولانی‌تر یه الگوی خاص شکل گرفت، بتونه خودش رو هماهنگ کنه.

برای اینکه این همه رفت و برگشت حساب و کتاب ریاضی براشون سنگین نشه، یه ترفند به اسم “polynomial approximation” استفاده کردن. یعنی حسابای پیچیده رو به شکل تقریبی و راحت‌تر انجام می‌دن که هم سریع بشه و هم دقیق بمونه. برای اجرای اون GDC هم یه روش تقریبی و شخصی‌سازی شده دارن که سرعت کار بالا بمونه ولی مدل همچنان بتونه ارتباطات چندمرحله‌ای (multi-hop) رو درک کنه و از نظر ساختاری بین بخش زمانی و فضایی مدل، نظم کلی برقرار باشه.

حالا مهم‌ترین بخشش: نتیجه! این مدل جدید رو روی دیتاست‌های معروف تست کردن مثلاً ETH/UCY یا Stanford Drone Dataset (که داده‌های واقعی از حرکت جمعیت هستن)، و دیدن نتایجشون نسبت به مدل‌های قبلی واقعاً بهتر شده. مثلا تو شاخص متوسط خطای جابه‌جایی (ADE) حدود ۴ درصد و تو آخرین خطای جابه‌جایی (FDE) حدود ۲۶ درصد بهتر عمل کرده. ADE یعنی مدل میانگین خطا رو تو کل مسیر حرکت حساب می‌کنه و FDE یعنی فقط خطا تو نقطه آخر مقصد! این اعداد برای سیستم‌های خودکار مثل ربات‌ها حسابی مهمن و می‌تونن باعث شن تو موقعیت‌های واقعی، عملکردشون دقیق‌تر و قابل اعتمادتر بشه.

خلاصه اگه بخوام جمع‌بندی کنم، ADP-Net یه چارچوب جدید حسابی خفن و مدرن برای فهمیدن رفتار جمعی آدماست که باعث میشه پیش‌بینی حرکت تو جمعیت (چه برای ماشین٬ چه ربات و هر سیستم خودمختار دیگه) خیلی درست‌تر و باهوش‌تر انجام شه.

منبع: +