最新公告
  • 欢迎您光临欧资源网,本站秉承服务宗旨 履行“站长”责任,销售只是起点 服务永无止境!立即加入我们
  • Nature:游戏行业中的“过程生成”的跨学科研究方向

    介绍

    近年来,很多AI技术的突破都离不开游戏的影响,无论是古代围棋还是即时战略星际争霸都体现了这样的融合。同时,游戏与AI的跨界合作也体现在通过算法生成新的游戏规则,让机器学习算法具有更强的泛化能力。Nature Machine Intelligence 8月3日发布的评测论文首先从现有应用、与机器学习的关系、面临的问题等方面,全面介绍了游戏行业“程序化内容生成”的概念。阐述了这一新的跨学科研究方向。

    完整论文列表及更多相关论文,请扫码获取:

    1. 每次玩游戏都让游戏与众不同

    通过算法生成游戏中的背景信息,如游戏中的关卡、任务、环境等,在游戏行业称为“程序化生成”。自 1980 年首次提出以来,该技术已广泛应用于游戏界。从最简单的俄罗斯方块到像我的世界这样的开放游戏,这项技术无处不在。

    在著名的策略游戏《席德梅尔的文明》系列中,每款游戏的地图都会有所不同。正因为如此,玩家愿意多次玩游戏。为了保证每场比赛的地图不一致,一种方式是在游戏中预设很多地图,另一种方式是通过算法在每次开始时自动生成地图。显然后者减少了游戏所需的计算机存储空间。

    图1:《文明6》游戏生成的随机地图

    如何生成上面的地图,不仅要保证每场比赛的开局不同,还要保证玩家不会因为开局的随机因素而感到游戏难度发生了明显的变化。一种可能的生产方法是元胞自动机。通过玩家给定的参数,算法可以从某一点开始,按照游戏设计者预设的规则逐步展开,生成新的地图。

    2.机器学习中的数据增强、过程生成

    在机器学习中,为了提高模型的泛化能力,一种常用的技术是数据论证,即在监督学习范式下,通过在已有的经过特定变换的训练数据集的基础上添加模拟数据,从而扩展训练数据集的多样性,可以提高训练模型的泛化能力。

    具体来说,在猫狗图像分类任务中,可以对原始图像进行拉伸、翻转或裁剪,然后将新生成的数据与原始数据一起训练。这样训练出来的模型可以更好地提取猫狗的本质特征,从而使模型在新的数据集上表现更好,更加鲁棒。

    在强化学习范式中,通过在训练环境中引入随机因素,例如训练扫地机器人时,每次的环境都不一样,也可以提高模型的泛化能力。如果把扫地机器人执行的任务看成是一场游戏,那么机器学习中的数据增强就相当于游戏设计中的“流程生成”。两者都是通过随机数据,让玩家通过现象看到本质。

    3. 数学网络科学未来会有哪些突破?

    在机器学习成为主流之前,AI 领域的一个常见做法是从一系列可能的解决方案中寻找一个(局部)最优解决方案。将这类方法应用到游戏生成中,下面是一个典型案例[1],即自动生成超级马里奥的关卡。

    具体做法是将游戏的地图分为微(mirco)、中观(meso)和宏(marco)三种模式。该算法的目标是根据不同的难度设置相应的需要得到的宏模式,然后寻找中观模式。模式的组合形成宏观模式,然后通过一一搜索不同的微观模式组合,得到对应的中观模式。

    图 2:超级马里奥中不同的微观、中观和宏观模式示例

    通过逐层自下而上的搜索,算法可以在原游戏地图的基础上,生成统计特征相同、游戏难度相近的新关卡地图。下图是原版超级马里奥的第一关,算法生成的第一关。

    图 3:真实和生成的游戏地图的比较

    未来,研究人员和具有科学头脑的政策制定者可能能够利用这些进展对尚未观察到的复杂网络现象进行定量预测。

    4 通过深度学习生成新游戏:对抗性生成网络的一个例子

    对抗生成网络 (GAN) 是过去五年深度学习中发展最快的领域之一。如果将生成新超级马里奥的任务交给 GAN,它会怎么做?2018年的ACM论文给出了答案[2]。

    图4:深度卷积对抗生成网络结构示意图

    本文使用深度卷积对抗神经网络,将现有游戏地图的一部分作为训练数据,通过生成器,生成新的游戏地图,然后通过判别器判断生成的游戏地图是否与真实游戏地图相似地图。然后通过对原始图像进行修改来迭代它,改进生成器。

    图 5:从最左边的图像开始,随机变化,生成右边图像的几个可能的映射,并随机选择一个进行下一次迭代

    这样生成的地图就不会出现影响可玩性的特征,比如出现不可跳过的沟壑,然后逐渐模仿不同难度的游戏关卡中出现的障碍物,使生成的游戏地图具有相似的特征。困难。

    与传统方法相比,基于GAN的关卡生成可以在玩家游戏过程中根据玩家的操作动态改变下一关的难度,这是传统的基于搜索的方法无法实现的。此外,还可以根据具体目标设计关卡。

    图 6:最大化和最小化跳跃的关卡

    例如c语言流程图生成器,如果你想让玩家在游戏中尽可能多地跳跃,通过修改GAN的约束,可以生成左边的地图,如果你想最小化跳跃,可以生成一个像一个在右边。

    5 通过强化学习生成游戏

    生成游戏关卡的另一种方法是强化学习。如果你想用强化学习来生成一张超级马里奥的地图,算法需要一个评估函数来计算不同的游戏图像离理想水平有多远。与GAN类似,在强化学习范式下,也是从随机层次开始,不断改进,通过迭代完善设计。不同的是,由于评价函数的存在,每次变化都不是随机的,而是有方向的。

    c语言随机数生成_c语言可变随机数生成_c语言流程图生成器

    图 7:强化学习生成博弈流程图

    在上图[3]中,关键点是如何表征游戏的设计。不同的表现形式决定了设计的游戏关卡会有不同的特点。上图中的评价函数,除了判断本次生成的游戏关卡是否比上次好,还判断生成的关卡是否“可玩”,如果是则停止迭代。

    图 8:推箱子游戏地图的二维表示

    例如推箱子游戏中,玩家通过上下左右操纵小人的动作,将箱子推到指定位置,这被认为是过关。上图是推箱子图的二维矩阵表示。在每次迭代中,左图的矩阵都会被修改。

    设计游戏关卡的代理需要在给定盒子和目标的距离的情况下,让反派走尽可能多的步,从而增加游戏的难度。这就是上面提到的奖励函数。

    而如何判断每张地图需要多少步才能完成,需要agent去完成搜索。如果智能体在搜索时只能记住网格和这一步改变的网格状态,则称为窄表示;如果它能够记住运行方向上的每个网格以及它所改变的那些网格的状态,则称为窄表示。它是海龟式的表示;如果当前网格周围所有网格的状态都可以记住,则称为宽表示。

    图 9:相同初始条件下,不同表示生成的游戏关卡难度不同

    上图中,最左边一列是初始随机游戏地图;接下来的三列是在不同表示下生成的游戏关卡。如果将18以内可以完成的关卡定义为简单难度,那么在不同的表示下,生成的简单关卡的比例分别为86.7%、88.3%、67.5%,说明不同的表示方式会设计游戏的难度。

    在强化学习框架下的博弈设计中,本文指出了三个经验,一是初始条件需要不同,二是需要设置合适的评价函数,三是每次迭代的变化应该很小,以防止算法收敛到相似的解决方案,从而生成的级别相似。

    6 提高步行机器人的可靠性,让它玩游戏通关

    对应于通过机器学习提高游戏中的关卡生成,就是利用生成的关卡来提高机器学习模型的鲁棒性。以下示例来自 Uber 的 AI 实验室 [4],该研究的目标是训练一种可以用两只脚行走的机器人操作算法。

    图 10:双足机器人面临的不同类型环境,如深谷、斜坡、障碍物等。

    传统上,通过进化算法,可以训练操纵算法以适应不同的环境。但是,通过生成一组包含大量斜坡的训练环境,然后生成一组包含大量深谷的环境,可以在特定环境中训练控制算法,如何在特定环境中行走,使算法能够一一克服在不同环境中所面临的障碍。

    图 11:经过训练以连续下降台阶并跳过行进路径中的深谷的算法示意图

    在训练过程中,如果遇到某类障碍物的困难,训练算法会生成一个类似的环境副本,让agent先在环境副本中学习如何越过障碍物,然后在原环境中行走。

    通过引入环境副本,在相同的计算量下,由于在环境副本中学习到更好的行走姿势,agent可以获得更高的分数,更有可能在更具挑战性的路段上围棋一路攀升。这提高了算法的泛化能力。

    图12:机械手玩魔方过程示意图

    另一个通过游戏提高AI泛化能力的例子,来自马斯克的openAI实验室,就是训练机器手玩魔方[5],通过强化学习和卷积神经网络,在封闭环境中玩魔方这样的任务,研究人员改进了机械臂的控制和手眼协调能力,提高了机械臂在实际应用场景中的泛化能力。

    在强化学习中,经过训练的游戏 AI 的泛化性也可以通过生成新的游戏关卡来提高 [6]。对比单难度、人工设计关卡、算法设计关卡训练的游戏AI,结果表明,基于算法设计的关卡训练时间更短,训练精度更高。

    7 流程生成的六大挑战和机遇

    本综述的最后部分讨论了游戏规则生成研究目前面临的挑战。

    首先是与传统的机器学习问题相比,训练数据集相对较小。例如,在《超级马里奥》中,人类手动设计的关卡只有 36 个。

    二是相对于生成游戏的某个部分而言,通过算法生成完整的游戏相对困难。目前比较成熟的生成完整游戏的案例是基于生成语言模型CPT-2生成完整的基于文本的冒险游戏。这是因为一款好的游戏本质上是相当复杂的,很难用一个简单的公式来衡量可玩性。

    第三点是让agent通过不断产生新的游戏关卡来实现终身学习。进程生成允许代理通过不断改进学习策略来不断适应日益复杂的环境。

    第四点是强化学习范式下如何基于流程生成生成标准数据集和对应的任务金标准。以前的强化学习任务大多是人工设计的视频游戏。未来,可以让算法设计新的任务,模拟动物和人类在真实环境中遇到的问题,从而更准确地检验强化学习模型是否学到了人类认知能力的本质。

    五是如何使游戏中的关卡设计不仅适用于模拟环境,而且适用于真实场景。脑洞的一个例子是:通过算法生成一个类似于风车的游戏环境c语言流程图生成器,让算法在游戏环境中尽可能安全地行驶,然后在训练真正的无人驾驶算法时从模拟算法中学习。特征。

    第六点是如何将过程生成的本质,即通过多样化学习环境和提高智能体的泛化能力,应用到人类学习和神经科学等其他领域。例如,在未来的智慧课堂中,如果要因材施教,可以通过自动设计的游戏化交互来提高学生的学习效率。

    综上所述,应对复杂系统、仿真建模和试错带来的挑战,一是从高层结构重构全局特征,二是自下而上生成相应的认知图。游戏领域的进程生成就是打通以上两条路径。通过在多个主体之间模仿现有模式,产生更多样化的环境,避免试错过程成为窥探孔底的过程。

    无论是强化学习还是监督学习,引入过程生成都可以作为数据增强技术的升级版,提高模型的泛化能力。另一方面,在使用机器学习生成游戏的过程中,所应用的技术和所展示的能力不仅可以用于与游戏相关的问题,还可以用于机器学习领域的许多其他任务。

    参考文献: [1] Steve Dahlskog 和 Julian Togelius。一个多层次的水平生成器。在 2014 年 IEEE 计算智能和游戏会议上,第 1 页–8. IEEE,2014.

    [2] Volz, V. 等人。在深度卷积生成对抗网络的潜在空间中不断发展的 mario 级别。在过程中。遗传和进化计算会议。221–228 (ACM, 2018)

    [3] Khalifa, A.、Bontrager, P.、Earle, S. 和 Togelius, J. PCGRL:通过强化学习生成程序内容。预印本

    [4] Wang, R., Lehman, J., Clune, J. & Stanley, KO Paired open-ended trailblazer(poet):不断产生越来越复杂和多样化的学习环境及其解决方案。在过程中。遗传和进化

    [5] Akkaya, I. 等人。用机器人手解决魔方。预印本 (2019).

    [6] Justesen, N. 等人。通过程序级生成阐明深度强化学习中的泛化。在 NeurIPS 2018 深度强化学习研讨会上

    评论标题:通过程序化内容生成提高机器学习的通用性 评论地址:

    站内大部分资源收集于网络,若侵犯了您的合法权益,请联系我们删除!
    欧资源网 » Nature:游戏行业中的“过程生成”的跨学科研究方向

    常见问题FAQ

    免费下载或者VIP会员专享资源能否直接商用?
    本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
    提示下载完但解压或打开不了?
    最常见的情况是下载不完整: 可对比下载完压缩包的与网盘上的容量,若小于网盘提示的容量则是这个原因。这是浏览器下载的bug,建议用百度网盘软件或迅雷下载。若排除这种情况,可在对应资源底部留言,或 联络我们.。
    找不到素材资源介绍文章里的示例图片?
    对于PPT,KEY,Mockups,APP,网页模版等类型的素材,文章内用于介绍的图片通常并不包含在对应可供下载素材包内。这些相关商业图片需另外购买,且本站不负责(也没有办法)找到出处。 同样地一些字体文件也是这种情况,但部分素材会在素材包内有一份字体下载链接清单。
    欧资源网
    一个高级程序员模板开发平台

    发表评论