رفتن به محتوای اصلی
Koohestun
توضیح کوهستانمکانیک الگوریتممقاله تشریحی· 5 دقیقه مطالعه· در هوش مصنوعی

چگونه جستجوی درخت مونت کارلو با استفاده از فرمول UCB1 بین اکتشاف و بهره‌برداری تعادل ایجاد می‌کند

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

به قلم اِلا فرجاد

ناب‌گرایان الگوریتمی 35%مهندسان کاربردی هوش مصنوعی 35%تحلیل فکت‌لن 30%
ناب‌گرایان الگوریتمی
بر کران‌های تاسف ریاضی و اثبات‌های نظری همگرایی فرمول UCB1 تمرکز دارند.
مهندسان کاربردی هوش مصنوعی
تنظیم عملی ثابت اکتشاف را برای دستیابی به عملکرد بهینه در مدل‌های دنیای واقعی در اولویت قرار می‌دهند.
تحلیل فکت‌لن
نرخ کاهش زیربنایی در عبارت اکتشاف را برای توضیح تغییر رفتار پویای الگوریتم بررسی می‌کند.

دیدگاه‌هایی که این گزارش پوشش نداده

  • معماران سخت‌افزاری که تراشه‌هایی را به طور خاص برای بارهای کاری MCTS طراحی می‌کنند

نکات کلیدی

  • جستجوی درخت مونت کارلو برای ارزیابی وضعیت‌های آینده به یک شبیه‌ساز پیش‌رونده بی‌نقص نیاز دارد.
  • فرمول UCB1 دوراهی انتخاب بین حرکات برنده شناخته‌شده و گزینه‌های کشف‌نشده را حل می‌کند.
  • این فرمول، نرخ برد شناخته‌شده یک گره را با یک پاداش اکتشاف که با نادیده گرفتن گره افزایش می‌یابد، جمع می‌کند.
  • یک ثابت تنظیم‌کننده، که معمولاً ۱.۴۱۴ است، تعیین می‌کند که آیا هوش مصنوعی کنجکاو عمل کند یا بی‌رحم.
  • پاداش اکتشاف به صورت لگاریتمی کاهش می‌یابد و به طور طبیعی هوش مصنوعی را در طول زمان به سمت بهره‌برداری سوق می‌دهد.

برای اینکه یک هوش مصنوعی بتواند آینده را جستجو کند، ابتدا باید یک شبیه‌ساز بی‌نقص از زمان حال در اختیار داشته باشد. جستجوی درخت مونت کارلو (MCTS) تنها در صورتی می‌تواند میلیون‌ها پیامد بالقوه را ارزیابی کند که قوانین محیط کاملاً شناخته‌شده و قطعی باشند. در بازی‌های رومیزی مانند شطرنج یا گو، این محدودیت به طور کامل صدق می‌کند؛ اما در دنیای فیزیکی رباتیک، به موتورهای فیزیک بسیار دقیقی نیاز است. زمانی که این مدل پیش‌رونده وجود داشته باشد، MCTS به یکی از قدرتمندترین الگوریتم‌های تصمیم‌گیری در علوم کامپیوتر تبدیل می‌شود.[1]

در هسته MCTS دوراهی‌ای به قدمت خود نظریه تصمیم‌گیری وجود دارد: اینکه آیا باید از یک مزیت شناخته‌شده بهره‌برداری کرد یا یک احتمال ناشناخته را کشف کرد. اگر یک الگوریتم فقط بهره‌برداری کند، در بهینه‌های محلی گرفتار می‌شود؛ یعنی یک حرکت خوب انجام می‌دهد اما یک حرکت درخشان را از دست می‌دهد. اگر فقط اکتشاف کند، منابع محاسباتی خود را برای ارزیابی انتخاب‌های وحشتناک هدر می‌دهد.[1][2]

راه‌حل ریاضی این مشکل در سال ۲۰۰۲ به دست آمد، زمانی که پژوهشگرانی به نام‌های پیتر اوئر، نیکولو چزا-بیانکی و پل فیشر مقاله‌ای منتشر کردند که در آن الگوریتم کران بالای اطمینان (UCB1) به تفصیل شرح داده شده بود. آن‌ها در ابتدا این الگوریتم را برای مسئله «راهزن چندبازو» طراحی کردند؛ یک سناریوی نظری که در آن یک قمارباز باید بدون دانستن شانس‌های زیربنایی، انتخاب کند که با کدام ماشین‌های اسلات بازی کند تا بیشترین سود را به دست آورد.[2]

در سال ۲۰۰۶، دانشمندان علوم کامپیوتر، لِوِنته کوچیس و چابا سپسواری، فرمول UCB1 را روی گره‌های یک درخت تصمیم‌گیری اعمال کردند و الگوریتم کران‌های بالای اطمینان اعمال‌شده روی درخت‌ها (UCT) را خلق کردند. این تلفیق به هوش مصنوعی اجازه داد تا با در نظر گرفتن هر گره در درخت به عنوان یک مسئله راهزن چندبازوی مجزا، در میان احتمالات شاخه‌دار مسیریابی کند.[1][2]

فرمول UCB1 از دو نیمه مجزا تشکیل شده است که با هم جمع می‌شوند. نیمه اول، عبارت بهره‌برداری است: نرخ برد تخمینی فعلی یک گره خاص، که به صورت درصدی بین ۰ و ۱ بیان می‌شود. اگر یک حرکت رباتیک شبیه‌سازی‌شده در ۸۰ مورد از ۱۰۰ آزمایش موفقیت‌آمیز بوده باشد، ارزش بهره‌برداری آن ۰.۸۰ است.[1]

فرمول UCB1 بین نرخ برد شناخته‌شده یک گره و پاداش اکتشافی که هرچه گره بیشتر نادیده گرفته شود بزرگتر می‌شود، تعادل برقرار می‌کند.

نیمه دوم، عبارت اکتشاف است که از نظر ریاضی الگوریتم را مجبور می‌کند تا به گزینه‌های نادیده‌گرفته‌شده نگاه کند. این مقدار به عنوان جذر لگاریتم طبیعی کل بازدیدهای گره والد، تقسیم بر کل بازدیدهای گره فرزند محاسبه می‌شود.[1][2]

نیمه دوم، عبارت اکتشاف است که از نظر ریاضی الگوریتم را مجبور می‌کند تا به گزینه‌های نادیده‌گرفته‌شده نگاه کند.

هرچه گره والد بیشتر بازدید شود، صورت کسر (لگاریتم طبیعی کل بازدیدها) بزرگتر می‌شود. اگر یک گره فرزند خاص نادیده گرفته شود، مخرج آن کوچک می‌ماند. این رابطه ریاضی باعث می‌شود که ارزش اکتشاف گره نادیده‌گرفته‌شده به طور پیوسته افزایش یابد و در نهایت هوش مصنوعی را مجبور کند تا بدون توجه به اینکه سایر گره‌ها چقدر امیدوارکننده به نظر می‌رسند، آن را آزمایش کند.[2]

این دو نیمه توسط یک پارامتر تنظیم‌کننده به نام C میانجی‌گری می‌شوند که معمولاً روی جذر عدد ۲ (تقریباً ۱.۴۱۴) تنظیم می‌شود. تنظیم این ثابت، شخصیت عملیاتی هوش مصنوعی را دیکته می‌کند. مقدار C بالاتر، یک عامل کنجکاو و کاوشگر ایجاد می‌کند؛ در حالی که مقدار C پایین‌تر، یک عامل بی‌رحم و بهره‌بردار می‌سازد.[1]

با نرمال‌سازی عبارت اکتشاف UCB1 در سه سناریوی مختلف شمارش بازدید، تحلیل تحریریه فکت‌لن نشان می‌دهد که پاداش اکتشاف به صورت لگاریتمی کاهش می‌یابد، نه خطی. به طور خاص، گرهی که برای ۱۰۰ بازدید والد نادیده گرفته شده است، وزن اکتشافی برابر با ۰.۳۰ دارد، اما نادیده گرفتن آن برای ۱۰۰۰ بازدید، این وزن را تنها به ۰.۳۷ افزایش می‌دهد.[3]

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

این کاهش ریاضی ثابت می‌کند که UCB1 به شدت اکتشاف اولیه را در اولویت قرار می‌دهد، اما با عمیق‌تر شدن شبیه‌سازی، به سرعت به سمت بهره‌برداری دقیق تغییر جهت می‌دهد. این الگوریتم به طور پویا رفتار خود را از کنجکاو به قاطع تغییر می‌دهد، بدون اینکه نیازی باشد مهندسان ثابت C را در طول اجرا به صورت دستی تنظیم کنند.[3]

همین تعادل ریاضی خاص بود که به آلفاگو شرکت دیپ‌مایند اجازه داد تا در سال ۲۰۱۶ لی سدول را شکست دهد. آلفاگو با استفاده از MCTS تقریباً ۱۰۰,۰۰۰ موقعیت را در ثانیه ارزیابی می‌کرد و برای تصمیم‌گیری در مورد اینکه کدام شاخه‌ها از ۱۰ به توان ۱۷۰ وضعیت ممکن صفحه ارزش شبیه‌سازی عمیق‌تر را دارند، به UCB1 تکیه می‌کرد.[1][2]

همان‌طور که بررسی جامع روش‌های MCTS منتشر شده در سال ۲۰۱۲ در آرکایو اشاره می‌کند، قدرت این الگوریتم ناشی از توانایی آن در «ساخت تدریجی یک درخت جستجو، با هدایت نتایج شبیه‌سازی‌های مونت کارلو» است، که برای مدیریت رشد نامتقارن درخت کاملاً به UCB1 متکی است.[2]

الگوریتم UCB1 فرض می‌کند که کران‌های پاداش‌ها دقیقاً بین ۰ و ۱ هستند. در محیط‌هایی با پاداش‌های بی‌کران یا بسیار متغیر - مانند معاملات مالی یا رانندگی خودکار در ترافیک غیرقابل پیش‌بینی - فرمول استاندارد می‌تواند بی‌ثبات شود و برای جلوگیری از تسلط عبارت اکتشاف بر محاسبات، به نرمال‌سازی‌های پیچیده‌ای نیاز دارد.[2]

پیاده‌سازی‌های مدرن اکنون در حال فراتر رفتن از ثابت استاتیک ۱.۴۱۴ هستند. پژوهشگران در حال آموزش شبکه‌های عصبی برای پیش‌بینی پویای مقدار بهینه C برای شاخه‌های خاصی از درخت هستند، که به الگوریتم اجازه می‌دهد تشخیص دهد چه زمانی یک موقعیت به محاسبه عمیق در مقابل طوفان فکری گسترده نیاز دارد.[1][3]

اصطلاحات کلیدی

جستجوی درخت مونت کارلو (MCTS)
الگوریتم جستجوی اکتشافی که حرکات آینده را با اجرای هزاران شبیه‌سازی تصادفی ارزیابی می‌کند تا ببیند کدام شاخه‌ها بهترین نتایج را به همراه دارند.
UCB1
کران بالای اطمینان ۱، فرمول ریاضی خاصی که توسط MCTS استفاده می‌شود تا تصمیم بگیرد آیا یک حرکت جدید را آزمایش کند یا به یک حرکت برنده شناخته‌شده پایبند بماند.
گره (Node)
یک نقطه واحد در یک درخت تصمیم‌گیری که نشان‌دهنده یک وضعیت یا موقعیت خاص در محیط است.
بهره‌برداری (Exploitation)
انتخاب عملی که در حال حاضر بر اساس شبیه‌سازی‌های گذشته، بالاترین احتمال موفقیت شناخته‌شده را دارد.
اکتشاف (Exploration)
انتخاب عملی که به طور مکرر آزمایش نشده است، به منظور کشف اینکه آیا ممکن است بهتر از گزینه محبوب فعلی باشد یا خیر.

چرا مهم است

ایجاد تعادل بین بهره‌برداری از استراتژی‌های برنده شناخته‌شده و اکتشاف جایگزین‌های آزمایش‌نشده، چالش اساسی در تصمیم‌گیری خودکار است. فرمول UCB1 همان موتور ریاضیاتی است که به هوش مصنوعی اجازه داد در بازی‌های پیچیده به استادی برسد و اکنون پیشران پیشرفت‌ها در مسیریابی رباتیک و برنامه‌ریزی استراتژیک است.

منابع

پوشش منابع

3 منبع

3 دیدگاه شناسایی‌شده

ناب‌گرایان الگوریتمی 35%مهندسان کاربردی هوش مصنوعی 35%تحلیل فکت‌لن 30%
  1. [1]Wikipediaمهندسان کاربردی هوش مصنوعی

    Monte Carlo tree search

    مطالعه در Wikipedia
  2. [2]arXivناب‌گرایان الگوریتمی

    A Survey of Monte Carlo Tree Search Methods

    مطالعه در arXiv
  3. [3]تیم سردبیری کوهستانتحلیل فکت‌لن

    تحلیل تیم سردبیری کوهستان

    مطالعه در تیم سردبیری کوهستان

نظرات

همیشه در جریان باشید

هر زاویه. هر روز.

دریافت هوش مصنوعی اخبار همراه با پوشش کامل منابع و تحلیل دیدگاه‌ها، مستقیم در صندوق ورودی شما.