首页游戏攻略强化学习从未如此方便Facebook发布沙盒MiniHack内置史上最难游戏

强化学习从未如此方便Facebook发布沙盒MiniHack内置史上最难游戏

misa2 03-28 4次浏览 0条评论

来源:Facebook

编辑:LRS

【新智元导读】你是不是经常感觉目前的强化学习游戏都太过简单,没有挑战性?Facebook最近发布了一个超好用的强化学习沙盒MiniHack,不仅高度可定制化,还内置了一个超难的游戏NetHack,快来挑战吧!

强化学习(Reinforcementlearning,RL)能够扶助人类进行有效地决策,研究成果也遍布游戏、机器人等各个领域。

强化学习的研究进展通常是由模拟基准推动的,研究人员通过在各种各样的模拟器基准上练习模型,并且一些基准已经被完全刷榜,例如ArcadeLearningEnvironment和MuJoCo已经到了很难再优化的程度。

一些新的基准测试环境,如ProcGen、Minecraft和NetHack能够扶助RL研究人员构建更强大的新算法,但这些新环境过于复杂和丰盛的功能导致在算法开发过程中,很难弄清算法究竟测试了哪些问题。

这些测试平台一般由一个完全的游戏组成,并没有明确设计用于强化学习的特定功能,例如RL算法中常用的探索(exploration)、记忆(memory)和分数(creditassignment)都没有提供接口。

为了解决这个问题,Faccebook提出了一个环境构建框架MiniHack,使用此工具,开发人员可以轻松针对RL中的特定问题创建高级强化学习的任务。

目前MiniHack是开源的,并且论文已经发表在NeurIPS2021。

框架中还附带了一套基于NetHack的任务,NetHack是世界上最难的游戏之一。它是发布于1987年一款Rougelike游戏,继续自Hack(1985年)及更早的Rogue(1980年),玩家需要抉择自己所扮演的角色并指定性别、种族、职业和阵营,或者抉择让系统随机产生一个角色。游戏者可以扮演经典奇幻角色,比如骑士,野蛮人,巫师,游侠,神官,僧侣和武士,也可以抉择一些比较少见的角色,诸如考古学家、游客和洞穴人。玩家的角色和阵营决定了其在游戏中需要侍奉的神灵。

展开全文

通关流程中玩家需要在地下城的最底层取得Yendor的项链并将其供奉给自己的神灵。假如完成整个游戏,玩家将会获得不朽作为礼物,并成为半神。此外,一系列的支线任务也必须完成,其中包括各职业所特有的任务。游戏开始的时候,玩家通常会有一只宠物伴随,一般是小猫或者小狗,但是骑士会有一只马驹以及一副马鞍。游戏中大部分的怪物都可以用魔法、喂食、许愿、下蛋、陷阱等方式转化为宠物。

MiniHack使用NetHack学习环境(NLE)为开发人员提供接口,可以轻松利用游戏的丰盛性来完成复杂的强化学习任务。这个新的沙盒MiniHack附带了大量游戏中已有的资源,有多达500多个怪物和450件物品,包括武器、魔杖、工具和咒语书,所有这些都具有特殊的特征和复杂的动态环境。

这个框架答应RL开发者不仅在简单的网格世界风尚中进行路线规划,还需要在有限的行动空间内完成更复杂的技能获取问题。

为了方便开发,MiniHack利用了NetHack中地下城的描述文件。描述文件使用人类可读的概率编程(如领域特定语言DSL)编写,只需几行代码开发人员就可以生成各种各样的环境,并掌握每一处细节,从怪物的位置、类型到关卡、物体和地形,同时引进随机性来增强RLagent的泛化能力。

DSL可以对环境的某些部分进行细化,并使用随机生成函数,这也意味着每次重置环境并且agent开始新的事件时,agent的等级可能会有明显区别。这种程序性内容生成答应MiniHack评估RL对以前未看到的情状的泛化能力,从而能够练习本质上更健壮和通用的代理。对于没有时间学习描述文件细节的研究人员,MiniHack还提供了一个方便的接口,用Python来描述整个环境。

MiniHack环境使用Gym接口,并且一切都是高度可定制的。用户可以轻松地抉择agent接收的看测类型,例如基于像素的、符号的或文本的,以及它可以执行的操作。此外,MiniHack还提供了一个方便的接口来指定所需的自定义奖励功能,以指挥agent的学习。

Facebook还使用MiniHack构建了一套RL任务,用于测试RLagent的核心功能,并将其作为MiniHack的一部分共同发布。这套任务可以像任何其他RL基准一样使用。此外,这些任务还可以作为开发新任务的基础代码。

MiniHack还支持移植现有的基于网格的基准测试,开源代码中展示了如何将之前的测试平台(如MiniGrid和Boxoban)移植到MiniHack上。由于MiniHack的灵巧性和丰盛性,可以通过添加额外的实体、环境功能和随机性来增加挑战性。

发明丰盛复杂的环境来研究深度RL中的特定研究问题从来都不是一件轻易的事。

MiniHack的目的是在分别中测试AI代理的特定功能,包括探索、记忆和语言辅助RL。该框架可用于FAIR和NeurIPS2021联合举办的NetHack挑战赛。

为了更快上手MiniHack,开发者提供了使用TorchBeast和RLlib等框架的各种baseline代码。

MiniHack还支持无监督环境设计(UED)研究,通过动态调整任务MDP的自由参数,在练习期间学习自适应任务分配。MiniHack答应覆盖环境的描述文件,从而可以依据UED的要求轻松调整MDP配置。

为了测试MiniHack中的UED,开发者实现了最近提出的PAIRED算法,该算法通过最大化regret来练习环境对抗,从而生成环境,以便最终能练习一个鲁棒性更强的主角代理。

研究人员还使用不同的神经结构进行额外的实验来比较IMPALA基线模型的性能,并展示了在选定的MiniHack任务上使用三种不同体量模型架构(小型、中型和大型)的结果,这三种架构在卷积层的数量、隐躲MLP层的大小以及embedding维度上有所不同。

中、大型agent模型的性能在所有五个任务上都是相差不大。有趣的是,小型模型在Room-Ultimate-15和CorridorBattle环境中的性能较差,但实际上在Corridor-3任务中的性能却优于大型模型。

由于环境的复杂性,小型模型的在深度和宽度方面的性能可能都优于大型模型,假如用老的框架则无法很好地进行分析。MiniHack提供了一个更可控的环境来研究这一现象,并且它提供了丰盛的环境定制能力。

参考资料:

史上最难游戏
史玉柱:游戏研发的度最难把握 是艺术不是科学 6780元的游戏见过没?Steam史上最贵游戏上架发售
相关内容
发表评论

游客 回复需填写必要信息