Наука 2019-12-04 15:37 Катерина Койдан

Як алгоритми перемагають людей у відеоіграх

У галузі штучного інтелекту є алгоритми, що навчаються через систему винагород та штрафів. Ці алгоритми вже перемагають професійних гравців у StarCraft, Dota 2 та дуже непрості китайські шашки ґо.
Алгоритми штучного інтелекту можуть навчатися по-різному. Наразі найчастіше до реального впровадження доходять алгоритми, навчені на розмічених людьми базах даних. Наприклад, люди за невелику оплату розмічають сотні тисяч фотографій з пішоходами, і на основі цих даних алгоритми, які згодом використовуються у безпілотних автомобілях, навчаються розпізнавати пішоходів. Такий спосіб навчання продемонстрував свою ефективність для тренування алгоритмів з виконання певних дуже вузьких задач. Однак, цей спосіб навряд чи дозволить машинам досягти рівня «інтелекту», співставного з людським – людина одночасно обробляє стільки різної інформації і виконує настільки комплексні задачі, що важко уявити бази даних, які б змогли відтворити увесь цей масив інформації.
 
 
Тож, вчені шукають інші шляхи до створення «справжнього» штучного інтелекту. В цьому плані багато експертів покладають надії на «навчання з підкріпленням» (англ. reinforcement learning). В цій галузі машинного навчання, алгоритми, або агенти, знаходяться в певному середовищі і виконують дії, які б дозволили їм максимізувати винагороду. Завдання розробників цих алгоритмів побудувати систему винагород та штрафів таким чином, щоб агент якнайшвидше виконав поставлену задачу. Наприклад, якщо ми хочемо навчити такий алгоритм грати в шахи, то будемо віднімати бали від загальної винагороди, коли він втрачатиме власні фігури, і винагороджуватимемо за вдалі ходи.
 
 
 
 
Оскільки крім штрафів та винагород, ми не даємо агенту жодних підказок щодо успішної гри у шахи, можете собі уявити, скільки невдалих спроб йому необхідно зробити поки він нарешті «зрозуміє», що від нього вимагається переставляти фігури на пусті клітинки, згідно чітких правил, окремих для різних фігур, і при цьому ще й так вести гру, щоб виграти у суперника. Насправді, агент зазвичай робить багато мільйонів різних дій, поки починає орієнтуватися у новому завданні.
Як ви розумієте, на практиці усі ці спроби мали б займати нереально багато часу. Тому таких агентів тренують у симульованому середовищі, де мільйони спроб можна здійснити за кілька годин чи днів, залежно від завдання. На жаль, далеко не у всіх сферах можливе навчання у симульованому середовищі, а отже і агенти, що навчаються з підкріпленням, наразі використовуються переважно в робототехніці та іграх. Ось кілька найбільш цікавих прикладів.
 
 
AlphaGo Zero
 
 
Шашки ґо – це стародавня китайська настільна гра, що вимагає неабиякого стратегічного мислення. Дуже довгий час вона була не під силу жодним комп’ютерним програмам, але у 2016 компанія DeepMind, що належить Google, змінила ситуацію, представивши алгоритм AlphaGo, який вивчивши 100 тисяч ігор між людьми, зміг перемогти професійних гравців. У 2017 році вони ж представили удосконалену версію цього алгоритму – AphaGo Zero. На відміну від свого попередника, цей алгоритм не використовував досвід інших ігор у своєму навчанні, а отримав за основу лише базові правила гри. Далі, алгоритм фактично грав сам із собою протягом 40 днів поки не досяг такого рівня майстерності, який дозволяв би йому з легкістю обігравати найкращих гравців у шашки ґо. До речі, нещодавно, чемпіон з ґо Лі Седол залишив кар’єру професійного гравця, оскільки вважає її безнадійною через перевагу штучного інтелекту: «Навіть якщо я буду номером один, є річ, яку неможливо перемогти».
 
 
 
 
Dota 2
 
Штучний інтелект навчився перемагати людей не лише в настільні ігри, а й в досить складні комп’ютерні ігри. Так, в квітні цього року, компанія OpenAI, заснована Ілоном Маском, представила свій алгоритм, який досяг неабияких успіхів у такій непростій відеогрі, як Dota 2, перемігши команду, яка посіла перше місце у щорічному міжнародному турнірі з Dota 2. Однак, аби досягти такого результату, алгоритму фактично довелось 45 тисяч років безперервно грати у Dota 2, звичайно ж у симульованому середовищі.
 
 
 
AlphaStar
 
StarCraft II став ще однією відеогрою, де штучний інтелект зміг перемогти топових гравців. Коли відповідний алгоритм AlphaStar був представлений компанією DeepMind у січні цього року, він зміг перемогти у 10 іграх поспіль, але все ж таки програв у фінальній грі одному з професійних гравців. Звичайно ж, аби досягти такого рівня, алгоритму довелося кілька мільйонів разів зіграти у StarCraft II, отримавши досвід недоступний жодній людині. І це ще не все – AlphaStar критикували за нерівні умови гри, бо алгоритм мав доступ до усієї карти, а не лише тієї частини, що доступна через огляд камери. Ну і звичайно, машина може реагувати набагато швидше, ніж людина. У компанії дослухались до критики, і нещодавно представили оновлену версію алгоритму, яка має обмежений доступ до карти, так само як звичайні гравці, та може робити не більше 22 різних дій протягом кожних 5 секунд гри, що є співставним зі стандартною людською реакцією. Відповідно до результатів онлайн-змагань, AplhaStar переграє 99.8% гравців у StarCraft II.