شکست انسان از کامپیوتر در سختترین بازی دنیا
هجده سال پیش یک کامپیوتر توانست «گری کاسپاروف» (Garry Kasparov) قهرمان شطرنج جهان را شکست دهد. او در سال ۱۹۹۷ اولین قهرمان شطرنجی بود که بازی را به ابر کامپیوتر شرکت IBM به نام «دیپ بلو» (Deep Blue) باخت. حالا کامپیوتری توانسته در بازی باستانی چینی «گو» (Go) یک بازیکن حرفهای را ببرد. این بازی آنقدر پیچیده است و به توان پردازشی زیادی احتیاج دارد که یک دههی پیش کسی فکر نمیکرد کامپیوتر بتواند یک فرد حرفهای در این بازی را ببرد. ولی نکتهی مهم این است که ابر کامپیوتر بازی را نه با استفاده از توان پردازشی زیاد، بلکه با استفاده از «توان یادگیری» برده است. این کامپیوتر توانسته بازی را یاد بگیرد، خیلی شبیه به انسانها فکر کند و در نتیجه یک بازیکن حرفهای را شکست دهد.
«رمی کولوم» (Remi Coulom) که یک محقق حوزهی هوش مصنوعی در فرانسه است و قبلا بهترین بازی کامپیوتری «گو» به نام «کریزی استون» (Crazy Stone) را نوشته میگوید: «افراد خیلی زیادی شوکه شدند چرا که بعضیها برای سالها سعی میکردند بگویند در بازی گو هیچوقت کامپیوتر نمیتواند بر انسان پیروز شود.» «جاناتان شافر» (Jonathan Schaeffer) که یک دانشمند علوم رایانه در دانشگاه آلبرتای کانادا است، این رویداد را خیلی بزرگ و شگفتانگیز میداند.
هرچند گفتیم بازی گو پیچیده است، ولی در حقیقت قوانین خیلی سادهای دارد. بازی تختهای دارد که روی آن یک شبکهی ۱۹ در ۱۹ رسم شده است. بازی دو نفره است و یک نفر مهرههای سفید و نفر دوم مهرههای سیاه دارد. آنها باید به نوبت مهرههای خود را روی تقاطع بین هر چهار خانه قرار دهند. در حقیقت تعداد تقاطعها در هر ردیف ۱۹ عدد است نه تعداد خانهها. هرکدام از بازیکنها باید سعی کند با استفاده از مهرههای خودش، مهره یا زنجیرهای از مهرههای حریف را به طور کامل محاصره کند و در عین حال نگذارد مهرههای خودش محاصره شوند. مهرههای محاصره شده از روی تخته برداشته میشوند و در نهایت بازیکنی برنده است که مهرههای بیشتری روی تخته داشته باشد.
علیرغم این قوانین ساده، استراتژیهای برنده شدن در بازی پیچیده هستند. آنالیز کامپیوتری این بازی به دو دلیل اصلا کار سادهای نیست. نخست اینکه تخته خیلی بزرگ و تعداد حرکتهای ممکن برای مهرهها به اعداد نجومی میرسد. مثلا در ابتدای شروع بازی، هر بازیکن تقریبا ۳۶۰ انتخاب برای قرار دادن هرکدام از مهرههای خود دارد. بنابراین بعد از پنج دست بازی کردن، تختهی بازی میتواند بیش از پنج تریلیون آرایش مختلف از مهرهها به خود دیده باشد. در کل تعداد حالتهای قرارگیری مهرهها روی تخته به چیزی بیش از ۱۰ به توان ۱۰۰ حالت میرسد. حساب کردن این همه حالت برای کامپیوتر تقریبا کار غیر ممکنی است.
نکتهی بعدی این است که تخمین برتری مهرههای سفید یا سیاه نسبت به یکدیگر، هر بار که آرایش مهرهها روی تخته عوض میشود کار مشکلی است. برای مثال در شطرنج، بازیکن یا رایانه میتواند هر بار که چینش مهرهها عوض میشود، به طور تخمینی موقعیت قوت یا ضعف مهرههای خود را بسنجد. سادهترین حالت این است که مثلا ببینید چند مهره از دست دادهاید و چند مهره از حریف بیرون انداختهاید. ولی این تخمین لحظهای در بازی گو خیلی کار مشکلتری است.
بازیهای کامپیوتری گو، معمولا تمرکز کمتری روی ارزیابی شرایط لحظهای تخته دارند و بیشتر روی سرعت بخشیدن به شبیهسازی بازی تمرکز میکنند. بازی کریزی استون از یک الگوریتم محاسبه به نام «جستجوی درختی مونته کارلو» (a Monte Carlo Tree Search) استفاده میکند که به جای تلاش برای محاسبهی هر توالی ممکن از بازی، فقط بعضی از آنها را در نظر میگیرد. برنامه این کار را هر بار با استفاده از یک تولید کنندهی اعداد تصادفی و برای انتخاب بین حرکتهای ممکن انجام میدهد. «برونو بوزی» (Bruno Bouzy) که یک دانشمند علوم رایانه در دانشگاه دکارت پاریس است میگوید بازی کامپیوتری کریزی استون تا به حال توانسته بازیکنهای قوی زیادی را شکست دهد. با این حال فقط در صورتی که به برنامه اجازه داده شود سه یا چهار مهرهی اول را خودش قرار دهد.
ولی اکنون «دیوید سیلور» (David Silver)، «دمیس هاسابیس» (Demis Hassabis) و هجده دانشمند علوم رایانهی دیگر در شرکت «گوگل دیپ مایند» (Google DeepMind) برنامهای نوشتهاند که توانسته از پس همهی چالشهای بازی گو برآید. برنامهای که آنها نوشتهاند «آلفا گو» (AlphaGo) نام دارد و به جای اینکه به صورت تصادفی توالی حرکتها را بررسی کند، یاد میگیرد که چگونه باید بین یک حرکت خوب و یک حرکت بد تمایز قائل شود و بدین ترتیب سعی کند مهرههای خود را روی تخته در موقعیت برتر قرار دهد. برای انجام این کار، برنامه از الگوریتمی به نام «شبکهی عصبی ژرف» (Deep neural networks) استفاده میکند. این شبکهی نورونهای مصنوعی میتواند شبیه به شبکهی ارتباطی بین نورونهای عصبی در مغز انسان عمل کند و آن طور که گروه پژوهشی میگوید، توانایی یاد گرفتن دارد.
این شبکه از لایههای به هم مرتبط شبیه به نورونهای عصبی انسان تشکیل شده است. یک نورون مصنوعی در این شبکه میتواند باعث فعال شدن نورون دیگر شود یا از فعال شدن آن جلوگیری کند. وقتی سامانه، ارتباطات بین نورونها را تنظیم میکند، یادگیری اتفاق میافتد. برای مثال آلفا گو از یک «شبکهی سیاست» (Policy Network) برای قضاوت خوب یا بد بودن حرکت مهرهها استفاده میکند. لایهی پایینی شبکه از یک آرایهی ۱۹ در ۱۹ نورونها تشکیل شده که خیلی ساده تصویری از وضعیت آرایش تخته میسازد و از آن به عنوان ورودی استفاده میکند. لایهی بالایی از آرایهای مشابه تشکیل شده که همهی مکانهای ممکن برای قرار دادن مهرهی بعدی و احتمال انجام هرکدام از آن حرکات را نشان میدهد. در بین آنها یازده لایهی دیگر وجود دارد.
هدف این است که شبکه بتواند به صورت خودکار بهترین حرکت بعدی را نسبت به پیکربندی اولیه انجام دهد. برای تمرین دادن شبکه، پژوهشگران دادههای ۳۰ میلیون آرایش اولیهی مهرهها روی تخته و نحوهی بازی بازیکنهای حرفهای را به برنامه دادند. سپس آنها به برنامه اجازه دادند از طریق بازی کردن با خودش، به نوعی خودآموزی کند. آلفا گو توانست با استفاده از کسب تجربه، حرکت خوب را نسبت به حرکت بد تشخیص دهد. هاسابیس میگوید: «ما سامانه را طوری طراحی کردهایم که خیلی شبیه به انسان بازی میکند.»
پژوهشگران یک «شبکهی ارزش» (Value Network) نیز طراحی کردند که با در نظر گرفتن پیکربندی تخته، میتواند بسنجد که آیا گروه مهرههای سفید در موقعیت برتر هستند یا گروه مهرههای سیاه و تخمین بزند که در نهایت کدام تیم میتواند بازی را ببرد. برای تمرین دادن آن، پژوهشگران شبکهی ارزش را با پیکربندیها و خروجی بازیهایی که آلفا گو با خودش انجام داد آشنا کردند. شبکهی ارزش باعث شد آلفا گو بتواند سریعتر بازی کند. آلفا گو برخلاف جستجوی درختی مونته کارلو که سناریوهای زیادی را برای رسیدن به آخر بازی امتحان میکرد، میتواند با چند حرکت محدود بازی را پیش ببرد و از شبکهی ارزش برای حدس نتیجهی نهایی استفاده کند.
آلفا گو به راحتی توانست کریزی استون و دیگر برنامههای کامپیوتری بازی گو را شکست دهد. این برنامه توانست وقتی که بر روی یک کامپیوتر پرقدرت اجرا میشود، ۹۹٫۸ درصد بازیها را ببرد و وقتی روی چند کامپیوتر اجرا میشود، ۱۰۰ درصد بازیها را ببرد. در ضمن توانست «فن هوی» (Fan Hui) که یک بازیکن حرفهای البته با رنکینگ پایین است و در سال ۲۰۱۳ توانسته بود قهرمان اروپا شود را پنج بار پشت سرهم و بدون باخت ببرد. البته هوی توانسته بود دو تا از پنج بازی غیر رسمی که قبلش با این برنامه انجام داده بود را برنده شود. آلفا گو قرار است در ماه مارس امسال با یک بازیکن حرفهای با رنکینگ بالا بازی کند. آن بازیکن «لی سدول» (Lee Sedol) از کرهی جنوبی است که بالاترین رده را در بین دیگر بازیکنان دارد. سیلور میگوید: «او راجر فدرر بازی گو است!»
شافر میگوید که آلفا گو یک پیشرفت خیلی بزرگ است. به خصوص که از ابزارهای کاملا خودکار آموختن استفاده میکند، نه فقط از برنامهنویسی یا قدرت پردازشی. او میگوید: «این یک پیشرفت تدریجی نیست. این یک جهش بزرگ رو به جلو است.» کولوم نیز با او موافق است ولی اشاره میکند این یک ابداع نیست که باعث شده کل برنامه کار کند و بیشتر شبیه به یک دستاورد بزرگ مهندسی است.
شبکههای عصبی ژرف و یادگیری ژرف در حال پیدا کردن جایگاه خود در استفاده در حوزههایی مثل تشخیص الگو، ترجمهی خودکار، تشخیصهای پزشکی و دستیارهای مجازی گوشیهای هوشمند هستند. بنابراین مفاهیم آلفا گو همین الان در اطراف ما وجود دارد. دانشمندان علوم کامپیوتر پیشبینی میکنند که حتی اگر آلفا گو سدول را ببرد، مثل باخت گری کاسپاروف از شطرنجباز کامپیوتری، شوکه کننده نیست. چرا که مردم کمکم فهمیدهاند کامپیوترها چقدر قدرتمند هستند و میتوانند بر انسانها پیروز شوند. با این حال هنوز جاهای زیادی وجود دارد که انسانها برنده میشوند. از جمله بازیهای کامپیوتری که خیلی پیچیده هستند، کاراکترها و اکشنهای زیادی دارند و در فضای آنها میتوان به مکانهای زیادی رفت. هنوز مغز یک انسان ۱۳ ساله میتواند در بازیهای ویدیویی بهتر از کامپیوتر عمل کند.