Машинско учење во видеоигри

Во видеоигрите, различни техники за вештачка интелигенција се користеа на различни начини, почнувајќи од контролата на non-player character (NPC) до  procedural content generation(PCG). Машинското учење е подмножество на вештачката интелигенција која се фокусира на користење алгоритми и статистички модели за да ги натера машините да дејствуваат без специфично програмирање. Ова е во строг контраст со традиционалните методи на вештачка интелигенција, како што се стеблото за пребарување и стручните системи .

Информациите за техниките за машинско учење од областа на игрите се претежно познати на јавноста преку истражувачки проекти бидејќи повеќето компании за игри избираат да не објавуваат специфични информации за нивната интелектуална сопственост . Најпознатата јавна примена на машинското учење во игри е веројатно употребата на deep learning agents кои се натпреваруваат со професионални играчи во сложени стратешки игри . Постои значителна примена на машинско учење во игри како што се Atari / ALE, *[[Doom (видеоигра)|Doom]]*, *Minecraft*, *StarCraft* и во игрите со автомобилски трки. Другите игри што првично не постоеле како видео игри, како што се шахот и Go, исто така се погодени од машинското учење.

## Преглед на релевантни техники за машинско учење
[мини| Вештачката невронска мрежа е меѓусебно поврзана група на јазли, слично на огромната мрежа на [неврони во мозокот. Тука, секој кружен јазол претставува вештачки неврон и секоја стрелка од сликата претставува врска од излезот на еден вештачки неврон до влезот на друг.]]

### Длабоко учење
Длабокото учење е подмножество на машинско учење кое најмногу се фокусира на употребата на вештачки невронски мрежи (ANN) кои учат да решаваат сложени задачи. Длабокото учење користи повеќе слоеви на ANN и други техники за постепено извлекување информации од влез. Поради овој сложен слоевит пристап, моделите за длабоко учење често бараат моќни машини за обука и работа.

#### Конвулутивни нервнонски мрежи
Конвулутивни нервнонски мрежи (CNN) се специјализирани ANN кои често се користат за анализа на податоците за сликата. Овие типови мрежи се во можност да научат непроменливи образци во преводот, кои се модели кои не зависат од локацијата. CNN се во можност да ги научат овие обрасци во хиерархија, што значи дека претходните слоеви на конволуција ќе научат помали локални обрасци, додека подоцнежните слоеви ќе научат поголеми модели засновани врз претходните обрасци. Способноста на CNN да научи визуелни податоци ја направи најчесто користена алатка за длабоко учење во игри.

### [[Рекурентни невронски мрежи]]
Рекурентни невронски мрежи се вид на ANN кои се дизајнирани да обработуваат низи на податоци по ред, еден дел одеднаш, отколку сите одеднаш. RNN работи преку секој дел од низата, користејќи го тековниот дел од низата заедно со меморијата на претходните делови од тековната низа за да произведе излез. Овие типови на ANN се многу ефикасни во задачите како што се препознавање на говор и други проблеми кои во голема мера зависат од временскиот рапоред. Постојат неколку видови на RNN со различни внатрешни конфигурации; основната имплементација страда од недостаток на долгорочна меморија поради исчезнувачкиот проблем со градиент, па затоа ретко се користи во поновите имплементации.

#### Долга краткорочна меморија
Долгата краткорочна мемориска мрежа (LSTM) е специфична имплементација на RNN која е дизајнирана да се справи со исчезнувачкиот проблем со градиент  што се гледа во едноставни RNN, што би довело до постепено да „заборават“ на претходните делови од внесената низа при пресметување излезот на тековниот дел. LSTM-овите го решаваат овој проблем со додавање на елаборатен систем што користи дополнителен влез / излез за да ги следи долгорочните податоци. LSTM имаат постигнато многу силни резултати во различни области и ги користеа неколку монументални агенти за длабоко учење во игри.

### Reinforcement learning
Reinforcement learning е процес на обука на агент кој користи награди и / или казни. Начинот на кој агентот е награден или казнет зависи во голема мера од проблемот; како што е давање позитивна награда на агент за победа во игра или негативна за пораз. Засилувачкото учење се користи во голема мера во областа на машинското учење и може да се види во методи како што се Q-learning, policy search, Deep Q-мрежи и други. Тоа забележа силни перформанси и во областа на игрите и роботиката .

### Невронска еволуција
Невронска еволуција вклучува употреба на нервнонски мрежи и evolutionary algorithms . Наместо да се користи спуштање по градиент како повеќето невронски мрежи, моделите на невронската еволуција користат еволутивни алгоритми за ажурирање на невроните во мрежата. Истражувачите тврдат дека овој процес е помалку веројатно да заглави во локален минимум и е потенцијално побрз од најнапредните техники за длабоко учење.

## Агенти за длабоко учење
Агентите за машинско учење се користеле за да го заземат човечкиот плеер наместо да функционираат како NPC, кои намерно се додаваат во видео игрите како дел од дизајнираната игра . Агентите за длабоко учење постигнале импресивни резултати кога се користеле во конкуренција и со луѓе и со други агенти за вештачка интелигенција.

### Шах
Шахот е стратешка игра, која се смета за тежок проблем со АИ, заради компјутерската комплексност на нејзиниот простор. Слични игри со стратегија често се решаваат со некоја форма на пребарување со Minimax дрвото за пребарување. Познато е дека овие типови агенти за АИ ги победуваат професионалните играчи на луѓе, како што е историскиот натпревар „ Дип Блу“ против Гари Каспаров во 1997 година Оттогаш, агентите за машинско учење покажале сè поголем успех од претходните агенти за ВИ.

### Go
Go е друга стратешка игра која се смета за уште потежок проблем со AI, отколку шахот. Државниот простор на е Go е околу 10 ^ 170 можни табли во споредба со 10 ^ 120 табли за шах. Пред неодамнешните модели на длабоко учење, агентите на AI Go биле во можност да играат само на ниво на човечки аматер.

#### AlphaGo
Гугл „ AlphaGo “ 2015  била првиот агент за АИ кој победи професионален играч на „Go“. AlphaGo користела модел на длабоко учење за да ги обучи тежините за пребарување на дрво во Монте Карло (МЦТС). Моделот за длабоко учење се состоел од 2 ANN, мрежа за политики за предвидување на веројатноста за потенцијални потези од страна на противниците и мрежна вредност за предвидување на шанса за победа на дадена држава. Моделот за длабоко учење му овозможува на агентот поефикасно да ги истражува потенцијалните состојби на играта отколку ванилин МЦТС. Мрежата првично била обучувана за игри на играчи луѓе, а потоа била дополнително обучени од игри против себе.

#### AlphaGo Zero
AlphaGo Zero, друга имплементација на AlphaGo, била во можност да тренира целосно играјќи против себе. Можела брзо да се обучи до можностите на претходниот агент.

### Серија ''StarCraft''
*StarCraft* и неговото продолжение *StarCraft II: Wings of Liberty* се видео игри со стратешка реалност (РТС) кои станаа популарни средини за истражување на АИ. Blizzard и DeepMind работеа заедно за ослободување на јавна околина на *StarCraft 2* за истражување на АИ. Различни методи на длабоко учење се тестирани на двете игри, иако повеќето агенти обично имаат проблем да го надминат стандардниот АИ со можни измами или квалификувани играчи на играта.

#### Alphastar
Алфастар е првиот агент за АИ кој победил професионални играчи на *StarCraft 2* без никакви предности во играта. Длабоката мрежа за учење на агентот првично добила влез од поедноставена зумирана верзија на гемастетот, но подоцна била ажурирана за да може да игра со помош на камера како другите играчи на луѓе. Програмерите јавно не го објавиле кодот или архитектурата на нивниот модел, но навеле неколку најсовремени техники за учење во машина, како што се релативно учење за длабоко засилување, долга краткорочна меморија, глави за авторегресивни политики, мрежи за покажувачи и централизирана вредност основна линија Алфастар првично бил обучуван со надгледувано учење, гледаше репризи на многу човечки игри со цел да научи основни стратегии. Потоа се обучил против различни верзии за себе и се подобрил преку reinforcement learning. Конечната верзија била исклучително успешна, но само обучена да игра на одредена мапа во средба со огледало протос.

### ''Dota 2''
*[[Dota 2]]* е игра со повеќе играчи во борбена арена (МОБА). Како и другите сложени игри, традиционалните агенти за вештачка интелигенција не биле во можност да се натпреваруваат на исто ниво со професионалниот играч на луѓе. Единствената широко објавена информација за агентите за вештачка интелигенција што ја обидоа *Дота 2* е длабоко учење на Агентот на Пет агенти на АНА .

#### OpenAI Five
OpenAI Five користела одделни LSTM-мрежи за да научи секој херој. Таа тренирала со употреба на техника на reinforcement learning  позната како Проксимално учење на политиките што работи на систем кој содржи 256 графички обработувачи и 128.000 обработувачи јадра. Петмина обучени со месеци, акумулирајќи 180 години искуство во играта секој ден, пред да се соочат со професионални играчи. На крајот била во можност да го победи тимот шампион на Dota ''2'' во 2018 година во серија игри.

### ''Планетарно уништување''
*Планетарното уништување* е стратешка игра во реално време, која се фокусира на масовна војна. Програмерите користат ANN во нивниот стандарден Интелигентен агент.

### Врховен командант 2
Врховен командант 2 е стратегиска игра во реално време (СРВ). Играта користи повеќеслојни перцептрони (MLP) за да ја контролира реакцијата на водот на непријателските единици. Се користат вкупно четири МПП, по еден за секој тип вод: копно, морнарица, бомбардер и ловец.

### Генерализирани игри
Имало обиди да се направат агенти за машинско учење кои се во состојба да играат повеќе од една игра. Овие „општи“ агенти за игри се обучени да разбираат игри засновани на споделени својства меѓу нив.

#### Alpha Zero
Alpha Zero е изменета верзија на AlphaGo Zero која може да игра Shogi, шах и Go . Изменетиот агент започнува без само основни правила за информации на играта, а исто така се обучува целосно преку самостојно учење. DeepMind беше во можност да го обучи овој генерализиран агент да биде конкурентен со претходните верзии на себе на Go, како и со врвните агенти во другите две игри.

### Силни и слаби страни на агентите за длабоко учење
Агентите за машинско учење честопати не се опфатени на многу курсеви за дизајн на игри. Претходната употреба на агенти за машинско учење во игри можеби не била многу практична, бидејќи дури и верзијата на AlphaGo за 2015 година однесе стотици обработувачи и графички обработувачи да се обучат на силно ниво. Ова потенцијално го ограничува создавањето на високо ефективни агенти за длабоко учење кај големите корпорации или исклучително богатите поединци. Обемното време за обука на пристапи засновани на невронска мрежа, исто така, може да трае со недели на овие моќни машини.

Проблемот на ефикасно обучување на модели засновани на ANN се протега надвор од моќните хардверски средини; наоѓањето добар начин да се претстават податоците и да се научат значајни работи од нив, исто така, често е тежок проблем. ANN моделите честопати се совпаѓаат со многу специфични податоци и слабо се одвиваат во поопшт случај. AlphaStar ја покажува оваа слабост, и покрај тоа што може да победи професионални играчи, тоа е во состојба да го стори само на една мапа кога играте средба со протоко огледало. OpenAI Five исто така ја покажува оваа слабост, тој беше во можност да го победи професионалниот играч само кога се соочува со многу ограничен базен на херои од целата игра. Овој пример покажува колку е тешко може да се обучи агент за длабоко учење за да се изведува во по генерализирани ситуации.

Агентите за машинско учење покажаа голем успех во различни игри. Сепак, агентите кои се премногу компетентни, исто така, ризикуваат да ги направат игрите премногу тешки за нови или обични играчи. Истражувањата покажаа дека предизвикот што е премногу над нивото на вештина на играчот, ќе го уништи пониското уживање во играчот. Овие високо обучени агенти најверојатно се пожелни само против многу квалификувани човечки играчи кои имаат многу часовно искуство во дадена игра. Со оглед на овие фактори, високо делотворните агенси за длабоко учење веројатно се само посакуван избор во игрите кои имаат голема натпреварувачка сцена, каде што тие можат да функционираат како алтернативна опција за вежбање на квалификуван човечки играч.

## Компјутерски играчи засновани на визија
Компјутерската визија се фокусира на обука на компјутери за да се добие разбирање на високо ниво на дигитални слики или видеа. Многу техники за компјутерско гледање, исто така, вклучуваат форми на машинско учење и се применуваат на разни видео игри. Оваа апликација на компјутерска визија се фокусира на толкување на настани во играта користејќи визуелни податоци. Во некои случаи, агентите за вештачка интелигенција користеле model-free техники да научат да играат игри без никаква директна врска со внатрешната логика на играта, само користејќи видео-податоци како влез.

### ''Pong''
Андреј Карпати покажал дека релативно тривијалната невронска мрежа со само еден скриен слој е способна да биде обучена да игра *[[Понг|понг само]]* врз основа на податоците од екранот.

### Atari games
Во 2013 година, тим од DeepMind демонстрираше употреба на длабоко Q-учење за играње на различни видео игри Атари &mdash; *Beamrider*, *Breakout*, *Enduro*, *[[Понг|Pong]]*, *Q * bert*, *Seaquest* и *Space Invaders* &mdash; од податоците на екранот.

### Doom
*[[Doom (видеоигра)|Doom]]* (1993) е игра во стрелач од прво лице (FPS). Студентски истражувачи од Универзитетот Карнеги Мелон користеле техники за компјутерски вид за да создадат агент што може да ја игра играта користејќи само влез на пиксели на слика од играта. Студентите користеа слоеви на конвулуционална невронска мрежа (CNN) за да ги толкуваат влезните податоци за сликата и да излезат валидни информации на повторлива невронска мрежа, која била одговорна за излегување на потезите на играта.

### ''Супер Марио''
Другите употреби на техниките за длабоко учење засновани на визија за играње игри вклучуваат играње на *Супер Марио Брос* само со внесување на слика, притоа со користење на длабоко учење за тренирање.

## Машинско учење за генерирање на процедурални содржини во игри
Машинското учење видело истражување за употреба во препораки за содржина и генерирање. Генерирање на процедурални содржини е процес на создавање податоци алгоритамски, наместо рачно. Овој тип на содржина се користи за да се додаде повторливост на игрите без да се потпираме на постојани додатоци од човечки развивачи. PCG се користеше во разни игри за различни типови на генерирање содржина, чии примери вклучуваат оружје во *Borderlands 2*, сите светски распореди во Minecraft и цели универзуми во *No Man's Sky*. Заеднички пристапи кон PCG вклучуваат техники кои вклучуваат граматики, алгоритми засновани на пребарување и логичко програмирање. Овие пристапи бараат од луѓето рачно да го дефинираат можниот опсег на содржина, што значи дека човечки развивач одлучува кои одлики сочинуваат валидно парче генерирана содржина. Машинското учење е теоретски способно да ги научи овие одлики кога се дадени примери за обука, со што значително се намалува комплицираниот чекор на развивачите кои ги специфицираат деталите за дизајнот на содржината. Техниките за машинско учење што се користат за генерирање содржина вклучуваат повторливи невронски мрежи со краткорочна меморија, мрежи на генеративни противници (GAN) и групирање на К-средства. Не сите овие техники користат ANN, но брзиот развој на длабоко учење значително го зголеми потенцијалот на техниките што го прават.

### ''Galactic Arms Race''
*Галактички оружје трка* е стрелач во вселена видео игра која користи neuroevolution напоен PCG да генерира уникатно оружје за играчот. Оваа игра била финалист во Инди играта предизвик во 2010 година и нејзиниот сроден истражувачки труд ја доби наградата Best Paper Award на конференцијата IEEE за компјутерска интелигенција и игри во 2009 година. Програмерите користат форма на невронска еволуција наречена cgNEAT за да генерираат нова содржина заснована врз личните преференции на секој играч.

Секоја генерирана ставка е претставена со посебен ANN познат како мрежа за производство на композициски образец (CPPN). За време на еволутивната фаза на играта, cgNEAT ја пресметува соодветноста на тековните ставки засновани на употребата на играчот и другите метрички игри, овој резултат на фитнес се користи за да одлучи кои CPPN ќе ги репродуцираат за да создадат нова ставка. Крајниот резултат е генерирање на нови ефекти на оружје засновано врз претпочитањето на играчот.

### Супер Марио Брос
Неколку истражувачи го користеле *Super Mario Bros за* да симулираат создавање на ниво на PCG. Различни обиди користеле различни методи. Една верзија во 2014 година користела n-грама за да генерира нивоа слични на оние на кои тренираше, што подоцна било подобрено со употреба на MCTS за водење на генерацијата. Овие генерации честопати не беа оптимални кога ги земаа предвид мерилата на игра, како што се движењето на играчите, посебен истражувачки проект во 2017 година се обиде да го реши овој проблем преку генерирање нивоа засновани на движењето на играчот со употреба на Маркови синџири. Овие проекти не биле подложени на тестирање на луѓе и можеби не ги исполнуваат стандардите за играње на луѓето.

### ''Легендата за Зелда''
Издавачите на Универзитетот во Калифорнија, Санта Круз, се обиделе да создадат ниво на PCG за *„Легендата за Зелда* “. Овој обид ја искористи Бајезиската мрежа за да научи знаење на високо ниво од постојните нивоа, додека анализата на главната компонента (PCA) беше искористена за да се претстават различните одлики на ниско ниво на овие нивоа. Истражувачите користеле PCA за да ги споредат генерираните нивоа со нивоата направени од човекот и откриле дека се сметаат за многу слични. Овој тест не вклучувал играње или тестирање на луѓето на генерираните нивоа.

## Музичка генерација
Музиката често се гледа во видео игрите и може да биде клучен елемент за влијание врз расположението на различни ситуации и подглавја на приказната. Машинското учење видело употреба во експерименталното поле на музичката генерација; тој е уникатно погоден за обработка на сурови неструктурирани податоци и формирање репрезентации на високо ниво што можат да се применат на различното поле на музика. Повеќето обиди за методи вклучиле употреба на ANN во некоја форма. Методите вклучуваат употреба на основни напорни невронски мрежи, авто-кодери, ограничени машини за болцман, повторливи невронски мрежи, конволуциони невронски мрежи, генеративни противнички мрежи (ГАН) и сложени архитектури кои користат повеќе методи.

### Системски систем за генерирање музика за мелодија на видео игри - VRAE
Истражувачкиот труд од 2014 година на тема „Варијацијални повторливи авто-кодирачи“ се обидел да генерира музика заснована на песни од 8 различни видео игри. Овој проект е еден од ретките спроведен чисто на музика од видео игри. Невронската мрежа во проектот била во можност да генерира податоци што биле многу слични на податоците од игрите што ги обучувала. Создадените податоци не се претвориле во музика со добар квалитет.

## Наводи

## Надворешни врски

Категорија:Машинско учење