Minecrafti mängimise õppimine Video PreTraining (VPT) PlatoBlockchain Data Intelligence abil. Vertikaalne otsing. Ai.

Minecrafti mängimise õppimine video eelkoolitusega (VPT)

Minecrafti mängimise õppimine video eelkoolitusega (VPT)

Me õpetasime närvivõrku mängima Minecrafti Video PreTraining (VPT) abil massiivsel märgistamata videoandmekogul, mis sisaldab inimese Minecrafti mängimist, kasutades samal ajal vaid väikest hulka märgistatud töövõtja andmeid. Peenhäälestusega saab meie mudel õppida teemanttööriistu meisterdama. See ülesanne võtab vilunud inimestel tavaliselt üle 20 minuti (24,000 XNUMX toimingut). Meie mudel kasutab klahvivajutuste ja hiireliigutuste loomulikku inimliidest, muutes selle üsna üldiseks ja kujutab endast sammu üldiste arvutikasutavate agentide suunas.

Loe raamatut


Vaadake koodi ja mudeli kaalusid


MineRL võistlus

Internet sisaldab tohutul hulgal avalikult kättesaadavaid videoid, millest saame õppida. Saate vaadata, kuidas inimene teeb uhke esitluse, digikunstnik joonistab kauni päikeseloojangu ja Minecrafti mängija ehitab keeruka maja. Need videod annavad aga ainult rekordi mida juhtus, kuid mitte täpselt kuidas see saavutati, st te ei tea täpset hiire liigutuste ja vajutatavate klahvide järjestust. Kui soovime ehitada suuremahulist vundamendi mudelid nendes valdkondades, nagu oleme teinud keeles GPT, esitab see toimingusiltide puudumine uue väljakutse, mida keelevaldkonnas ei esine, kus "tegevussildid" on lihtsalt lause järgmised sõnad.

Internetis saadaolevate märgistamata videoandmete rikkalikuks kasutamiseks tutvustame uudset, kuid lihtsat, pooljärelevalvega imitatsiooniõppe meetodit: Video PreTraining (VPT). Alustuseks kogume töövõtjatelt väikese andmestiku, kuhu salvestame mitte ainult nende video, vaid ka nende tehtud toimingud, milleks meie puhul on klahvivajutused ja hiireliigutused. Nende andmetega treenime pöörddünaamika mudelit (IDM), mis ennustab video igal etapil tehtavat tegevust. Oluline on see, et IDM saab kasutada minevikku ja tulevik teave, mis võimaldab igal sammul toimingu ära arvata. See ülesanne on palju lihtsam ja nõuab seega palju vähem andmeid kui käitumusliku kloonimise ülesanne antud toimingute ennustamiseks ainult varasemad videokaadrid, mis nõuab järeldamist, mida inimene tahab teha ja kuidas seda saavutada. Seejärel saame kasutada väljaõppinud IDM-i, et märgistada palju suuremat veebivideote andmekogumit ja õppida käitumusliku kloonimise kaudu tegutsema.

Minecrafti mängimise õppimine video eelkoolitusega (VPT)
Minecrafti mängimise õppimine video eelkoolitusega (VPT)
VPT meetodi ülevaade

VPT nullkaadri tulemused

Valisime oma meetodi Minecraftis valideerida, kuna see (1) on üks enim mängitud videomänge maailmas ja seega on sellel palju vabalt saadaolevaid videoandmeid ning (2) on avatud paljude asjadega sarnaselt reaalsete rakendustega, nagu arvutikasutus. Erinevalt eelnev töötab Minecraftis, mis kasutab uurimise hõlbustamiseks lihtsustatud tegevusruume, kasutab meie tehisintellekt palju üldisemalt rakendatavat, kuigi ka palju keerulisemat loomulikku inimliidest: 20 Hz kaadrisagedust koos hiire ja klaviatuuriga.

Meie käitumuslik kloonimise mudel (“VPT sihtmudel”), mis on koolitatud 70,000 50 tunni pikkuse IDM-märgisega veebivideoga, täidab Minecraftis ülesandeid, mida on nullist õppides peaaegu võimatu saavutada. Õpitakse puid raiuma, et palke koguda, palkidest plankudeks meisterdada ja seejärel meisterdamislauaks meisterdada; see jada võtab Minecrafti valdaval inimesel umbes 1,000 sekundit või XNUMX järjestikust mängutoimingut.

Minecrafti mängimise õppimine video eelkoolitusega (VPT)
Minecrafti mängimise õppimine video eelkoolitusega (VPT)
Meisterdamislaua valmistamiseks vajalike esemete jada, millele on märgitud keskmine aeg, mis vilunud inimesel kulub iga sammuni jõudmiseks
Meisterdamislaua "nullpilt" meisterdamine (st ainult pärast eeltreeningut ilma täiendava peenhäälestuseta)

Lisaks täidab mudel muid keerulisi oskusi, mida inimesed mängus sageli teevad, näiteks ujumine, loomade jahtimine toidu saamiseks ja selle toidu söömine. Samuti õppis see sammashüppamise oskust, mis on Minecraftis levinud käitumine, mille kohaselt tuleb end korduvalt hüpates tõsta ja enda alla klots panna.

Ujumine (nulllask)

Loomade jahipidamine (nulllask)

Toidu söömine (null-shot)

Samba hüppamine (null-lask)

Peenhäälestus käitumusliku kloonimisega

Vundamendi mudelid on loodud laia käitumisprofiiliga ja üldiselt suutma täita mitmesuguseid ülesandeid. Uute teadmiste kaasamiseks või kitsamale ülesannete jaotusele spetsialiseerumise võimaldamiseks on tavapärane nende mudelite viimistlemine väiksemateks ja spetsiifilisemateks andmekogumiteks. Juhtumiuuringuna selle kohta, kui hästi saab VPT vundamendi mudelit allvoolu andmekogumitele viimistleda, palusime oma töövõtjatel mängida 10 minutit uhiuutes Minecrafti maailmades ja ehitada Minecrafti põhimaterjalidest maja. Lootsime, et see võimendab vundamendimudeli võimet usaldusväärselt täita "varajase mängu" oskusi, nagu näiteks meisterdamislaudade ehitamine. Selle andmestiku peenhäälestamisel ei näe me mitte ainult märkimisväärset paranemist vundamendimudelis juba olemasolevate varajaste mänguoskuste töökindluses, vaid peenhäälestatud mudel õpib ka tehnoloogiapuusse veelgi sügavamale minema, meisterdades mõlemad puidust. ja kivitööriistad. Mõnikord näeme isegi algelist varjendi ehitust ja agenti küladest läbi otsimas, sealhulgas röövimiskirstudes.

Minecrafti mängimise õppimine video eelkoolitusega (VPT)
Minecrafti mängimise õppimine video eelkoolitusega (VPT)
Kivist kirka valmistamiseks vajalike esemete jada, millele on märgitud keskmine aeg, mis oskuslikul inimesel iga sammuni jõudmiseks kulub
BC peenhäälestusega paranenud mängukäitumine varases staadiumis

Kivist kirka meisterdamine

Algse puidust varjualuse ehitamine

Otsimine läbi küla

Andmete skaleerimine

Võib-olla meie töö kõige olulisem hüpotees on see, et IDM-i koolitamiseks (VPT torujuhtme osana) on palju tõhusam kasutada märgistatud töövõtja andmeid kui BC vundamendi mudeli otsene väljaõpe samast väikesest töövõtja andmestikust. Selle hüpoteesi kinnitamiseks koolitame alusmudeleid andmemahtude suurendamiseks 1 tunnilt 70,000 2,000 tunnini. Alla 2,000 tunni andmetega koolitatud isikuid koolitatakse töövõtja andmete põhjal tõepõhiste siltidega, mis algselt koguti IDM-i koolitamiseks, ja neid, kes on koolitatud rohkem kui XNUMX tundi, koolitatakse meie IDM-iga märgistatud Interneti-andmetega. Seejärel võtame iga vundamendi mudeli ja viimistleme selle eelmises jaotises kirjeldatud majaehituse andmekogumiga.

Vundamendi mudeli koolitusandmete mõju peenhäälestamisele

Vundamendimudeli andmete suurenedes näeme üldiselt meisterdamisvõime tõusu ja ainult suurima andmemahu korral näeme kivitööriistade meisterdamise tekkimist.

Peenhäälestus tugevdava õppega

Kui on võimalik määrata tasustamisfunktsioon, võib tugevdav õpe (RL) olla võimas meetod kõrge, potentsiaalselt isegi üliinimliku jõudluse saavutamiseks. Paljud ülesanded nõuavad aga raskete uurimisprobleemide ületamist ja enamik RL-i meetodeid lahendab need juhuslik uurimise prioriteedid, nt mudelid on sageli motiveeritud tegutsema juhuslikult entroopiaboonuste kaudu. VPT-mudel peaks olema RL-i jaoks palju parem eeltöö, sest inimkäitumise jäljendamine on tõenäoliselt palju kasulikum kui juhuslike toimingute tegemine. Seadsime oma mudelile väljakutseid pakkuvaks ülesandeks koguda teemantkirka – Minecrafti enneolematu võimalus muutis loomuliku inimliidese kasutamise veelgi keerulisemaks.

Teemantkorja meisterdamine nõuab pikka ja keerulist alamülesannete jada. Selle ülesande jälgitavaks muutmiseks premeerime agente jada iga üksuse eest.

Minecrafti mängimise õppimine video eelkoolitusega (VPT)
Minecrafti mängimise õppimine video eelkoolitusega (VPT)
RL peenhäälestatud VPT mudel, mis meisterdab teemantmoogi

Leidsime, et juhusliku initsialiseerimisega (standardne RL-meetod) väljaõpetatud RL-poliitika ei anna peaaegu mingit tasu, ei õpi kunagi palke koguma ja kogub pulgakesi vaid harva. Vastupidiselt sellele ei õpi VPT mudeli peenhäälestus mitte ainult teemantkirkasid meisterdama (mida see teeb 2.5% 10-minutistest Minecrafti osadest), vaid sellel on isegi inimtasemel edukus kõigi esemete kogumisel, mis viivad teemant kirka. See on esimene kord, kui keegi on näidanud arvutiagenti, mis on võimeline meisterdama Minecraftis teemanttööriistu, mis võtab inimestel keskmiselt üle 20 minuti (24,000 XNUMX toimingut).

Preemia episoodide eest

Järeldus

VPT sillutab teed agentide lubamisele õppida tegutsema Internetist tohutul hulgal videoid vaadates. Võrreldes generatiivse videomodelleerimise või kontrastsete meetoditega, mis annaksid ainult kasu esinduslik Eelnevalt pakub VPT põnevat võimalust suuremahuliseks otseõppeks käitumuslikud prioriteedid rohkemates valdkondades kui ainult keel. Kuigi me katsetame ainult Minecraftis, on mäng väga avatud ja loomulik inimliides (hiir ja klaviatuur) on väga üldine, seega usume, et meie tulemused on head ka muude sarnaste domeenide, nt. arvutikasutus.

Lisateavet leiate siit meie paber. Oleme avatud ka meie töövõtja andmete, Minecrafti keskkonna, mudeli koodi ja mudelite kaalude hankimisel, mis loodetavasti aitavad tulevikus VPT-uuringuid teha. Lisaks oleme sel aastal teinud koostööd MineRL NeurIPS konkursiga. Võistlejad saavad kasutada ja viimistleda meie mudeleid, et proovida lahendada Minecraftis palju keerulisi ülesandeid. Huvilised saavad tutvuda võistluse veebileht ja võistelda sinise taeva auhinna nimel $100,000 lisaks tavapärasele auhinnafondile $20,000. Toetused on saadaval alaesindatud rühmadele ja üksikisikutele.


Tunnustused
See oli pühendunud meeskonna suur pingutus. Iga autor andis pika aja jooksul tohutu panuse mitmel rindel. Kõik liikmed olid täiskohaga projektis üle kuue kuu. BB, IA, PZ ja JC olid algses VPT projektimeeskonnas ja olid seega kaasatud veelgi kauem (üle aasta). Peale nende esialgsete meeskonnaliikmete on autorite järjestus juhuslik. Samuti randomiseeriti see IA ja PZ vahel.

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

Ajatempel:

Veel alates OpenAI