fbpx

DOTA – перфектната среда за развитие на алгоритми

С напредването в развитието на информационните технологии, компютрите стават все по-добри от нас в изпълнението на различни, все по-сложни задачи. Игри като DOTA представляват добра, контролирана среда за разработването на ИИ, тъй като са невероятно сложни и изискват адаптивност към всяка определена ситуация, за да се стигне до оптимална игра.

В миналото играта, която се използваше за разработка и развитие на алгоритми беше шахът. За разлика от DOTA обаче шахът е игра с пълна информация. Това значи, че всеки един от играчите знае всичко за състоянието на играта, не само положението и вида на своите фигури, но и на тези на противника. Това прави изчисленията сравнително по-прости, тъй като има краен брой възможности за всеки играч и двамата играчи могат с „поглед“ да ги преценят (ако имат достатъчно изчислителна способност).

При DOTA обаче противниците се виждат, само ако „се бият“ с твои съюзници или се опитват да атакуват твоя структура. Освен това е трудно да разбереш какви точно са им точките сила, защита живот, както и да се определят редица други важни за играта променливи, например дали могат да използват определена магия или ефект на свой предмет. Освен това DOTA е отборна игра и отбор от петима играчи се изправя срещу друг такъв, което значи, че не само трябва да се справиш със скритата информация за всеки един от играчите, но и за комбинациите, които могат да използват. С две думи DOTA е в пъти по сложна от шаха, що се отнася до изчисляването на оптимална игра.

Екипът на OpenAI решава да раздели проблема на няколко части и да използва така нареченият Reinforcement Learning Algorythm, за да ги реши. Първо те правят изкуствен интелект, който да се научи да играе на така нареченото 1в1, тоест само един играч срещу друг до първо убийство, кула или определено количество злато.

Това беше постигнато на 11 август 2017 г., – „този основен етап показа, че нашата система за DOTA е научила механичните правила на играта на световно-конкурентни нива в този 1в1 мач – използвайки една от трите линии в една от трите фази на играта, обикновено с продължителност 10 и не повече от 45 минути, използвайки само един герой и без неутрални противници“. От цитата се разкриват и други сложни аспекти на играта, които учените решили да пренебрегнат, поради факта, че тя ще стане твърде сложна за решаване от алгоритъма на този етап.

Втората стъпка е да се победи отбор от петима играчи с отбор от пет изкуствени интелекта. След постигането на богоподобен статус от играта DOTA, тези мачове не се играят в някой компютърен клуб, а на сцени, като всеки друг модерен спорт.

OpenAI Five загуби две игри срещу топ играчи на DOTA 2 на “International 2018” – турнир във Ванкувър на ограничени 5в5 (18 героя, без руна за илюзии и множество забранени предмети).

Въпреки това победата бе постигната на 13 април тази година – OpenAI Five е първият изкуствен интелект, който е победил световните шампиони в игра със статут на електронен спорт, като спечели две мача срещу световния шампион на DОТА 2 – отборът OG.

Но как работи OpenAI Five? Това е екип от пет изкуствени невронни мрежи, за които можете да мислите като за симулирани „мозъци“, които са проектирани така, че да бъдат добри в изучаване на DОТА, но да започнат без никакви знания за играта. Общо взето, единственото, което знаят е, че „е лошо да се умира и е хубаво да се взима злато от различни източници“. OpenAI Five вижда света като списък от 20 000 числа, които кодират видимото състояние на играта (ограничен до информацията, на която е разрешено да вижда човек) и избира действие, като излъчва списък от 8 числа. Екипът на OpenAI пише код, който измисля връзка между състоянието/действията на играта и списъците с числа. Веднъж обучени, тези невронни мрежи са създания с чист инстинкт, които прилагат памет, но иначе не учат по-нататък. „Те играят като екип, но ние не проектираме специални комуникационни структури – само им предоставяме стимул.“

„Невронните мрежи на OpenAI Five започват със случайни параметри и използват нашата система за обучение с общо предназначение „Rapid“, за да научат по-добри параметри.“ „Rapid“ разполага с OpenAI Five копия за игра, генерирани 180 години данни за игра, всеки ден в десетки хиляди едновременни игри, консумиращи 128 000 CPU ядра и 256 GPU, ядра. Във всеки кадър на играта „Rapid“ изчислява числова награда, която е положителна, когато се е случило нещо добро (напр. Съюзнически герой е придобил опит) и отрицателна, когато се е случило нещо лошо (напр. Съюзнически герой е убит). „След това „Rapid“ прилага нашия алгоритъм за оптимизиране на проксимални политики, за да актуализира параметрите на невронната мрежа, като прави действията – възникнали преди положителното възнаграждение – по-вероятни, а тези преди отрицателна награда – по-малко вероятни.“

Точно както хората не планират мускулните си движения, докато съставят програма за деня си, общността (включена OpenAI) очакваше дългосрочното планиране да изисква алгоритми, които поотделно обработват краткосрочни и дългосрочни планове – може би чрез йерархично обучение за подсилване на пробив. Но въпреки много простия си основен алгоритъм, OpenAI Five научава стратегии на професионално ниво от нулата – без да има предоставени човешки данни.




Имате възможност да подкрепите качествените анализи, коментари и новини в "Икономически живот"