چرا StarCraft یک زمینه نبرد بی نقص برای آزمایش هوش مصنوعی است و دنیایی واقعی و مملو از مشکلات پیچیده است که قلمروهای فانتزی آموزش کامپیوتر برای حل آنها است.
DeepMind ، مجموعه ای از شرکت مادر Google ، در ماه ژانویه یک برنامه رایانه ای را آغاز کرد که قادر به شکست بازیکنان حرفه ای در یکی از سخت ترین بازی های ویدیویی جهان بود. StarCraft یک بازی علمی تخیلی نظامی است که در یک جهان گسترده با درگیری قرار دارد ، جایی که ارتش مخالفان با قدرت روبرو می شوند. و برنامه DeepMind با نام AlphaStar به بالاترین رتبه StarCraft II - Grandmaster رسید. براساس مطالعه ای که در ماه اکتبر در مجله Nature به چاپ رسیده است ، می تواند 99.8 درصد از بازیکنان انسانی را شکست دهد.
StarCraft یکی از محبوب ترین و دشوارترین بازی های الکترونیکی در جهان است. و این وضعیت باعث شده است تا برنامه نویسان به دنبال استفاده از آن به عنوان یک زمینه آموزشی برای هوش مصنوعی باشند. این فقط گروه های تحقیقاتی شرکت هایی مانند DeepMind نیست که StarCraft را آزمایش کنند. گیمرهای آماتور و دانشگاهیان نیز چالش تلاش برای شکست بازیکنان انسانی StarCraft را با ربات های خودمختار به دست آورده اند.
اما چرا StarCraft ؟ بازی ویدیویی از ویژگی های بارز همتایان خیالی خود برخوردار است: نزاع در دنیای پس از آخرالزمانی ، مسابقه ای برای ساختن خود به قدرتمندترین حریف و نبرد برای شکست دشمنان. اما به جای کنترل یک عامل تیرانداز اول شخص ، مانند بازی هایی مانند Halo یا Overwatch ، بازیکنان کل اقتصاد سازندگان ، مبارزان و سیستم های دفاعی را که به صورت سمبولیک کار می کنند ، مدیریت می کنند تا آنها را از دست ندهند.
اگرچه از نظر طبیعت خارق العاده ای است ، دنیای چند وجهی StarCraft پیچیدگی هایی را ایجاد می کند که که استفاده از بازی برای آموزش رایانه می تواند به محققان کمک کند تا ربات های بهتری با جلوه های دنیای واقعی بسازند.
پشت خود را تماشا کنید
آموزش الگوریتم های هوش مصنوعی برای به دست آوردن بازی ها در برابر انسان ها دارای سابقه طولانی است. حتی قبل از وجود رایانه ها ، مردم "ربات های" توهمی ایجاد می کردند که می توانست بازیکنانی را در بازی هایی مانند شطرنج شکست دهد . در سال 1997 ، IBM's Deep Blue قهرمان شطرنج جهان را شکست داد ، و الگوریتم های رایانه ای قدرتمند دیگری مانند AlphaZero و AlphaGo DeepMind ، در شکست اساتید ، از این درخواست پیروی کردند.
اما بازی های ویدیویی پیچیدگی را به سطح بعدی می رسانند. در StarCraft ، بازیکنان به عنوان یکی از سه مسابقه - Terran ، Protoss یا Zerg - هر یک از نقاط قوت و ضعف خاصی برخوردار هستند. به عنوان مثال ، Protoss مبارزان قدرتمند است . از طرف دیگر ، زرگ سریعترین سرعت را ایجاد می کند ، اما مبارزانی قوی نیستند ، بنابراین قدرت آنها به تعداد می رسد.
علاوه بر این که نقاط قوت و ضعف مسابقه خود را به سادگی انتخاب می کنید ، چندین جنبه را نیز کنترل می کنید: کارگرانی که منابع را جمع می کنند ، سازندگان سیستم های دفاعی را ایجاد می کنند و مبارزان به دشمنان حمله می کنند. شما باید مطمئن باشید که بازیکنان دیگر از نقاط ضعف شما استفاده نمی کنند.
از این جنبه ها ، محققان مطالعه می کنند که چگونه تکنیک های خاص منجر به موثرترین گیم می شوند. در سال 2011 ، David Churchill مقاله ای را در مورد نظم ساخت در StarCraft II نوشت ، و در مورد چگونگی اولویت بندی ایجاد منابع می تواند بر موفقیت در بازی تأثیر بگذارد.
David Churchill می گوید ، این تحقیق درک واضح تری از نحوه کار الگوریتم ها برای حل مشکلات در یک محیط شبیه سازی شده به ما می دهد.
David Churchill می گوید: "بازی روش خاصی برای بازی با هوش مصنوعی وجود دارد که اجازه می دهد تا توسط آن برای عموم مردم هضم شود." و بازی ها همچنین راهی برای آزمایش "هوش" یک الگوریتم ارائه می دهند - چقدر خوب آن را یاد می گیرد ، محاسبه می کند و دستورات را به صورت خودگردان انجام می دهد.
فراتر از هیئت مدیره
قبل از StarCraft ، David Churchill با الگوریتم هایی که برای شکست دادن board games طراحی شده بود ، سر و کار داشت. برنامه ای که وی برای پایان نامه دکتری خود ساخته بود به منظور برنده شدن در یک بازی به نام Ataxx ، یک بازی استراتژی به سبک بازی در دهه 1990 در یک بازی مجازی طراحی شده است. این اولین بار بود که وی برنامه ای را ایجاد می کرد که می توانست یک بازی بهتر از آنچه ممکن است انجام دهد.
از آن زمان ، تحقیقات David Churchill بر بازی های ویدئویی هوش مصنوعی متمرکز شده است ، و StarCraft مورد علاقه او است. یک عنصر که AI بازی board games را از AI بازی ویدیویی جدا می کند ، فریبنده و ساده است: توانایی بازیکن برای دیدن یکباره کل چشم انداز.
بر خلاف Ataxx ، شما نمی توانید کل نقشه را در StarCraft بدون پیمایش مشاهده کنید ، این امر باعث می شود توجه بیشتری به منابع خود داشته باشید. همچنین درک این موضوع که دشمن شما در حال طرح ریزی است دشوارتر می شود.
او می گوید: "شما نمی دانید دشمن شما چه کاری را انجام می دهد تا اینکه درست در کنار آنها بایستید." این یک نمایش نزدیکتر به زندگی واقعی است
و بازی هایی مانند چکرز یا شطرنج در زمان واقعی اتفاق نمی افتد - هنگامی که یک بازیکن حرکت کند ، هیچ محدودیتی برای حریف وجود ندارد. اما ، همانطور که David Churchill می گوید ، "در StarCraft ، اگر من شما را نکشم ، شما مرا می کشید."
او حتی آن را با چیزی به ظاهر ساده فوتبال مقایسه می کند. اگر در اطراف زمین ایستاده باشید ، بازیکنان همچنان به زدن توپ ادامه می دهند ، گل ها همچنان به گل می رسند و بازی به پیشرفت خود ادامه می دهد. همان مورد StarCraft - بدون توجه به اینکه نیروهای خود را از نزدیک حفظ می کنید یا به طور جدی با دشمنان خود می جنگید ، بازی با مداخله شما یا بدون شما ادامه خواهد یافت.
استفاده از بازی های پیچیده ای مانند StarCraft می تواند به دانشمندان در الگوریتم های آموزش مهارت های جدید در محیطی با متغیرهای زیادی کمک کند. David Churchill می گوید بازی های ویدئویی می توانند دروازه ای برای آموزش ماشین آلات باشند تا در تشخیص تصویر ، پیشنهادات جستجو یا هر الگوریتمی که باید در تصمیم گیری ها به انسان کمک کند ، بهتر باشند.او می گوید: "این سطح از پیچیدگی (در بازی ها) شروع می شود تا به آنچه در دنیای واقعی می بینیم نزدیک شود."
میدان جنگ
از سال 2011 ، David Churchill یک رویداد بین المللی سالانه به نام AIIDE StarCraft AI Competition را برگزار کرده است که در آن علاقه مندان به بازی و متخصصان بازی برای ساخت و آزمایش الگوریتم های بازی ها جمع می شوند. یکی از آن بازی ها StarCraft است ، اگرچه آنها به جای StarCraft II از StarCraft: Brood War به عنوان زمینه های آزمایش استفاده می کنند .
David Churchill می گوید ، اما امتیازاتی که تیم ها برای AIIDE ایجاد می کنند با پروژه هایی مانند AlphaStar متفاوت است. بعضی از آنها "هوش مصنوعی واقعی" یا ربات هایی هستند که از شبکه های عصبی برای یادگیری الگوها و دانش قبلی استفاده می کنند تا یک بازی را بدست آورند. برخی دیگر با قواعد كد شده سخت و ساده ای كه به یك واحد آموزش می دهند اگر یك اتفاق خاص در هنگام اجرای گیم اتفاق بیفتد ، از رویكرد ساده تری استفاده می كنند.
و هر ساله ، برگزارکنندگان قانونی را اجرا می کنند که تیم ها پس از مسابقه باید کد خود را از متن باز استفاده کنند. از این طریق ، رقبا می توانند بر اساس الگوریتم های گذشته ایجاد کنند تا ربات های خود را قوی تر ، باهوش تر و قدرتمندتر کنند.
David Churchill حتی با وجود AlphaStar در سرفصل ها ، می گوید که این رقابت جایی نمی رود. در حالی که تیم DeepMind میزان موفقیت بالای الگوریتم را بررسی می کند ، میزان منابع درج شده در پروژه به یک استاندارد قدرت می رسد که بسیار فراتر از توانایی های برنامه نویسان متوسط است.
برای اولین بار در عرضه AlphaStar، الگوریتم انجام با قابلیت های فوق العاده انسانی و مزایای خاصی نسبت به انسان داشت. به عنوان مثال ، کامپیوتر می تواند تمام واحدهای قابل مشاهده خود را بدون نیاز به حرکت در نقشه برای اجرای دستورات مشاهده کند ، و اقدامات را دقیق تر از یک بازیکن حرفه ای با کلیک بر روی ماوس انجام دهد.
بنابراین ، برای مقاله Nature ، DeepMind محدودیت هایی در توانایی کامپیوتر برای کنترل همزمان واحدهای خود ایجاد کرده است. محدودیت های دیگر در مورد سرعت و توانایی های برنامه از ابتدا وجود داشت تا بتواند آن را در یک سطح نزدیک تر به یک بازیکن انسانی قابل رقابت کند. اما حتی با وجود مرزها ، AlphaStar هنوز هم قادر به شکست حرفه ای ها بود.
قدرت پشت دستگاه از هر بات StarCraft که قبلاً ایجاد شده بود ، قوی تر بود . DeepMind چندین بازیکن خودکار را برای تخصص در مسابقات خاص ایجاد کرد و هر یک از آنها را به مدت 44 روز در تماشای تکرار بازی های انسانی آموزش داد. قدرت پردازش توسط نسل سوم پردازش Tensor Google (TPU) پشتیبانی شده است ، یک تراشه بسیار قدرتمند که در برنامه های یادگیری دستگاه خود برای برنامه هایی مانند Google Translate استفاده می شود.
AlphaGo ، الگوریتمی که توسط DeepMind برای شکست دادن بازی روی صفحه Go طراحی شده است ، از 4 TPU استفاده می کند . از طرف دیگر AlphaStar از 32 استفاده می کند.
David Churchill می گوید: "آنچه آنها ایجاد كرده اند الگوریتمی است كه فقط DeepMind می تواند از آن استفاده كند." برای او ، چالش بعدی این است که محققان الگوریتم های بازی را کم کنند تا آنها کمی انرژی کمتری به خرج دهند و کمی ظریف تر کار کنند.
بازیهای تیمی ، برخلاف نبردهای یک به یک ، همچنین می توانند یک چالش جدید برای رباتهای بدون سرنشین باشند. و چون الگوریتم ها همچنان با بازیکنان بشر به هم می پیوندند ، ممکن است زمانی وجود داشته باشد که انسان و هوش مصنوعی در یک تیم بازی کنند.
اما در حال حاضر ، بازی هایی مانند StarCraft در تحقیقات در مورد چگونگی یادگیری ماشین می تواند مشکلات پیچیده ای را تجربه کند. برای David Churchill ، دنیای خیال و واقعیت تقریباً غیرقابل تشخیص است.
David Churchill می گوید: "این همه این جوانب مثبت و منفی ، تبعات و منافع است." همه افراد چیزی را دارند که می خواهند حداکثر کنند ... شما در بازی حداکثر رساندن اعداد هستید. این همان کاری است که ما در بازی ها انجام می دهیم. "