当前位置: 华文问答 > 游戏

【我的世界】除了种田畜牧还能怎么玩?

2020-10-14游戏

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

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

在这里插入图片描述

DeepMind在星际争霸中训练出来的「 AlphaStar 」:

在这里插入图片描述

1.VPT模型

一般来说,游戏的自由度越高,让AI学习人类知识并自由探索越难。因此OpenAI利用【我的世界】的玩家视频来学习,训练出超大的预训练模型VPT。对于熟练的人来说,在MC中制作钻石镐,需要超过20分钟(包含24000个动作),这对人来说可能比较简单,但是对于AI来说,需要较为复杂的模型。这个模型用了 按键和鼠标移动 的人机界面,使其更加通用,代表着使用通用智能体的计算机往前迈向了一步。

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

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

  • 游泳
  • 在这里插入图片描述
  • 打猎:
  • 在这里插入图片描述

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

  • 制作石头镐子
  • 在这里插入图片描述


  • 搜索村庄里的箱子
  • 在这里插入图片描述


    2.论文细节

    2.1预训练阶段

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

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

    在这里插入图片描述

    收集小型的数据集,包含游戏视频和玩家的动作序列(鼠标和按键序列);利用这些数训练逆动力学模型IDM,使用过去和未来的动作特征,来预测每一步操作。

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

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

  • 该游戏是世界上玩得最活跃的视频游戏之一,因此有大量免费可用的视频数据
  • 该游戏自由度较高,可以做不同的探索任务。
  • VPT模型在70000小时的视频上进行训练,相比于强化学习从头开始训练,它学会砍树木以收集原木,将这些原木制作成木板,然后将这些木板制作成一个工作台;这个序列需要一个精通的人大约50秒或1000个连续的动作。

    在这里插入图片描述

    2.2下游微调

    预训练阶段,模型能够学到一些比较宽泛的动作。为了让模型学习更多的知识,并且让它专注于精细化的任务,通常需要对预训练模型进行微调。OpenAI让人类玩家在【我的世界】中游玩10分钟,并用基本的材料建造房子,希望增强基础模型可以学习到「早期游戏」技能的能力。对这种数据集进行微调后,模型学会了更深的技能: 制作木头和石器工具。

    在这里插入图片描述
    在这里插入图片描述

    2.3数据扩展

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

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

    在这里插入图片描述

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

    2.4下游微调+强化学习

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

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

    在这里插入图片描述
    强化学习微调VPT模型,制作钻石镐

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

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

    在这里插入图片描述

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

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

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