هوش مصنوعی بالاخره رسید به مسئله کوله‌پشتی! داستان یاد گرفتن حل مسائل سخت با NAR

Fall Back

تا حالا اسم مسئله “کوله‌پشتی” رو شنیدی؟ همون مسئله خفن معروف توی الگوریتم‌ها که میگه مثلاً شما یک کوله‌پشتی داری با یک ظرفیت خاص و کلی وسیله با وزن و ارزش مختلف، بعد باید یه جوری انتخاب کنی که بیشترین ارزش رو با توجه به وزن محدود کوله‌پشتی، داخلش جا بدی. کلاً این مسئله جزو مسائل ترکیبی سخت حساب میشه (یعنی حل کردنش مخصوصاً برای اندازه‌های بزرگ خیلی راحت نیست).

حالا یه حوزه جدیدی توی دنیای هوش مصنوعی هست به اسم Neural Algorithmic Reasoning که به اختصار میگن NAR. یعنی چی؟ یعنی اینکه یاد بدیم شبکه‌های عصبی (همون مدل‌های هوش مصنوعی که عاشق یاد گرفتن از داده‌‌ها هستن) طوری فکر کنن و حل مسئله کنن که انگار یک الگوریتم واقعی دارن اجرا می‌کنن.

اما تا الآن اکثر این مدل‌های NAR روی مسائل خیلی خاص و محدود تست میشدن. یعنی مسئله کوله‌پشتی یا همون Knapsack (که به خاطر سختی جواب دادن بهش بهش میگن pseudo-polynomial) معمولاً جزو تمرین‌های استاندارد نبود. ولی تو این مقاله اومدن سراغ همین مسئله جذاب!

روش‌شون چیه؟ مدل‌شون طوری طراحی شده که تقریباً همون کاری رو می‌کنه که وقتی بخوای با الگوریتم داینامیک پروگرمینگ حلش کنی، انجام میدی. داینامیک پروگرمینگ یعنی حل کردن مسئله به کمک زیرمسئله‌ها و ساختن یه جدول کمکی که بتونی قدم به قدم به جواب برسی؛ مثلاً اول هر زیرمسئله رو حل می‌کنی و بعد با کنار هم گذاشتن جواب‌ها می‌رسی به جواب کل.

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

توی نتایج هم دیدن مدلشون بهتر از اون رویکردهای سنتی کار می‌کنه که فقط سعی می‌کنن مستقیم از ورودی‌ها به جواب برسونن (که بهش میگن direct-prediction baseline). مخصوصاً توی مسئله‌هایی که بزرگ‌تر و پیچیده‌تر می‌شن، مدل NAR که داینامیک پروگرمینگ رو یادگرفته، بهتر جواب میده و راحت‌تر خودش رو با سایزهای جدید تطبیق میده (یعنی Generalize کردن مدل بهتر شده).

در آخر، این مدل نشون میده که هوش مصنوعی اگه طرز فکر الگوریتم‌ها رو یاد بگیره، می‌تونه مسائل سخت‌تری رو هم هندل کنه، نه فقط مسائل ساده‌ای که تا الآن همه بلد بودن. پس دیگه فقط نگران شطرنج باز کردن یا شعر گفتن AI نباش! انگار قراره پای مسئله‌های پایه‌ای و ترکیبی هم به دنیای هوش مصنوعی باز بشه.

منبع: +