5

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

 2 years ago
source link: https://www.qbitai.com/2022/03/33622.html
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

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

head.jpg博雯 2022-03-24 17:05:30 来源:量子位

为了让游戏顺畅运行,这群AI测试员真的拼了…

博雯 发自 凹非寺

量子位 | 公众号 QbitAI

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

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

e42e5004489d4b3389e9d69d8cbfe048~tplv-tt-shrink:640:0.image

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

0c8deb29d7064e1583f3a83e87779346~tplv-tt-shrink:640:0.image

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

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

cf49e8e75035406c9f3f5a8a0d592e33~tplv-tt-shrink:640:0.image

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

c33b166eac99435098f77775ff2227d0~tplv-tt-shrink:640:0.image

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

ed339d785ee74dfa8656fc25b36b8630~tplv-tt-shrink:640:0.image

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

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

5100b6511721473d804e241392b00f44~tplv-tt-shrink:640:0.image

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

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

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

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

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

7ad28aa9434a4ddd902c031dba869876~tplv-tt-shrink:640:0.image

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

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

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

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

71a4997902804605812b16e662bf20e8~tplv-tt-shrink:640:0.image

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

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

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

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

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

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

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

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

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

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

0370d3201cd04dfeb491b2df3a00888a~tplv-tt-shrink:640:0.image

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

202bce9f80e341929a24632b8f43abbd~tplv-tt-shrink:640:0.image

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

那些专找Bug的AI测试员们

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

7c08ed56c3704dd6a6e266581a661b87~tplv-tt-shrink:640:0.image

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

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

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

b9c955cb8e83440aa115bf59f4c3475b~tplv-tt-shrink:640:0.image

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

9a915e7cf6b34fef89a62790c3c8a017~tplv-tt-shrink:640:0.image

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

770670fa5f114fc0ba97404ea6c4fb17~tplv-tt-shrink:640:0.image

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

e594c0f7a21d45669e81773a22a6a898~tplv-tt-shrink:640:0.image

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

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

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

7fb05ecb478b4a53b635d02d2bef1492~tplv-tt-shrink:640:0.image

论文:
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

版权所有,未经授权不得以任何形式转载及使用,违者必究。

About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK