导语
近年来,很多AI技能的打破都离不开游戏的影响,不论是古老的围棋还是即时计策类的星际争霸都表示着这样的交融。同时,游戏和AI的跨界互助,还在通过算法,天生新的游戏规则上有所展现,从而让机器学习的算法,具有更强的泛化能力。8月3日的 Nature Machine Intelligence 推出的综述论文,先先容了游戏行业中的“过程天生”(Procedural content generation)这一观点,从现有运用,和机器学习的关系,以及面临的问题,全面阐述了这一新的跨学科研究方向。
完全论文资料清单和更多干系论文,请扫码获取:
1. 让游戏每一次玩都不一样
通过算法,产生游戏中的背景信息,例如游戏中的关卡,任务,环境等,在游戏界被称为“过程天生”。自从1980岁首年月次提出后,该技能在游戏界得到了广泛地运用。从最大略的俄罗斯方块,到我的天下Minecraft这样的开放游戏,都能见到该技能的身影。
在著名的策略类游戏“席德梅尔的文明”系列中,每一局游戏的舆图,都会有所不同,正因如此,使得玩家乐意多次玩该游戏。为了担保每局舆图不一致,一种做法是在游戏中预设很多舆图,另一种做法是通过算法,每次开始时自动天生舆图。显然后者能减少游戏所需的打算机存储空间。
图1:游戏《文明6》产生的随机舆图
如何在产生上述舆图时,既担保每一局游戏的开局都不同,又确保玩家不会由于开局的随机成分,以为游戏难度发生显著变革。一种可能的生产办法是元胞自动机,通过玩家给定的参数,算法能够从某一点出发,逐步依据游戏设计者预设的规则,逐格扩展,产生新的舆图。
2.数据增强,机器学习中的过程天生在机器学习中,要想提升模型的泛化能力,一种常用的技巧是数据增强(data argumentation),即在有监督学习范式下,通过加入基于现有演习数据集,经由特定转换的仿照数据集,从而扩大演习数据集包含的多样性,进而提升演习得出模型的泛化能力。
详细来看,在猫狗图像分类任务中,可以将原图拉伸,翻转,或者裁剪部分区域,再将新天生的数据和原数据一起进行演习。如此演习出的模型,能够更好的提取猫和狗的实质特色,从而使得模型在新数据集上表现更优,稳健型更强。
在强化学习范式下,通过在演习环境中引入随机成分,例如演习扫地机器人时,每次的环境都有所不同,也可以提升模型的泛化能力。而如果将扫地机器人实行的任务算作一次游戏,那么机器学习中的数据增强,就相称于游戏设计中的“过程天生”。两者都是通过随机数据,让玩家能够透过征象看到实质。
3. 数学化的网络科学在未来会有哪些打破?在机器学习成为主流之前,AI领域常用的方法是从一系列可能的解中,通过搜索找出(局部)最优解。将该类方法,运用到游戏天生中,下面是一个范例的案例[1],即自动天生超级马里奥的关卡。
详细方法是将游戏的舆图分为微不雅观(mirco),中不雅观(meso)和宏不雅观(marco)模式,算法的目标是根据不同的难度,设定须要得出的对应宏不雅观模式,之后通过搜索中不雅观模式的组合,组成宏不雅观模式,再通过逐个搜索不同的微不雅观模式组合,得到对应的中不雅观模式。
图2:超级马里奥中,不同的微不雅观模式,中不雅观及宏不雅观模式示例图
通过逐层的自下而上的搜索,该算法能够根据最初的游戏舆图,天生在统计上呈现出相同特色,进而具有附近游戏难度的全新关卡舆图。下图是超级马里奥原版的第一关,和由算法天生的第一关。
图3:真实和天生的游戏舆图比拟
未来,研究职员和具有科学头脑的政策制订者或容许以利用这些进展,对尚未不雅观测到的繁芜网络征象进行定量预测。
4 通过深度学习天生新游戏:对抗天生网络的例子对抗天生网络(GAN)是近五年来,深度学习中进展最快的领域之一。如果将天生新的超级马里奥的任务交给GAN,它会若何完成?18年的ACM论文给出了回答[2]。
图4:深度卷积对抗天生网络构造示意图
该文采取深度卷积对抗神经网络,利用已有游戏舆图的一部分,作为演习数据,通过天生器,产生新的游戏舆图,再通过判别器,判断天生的游戏舆图,是不是和真实舆图类似。之后通过在最初的图片中进行修正,据此迭代,不断改进天生器。
图5:从最左的图,随机变革,天生右图的几种可能舆图,并随机选一个进行下一轮迭代
由此,使得天生的舆图中,先不会诸如涌现无法跳过的沟等影响可玩性的特色,再逐渐模拟不同难度的游戏关卡中所会涌现的障碍物,使得天生的游戏舆图具有附近的难度。
比较传统的方法,基于GAN的关卡天生,能够在玩家游戏的过程中,根据玩家的操作,动态地改变下一关游戏的难度,这是传统的基于搜索的方法无法实现的。除此之外,还能按照特定的目标,设计关卡。
图6:最大化和最小化跳跃的关卡
例如,如果想要玩家在游戏中尽可能多的跳跃,通过修正GAN的约束条件,可以天生左图的舆图,而若想要最小化跳跃,则可以天生类似右图的关卡。
5 通过强化学习天生游戏另一类天生游戏关卡的办法,是强化学习。如果要用强化学习天生超级马里奥的舆图,算法须要一个估值函数,打算不同游戏图片,间隔空想的关卡有多远。和GAN类似,强化学习范式下,同样是从随机的关卡开始,不断改进,通过迭代完善设计。不同的是,由于估值函数的存在,每一次的改变不是随机的,而是有方向的。
图7:强化学习天生游戏的流程图
上图中[3],关键的一点是如何对游戏的设计进行表征,不同的表征,决定了设计出的游戏关卡会具有不同的特色。上图中的估值函数,除了判断比较上一次,本次天生的游戏关卡是不是更优,还会判断天生的关卡是否是“可玩的”,如果是,则停滞迭代。
图8:推箱子游戏舆图的二维表征
例如推箱子这个游戏,玩家通过高下旁边,操纵小人行动,推动箱子到指定的位置,则算通关,上图是推箱子舆图的二维矩阵表示。每轮迭代,修正的便是左图的矩阵。
设计游戏关卡的智能体(agent),须要在给定箱子和目标的间隔时,让小人走的步数尽可能多,从而提升游戏的难度,这便是前文提到的褒奖函数。
而如何判断每张舆图须要多少步才能走完,则须要智能体通过搜索完成。如果搜索时,智能体只能记住这一步所走格子和改变的那个格子状态,那么称之为狭窄表征;如果能记住运行方向上的每个格子以及自己改变了那些格子的状态,称之为Turtle式的表征;而如果能记住当前格子周围所有格子的状态,称为宽表征。
图9:相同初始条件下,不同表征天生的游戏关卡难度不同
上图中,最左列是初始的随机游戏舆图;之后的三列,分别是不同表征下,天生的游戏关卡。如果将18部以内就能完成的关卡定义为大略难度,那么不同的表征下,产生的大略关卡的比例分别是86.7%,88.3%,以及67.5%,由此解释不同的表征办法会设计出游戏的难度。
在强化学习的框架下进行游戏设计,该文指出了3条履历,一是须要初始条件不同,二是需设定得当的估值函数,三是每次迭代变革的比例要小,以免算法收敛到附近的解,使得天生的关卡大同小异。
6 提升走路机器人的可靠性,让它玩游戏通关与通过机器学习,提升游戏中关卡天生相对应的,是利用天生的关卡,来提升机器学习模型的鲁棒性。下面的例子,来自Uber的AI实验室[4],该研究的目标是演习一个能够双足站立行走的机器人操控算法。
图10:双足行走的机器人面对的不同类型的环境,例如深谷,斜坡,障碍物等。
传统上,通过进化算法,能够演习操控算法适应不同的环境。但是通过天生一组包含大量斜坡的演习环境,再天生一组包含大量深谷的环境,可以定向地演习操控算法在特定环境下,该如何行走,从而使得算法能够逐个占领不同环境中面对的障碍。
图11:演习能够持续下台阶,跳过行进路线中深谷的算法示意图
在演习过程中,如果在某类障碍中碰着困难,演习算法,会天生类似的环境副本,让智能体先在该环境副本中学习如何超越障碍,之后,再在原环境中行走。
通过引入环境副本,在相同的打算量下,由于智能体采纳了更好的,在环境副本中学到的走路姿势,能够得到更高的得分,并有更大的几率,在寻衅更高的路段上走完备程。由此提升了算法的泛化能力。
图12:机器手玩魔方的过程示意图
另一个通过游戏来提升AI泛化能力的例子,来自马斯克的openAI实验室,是演习机器手玩魔方[5],通过强化学习和卷积神经网络,借助玩魔方这样一个封闭环境下的任务,研究者提升了对机器手的掌握和手眼折衷能力,提升了机器手在实际运用处景下的泛化能力。
在强化学习中,通过天生新的游戏关卡,也可以提升演习的游戏AI的可泛化性[6],比拟在单一难度,人类设计的关卡,以及由算法设计的关卡上演习的游戏AI,结果显示,基于算法设计的关卡,须要更少的演习韶光,能取得更高的演习精度。
7 过程天生面临的六个寻衅与机遇该综述的末了一部分,谈论游戏规则天生干系研究目前面临着那些寻衅。
首先是比较传统的机器学习问题,演习数据集偏小,例如超级马里奥中,只有36个由人手工设计的关卡。
其次是比较天生游戏中的某个组成部分,由算法产生完全的游戏还相对困难。目前较为成熟的天生完全游戏的案例,是基于天生措辞模型CPT-2,产生完全的文本式冒险游戏。这是由于一个好的游戏,本身就会相称繁芜,并难以利用一个大略的公式来衡量可玩性。
第三点是通过持续的生产新的游戏关卡,让智能体实现终生学习。通过不断改进已学到的策略,过程天生可以让智能体不断适应越来越繁芜的环境。
第四点是如何在强化学习范式下,基于过程天生,产生标准的数据集和对应任务金标准。之前的强化学习任务,大多是人类设计的电子游戏。未来,可以让算法设计出新的任务,这些任务会仿照动物及人类在真实环境下所碰着的问题,从而更加准确地能够稽核强化学习模型是否学到了人类认知能力的实质。
第五是如何让游戏中的关卡设计,能够不止运用到仿照环境,还能运用到真实场景中。一个脑洞的例子是:通过算法天生类似极品风车的游戏环境,让算法在游戏环境中,先做到尽可能安全的驾驶,之后在演习真实无人驾驶的算法时,借鉴仿照算法所具有的特色。
第六点则是,如何将过程天生的实质,即通过让学习环境多样化,提升智能体的泛化能力,运用到诸如人类学习,神经科学等其他领域。例如未来的智能教室中,要想做到因材施教,就可以通过自动设计的游戏化交互,提升学生的学习效率。
总结来看,对付应对繁芜系统带来的寻衅,仿真建模与试错,一个是居高临下的重构出全局特色,另一个是自下而上的天生相应的认知舆图。而游戏领域的过程天生,则是打通了上述两条路,通过模拟多主体之间已有的模式,产生更多样化的环境,从而避免试错过程变成了管中窥豹井底不雅观天。
不论对付强化学习,还是有监督学习,引入过程天生,都可以作为一种升级版的数据增强技巧,提升模型的泛化能力。另一方面,在利用机器学习,产生游戏的过程中,所运用的技能,所展现的能力,不止能用于游戏干系的问题,对浩瀚其他机器学习领域的任务都有借鉴意义。
参考资料:[1] Steve Dahlskog andJulian Togelius. A multi-levellevel generator. In 2014 IEEE Conference on Computational Intelligence and Games, pages 1–8. IEEE,2014.
[2] Volz, V. et al. Evolving mario levels in the latent space of a deepconvolutional generative adversarial network. In Proc. Genetic andEvolutionary Computation Conf. 221–228 (ACM, 2018)
[3] Khalifa, A., Bontrager, P., Earle, S. & Togelius, J. PCGRL: procedural contentgeneration via reinforcement learning. Preprint at https://arxiv.org/abs/2001.09212
[4] Wang, R., Lehman, J., Clune, J. & Stanley, K. O. Paired open-ended trailblazer(poet): endlessly generating increasingly complex and diverse learningenvironments and their solutions. In Proc. Genetic and Evolutionary
[5] Akkaya, I. et al. Solving Rubik’s cube with a robot hand. Preprint https://arxiv.org/abs/1910.07113 (2019).
[6] Justesen, N. et al. Illuminating generalization in deep reinforcement learningthrough procedural level generation. In NeurIPS 2018 Workshop on DeepReinforcement Learning
综述题目: Increasing generality in machine learning through procedural content generation 综述地址: https://www.nature.com/articles/s42256-020-0208-z
作者:郭瑞东
编辑:曾祥轩