索尼开发人员分享机器学习如何改善质量保证

最近在日本横滨举行的 CEDEC 活动上发表的演讲中,索尼内部的开发主管讨论了他们最近在实施人工智能和机器学习模型以提高 QA 流程中的效率和准确性方面所做的努力。

此次演讲由该公司游戏服务研发部门的机器学习研究人员 Hiroyuki Yabe 和 Yutaro Miynotauchi 以及专注于软件 QA 工程的软件工程师 Nakahara Hiroki 主持。它的目的是让其他创作者了解该公司如何使用真正的 PS5 硬件将人工智能集成到 QA 流程中,仅收集类似于人类驱动的问答的屏幕和音频信息,同时允许更定期、更广泛地测试游戏。效率。

以这种方式自主完成的更多定期测试使团队能够通过更定期的测试更早地消除更多错误,否则每个开发周期只能进行几次手动测试,并且在开发中发现得太晚的错误有可能影响发布。

在本次演讲中,该团队分享了他们在 PlayStation 5 发布游戏《Astro's Playroom》中使用该软件自动执行 QA 操作的发现。值得注意的是,需要进行广泛的 QA 测试的一个关键功能是将游戏进度与 PS5 的活动卡等硬件功能相集成,该卡可以在玩家通过关卡时跟踪特定目标的进度。

重放代理和模仿代理

在研究如何将该技术集成到测试过程中时,团队有几个需要满足的条件:任何测试系统都不能依赖于特定于游戏的工具,然后需要重新制作这些工具以用于其他游戏 - 在其他游戏中换句话说,射击游戏的人工智能测试不能依赖于不能应用于平台游戏或其他射击游戏等的瞄准辅助。

它还必须能够以现实的成本实现,使这种自动化值得,并且它还必须足够简单,即使没有技术经验的人也可以创建模仿代理并运行测试模拟。

这导致 Astro 的 Playroom 通过使用两个独立的自动游戏系统(重播代理和模仿代理)实现 QA 自动化。前一个系统通过复制精确的按钮组合来确保一致性,并且可以在特定情况下使用,例如导航游戏中的 UI 和 PS5 硬件菜单,或者从生成点移动到没有变量的关卡转换等时刻。会影响运动。

与此同时,模仿代理会以不同的方式再现人类的游戏。这两个系统都是通过将 PS5 连接到 PC 来实现的,其中屏幕上的信息可以在控制器输入发送回硬件之前发送到学习模块。

这些工具也可以按顺序使用:在一个视频示例中,重播代理可用于导航 Astro 游戏室的 UI 或从中心世界移动到一个关卡,然后模仿代理将接管播放一个关卡。通常,场景转换将用于表示这种变化,例如在进入级别时打开“活动卡”菜单,以可重现的方式表示两个系统之间的转换。

正如 Yabe 所解释的那样,“对于模仿代理,我们创建了一个机器学习模型,可以重现人类游戏玩法,并用它来测试无法精确再现的游戏部分。为此,我们会让人类测试者玩很多部分。次并将其上传到模型中,以 Astro 的 Playroom 为例,我们让测试人员播放每个部分大约 10 到 20 次,以获得代表性样本,我们会将这些数据输入到机器学习系统中,并从那里使用。它可以复制人类的游戏玩法以进行进一步的测试。”

“我们创建了一个机器学习模型,可以重现人类游戏玩法,并用它来测试无法精确再现的游戏部分”矢部弘之

这将使团队能够进一步重复测试这些部分,以确保没有忽视任何错误。这种机器学习对于测试不可能准确再现输入的区域是必要的,例如玩家可以自由控制摄像机和视角的区域,或者敌方 AI 可以对玩家动作做出反应并以非即时方式攻击玩家的场景。 - 设置模式。在这种情况下,精确的输入再现不会产生有用的结果或允许机器完成关卡,因为这些因素在重复的会话中并不稳定。

为了协助机器学习模型,LoFTR(无检测器局部特征匹配)等其他人工智能系统将用于帮助系统将场景识别为与模型内的场景相同,即使相机角度和玩家位置等因素也如此与提供给系统的输入不同。在自动化测试模型将在重放代理和模仿代理之间恢复的测试中,当游戏遇到过渡场景以在有用代理之间切换时,这些知识对于理解游戏至关重要。

正如 Yabe 所指出的,“模仿代理的模型只需要游戏屏幕信息作为输入。当输入游戏屏幕信息时,它被设置为输出下一帧中控制器的状态,并通过运行[记录模型” ] 以每秒十帧的速度,它能够实时确定模仿代理针对所有无法应用重放代理的场景。”

话虽如此,需要进行一些简化和指导,以确保游戏能够使用提供的游戏数据真正了解环境。例如,不是处理原始模拟输入,而是将其简化为九个运动象限,系统可以更有效地管理这些运动。在重现人类游戏时,该模型还将使用概率根据提供的数据确定特定时刻的按钮按下情况。

图片来源:索尼互动娱乐

反映人类游戏

另一个注意事项是需要将类别平衡整合到训练数据中,以确保更大的成功机会,特别是在处理小学习样本时,正如在这种情况下所预期的那样。在一组通用数据上不加区别地训练的模型可能会偏向于导致成功清除但不反映人类游戏的结果。同时,对于机器学习来说,影响较大的不常见任务(例如拾取必要的进步物品可能会在击败敌人时随机掉落)很难采用。平衡的引入是为了对此类任务进行优先排序,并使其变得可行,甚至可以使用在这种情况下。

正如宫内雄太郎所解释的那样,“在游戏中,有时需要按下按钮来捡起随机掉落的物品,但对于进度来说却是必不可少的,这种情况并不少见。然而,这种不常见的动作却很常见。”对于机器学习来说,对清除级别的能力有很大影响是困难的,因此很难为此创建模型,我们使用类别平衡来调整学习在模型中的影响程度,因此对重要的因素给予更多的权重。出现频率较低的操作因此在模型中反映得更强烈。”

模型还将根据数据对其进行训练,以帮助其学习如何从失败状态(例如,撞墙)中恢复过来并返回到标准游戏,以确保它能够更好地反映人类游戏,而不会发现自己以不自然的方式进行游戏不利于有效测试。

在演讲期间展示的一个示例中,显示了学习结果平衡和不平衡的情况下按钮按下和模拟运动的概率,结果显示出明显的差异。在平衡模型中,Astro Bot 在关卡中的移动反映了人类在世界中移动的方式,它可以有效地清除跳跃或壁架,而不平衡系统会不断地撞到墙壁或撞到路径上的障碍物,即使它最终可能会实现其目标(或者在许多情况下,不会)。

通过向数据输入平衡,不仅可以使用更少的数据集有效地训练模型,还可以通过为选定类型创建基础模型来更好地适应一款游戏的世界,并快速适应同一类型的新游戏这可以应用于各个标题。

尽管该系统不断完善,但研究人员在本游戏和其他游戏的整个开发过程中测试自动化 QA 的经验中注意到该模型的许多优点和缺点。以游戏 A 和 B 两个游戏为例,他们指出,在游戏 A 中,即使拥有人类在游戏某个区域进行游戏的大量训练数据,代理也并不总是能够使用所提供的数据来通关游戏。这将需要获得新的或额外的数据,这可能会延长测试所需的时间,超出手动人类测试所能达到的时间。

然而,就游戏 B 而言,自动化系统的人工数据收集可能需要 1 小时才能产生相当于 50 小时的人工测试,从而大大加快了 QA 速度,从而总体上减少了促进自动化所需的工时数这个数字低于通过人体测试达到相同结果所需的数字。

此外,由于该系统目前并不完全自给自足,无法在 QA 中完全自主地运行,因此在某种程度上仍然需要人工输入才能获得有效的结果。在回答演讲后观众提出的问题时,Yabe 承认,当某个关卡内的参数发生变化(例如敌人和平台的放置)时,先前的机器学习数据将不再有效。此时,需要创建一个新的机器学习模型,或者需要手动测试该区域,从而将模型限制在游戏玩法中功能更完整的部分。

由于该系统并不完全自给自足,无法在 QA 中完全自主地行动,因此仍然需要一定程度的人工输入才能获得有效的结果

然而,总体而言,与完全由人工驱动的方法相比,自动化测试的使用使团队能够提高 QA 流程的效率。这种机器学习模型并没有完全消除人类测试人员的必要性,而是允许在整个开发过程中进行更频繁的测试,以便更早地发现错误。此外,对更多游戏的进一步测试表明该系统仍在不断完善,预计该模型可以随着时间的推移不断改进。

尽管机器学习在大型语言模型和生成式人工智能中的使用受到了开发圈内外的蔑视和抵制,但这些在其他场景中使用的模型为游戏开发人员提供了切实的好处。这些人工智能模型的使用并没有取代对 QA 专家的需求——并不是所有的机器测试都比人工驱动的 QA 更快——而是将 QA 过程进一步集成到了开发过程中。

与其将此类错误修复和质量检查留到开发结束,此时由于缺乏早期检测,一些复杂的问题可能会更深入地集成到游戏编程的结构中,而是可以在整个开发过程中每当出现新问题时重复质量检查功能和级别已完成。

QA 流程中机器学习系统的开发使得这种早期检测和错误修复对于开发人员来说更加简化和有效,从而提高了质量并减少了向公众发布的游戏中的错误数量,同时使用其他开发人员可以寻求的工具通过开发和制定自己的机器学习模块来进行模仿。

Related Posts