一句话就能让AI找到3A游戏Bug?准确率达86%,Demo在线可玩

博雯 发自 凹非寺
量子位 | 公众号 QbitAI

输入简单的关键字,就能给3A大作找Bug?

好,先来看看GTA5,输入A car flying in the air(空中汽车):

b2f2e116ad231cb38fb02e6c16a700b7.gif

随手点开一个视频……这牛逼的物理引擎,不愧是你!

4b7fbb398822b00df7e640f6b061b1da.gif

就用这种简单的方法,我们找到了荒野大镖客的空中飞马:

(打一枪还能变成真·马达)

4ad82b5e243cbdf4f934a8fc8426226b.gif

还有老滚5的“桶中人”:

76e352d3e63f1182c9070cfe826d067a.gif

目前,Bug的搜索范围包括赛博朋克2077、巫师3、孤岛惊魂5等多个3大作在内的1873个游戏,共计26954个视频。

109129f55312226ab1c2fc05dd89db46.png

而且还不需要任何的视频标题和其他属性,只输入文字,AI就会基于视频内容进行搜索。

就是这么一个找Bug的AI,现在已经登上了MSR 2022,一个鼓励研究者开发建立新的数据集,并基于软件系统进行有趣的应用开发的会议。

d7425456ecf61027d5b96a9c0aca75b2.png

输入关键字就能给出Bug视频的AI

所以这位AI游戏测试员到底是如何工作的?

要开发AI模型自然少不了数据集,研究团队收集了reddit社区中GamePhysics版块里的2万多个视频,首次建立了一个游戏Bug数据集。

抓取工具则是他们基于Reddit API和PushShift.io API自己开发了的一个爬虫软件。

其中PushShift.io API用来获取论坛中每个提交内容的高级信息,而Reddit API则用来更新内容得分和其他元数据。

18db8929c0fcb8c2b39f0c71df71a32d.png

基于上面的数据集,研究团队提出了一种以对比性语言-图像预训练模型CLIP为基础的方法。

这一模型由OpenAI在去年推出,能够判别文本与图像是否相关,其zero shot效果堪比ResNet50。

因此,团队便依靠CLIP模型的零次迁移学习(Zero-shot Transfer Learning),在不需要任何数据标签和训练的情况下,以英文文本查询为输入,从上面的游戏Bug数据集中检索相关视频。

整体架构如下,主要分为三步。

a1e7ec9d7920af5d7b7335dfc66cd341.png

首先, 对视频帧和文本查询进行编码

这一步会从每个视频中提取所有帧,将一段视频当做一种“图像的合集”,然后使用CLIP模型将输入的文本和视频帧转化为第嵌入向量表示。

然后是计算嵌入向量的相似性

这里使用余弦相似度来衡量成对的嵌入向量的相似度,通过穷举式搜索计算输入的与视频帧的相似性得分。

最后,将每个视频帧的得分汇总起来。

研究团队提供了两种汇总方法:

一种是选取一段视频所有的帧里与输入文本的相似性得分最高的帧,根据这一帧来对视频进行排名,这种方法是高度敏感的。

另一种则是将视频所有的帧与输入文本的相似度分数进行排序,然后根据池大小的超参数,在所有视频中选择一个排名最高的帧。

团队选择了基于上述AI系统的两种架构:RN101和ViT-B/32,然后分别测试了其在不同情况下的准确率。

首先是简单查询,比如输入文本只有单个物体:飞机、汽车、猫、狗等等,在这种情况下,模型检索出来的前五名视频准确率分别为76%和86%:

2061df5252bf5dc57bbbd0abfb4a0ee4.png

将单个物体与一些场景组合起来,进行复合查询时,模型检索出来的前五名视频准确率也能达到78%和82%:

bd8d34db71acdd58307be6f022969991.png

如此看来,CLIP不仅掀起多模态学习的新一波浪潮,从驱动图像生成到为游戏找Bug,应用领域上也在不断拓展。

那些专找Bug的AI测试员们

像这篇论文里的这种,专为(游戏)程序找Bug的AI测试员并不是真的要来抢游戏测试的活儿,而是人力来测试实在是时间成本又高,还容易出错。

10ddf5edb1f2abd45d851512152182df.png

于是,业界早早就开始了AI测试的研究。

早在2018年的时候,育碧就曾经推出过一款叫做Commit Assistant的AI助手。

这款AI测试员会利用深度学习和大数据分析已有的Bug并进行标注,然后在Bug再次出现时为程序猿们提供最快的修复方案,甚至还能依据已有的经验提前触发警报。

395eb0a74177d80ee7afa788b5f2a2a2.png

不过当时就有粉丝怀疑,知名土豆服务器厂商做出来的抓Bug的AI,会不会自己先出了Bug,然后变成两群Bug之间的混战……

c6b7313df42cc6792fd568db98710be1.png

往近处说,EA在去年还推出了一款能够在给定的测试场景中进行自动探索的AI,基于强化学习的智能体会像真的测试工程师一样,在探索中发现并收集Bug:

0cf4d78ba842711410e0d4d078cc7dc2.gif

微软也曾在2021年推出过一款叫做BugLabs的AI助手,通过GAN检测并修复代码中的错误:

eec3bb66775d63a6407e0be509252589.png

这样看起来,有一个任劳任怨的AI测试员来兢兢业业地遍历玩家社区搜集Bug、或者一遍又一遍地玩游戏找问题、甚至直接从代码层面揪出问题……这多是一件美事啊!

甚至,这些负责测试的AI还能搭配那些会玩游戏的AI,一个肝游戏,一个从游戏录像里找Bug……

那或许这种场面,就不会再出现了【狗头】。

6cd8887ae0c6aa4b7bfff91a62232596.png

论文:
https://arxiv.org/abs/2203.11096

在线试玩:
http://165.232.141.160:50001/

参考链接:
[1]https://asgaardlab.github.io/CLIPxGamePhysics/
[2]https://github.com/asgaardlab/CLIPxGamePhysics
[3]https://arxiv.org/abs/2103.13798
[4]https://mp.weixin.qq.com/s?__biz=MzIzNjc1NzUzMw==&mid=2247514447&idx=5&sn=ad3c5776f8562fe2ea353f7289add602&chksm=e8d00e3ddfa7872bfc456180d3be0c130b50a64718576712349c533329e07b9895b5ed66a4bf&token=2079333933&lang=zh_CN#rd

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值