让AI玩《我的世界》

2022-11-04 11:34:22 浏览数 (1)

我们都知道,《我的世界》(MC)是一款沙盒开放世界游戏,玩家可以根据自己的想象,建造出完全属于自己的世界。它着重于让玩家探索,并可以与环境物品进行交互,使得玩家在游戏中有极大的自由度和开放度。

在以往的例子中,AI能在MOBA类游戏和即时战略游戏中超越专业选手,例如腾讯在王者荣耀训练出来的“绝悟AI”:

DeepMind在星际争霸中训练出来的“AlphaStar”:

VPT模型

一般来说,游戏的自由度越高,让AI学习人类知识并自由探索越难。因此OpenAI利用《我的世界》的玩家视频来学习,训练出超大的预训练模型VPT。

对于熟练的人来说,在MC中制作钻石镐,需要超过20分钟(包含24000个动作),这对人来说可能比较简单,但是对于AI来说,需要较为复杂的模型。而这个模型用了按键和鼠标移动的人机界面,使其更加通用,代表着使用通用智能体的计算机往前迈向了一步。

那让我们先来看一下训练出来的智能体效果。

它能够完成一般的基础动作,例如:

游泳

打猎

除此之外,它也能够完成复杂的动作:

制作石头镐子

搜索村庄里的箱子

论文细节

预训练阶段

在互联网上存在大量公开的视频,人类可以从中进行学习。比如你可以学习演讲,学习画画,学习如何在MC中建造复杂的房子。但是对于游戏来说,仅仅记录了所发生的事情,但是不知道真实玩家中不知道鼠标移动和按键的确切顺序,也就是说需要模型学习玩家的操作序列。打个比方,类似于在NLP中训练BERT模型,模型可以学习每个单词的上下文序列等。

论文中主要用到半监督的方法去实现VPT模型:

IDM模型训练比较简单,因此需要的数据量不会很多。利用训练得到的IDM模型,去标记大量的在线视频数据集。

该研究选择在《我的世界》中验证,这是因为:

  • 该游戏是世界上玩得最活跃的视频游戏之一,因此有大量免费可用的视频数据
  • 该游戏自由度较高,可以做不同的探索任务。

VPT模型在70000小时的视频上进行训练,相比于强化学习从头开始训练,它学会砍树木以收集原木,将这些原木制作成木板,然后将这些木板制作成一个工作台;这个序列需要一个精通的人大约50秒或1000个连续的动作。

下游微调

预训练阶段,模型能够学到一些比较宽泛的动作。为了让模型学习更多的知识,并且让它专注于精细化的任务,通常需要对预训练模型进行微调。OpenAI让人类玩家在《我的世界》中游玩10分钟,并用基本的材料建造房子,希望增强基础模型可以学习到“早期游戏”技能的能力。

对这种数据集进行微调后,模型学会了更深的技能:制作木头和石器工具。

数据扩展

研究中有一个重要假设:在使用同一份人类标记的视频数据下,训练IDM模型(VPT中的第一步方法),要比直接训练人类行为克隆BC模型要有效得多。为了验证这个假设,研究者把数据规模从1小时扩展到7w小时。

下图中,纵坐标为不同技能的完成水平,比如挖掘、制作等。虚线部分左边为没有使用IDM模型,右边为使用了IDM模型。

图中可以看到,尽管增长了数据量,在没有IDM模型上,制作能力有所上涨,但一直没有石器工具的出现。直到使用IDM模型,才出现石器工具。

下游微调 强化学习

当给定一个指定的奖励函数,使用强化学习能够激发模型达到较高的水平并超越人类的能力。但是大多数的强化学习任务利用随机初始化进行训练。而本模型VPT可以称为强化学习的初始化模型,因为模拟人类行为可能比采取随机行动更有帮助。

下图展示了模型在制作钻石镐的过程:

从结果发现,使用随机初始化进行RL训练几乎没有获得任务的reward。

相反,使用VPT模型进行微调不仅可以学习制作钻石镐(在10分钟的Minecraft剧集中,它会制作2.5%),而且在收集钻石镐之前的所有物品方面,它甚至具有人类水平的成功率。

目前该项目已经开源,具体项目代码地址如下:

https://github.com/openai/Video-Pre-Training

有兴趣的小伙伴可以看一下具体论文。

本期就到这里拉,我是leo,我们下期再见~

0 人点赞