آموزش بازی Minecraft با پیش آموزش ویدیویی
شرکت خرپول OpenAI در آخرین دستاورد خودش از مدلی که میتونه ماینکرافت بازی کنه رونمایی کرده. فرض کنید میخوایم به یک مدل یاد بدیم چطور ماینکرفت بازی کنه. اولین راهی که به ذهن میرسه اینه که یک سیمولاتور ماینکرفت درست کنیم و مدل رو به صورت RL طور روی این محیط بازی آموزش بدیم. مشکلی که اینجا به وجود میاد یکی سایز فضای حالت بالای بازی و نیاز بالای مدل به اکتشاف ( exploration ) و دیگری هم سختی تعریف تابع پاداش (ریوارد) در این فضا است. راه دوم اینه که بیایم یک تعداد عامل انسانی بذاریم و از بازی کردن اونها و اکشنهایی که انتخاب میکنند یک دیتاست درست کنیم و مدل رو به اصطلاح به صورت آفلاین آموزش بدیم. مشکل این راه اینه که برای این که یک مدل کارا داشته باشیم نیازه تا عاملهای انسانیمون خیلی خیلی خیلی دیتا جمع آوری کنند که حتی برای openAI هم قفله. با این اوصاف به نظرتون OpenAI چه راهی در پیش گرفته؟
از اونجایی که OpenAI خیلی به دادههای وسیع حاضر در اینترنت علاقهمنده (این رو در طرز آموزش GPT و Clip و DallE هم قبلا دیده بودیم) اومده اولا "هفتاد هزار ساعت" فیلم ویدئو ماینکرافت بازی کردن ملت رو از اینترنت دانلود کرده. خب این دیتای ارزشمندیه ولی مشکل اینه که فقط فیلمه و معلوم نیست که گیمر در هر لحظه چه اکشنی رو انتخاب کرده که. پس OpenAI اومده و با استفاده از عاملهای انسانی که داره حدود دوهزار ساعت ویدئو بازی کردنشون رو به صورت لیبل دار جمع آوری کرده (یعنی اون عامل انسانی ماینکرافت بازی کرده و مشاهداتی که داشته و اکشن هایی که در لحظه انجام داده به صورت دنباله ذخیره شده) حالا اومدن و یک مدل دیگه ای به نام IDM با استفاده از همین دیتاها آموزش دادن که وظیفه اش اینه که با مشاهده یک دنباله از فریمهای ویدئو تشخیص بده که گیمر در اون لحظه چه اکشنی رو انتخاب کرده (نکته خوب ماجرا اینه که این مدل Non-Autoregressive هست یعنی برای تشخیص اکشن انجام شده در یک فریم میتونه هم به فریمهای قبلی و هم به فریمهای بعدی نگاه و توجه کنه). حالا احتمالا اگر نخ ماجرا دستتون اومده باشه میتونید حدس بزنید که در گام بعدی اومدن به کمک همین مدل IDM به دست اومده اون دادههای ویدئو بی لیبل هفتا هزار ساعتی رو لیبل زده اند. حالا در واقع یک دیتاست لیبل خورده هفتادهزار ساعتی حاضر و آماده است و میشه مدل اصلی و نهایی رو روی این دیتاست بزرگ آموزش داد. OpenAIایها اسم این تکنیک رو گذاشتند Video PreTraining یا به اختصار VPT.
بعد از به دست اومدن این دیتاست هفتادهزار ساعته لیبلدار، حالا یک مدل رو به صورت Autoregressive رو دنباله فریمها و اکشنها به صورت imitation learningای (این تکنیک به این معناست که عوض این که مدل رو در پارادایم RL در یک محیط قرار بدیم و با دادن ریوارد بهش آموزشش بدیم بیایم اون تسک رو توسط عامل انسانی انجام بدیم و مدل رو روی دادهها و حرکات اون عامل انسانی آموزش بدیم به این امید که بتونه سیاست اون عامل انسانی رو تقلید کنه) آموزش دادند. روی نحوه بازیکردن این مدل هم یکسری مشاهدات و آزمایشات انجام دادند که حیرت آوره. مثلا مدل تونسته تسکهایی رو که گیمرهای حرفهای ماینکرفت ظرف ۲۰ دقیقه (۲۴ هزار اکشن) انجام میدند رو به خوبی یاد بگیره!!! یا مثلا همین مدل به دست اومده رو به عنوان یک نقطه شروع قرار دادند و با RL دوباره روی یک سری تسکهای خاص فاین تیونش دادند و نتیجههای خوبی به دست گرفتند. فیلم بازیهای این مدل خفن در لینک توسط OpenAI قرار داده شده. همچینن OpenAI ناپرهیزی کرده و این مدل رو بر خلاف مدلهای دیگه اش اوپن سورس صلواتی منتشر کرده! با موفقیت این مدل انتظار میره که OpenAI با توجه به روحیهای که داره در گامهای بعدی این متد رو به مسائل مشابه دیگر اعمال کند. این داستان ادامه دارد؟
لینک بلاگ OpenAI برای این مدل:
https://openai.com/blog/vpt/
لینک کد و وزنهای این مدل:
https://github.com/openai/Video-Pre-Training
لینک مقاله:
https://cdn.openai.com/vpt/Paper.pdf
#read
#paper
@nlp_stuff
Post #283
3.52K