现在,无论你是不是相关从业人员,你一定已经听过“ChatGPT”的大名了。作为美国人工智能研究实验室 OpenAI 开发的人工智能模型,ChatGPT 能够通过人类自然对话方式进行交互,“理解”用户输入的文字信息,并根据用户的指令完成多种不同的任务,例如自动文本生成、自动问答、自动摘要等。
不仅如此,ChatGPT 还能写出媲美真人作者的专业文章,用清晰详细的答案解答用户提出的问题,甚至还能编写和调试计算机程序。《纽约时报》称之为“有史以来向公众发布的最强 AI 聊天机器人”。利用 OpenAI 最新放出的 ChatGPT API,程序设计师只需一行代码,即可将 AI 嵌入网页、应用程序中。
而这一切,都有赖于 ChatGPT 背后的大型语言模型——基于转换器的生成式预训练模型(Generative Pre-trained Transformer,GPT)。
按照《中国科技术语》副主编,计算语言学家冯志伟教授的说法,“ChatGPT 通过大规模的机器学习,把能获取到的人类书籍、学术论文、新闻、高质量的各种信息作为学习内容……从语言大数据中获取丰富的词汇、语法和语义知识,是深度学习时代自然语言处理研究的最重要的神经网络模型。”
01
GPT 终于进入游戏领域了
随着 ChatGPT 被越来越多的开发者应用,现在它还能用于音乐、绘画、乃至医学研究等不同领域。当然,除了这些,游戏也是开发者们重点关注的一大领域。
近日,来自哥本哈根信息技术大学(IT University of Copenhagen)的研究者发表了一项新的研究成果,为 ChatGPT 模型在程序化内容生成(Procedural Content Generation,PCG)领域开辟了一个新的方向——利用大型语言模型,将自然语言的描述文字转换成实际可玩的“超级马力欧兄弟(Super Mario Bros.)”游戏关卡。
无独有偶,几乎在同一天,纽约大学坦登工程学院(NYU Tandon School of Engineering)的研究人员为了验证此类语言模型在生成非语言类作品方面的潜力,也发布了一篇利用大型语言模型自动生成”推箱子“游戏关卡的论文。
02
GPT 是如何做游戏的?
哥本哈根信息技术大学的研究者以 GPT-2 模型为基础,利用它预测、生成后续文本的能力,将原版”超级马力欧兄弟“1 代、2 代中的 37 个关卡作为训练数据“喂”给 AI,训练出熟悉超级马力欧游戏关卡组合特征的“MarioGPT”AI 模型。
在这个模型中,游戏关卡中的各类元素都被编码为不同的字符,每个元素占据游戏中的一个方格,而关卡内容以一个方格宽的竖列为单位,从左往右组合成完整的关卡。
游戏关卡内各类元素的编码及对应图标,图片来源:参考资料[1]
在生成关卡时,研究者先将一个包含头 50 列内容的“种子”输入 AI,由 AI 根据给定的“提示词(Prompt )”,按照现有内容,从左往右逐列生成各类地形。
提示词就是普通英语单词,描述关卡中敌人、管道、砖块的数量,以及关卡地形的总体高度差变化水平大小等。
给定的提示词将影响处理过程中各类元素的权重,进而影响最后出现在关卡中的地形特征、管道数量、敌人的分布,最终生成用户所指定的关卡风格。
不同提示词下生成的地图,a. 许多管道、许多敌人、较少方块,高度差小;b. 较少管道、较少敌人、许多方块,高度差大;c. 许多管道、一些敌人;d. 没有管道、没有敌人、许多方块。图片来源:参考资料[1]
最后,为了评估 AI 生成的关卡质量,研究者对生成关卡的准确性和可玩性进行了定量分析。以往用其他深度学习方式生成的关卡,其准确率仅有约 46%,而 MarioGPT 生成内容与输入的提示词相符的比例超过 90%。利用第三方AI对关卡可玩性进行评估的结果显示,88.33% 的关卡都是实际可过关的。
利用研究人员发布的开源 MarioGPT 代码生成的部分关卡。图片来源:罗澍
为了让大家实际体验 MarioGPT 设计关卡的效果,研究者还在网上发布了一个在线示例,任何人都可以在页面上直接下命令实时生成关卡,甚至还能试着亲手闯关。
研究者发布的示例页面截图
与之类似,纽约大学坦登工程学院的研究者也将 282 个人类设计的推箱子关卡(Microban)录入AI的训练数据,辅以 43.8 万个利用深度学习制造的 10x10 关卡(Boxoban),让 AI 生成与训练数据完全不同,但确实有解的推箱子游戏关卡。
左边是生成的新关卡,和右边的训练数据略有不同,但也有解。图片来源:参考资料[2]
03
在 AI 介入前
游戏也有自动生成关卡
对于大部分游戏玩家来说,“自动生成游戏内容”“自动生成游戏关卡”并不是什么陌生的事情。比如 2016 年推出的一款太空探索游戏《无人深空》,就是自动生成游戏内容的最大案例。它使用程序生成算法,动态生成一个据称可包括数以亿计可探索行星的开放式宇宙。游戏中的星系、行星及其生态系统、动植物及其行为模式、人造结构,外星派系及其航天飞船等几乎所有游戏元素都由程序生成。
但这个生成系统的模式是固定的,不同玩家在离线状态访问同一个坐标位置的行星时,系统生成的将是各种属性都相同的行星。此外,许多批评者认为,游戏中生成的行星虽然外观贴图千变万化,但游戏性同质化严重,内容简陋,除了贴图外基本千篇一律。
暴雪娱乐 2000 年发售的经典动作角色扮演游戏《暗黑破坏神 2》,在各个关卡的大部分地区内,地图场景都是随机生成的,每次读档进游戏都会生成一套新的迷宫地图,在保证每个大章节内部野外区域无缝联通的情况下,尽可能增加了支路和地下城内部场景的多样性。之后的续作《暗黑破坏神 3》也很好地继承了这一特性。
此外,各种沙盒建造类游戏,例如《泰拉瑞亚》《我的世界》等,每个新的“世界”存档,都会根据随机“种子”生成包含各类元素的完整游戏世界,等待玩家前去探索。
04
GPT 生成的游戏场景
有何创新之处?
虽然利用 GPT 模型生成随机场景的人工智能模型目前还处于初级阶段,但它已经在程序化内容生成方面展现出自己的无限潜力。
首先,以往的游戏中采用纯随机的方式生成游戏内容,往往不太合理。如早期的《无人深空》中,生成的生物千奇百怪,但零件拼凑的痕迹相当明显。而使用 GPT 模型生成内容时,借助语言模型对上下文的理解和对关联性的预测能力,可以生成相对合理、符合一定特征的内容。因此在使用 GPT 生成游戏内容时,可以更加稳定地输出合理化的场景、生物。
其次,GPT 模型生成场景的丰富度远超固定随机算法。通过将新颖性搜索(Novelty Search)算法纳入机器学习中,可以有效地让人工智能在保证合理性的前提下,尽可能创造出更丰富的变化。
同时,比起只能简单调整出现比例的随机算法,GPT 能让用户以自然语言的方式描述所需的结果,直观快速地让最终输出的内容符合用户的要求。
最后,GPT 模型可以方便地进行微调,以适用于不同的任务。过去使用深度学习生成内容的生成式对抗网络(Generative Adversarial Network,GAN)算法,在训练时需要更大量的学习、迭代,同时需要调整神经网络学习过程中的各类底层参数。而如今 GPT 模型仅需要相对少量的训练数据,就能实现对模型的微调与定制,快速生成任务所需的人工智能模型。
05
ChatGPT
程序生成游戏的未来?
以 ChatGPT 为代表的大型语言模型,不但具有强大的处理人类语言数据的能力,还具有高度的通用性,只需经过微调,就能够胜任许多不同领域的程序化内容生成工作。
不过,在游戏行业,GPT 是否能够胜任除了程序生成以外的游戏,目前还需观望。我们知道,游戏作为一种互动、内容的展现形式,其中还夹杂了游戏设计者的创新和巧思。仅靠 GPT 或许并无法实现一款大型的游戏设计,但 MarioGPT 的出现,或多或少还是为游戏行业带来了新的思路。
我们可以想见,未来不仅在游戏行业,此类人工智能未来还有可能推广到园林景观设计、城市区域规划等与每个人生活息息相关的领域,为我们的生活增光添彩。
参考资料:
[1] https://doi.org/10.48550/arXiv.2302.05981
[2] https://doi.org/10.48550/arXiv.2302.05817
[3] https://www.linkresearcher.com/theses/992e7524-7a45-4f87-8454-f809f307c011
[4] https://mp.weixin.qq.com/s/RCLuUThxw3_4Y_OL9L8Xdg
[5] https://zh.wikipedia.org/wiki/GPT-3
[6] https://zhuanlan.zhihu.com/p/350017443
[7] https://zhuanlan.zhihu.com/p/399295895
[8] https://github.com/shyamsn97/mario-gpt
[9] https://huggingface.co/spaces/multimodalart/mariogpt
[10] https://www.zhihu.com/question/35430956
作者:罗澍
审核:于旸 腾讯玄武实验室负责人
来源: 科普中国
内容资源由项目单位提供