Opi pelaamaan Minecraftia Video PreTraining (VPT) PlatoBlockchain Data Intelligencen avulla. Pystysuuntainen haku. Ai.

Minecraftin pelaamisen oppiminen Video Pretrainingin (VPT) avulla

Minecraftin pelaamisen oppiminen Video Pretrainingin (VPT) avulla

Koulutimme hermoverkon pelaamaan Minecraftia Video PreTrainingin (VPT) avulla valtavalla merkitsemättömällä videodatalla ihmisen Minecraft-pelaamisesta, samalla kun käytimme vain pientä määrää merkittyjä urakoitsijoiden tietoja. Hienosäädön avulla mallimme voi oppia valmistamaan timanttityökaluja, mikä kestää yleensä taitavilta ihmisiltä yli 20 minuuttia (24,000 XNUMX toimenpidettä). Mallimme käyttää alkuperäistä ihmisen käyttöliittymää näppäinpainalluksista ja hiiren liikkeistä, mikä tekee siitä melko yleisen ja edustaa askelta kohti yleisiä tietokoneita käyttäviä agentteja.

Lue paperi


Katso Koodi- ja mallipainot


MineRL-kilpailu

Internet sisältää valtavan määrän julkisesti saatavilla olevia videoita, joista voimme oppia. Voit katsella, kuinka ihminen tekee upean esityksen, digitaalinen taiteilija piirtää kauniin auringonlaskun ja Minecraft-pelaaja rakentaa monimutkaisen talon. Nämä videot tarjoavat kuitenkin vain tallenteen mitä tapahtui, mutta ei tarkasti miten se saavutettiin, eli et tiedä tarkkaa hiiren liikkeiden ja painikkeiden järjestystä. Jos haluamme rakentaa suuren mittakaavan perusmallit näillä aloilla, kuten olemme tehneet kielessä GPT, tämä toimintamerkkien puute asettaa uuden haasteen, jota ei esiinny kielialueella, jossa "toimintatunnisteet" ovat yksinkertaisesti lauseen seuraavat sanat.

Hyödyntääksemme Internetissä saatavilla olevaa runsaasti leimaamatonta videodataa esittelemme uudenlaisen, mutta yksinkertaisen, puoliksi valvotun jäljitelmäoppimismenetelmän: Video PreTraining (VPT). Aloitamme keräämällä urakoitsijoilta pienen tietojoukon, johon tallennamme paitsi heidän videonsa, myös heidän tekemänsä toiminnot, joita meidän tapauksessamme ovat näppäinpainallukset ja hiiren liikkeet. Näillä tiedoilla harjoittelemme käänteisen dynamiikan mallia (IDM), joka ennustaa videon jokaisessa vaiheessa suoritettavan toiminnan. Tärkeää on, että IDM voi käyttää menneisyyttä ja tulevaisuus tietoja, joiden avulla voit arvata toiminnan kussakin vaiheessa. Tämä tehtävä on paljon helpompi ja vaatii siten paljon vähemmän tietoa kuin käyttäytymiseen liittyvä kloonaustehtävä, joka ennustaa annettuja toimia vain edelliset videokehykset, joka edellyttää päättelemistä, mitä henkilö haluaa tehdä ja miten se saavuttaa. Voimme sitten käyttää koulutettua IDM:ää merkitsemään paljon suuremman tietojoukon online-videoita ja oppia toimimaan käyttäytymiskloonauksen avulla.

Minecraftin pelaamisen oppiminen Video Pretrainingin (VPT) avulla
Minecraftin pelaamisen oppiminen Video Pretrainingin (VPT) avulla
VPT-menetelmän yleiskatsaus

VPT Zero-Shot -tulokset

Päätimme validoida menetelmämme Minecraftissa, koska se (1) on yksi aktiivisesti pelatuista videopeleistä maailmassa ja siksi sillä on runsaasti vapaasti saatavilla olevaa videodataa ja (2) se on avoin, ja siinä on monenlaisia ​​asioita. tehdä samoin kuin tosielämän sovellukset, kuten tietokoneen käyttö. Toisin kuin aikaisempi toimii Minecraftissa, joka käyttää yksinkertaistettuja toimintatiloja, joiden tarkoituksena on helpottaa tutkimista, tekoälymme käyttää paljon yleisempää, vaikkakin paljon vaikeampaa, alkuperäistä ihmiskäyttöliittymää: 20 Hz:n kuvataajuus hiiren ja näppäimistön kanssa.

Koulutettu 70,000 50 tuntia IDM-merkittyä online-videota, käyttäytymiskloonausmallimme ("VPT-säätiön malli") suorittaa Minecraftissa tehtäviä, joita on lähes mahdoton saavuttaa vahvistamalla oppimista tyhjästä. Se oppii kaatamaan puita tukkien keräämiseksi, muokkaamaan niistä lankkuja ja muokkaamaan niistä lankkuja askartelupöydäksi; Tämä jakso kestää Minecraftissa taitavalta ihmiseltä noin 1,000 sekuntia tai XNUMX XNUMX peräkkäistä pelitoimintoa.

Minecraftin pelaamisen oppiminen Video Pretrainingin (VPT) avulla
Minecraftin pelaamisen oppiminen Video Pretrainingin (VPT) avulla
Askartelupöydän tekemiseen tarvittavien esineiden sarja, johon on merkitty mediaaniaika, joka taitavilta ihmisiltä kuluu kunkin vaiheen saavuttamiseen
Askartelupöydän "nollalaukaus" askartelu (eli vain esiharjoittelun jälkeen ilman ylimääräistä hienosäätöä)

Lisäksi malli suorittaa muita monimutkaisia ​​taitoja, joita ihmiset usein tekevät pelissä, kuten uiminen, eläinten metsästys ruoan saamiseksi ja kyseisen ruoan syöminen. Se oppi myös "pylväshypyn" taidon, joka on yleinen Minecraftissa käyttäytyminen, jossa nostaa itseäsi toistuvasti hyppäämällä ja asettamalla lohko itsesi alle.

Uinti (nollalaukaus)

Eläinten metsästys (nollalaukaus)

Ruoan syöminen (nolla-shot)

Pilarihyppy (nollalaukaus)

Hienosäätö käyttäytymiskloonauksella

Perustusmallit on suunniteltu siten, että niillä on laaja käyttäytymisprofiili ja ne pystyvät yleensä suorittamaan monenlaisia ​​​​tehtäviä. Uuden tiedon sisällyttämiseksi tai niiden erikoistumiseksi suppeampaan tehtäväjakaumaan on yleinen käytäntö hienosäätää nämä mallit pienempiin, tarkempiin tietokokonaisuuksiin. Tapaustutkimuksena siitä, kuinka hyvin VPT-perustusmalli voidaan hienosäätää loppupään datajoukkoon, pyysimme urakoitsijoitamme pelaamaan 10 minuuttia upouusissa Minecraft-maailmoissa ja rakentamaan talon Minecraftin perusmateriaaleista. Toivoimme tämän vahvistavan perusmallin kykyä suorittaa luotettavasti "varhaisten pelien" taitoja, kuten askartelupöytien rakentamista. Kun tätä tietojoukkoa hienosäädetään, emme ainoastaan ​​näe valtavaa parannusta perusmallissa jo olevien varhaisten pelitaitojen luotettavassa suorituskyvyssä, vaan hienosäädetty malli myös oppii menemään vielä syvemmälle teknologiapuuhun tekemällä molemmat puiset. ja kivityökaluja. Joskus näemme jopa alkeellisen suojarakennuksen ja agentin etsivän kyliä, mukaan lukien hyökkäävät arkut.

Minecraftin pelaamisen oppiminen Video Pretrainingin (VPT) avulla
Minecraftin pelaamisen oppiminen Video Pretrainingin (VPT) avulla
Kivihakun tekemiseen tarvittavien esineiden sarja, johon on merkitty mediaaniaika, joka taitavilta ihmisiltä kuluu kunkin vaiheen saavuttamiseen
Parannettu varhainen pelikäyttäytyminen BC:n hienosäädön ansiosta

Kivihakun tekeminen

Alkeisen puukatoksen rakentaminen

Haku kylän läpi

Tietojen skaalaus

Ehkä työmme tärkein hypoteesi on, että on paljon tehokkaampaa käyttää merkittyjä urakoitsijoiden tietoja IDM:n kouluttamiseen (osana VPT-putkilinjaa) kuin kouluttaa suoraan BC-perustusmalli samasta pienestä urakoitsijan tietojoukosta. Tämän hypoteesin vahvistamiseksi koulutamme perusmalleja kasvaville tietomäärille 1 tunnista 70,000 2,000 tuntiin. Alle 2,000 XNUMX tunnin tietoihin koulutettuja koulutetaan urakoitsijoiden tiedoilla maan totuusmerkinnöillä, jotka alun perin kerättiin IDM:n kouluttamiseen, ja yli XNUMX XNUMX tuntia koulutetut henkilöt koulutetaan IDM:llämme merkittyjen Internet-tietojen perusteella. Otamme sitten jokaisen perustusmallin ja hienosäädämme sen edellisessä osiossa kuvattuun talonrakennustietoaineistoon.

Perusmallin koulutustietojen vaikutus hienosäätöön

Perusmallitietojen kasvaessa näemme yleensä askartelukyvyn lisääntyvän, ja vain suurimmalla dataskaalalla näemme kivityökalujen valmistuksen ilmaantumisen.

Hienosäätö vahvistusoppimisen avulla

Kun on mahdollista määrittää palkitsemistoiminto, vahvistusoppiminen (RL) voi olla tehokas menetelmä korkean, mahdollisesti jopa yli-inhimillisen suorituskyvyn saavuttamiseksi. Monet tehtävät edellyttävät kuitenkin vaikeiden tutkimushaasteiden voittamista, ja useimmat RL-menetelmät ratkaisevat ne satunnainen etsintäprioriteetit, esim. malleja, kannustetaan usein toimimaan satunnaisesti entropiabonusten kautta. VPT-mallin pitäisi olla paljon parempi RL:n ennakko, koska ihmisen käyttäytymisen jäljitteleminen on todennäköisesti paljon hyödyllisempää kuin satunnaisten toimien suorittaminen. Asetamme mallimme haastavaksi tehtäväksi kerätä timanttihakku. Minecraftin ennennäkemätön ominaisuus vaikeutti entisestään ihmisen alkuperäisen käyttöliittymän käyttöä.

Timanttihakun tekeminen vaatii pitkän ja monimutkaisen osatehtävien sarjan. Jotta tämä tehtävä olisi seurattavissa, palkitsemme agentteja jokaisesta sarjan kohteesta.

Minecraftin pelaamisen oppiminen Video Pretrainingin (VPT) avulla
Minecraftin pelaamisen oppiminen Video Pretrainingin (VPT) avulla
RL-hienoviritetty VPT-malli, joka valmistaa timanttihakkua

Havaitsimme, että satunnaisesta alustuksesta (tavallinen RL-menetelmä) harjoitettu RL-käytäntö ei juurikaan saa palkkiota, koska se ei koskaan opi keräämään lokeja ja kerää vain harvoin keppejä. Jyrkästi vastakohtana VPT-mallin hienosäätö ei vain opettele luomaan timanttihakkuja (mitä se tekee 2.5 %:ssa 10 minuutin Minecraft-jaksoista), vaan sillä on jopa ihmistason onnistumisprosentti kaikkien esineiden keräämisessä. timanttihakku. Tämä on ensimmäinen kerta, kun kukaan on näyttänyt tietokoneagentin, joka pystyy valmistamaan timanttityökaluja Minecraftissa, mikä kestää keskimäärin yli 20 minuuttia (24,000 XNUMX toimenpidettä).

Palkkio jaksoista

Yhteenveto

VPT tasoittaa tietä kohti mahdollistaa agenttien oppia toimimaan katsomalla suuria määriä videoita Internetistä. Verrattuna generatiiviseen videomallinnukseen tai kontrastiivisiin menetelmiin, jotka tuottaisivat vain tulosta esittävä VPT tarjoaa jännittävän mahdollisuuden suoraan suuren mittakaavan oppimiseen käyttäytymisprioriteetit muilla aloilla kuin vain kielellä. Vaikka kokeilemme vain Minecraftissa, peli on hyvin avoin ja natiivi ihmiskäyttöliittymä (hiiri ja näppäimistö) on hyvin yleinen, joten uskomme, että tulokset lupaavat hyvää muille vastaaville aloille, kuten tietokoneen käytölle.

Lisätietoja on osoitteessa meidän paperimme. Hankimme myös avoimesti urakoitsijatietomme, Minecraft-ympäristön, mallikoodin ja mallipainot, joiden toivomme auttavan tulevaa VPT-tutkimusta. Lisäksi olemme tänä vuonna tehneet yhteistyötä MineRL NeurIPS -kilpailun kanssa. Kilpailijat voivat käyttää ja hienosäätää mallejamme yrittääkseen ratkaista monia vaikeita tehtäviä Minecraftissa. Kiinnostuneet voivat tutustua kilpailun verkkosivu ja kilpaile sinisen taivaan palkinnosta $100,000 normaalin palkintopotin lisäksi $20,000. Apurahoja ovat saatavilla itsemääritellyille aliedustetuille ryhmille ja henkilöille.


Kiitokset
Tämä oli suuri vaiva omistautuneelta tiimiltä. Jokainen kirjailija antoi valtavan panoksen monilla rintamilla pitkien ajanjaksojen aikana. Kaikki jäsenet olivat kokopäiväisiä projektissa yli kuusi kuukautta. BB, IA, PZ ja JC olivat alkuperäisessä VPT-projektitiimissä, joten he olivat mukana vielä pidempään (yli vuoden). Alkuperäisten ryhmän jäsenten lisäksi kirjoittajien järjestys on satunnainen. Se satunnaistettiin myös IA:n ja PZ:n välillä.

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(); });

Aikaleima:

Lisää aiheesta OpenAI