Učenje igranja Minecrafta z Video PreTraining (VPT) PlatoBlockchain Data Intelligence. Navpično iskanje. Ai.

Učenje igranja Minecrafta z video predusposabljanjem (VPT)

Učenje igranja Minecrafta z video predusposabljanjem (VPT)

Nevronsko mrežo smo usposobili za igranje Minecrafta s programom Video PreTraining (VPT) na ogromnem neoznačenem naboru video podatkov o človeškem igranju Minecrafta, medtem ko smo uporabili le majhno količino označenih podatkov izvajalca. S fino nastavitvijo se lahko naš model nauči izdelovati diamantna orodja, opravilo, ki izkušenim ljudem običajno vzame več kot 20 minut (24,000 dejanj). Naš model uporablja izvorni človeški vmesnik pritiskov tipk in premikov miške, zaradi česar je precej splošen in predstavlja korak k splošnim agentom, ki uporabljajo računalnik.

Preberi prispevek


Oglejte si kodo in uteži modela


Tekmovanje MineRL

Internet vsebuje ogromno javno dostopnih videov, iz katerih se lahko učimo. Gledate lahko, kako oseba naredi čudovito predstavitev, digitalni umetnik nariše čudovit sončni zahod in igralec Minecrafta zgradi zapleteno hišo. Vendar ti videoposnetki zagotavljajo le zapis kaj zgodilo, vendar ne točno kako je bilo doseženo, kar pomeni, da ne boste vedeli natančnega zaporedja premikov miške in pritisnjenih tipk. Če želimo graditi v velikem obsegu modeli temeljev na teh področjih, kot smo to storili v jeziku z GPT, to pomanjkanje oznak dejanj predstavlja nov izziv, ki ga ni v jezikovni domeni, kjer so »oznake dejanj« preprosto naslednje besede v stavku.

Da bi izkoristili bogastvo neoznačenih video podatkov, ki so na voljo na internetu, uvajamo novo, a preprosto, delno nadzorovano metodo učenja posnemanja: Video PreTraining (VPT). Začnemo z zbiranjem majhnega nabora podatkov izvajalcev, kjer posnamemo ne le njihov video, ampak tudi dejanja, ki so jih izvedli, kar so v našem primeru pritiski tipk in premiki miške. S temi podatki usposabljamo inverzni dinamični model (IDM), ki napove dejanje, ki se izvede na vsakem koraku v videu. Pomembno je, da IDM lahko uporablja past in prihodnost informacije za ugibanje dejanja na vsakem koraku. Ta naloga je veliko lažja in zato zahteva veliko manj podatkov kot naloga vedenjskega kloniranja napovedovanja danih dejanj samo pretekli video okvirji, ki zahteva sklepanje, kaj želi oseba narediti in kako to doseči. Nato lahko uporabimo izurjeni IDM za označevanje veliko večjega nabora podatkov spletnih videoposnetkov in se naučimo delovati prek vedenjskega kloniranja.

Učenje igranja Minecrafta z video predusposabljanjem (VPT)
Učenje igranja Minecrafta z video predusposabljanjem (VPT)
Pregled metode VPT

Rezultati VPT Zero-Shot

Odločili smo se, da potrdimo našo metodo v Minecraftu, ker je (1) ena najbolj aktivno igranih video iger na svetu in ima zato veliko prosto dostopnih video podatkov in (2) je odprta z veliko različnih stvari, storiti, podobno kot aplikacije v resničnem svetu, kot je uporaba računalnika. Za razliko od pred deluje v Minecraftu, ki uporablja poenostavljene akcijske prostore, katerih namen je olajšati raziskovanje, naš AI uporablja veliko bolj splošno uporaben, čeprav tudi veliko težji izvorni človeški vmesnik: hitrost sličic 20 Hz z miško in tipkovnico.

Naučen na 70,000 urah spletnega videa z oznako IDM, naš model vedenjskega kloniranja (»temeljni model VPT«) opravlja naloge v Minecraftu, ki jih je skoraj nemogoče doseči z učenjem okrepitve iz nič. Nauči se sekati drevesa za zbiranje hlodov, oblikovati te hlode v deske in nato iz teh desk oblikovati mizo za izdelavo; to zaporedje človeku, ki obvlada Minecraft, potrebuje približno 50 sekund ali 1,000 zaporednih dejanj v igri.

Učenje igranja Minecrafta z video predusposabljanjem (VPT)
Učenje igranja Minecrafta z video predusposabljanjem (VPT)
Zaporedje elementov, potrebnih za izdelavo mize za ustvarjanje, označeno s srednjim časom, ki ga potrebujejo izkušeni ljudje, da dosežejo posamezen korak
Izdelava mize za ustvarjanje "zero shot" (tj. samo po predhodnem usposabljanju brez dodatnega natančnega prilagajanja)

Poleg tega model izvaja druge zapletene veščine, ki jih ljudje pogosto izvajajo v igri, kot je plavanje, lov na živali za hrano in uživanje te hrane. Naučil se je tudi veščine »skakanja s stebri«, običajnega vedenja v Minecraftu, ko se povzdignete tako, da večkrat skočite in postavite blok pod sebe.

Plavanje (nič strel)

Lov na živali (zero-shot)

Uživanje hrane (ničelen strel)

Preskakovanje stebra (nič strel)

Natančna nastavitev z vedenjskim kloniranjem

Temeljni modeli so zasnovani tako, da imajo širok vedenjski profil in so na splošno zmožni opravljati veliko različnih nalog. Da bi vključili novo znanje ali jim omogočili, da se specializirajo za ožjo porazdelitev nalog, je običajna praksa, da te modele natančno prilagodijo manjšim, bolj specifičnim naborom podatkov. Kot študijo primera o tem, kako dobro je mogoče model temeljev VPT natančno prilagoditi nadaljnjim nizom podatkov, smo prosili naše izvajalce, da se 10 minut igrajo v popolnoma novih svetovih Minecrafta in zgradijo hišo iz osnovnih materialov Minecrafta. Upali smo, da bo to povečalo sposobnost temeljnega modela za zanesljivo izvajanje veščin "zgodnje igre", kot je izdelava miz za ustvarjanje. Pri natančnem uravnavanju tega nabora podatkov ne samo, da opazimo veliko izboljšanje pri zanesljivem izvajanju zgodnjih igralnih veščin, ki so že prisotne v osnovnem modelu, ampak se tudi natančno nastavljeni model nauči še globlje v tehnološko drevo z izdelavo obeh lesenih in kamnito orodje. Včasih opazimo celo nekaj osnovnih gradenj zavetišč in agenta, ki išče po vaseh, vključno z ropanjem v skrinje.

Učenje igranja Minecrafta z video predusposabljanjem (VPT)
Učenje igranja Minecrafta z video predusposabljanjem (VPT)
Zaporedje predmetov, potrebnih za izdelavo kamnitega krampa, označeno s srednjim časom, ki ga potrebujejo izkušeni ljudje, da dosežejo posamezen korak
Izboljšano vedenje v zgodnji igri zaradi natančne nastavitve BC

Izdelava kamnitega krampa

Izdelava osnovnega lesenega zavetja

Iskanje po vasi

Skaliranje podatkov

Morda je najpomembnejša hipoteza našega dela ta, da je veliko učinkoviteje uporabiti označene podatke izvajalca za usposabljanje IDM (kot del cevovoda VPT) kot pa neposredno usposabljanje modela temeljev BC iz istega niza podatkov majhnega izvajalca. Za potrditev te hipoteze urimo temeljne modele na naraščajočih količinah podatkov od 1 do 70,000 ur. Tisti, ki so usposobljeni za manj kot 2,000 ur podatkov, so usposobljeni za podatke izvajalca z oznakami temeljne resnice, ki so bili prvotno zbrani za usposabljanje IDM, tisti, ki so usposobljeni za več kot 2,000 ur, pa so usposobljeni za internetne podatke, označene z našim IDM. Nato vzamemo vsak model temeljev in ga natančno prilagodimo naboru podatkov o gradnji hiše, opisanem v prejšnjem razdelku.

Vpliv podatkov o usposabljanju temeljnega modela na fino nastavitev

Ko se podatki o modelu temeljev povečujejo, na splošno opažamo povečanje rokodelske sposobnosti in le na največji podatkovni lestvici opazimo pojav izdelovanja kamnitih orodij.

Natančna nastavitev s krepitvenim učenjem

Ko je mogoče določiti funkcijo nagrajevanja, je lahko učenje s krepitvijo (RL) močna metoda za izvabljanje visoke, potencialno celo nadčloveške uspešnosti. Vendar številne naloge zahtevajo premagovanje težkih raziskovalnih izzivov in večina metod RL se z njimi spopada naključno predhodno raziskovanje, npr. modeli so pogosto spodbujeni, da delujejo naključno prek entropijskih bonusov. Model VPT bi moral biti veliko boljši predhodnik za RL, ker je posnemanje človeškega vedenja verjetno veliko bolj koristno kot izvajanje naključnih dejanj. Našemu modelu smo zastavili zahtevno nalogo zbiranja diamantne krampe, zmožnost brez primere v Minecraftu, ki je še toliko težja pri uporabi izvornega človeškega vmesnika.

Izdelava diamantne krampe zahteva dolgo in zapleteno zaporedje podnalog. Da bi bila ta naloga izvedljiva, agente nagradimo za vsak element v zaporedju.

Učenje igranja Minecrafta z video predusposabljanjem (VPT)
Učenje igranja Minecrafta z video predusposabljanjem (VPT)
RL natančno nastavljen model VPT, ki izdeluje diamantni kramp

Ugotovili smo, da politika RL, ki je naučena iz naključne inicializacije (standardna metoda RL), komaj doseže nagrado, nikoli se ne nauči zbirati dnevnikov in le redko zbira palice. V popolnem nasprotju s fino nastavitvijo iz modela VPT ne samo, da se nauči izdelovati diamantne krampe (kar počne v 2.5 % 10-minutnih epizod Minecrafta), ampak ima celo stopnjo uspeha na človeški ravni pri zbiranju vseh predmetov, ki vodijo do diamantni kramp. To je prvič, da je kdo pokazal računalniškega agenta, ki je sposoben izdelati diamantna orodja v Minecraftu, kar ljudem v povprečju vzame več kot 20 minut (24,000 dejanj).

Nagrada nad epizodami

zaključek

VPT utira pot, ki agentom omogoča, da nauči se delovati z ogledom velikega števila videoposnetkov na internetu. V primerjavi z generativnim video modeliranjem ali kontrastnimi metodami, ki bi le prinesle reprezentativni pred tem VPT ponuja vznemirljivo možnost neposrednega učenja v velikem obsegu vedenjski predhodniki na več področjih kot le v jeziku. Medtem ko eksperimentiramo samo v Minecraftu, je igra zelo odprta in izvorni človeški vmesnik (miška in tipkovnica) je zelo splošen, zato menimo, da so naši rezultati dobri obeti za druga podobna področja, npr. uporabo računalnika.

Za več informacij si oglejte naš papir. Odprto pridobivamo tudi podatke o izvajalcih, okolje Minecraft, kodo modela in uteži modela, za katere upamo, da bodo pomagali pri prihodnjih raziskavah VPT. Poleg tega smo letos sodelovali s tekmovanjem MineRL NeurIPS. Tekmovalci lahko uporabljajo in natančno prilagodijo naše modele, da poskušajo rešiti številne težke naloge v Minecraftu. Zainteresirani si lahko ogledajo spletno stran tekmovanja in se potegovati za nagrado modrega neba $100,000 poleg rednega nagradnega sklada v višini $20,000. Subvencije so na voljo samozastopanim skupinam in posameznikom.


Priznanja
To je bil velik trud predane ekipe. Vsak avtor je v dolgih časovnih obdobjih veliko prispeval na številnih področjih. Vsi člani so bili na projektu polno zaposleni več kot šest mesecev. BB, IA, PZ in JC so bili v prvotni projektni skupini VPT in so tako sodelovali še dlje (več kot eno leto). Razen prvotnih članov ekipe je vrstni red avtorjev naključen. Prav tako je bil randomiziran med IA in PZ.

import {Runtime, Inspector, Library} from “https://unpkg.com/@observablehq/runtime@4.12.0/dist/runtime.js”; import notebookEarlyGameBehavior from “https://api.observablehq.com/d/7f62ee5a1b0ddebd.js?v=3”; import notebookRewardOverEpisodes from “https://api.observablehq.com/d/4d319198b6ab74d5.js?v=3”; import notebookBCFineTuning from “https://api.observablehq.com/d/119b327a0da6dc38.js?v=3” const customWidth = function (selector) { return (new Library).Generators.observe(function(change) { var width = change(document.querySelector(selector).clientWidth); function resized() { var w = document.querySelector(selector).clientWidth; if (w !== width) change(width = w); } window.addEventListener(“resize”, resized); return function() { window.removeEventListener(“resize”, resized); }; }); }; const earlyGameBehaviorSelector = “#chart-early-game-behavior”; const earlyGameBehaviorRenders = { “chart”: earlyGameBehaviorSelector, }; new Runtime(Object.assign(new Library, {width: customWidth(earlyGameBehaviorSelector)})).module(notebookEarlyGameBehavior, name => { const selector = earlyGameBehaviorRenders[name]; if (selector) { // key exists return new Inspector(document.querySelector(selector)); } else { return true; } }); const rewardOverEpisodesSelector = “#chart-reward-over-episodes”; const rewardOverEpisodesRenders = { “chart”: rewardOverEpisodesSelector, }; new Runtime(Object.assign(new Library, {width: customWidth(rewardOverEpisodesSelector)})).module(notebookRewardOverEpisodes, name => { const selector = rewardOverEpisodesRenders[name]; if (selector) { // key exists return new Inspector(document.querySelector(selector)); } else { return true; } }); const rewardBCFineTuningSelector = “#chart-bc-fine-tuning”; const rewardBCFineTuningRenders = { “chart”: rewardBCFineTuningSelector, }; new Runtime(Object.assign(new Library, {width: customWidth(rewardBCFineTuningSelector)})).module(notebookBCFineTuning, name => { const selector = rewardBCFineTuningRenders[name]; if (selector) { // key exists return new Inspector(document.querySelector(selector)); } else { return true; } }); var playerObjects = {}; var initVimeo = function () { var videoEls = document.querySelectorAll(‘iframe[data-vimeo]’); videoEls.forEach(function (v) { var id = v.getAttribute(‘data-id’); var player = new Vimeo.Player(v); playerObjects[id] = player; // keep track of players by id }); var triggers = document.querySelectorAll(‘.js-video-trigger’); triggers.forEach(function (t) { t.addEventListener(‘click’, function (e) { var id = this.getAttribute(‘data-video’); if (!id) return; e.preventDefault(); playerObjects[id].play(); }); }); }; function initCanvas() { let needsRecalc = true; const DESIRED_SIZE = window.innerWidth { function step() { if (needsRecalc) { needsRecalc = false; numColumns = Math.floor(window.innerWidth / DESIRED_SIZE); tileWidth = window.innerWidth / numColumns; tileHeight = ((SOURCE_HEIGHT / SOURCE_WIDTH) * tileWidth); canvas.setAttribute(‘width’, window.innerWidth); canvas.setAttribute(‘height’, tileHeight); canvas.parentNode.style.aspectRatio = `${window.innerWidth} / ${tileHeight}`; } let column = 0; for (let i = 0; i < numColumns; i++) { ctx.drawImage(video, tileWidth * i, 0, tileWidth, tileHeight); column++; } requestAnimationFrame(step) } requestAnimationFrame(step); }) } document.addEventListener('DOMContentLoaded', function() { initVimeo(); initCanvas(); });

Časovni žig:

Več od OpenAI