वीडियो प्रीट्रेनिंग (वीपीटी) प्लेटोब्लॉकचैन डेटा इंटेलिजेंस के साथ माइनक्राफ्ट खेलना सीखना। लंबवत खोज। ऐ.

वीडियो प्री-ट्रेनिंग (VPT) के साथ Minecraft खेलना सीखना

वीडियो प्री-ट्रेनिंग (VPT) के साथ Minecraft खेलना सीखना

हमने मानव Minecraft प्ले के बड़े पैमाने पर बिना लेबल वाले वीडियो डेटासेट पर वीडियो प्रीट्रेनिंग (VPT) द्वारा Minecraft खेलने के लिए एक तंत्रिका नेटवर्क को प्रशिक्षित किया, जबकि केवल थोड़ी मात्रा में लेबल किए गए ठेकेदार डेटा का उपयोग किया। फ़ाइन-ट्यूनिंग के साथ, हमारा मॉडल हीरे के औजार बनाना सीख सकता है, एक ऐसा कार्य जो आमतौर पर कुशल मनुष्यों को 20 मिनट (24,000 क्रियाओं) से अधिक समय लेता है। हमारा मॉडल कीप्रेस और माउस आंदोलनों के मूल मानव इंटरफ़ेस का उपयोग करता है, जिससे यह काफी सामान्य हो जाता है, और सामान्य कंप्यूटर-उपयोग करने वाले एजेंटों की ओर एक कदम का प्रतिनिधित्व करता है।

पेपर पढ़ें


कोड और मॉडल वज़न देखें


MineRL प्रतियोगिता

इंटरनेट में सार्वजनिक रूप से उपलब्ध वीडियो की एक बड़ी मात्रा है जिससे हम सीख सकते हैं। आप एक व्यक्ति को एक भव्य प्रस्तुति देते हुए देख सकते हैं, एक डिजिटल कलाकार एक सुंदर सूर्यास्त को चित्रित करता है, और एक Minecraft खिलाड़ी एक जटिल घर का निर्माण करता है। हालांकि, ये वीडियो केवल का रिकॉर्ड प्रदान करते हैं क्या हुआ लेकिन ठीक नहीं कैसे यह हासिल किया गया था, यानी आप माउस आंदोलनों और दबाए गए कुंजियों के सटीक अनुक्रम को नहीं जान पाएंगे। अगर हम बड़े पैमाने पर निर्माण करना चाहते हैं नींव मॉडल इन डोमेन में जैसा हमने भाषा में किया है GPT, एक्शन लेबल की यह कमी एक नई चुनौती पेश करती है जो भाषा क्षेत्र में मौजूद नहीं है, जहां "एक्शन लेबल्स" एक वाक्य में बस अगले शब्द हैं।

इंटरनेट पर उपलब्ध बिना लेबल वाले वीडियो डेटा की संपत्ति का उपयोग करने के लिए, हम एक उपन्यास, फिर भी सरल, अर्ध-पर्यवेक्षित नकली सीखने की विधि पेश करते हैं: वीडियो प्रीट्रेनिंग (वीपीटी)। हम ठेकेदारों से एक छोटा डेटासेट इकट्ठा करके शुरू करते हैं, जहां हम न केवल उनका वीडियो रिकॉर्ड करते हैं, बल्कि उनके द्वारा की गई कार्रवाइयों को भी रिकॉर्ड करते हैं, जो हमारे मामले में कीप्रेस और माउस मूवमेंट हैं। इस डेटा के साथ हम एक इनवर्स डायनेमिक्स मॉडल (IDM) को प्रशिक्षित करते हैं, जो वीडियो में प्रत्येक चरण पर की जाने वाली कार्रवाई की भविष्यवाणी करता है। महत्वपूर्ण रूप से, IDM अतीत का उपयोग कर सकता है और भविष्य प्रत्येक चरण पर कार्रवाई का अनुमान लगाने के लिए जानकारी। यह कार्य बहुत आसान है और इस प्रकार दिए गए कार्यों की भविष्यवाणी के व्यवहारिक क्लोनिंग कार्य की तुलना में बहुत कम डेटा की आवश्यकता होती है केवल पिछले वीडियो फ्रेम, जिसके लिए यह बताना आवश्यक है कि व्यक्ति क्या करना चाहता है और उसे कैसे पूरा करना है। फिर हम प्रशिक्षित IDM का उपयोग ऑनलाइन वीडियो के बहुत बड़े डेटासेट को लेबल करने के लिए कर सकते हैं और व्यवहारिक क्लोनिंग के माध्यम से कार्य करना सीख सकते हैं।

वीडियो प्री-ट्रेनिंग (VPT) के साथ Minecraft खेलना सीखना
वीडियो प्री-ट्रेनिंग (VPT) के साथ Minecraft खेलना सीखना
वीपीटी विधि सिंहावलोकन

वीपीटी जीरो-शॉट परिणाम

हमने Minecraft में अपनी पद्धति को मान्य करने के लिए चुना क्योंकि यह (1) दुनिया में सबसे अधिक सक्रिय रूप से खेले जाने वाले वीडियो गेम में से एक है और इस प्रकार स्वतंत्र रूप से उपलब्ध वीडियो डेटा का खजाना है और (2) विभिन्न प्रकार की चीजों के साथ खुला है करते हैं, वास्तविक दुनिया के अनुप्रयोगों जैसे कि कंप्यूटर के उपयोग के समान। भिन्न पूर्व कार्य Minecraft में जो अन्वेषण को आसान बनाने के उद्देश्य से सरलीकृत एक्शन स्पेस का उपयोग करता है, हमारा AI बहुत अधिक सामान्य रूप से लागू होता है, हालांकि बहुत अधिक कठिन, देशी मानव इंटरफ़ेस: माउस और कीबोर्ड के साथ 20Hz फ्रैमरेट।

IDM-लेबल वाले ऑनलाइन वीडियो के 70,000 घंटों में प्रशिक्षित, हमारा व्यवहारिक क्लोनिंग मॉडल ("VPT फ़ाउंडेशन मॉडल") Minecraft में ऐसे कार्यों को पूरा करता है जिन्हें खरोंच से सुदृढीकरण सीखने के साथ हासिल करना लगभग असंभव है। यह लट्ठों को इकट्ठा करने के लिए पेड़ों को काटना सीखता है, उन लट्ठों को तख्तों में गढ़ता है, और फिर उन तख्तों को एक क्राफ्टिंग टेबल में गढ़ता है; यह क्रम Minecraft में लगभग 50 सेकंड या 1,000 लगातार खेल क्रियाओं में एक मानव कुशल लेता है।

वीडियो प्री-ट्रेनिंग (VPT) के साथ Minecraft खेलना सीखना
वीडियो प्री-ट्रेनिंग (VPT) के साथ Minecraft खेलना सीखना
एक क्राफ्टिंग टेबल को तैयार करने के लिए आवश्यक वस्तुओं का क्रम, औसत समय के साथ लेबल किया जाता है जो कुशल मनुष्यों को प्रत्येक चरण तक पहुंचने में लगता है
एक क्राफ्टिंग टेबल "शून्य शॉट" का क्राफ्टिंग (अर्थात पूर्व-प्रशिक्षण के बाद केवल अतिरिक्त फाइन-ट्यूनिंग के बिना)

इसके अतिरिक्त, मॉडल अन्य जटिल कौशल का प्रदर्शन करता है जो मनुष्य अक्सर खेल में करते हैं, जैसे तैराकी, भोजन के लिए जानवरों का शिकार करना और उस भोजन को खाना। इसने "पिलर जंपिंग" का कौशल भी सीखा, माइनक्राफ्ट में बार-बार कूदने और अपने नीचे एक ब्लॉक रखकर खुद को ऊपर उठाने का एक सामान्य व्यवहार।

तैरना (शून्य शॉट)

शिकार करने वाले जानवर (शून्य शॉट)

खाना खाना (शून्य शॉट)

पिलर जंपिंग (शून्य शॉट)

व्यवहार क्लोनिंग के साथ फाइन-ट्यूनिंग

फाउंडेशन मॉडल एक व्यापक व्यवहार प्रोफ़ाइल के लिए डिज़ाइन किए गए हैं और आम तौर पर विभिन्न प्रकार के कार्यों में सक्षम हैं। नए ज्ञान को शामिल करने या उन्हें एक संकीर्ण कार्य वितरण पर विशेषज्ञता देने की अनुमति देने के लिए, इन मॉडलों को छोटे, अधिक विशिष्ट डेटासेट में ठीक करना आम बात है। एक केस स्टडी के रूप में कि वीपीटी फाउंडेशन मॉडल को डाउनस्ट्रीम डेटासेट में कितनी अच्छी तरह से ट्यून किया जा सकता है, हमने अपने ठेकेदारों को बिल्कुल नए Minecraft दुनिया में 10 मिनट के लिए खेलने और बुनियादी Minecraft सामग्री से एक घर बनाने के लिए कहा। हमें उम्मीद थी कि यह नींव मॉडल की क्षमता को मज़बूती से "शुरुआती खेल" कौशल जैसे कि क्राफ्टिंग टेबल बनाने की क्षमता को बढ़ाएगा। जब इस डेटासेट को फ़ाइन-ट्यूनिंग किया जाता है, तो हम न केवल फ़ाउंडेशन मॉडल में पहले से मौजूद शुरुआती गेम कौशल को मज़बूती से प्रदर्शन करने में बड़े पैमाने पर सुधार देखते हैं, बल्कि फ़ाइन-ट्यून मॉडल दोनों लकड़ी को क्राफ्ट करके प्रौद्योगिकी के पेड़ में और भी गहराई तक जाना सीखता है। और पत्थर के औजार। कभी-कभी हम कुछ अल्पविकसित आश्रय निर्माण और एजेंटों को गांवों में खोज करते हुए देखते हैं, जिसमें छापेमारी भी शामिल है।

वीडियो प्री-ट्रेनिंग (VPT) के साथ Minecraft खेलना सीखना
वीडियो प्री-ट्रेनिंग (VPT) के साथ Minecraft खेलना सीखना
एक पत्थर की कुल्हाड़ी बनाने के लिए आवश्यक वस्तुओं का क्रम, औसत समय के साथ लेबल किया जाता है जो कुशल मनुष्यों को प्रत्येक चरण तक पहुंचने में लगता है
बीसी फाइन-ट्यूनिंग से बेहतर प्रारंभिक खेल व्यवहार

पत्थर की कुल्हाड़ी बनाना

अल्पविकसित लकड़ी के आश्रय का निर्माण

एक गांव के माध्यम से खोज

डेटा स्केलिंग

शायद हमारे काम की सबसे महत्वपूर्ण परिकल्पना यह है कि एक IDM (VPT पाइपलाइन के हिस्से के रूप में) को प्रशिक्षित करने के लिए लेबल किए गए ठेकेदार डेटा का उपयोग करना कहीं अधिक प्रभावी है, क्योंकि यह उसी छोटे ठेकेदार डेटासेट से सीधे BC फाउंडेशन मॉडल को प्रशिक्षित करने के लिए है। इस परिकल्पना को मान्य करने के लिए हम डेटा की मात्रा को 1 से 70,000 घंटे तक बढ़ाने पर फाउंडेशन मॉडल को प्रशिक्षित करते हैं। 2,000 घंटे से कम के डेटा पर प्रशिक्षित लोगों को जमीनी सच्चाई के लेबल के साथ ठेकेदार डेटा पर प्रशिक्षित किया जाता है जो मूल रूप से IDM को प्रशिक्षित करने के लिए एकत्र किए गए थे, और 2,000 घंटे से अधिक प्रशिक्षित लोगों को हमारे IDM के साथ लेबल किए गए इंटरनेट डेटा पर प्रशिक्षित किया जाता है। फिर हम प्रत्येक फाउंडेशन मॉडल को लेते हैं और इसे पिछले अनुभाग में वर्णित हाउस बिल्डिंग डेटासेट के साथ ठीक करते हैं।

फ़ाइन-ट्यूनिंग पर फ़ाउंडेशन मॉडल प्रशिक्षण डेटा का प्रभाव

जैसे-जैसे फाउंडेशन मॉडल डेटा बढ़ता है, हम आम तौर पर क्राफ्टिंग क्षमता में वृद्धि देखते हैं, और केवल सबसे बड़े डेटा स्केल पर ही हम स्टोन टूल क्राफ्टिंग का उद्भव देखते हैं।

सुदृढीकरण सीखने के साथ फाइन-ट्यूनिंग

जब एक इनाम समारोह को निर्दिष्ट करना संभव होता है, तो सुदृढीकरण सीखने (आरएल) उच्च, संभावित रूप से सुपर-मानव, प्रदर्शन को प्राप्त करने के लिए एक शक्तिशाली तरीका हो सकता है। हालाँकि, कई कार्यों के लिए कठिन अन्वेषण चुनौतियों पर काबू पाने की आवश्यकता होती है, और अधिकांश RL विधियाँ इनसे निपटती हैं बिना सोचे समझे अन्वेषण के पूर्वज, उदाहरण के लिए मॉडल को अक्सर एन्ट्रापी बोनस के माध्यम से बेतरतीब ढंग से कार्य करने के लिए प्रोत्साहित किया जाता है। वीपीटी मॉडल आरएल के लिए पहले से काफी बेहतर होना चाहिए क्योंकि मानव व्यवहार का अनुकरण यादृच्छिक कार्रवाई करने से कहीं अधिक सहायक होता है। हमने अपने मॉडल को डायमंड पिकैक्स इकट्ठा करने का चुनौतीपूर्ण कार्य निर्धारित किया है, Minecraft में एक अभूतपूर्व क्षमता ने मूल मानव इंटरफ़ेस का उपयोग करते समय और अधिक कठिन बना दिया है।

हीरे के पिकैक्स को तैयार करने के लिए उप-कार्यों के एक लंबे और जटिल अनुक्रम की आवश्यकता होती है। इस कार्य को सुगम बनाने के लिए, हम अनुक्रम में प्रत्येक आइटम के लिए एजेंटों को पुरस्कृत करते हैं।

वीडियो प्री-ट्रेनिंग (VPT) के साथ Minecraft खेलना सीखना
वीडियो प्री-ट्रेनिंग (VPT) के साथ Minecraft खेलना सीखना
RL फाइन-ट्यून VPT मॉडल डायमंड पिकैक्स तैयार करता है

हमने पाया कि रैंडम इनिशियलाइज़ेशन (मानक आरएल पद्धति) से प्रशिक्षित एक आरएल नीति मुश्किल से कोई इनाम प्राप्त करती है, कभी भी लॉग एकत्र करना नहीं सीखती है और केवल शायद ही कभी स्टिक इकट्ठा करती है। इसके विपरीत, वीपीटी मॉडल से फाइन-ट्यूनिंग न केवल हीरे की पिकैक्स बनाना सीखता है (जो यह 2.5 मिनट के Minecraft एपिसोड के 10% में करता है), लेकिन यहां तक ​​​​कि सभी वस्तुओं को इकट्ठा करने में मानव-स्तर की सफलता दर भी है। हीरे की कुल्हाड़ी। यह पहली बार है जब किसी ने Minecraft में हीरे के औजारों को तैयार करने में सक्षम कंप्यूटर एजेंट को दिखाया है, जो मनुष्यों को औसतन 20 मिनट (24,000 क्रियाएं) से अधिक लेता है।

एपिसोड पर इनाम

निष्कर्ष

वीपीटी एजेंटों को अनुमति देने की दिशा में मार्ग प्रशस्त करता है अभिनय करना सीखो इंटरनेट पर बड़ी संख्या में वीडियो देखकर। जनरेटिव वीडियो मॉडलिंग या विपरीत तरीकों की तुलना में जो केवल उपज देंगे प्रतिनिधित्ववादी पुजारी, वीपीटी बड़े पैमाने पर सीधे सीखने की रोमांचक संभावना प्रदान करता है व्यवहार पूर्वज केवल भाषा से अधिक डोमेन में। जबकि हम केवल Minecraft में प्रयोग करते हैं, खेल बहुत खुला है और मूल मानव इंटरफ़ेस (माउस और कीबोर्ड) बहुत सामान्य है, इसलिए हम मानते हैं कि हमारे परिणाम अन्य समान डोमेन, जैसे कंप्यूटर उपयोग के लिए अच्छे हैं।

अधिक जानकारी के लिए, कृपया देखें हमारे अखबार. हम अपने ठेकेदार डेटा, माइनक्राफ्ट पर्यावरण, मॉडल कोड और मॉडल वज़न को भी ओपन सोर्सिंग कर रहे हैं, जो हमें आशा है कि वीपीटी में भविष्य के शोध में सहायता करेगा। इसके अलावा, हमने इस वर्ष माइनआरएल न्यूरआईपीएस प्रतियोगिता के साथ भागीदारी की है। Minecraft में कई कठिन कार्यों को हल करने का प्रयास करने के लिए प्रतियोगी हमारे मॉडलों का उपयोग और उन्हें ठीक कर सकते हैं। रुचि रखने वाले देख सकते हैं प्रतियोगिता वेबपेज और नीले आकाश के पुरस्कार के लिए प्रतिस्पर्धा करें $100,000 के एक नियमित पुरस्कार पूल के अलावा $20,000. अनुदान स्व-पहचाने गए कम प्रतिनिधित्व वाले समूहों और व्यक्तियों के लिए उपलब्ध हैं।


Acknowledgments
यह एक समर्पित टीम द्वारा एक बड़ा प्रयास था। प्रत्येक लेखक ने लंबे समय में कई मोर्चों पर बहुत बड़ा योगदान दिया है। सभी सदस्य छह महीने से अधिक समय तक इस परियोजना पर पूर्णकालिक थे। BB, IA, PZ, और JC मूल VPT प्रोजेक्ट टीम में थे, और इस प्रकार और भी अधिक समय (एक वर्ष से अधिक) तक शामिल रहे। उन मूल टीम के सदस्यों के अलावा, लेखक का क्रम यादृच्छिक है। इसे IA और 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(); });

समय टिकट:

से अधिक OpenAI