Redian新闻
>
让AI学会打王者,有什么用?

让AI学会打王者,有什么用?

科技



  新智元报道  

编辑:编辑部
【新智元导读】从围棋到游戏,DeepMind把人类高手挨个虐了一遍。但这个游戏AI,从一群王者中「悟」出了一些新东西。

11月28日,NeurIPS 2022正式开幕。
作为目前全球最负盛名的人工智能盛会之一,NeurIPS在每年年末都是计算机科学领域瞩目的焦点。被NeurIPS接收的论文,代表着当今神经科学和人工智能研究的最高水平,也反映着行业趋势的变化。
有趣的是,这届「参赛选手」们的研究似乎都对「游戏」情有独钟。
比如,李飞飞团队基于Minecraft游戏环境的MineDojo,就拿下了最佳数据集和基准论文奖。依托游戏的开放性,研究人员可以在MineDojo中通过各种类型的任务对智能体进行训练,从而让AI具有更加通用的能力。
而通过严苛的录取率,同样是在游戏领域收录的另一篇论文,可能跟很多游戏玩家都相关。
毕竟,谁没玩过王者呢。

论文《<王者荣耀>竞技场:竞争强化学习的泛化环境》

地址:https://openreview.net/pdf?id=7e6W6LEOBg3
文中,研究人员提出了一个基于MOBA游戏《王者荣耀》的测试环境。目的嘛,其实和MineDojo类似——训练AI。

为何MOBA类游戏环境被青睐?

自DeepMind推出AlphaGo开始,游戏作为拥有高自由度、高复杂性的拟真环境,早已成为了AI研究和实验的重要选择。
然而,相比于能够不断从开放式任务中学习的人类,在较低复杂度的游戏里训练出的智能体,并不能将自己的能力泛化到特定的任务之外。简单来说就是,这些AI只能下下棋,或者打打古早的雅达利游戏。
为了开发出能够更加「泛用」的AI,学界的研究重心也开始逐渐从棋盘类游戏转向了更复杂的游戏,包括非完美信息博弈游戏(比如扑克)以及策略类游戏(比如MOBA和RTS游戏)。
同时,正如李飞飞团队在获奖论文里所言,想要让智能体能够泛化到更多的任务之中,训练环境还需要能提供足够多的任务。
凭借着AlphaGo及其衍生版AlphaZero打遍围棋圈无敌手的DeepMind,很快也意识到了这一点。
2016年,DeepMind便联合暴雪,基于空间复杂度为10的1685次方的《星际争霸 II》,推出了「星际争霸 II 学习环境」(StarCraft II Learning Environment,SC2LE),为研究人员提供了智能体的行动和奖励规范,以及一个开源的Python界面,用于与游戏引擎进行通信。
而在国内也有一个资质极佳的「AI训练场」——
作为知名的MOBA游戏,玩家在《王者荣耀》中的动作状态空间高达10的20000次方,远远大于围棋及其他游戏,甚至超过整个宇宙的原子总数(10的80次方)。
和DeepMind一样,腾讯的AI Lab也联合《王者荣耀》,共同开发了更加适合进行AI研究的「王者荣耀AI开放研究环境」。
目前,「王者荣耀AI开放研究环境」包含了1v1对战环境与baseline算法模型,并支持20位英雄的镜像对战任务以及非镜像类对战任务。
具体来说,「王者荣耀AI开放研究环境」在只考虑双方英雄选择条件下,可以支持20×20=400对战子任务。如果算上召唤师技能,将会有40000种子任务。
为了让大家更好地理解智能体在「王者荣耀AI开放研究环境」中接受的泛化性挑战,我们可以利用论文中的两个测试,对其进行验证:
首先制作一个行为树AI(BT),其水平为入门级的「黄金」。与之相对的是就是由强化学习算法训练出来的智能体(RL)。
在第一个实验中,只让貂蝉(RL)和貂蝉(BT)进行对战,然后再拿训练好的RL(貂蝉)去挑战不同英雄(BT)。
经过98轮测试后的结果如下图所示:
当对手英雄发生变化时,同一训练的策略的性能急剧下降。因为对手英雄的变化使测试环境与训练环境不同,因此现有方法学到的策略缺乏泛化性。

图1  跨对手的泛化挑战
在第二个实验中,依然只让貂蝉(RL)和貂蝉(BT)进行对战,然后拿训练好的RL模型控制其他英雄去挑战貂蝉(BT)。
经过98轮测试后的结果如下图所示:
当模型控制的目标从貂蝉变成其他英雄时,相同的训练策略的性能急剧下降。因为目标英雄的变化使行动的意义与训练环境中貂蝉的行动不同。

图2 跨目标的泛化挑战
造成这个结果的原因很简单,每个英雄本身都有自己独特的操作技巧,经过单一训练的智能体在拿到新的英雄之后,并不知道如何使用,就只能两眼一抹黑了。
人类玩家也是类似,能在中路「乱杀」的选手,换了打野之后,也未必能打出不错的KDA。
不难看出,这其实就回到了我们一开始提出的问题,简单的环境难以训练出「通用」的AI。而复杂度高的MOBA类游戏,正好提供了一个便于测试模型泛化性的环境。
当然,游戏并不能直接拿来训练AI,于是经过特别优化的「训练场」应运而生。
由此,研究人员就可以在诸如「星际争霸 II 学习环境」和「王者荣耀AI开放研究环境」中,测试和训练自己的模型了。

国内研究人员如何接入合适的平台资源?

DeepMind的发展,离不开实力雄厚的谷歌托底。李飞飞团队提出的MineDojo,不仅用上了斯坦福这个顶级名校的资源,还有来自英伟达的大力支持。
而国内现阶段的人工智能行业在基础设施层面仍然不够扎实,尤其对于普通公司和高校来说,正面临着研发资源短缺的问题。
为了让更多研究者参与进来,腾讯于今年11月21日正式将「王者荣耀AI开放研究环境」面向大众开放。
用户只需在开悟平台官网注册账号、提交资料并通过平台审核,即可免费下载。

网站链接:https://aiarena.tencent.com/aiarena/zh/open-gamecore
值得一提的是,为了更好地支持学者和算法开发者进行研究,开悟平台不仅对「王者荣耀AI开放研究环境」进行了易用性封装,还提供标准代码与训练框架。
接下来,我们就来「浅浅」地体验一下,如何在开悟平台开始一个AI训练项目吧!
既然要让AI「玩」《王者荣耀》,那么我们要做的第一件事就是,把用来操控英雄的「智能体」做出来。
听起来好像有些复杂?不过,在「王者荣耀AI开放研究环境」中,这其实非常简单。
首先,启动gamecore服务器:
cd gamecoregamecore-server.exe server --server-address :23432
安装hok_env包:
git clone https://github.com/tencent-ailab/hok_env.gitcd hok_env/hok_env/pip install -e .
并运行测试脚本:
cd hok_env/hok_env/hok/unit_test/python test_env.py
现在,就可以导入hok,并调用 hok.HoK1v1.load_game创建环境了:
import hokenv = HoK1v1.load_game(runtime_id=0, game_log_path="./game_log", gamecore_path="~/.hok", config_path="config.dat",config_dicts=[{"hero":"diaochan", "skill":"rage"} for _ in range(2)])
紧接着,我们通过重置环境从智能体那里获得我们的第一个观察结果:
obs, reward, done, infos = env.reset()
obs是一个NumPy数组的列表,描述了代理对环境的观察。
reward是一个浮点标量的列表,描述了从环境中获得的即时奖励。
done是一个布尔列表,描述了游戏的状态。
infos变量是一个字典的元组,其长度为智能体的数量。
然后在环境中执行操作,直到时间用完或者智能体被干掉。
此处,只需采用env.step方法即可。
done = Falsewhile not done:    action = env.get_random_action()    obs, reward, done, state = env.step(action)

和「星际争霸 II 学习环境」一样,在「王者荣耀AI开放研究环境」中同样可以利用可视化工具来查看智能体的回放。

至此,你的第一个智能体就已经创建完毕。
接下来,就可以拉着「她/他」去进行各种各样的训练了!
说到这,想必大家也不难发现,「王者荣耀AI开放研究环境」并不只是单纯地抛出来一个可以训练AI的环境,而是通过熟悉的操作和丰富的文档,使整个流程都变得简单易懂。
如此一来,也就让更多有志于进入AI领域的人轻松上手了。

游戏+AI,还有哪些可能?


看到这,其实还有一个问题没有回答——腾讯开悟平台作为一个由企业主导的研究平台,为何要选择大范围开放?
今年8月,成都市人工智能产业生态联盟联合智库雨前顾问,共同发布了全国首个游戏AI报告。从报告中不难看出,游戏是促进人工智能发展的关键点之一,具体来说,游戏可以从三个方面提升AI的落地应用。
首先,游戏是AI极佳的训练测试场。
  • 迭代快速:游戏可以随便交互、随便试错,没有任何真实成本,同时存在明显的奖励机制,能让算法的有效性充分训练展现出来。
  • 任务丰富:游戏种类繁多,难度和复杂性也很多样,人工智能必须采用复杂的策略来应对,攻克不同类型的游戏反映了算法水平的提升。
  • 成败标准清晰:通过游戏得分标定人工智能的能力,便于进一步对人工智能进行优化。
其次,游戏能够训练AI的不同能力,牵引不同应用。
比如,棋类游戏训练AI序列决策,获得长线推演能力;牌类游戏训练AI动态自适应,获得随机应变能力;即时战略游戏训练了AI的机器记忆能力、长期规划能力、多智能体协作能力、动作连贯性。
另外,游戏还能打破环境制约,推动决策智能落地。
比如,游戏可以推动虚拟仿真实时渲染和虚拟仿真信息同步,升级虚拟仿真交互终端。
而开悟平台依托腾讯AI Lab和王者荣耀在算法、算力、复杂场景等方面的优势,开放之后,可以为游戏与AI发展之间搭建一座有效合作的桥梁,链接高校学科建设、竞赛组织、行业人才孵化。当人才储备足够了,科研的进步和商业应用的落地都将如雨后春笋般冒头。
过去两年,开悟平台在产学研领域的布局举措就很多:举办了「开悟多智能体强化学习大赛」,引来包括清北这样的TOP2名校在内的一片顶尖高校团队参加;组建了高校科教联合体,北大信息科学技术学院爆火的选修课《游戏AI中的算法》,课后作业便是用王者荣耀1V1的环境做实验……
展望未来,可以期待:借助「开悟」平台走出去的这些人才,将辐射到AI产业的各个领域,实现平台上下游生态的全面开花。


微信扫码关注该文公众号作者

戳这里提交新闻线索和高质量文章给我们。
相关阅读
懂历史有什么用?这是我见过最好的回答手表里的红宝石有什么用关心政治,有什么用?工农红军与雇佣军的区别在哪里连上7天班,会有什么副作用?北美求职60秒:GitHub对于数据岗位求职者有什么用?(10月第3周)快速学会打麻将 ​​​哈哈哈来学北美求职60秒:Kaggle对于数据岗位求职者有什么用?(10月第2周)长得帅有什么用秋季鼻血怎么办?量子计算机有什么用?《时代》封面文章:可以解决无数问题都几十年的老烟枪了,手术前再戒烟还有什么用?“阿卡波糖”怎么用?很多人都用错了!辉瑞的药(paxlovid),要不要用?应该怎么用?​小米「铁大」机器人学会打架子鼓,铁大2.0已投入研发国产新冠口服药阿兹夫定片十问:谁适合服用?如何服用?牙膏管上的彩色方块有什么用?电子社保卡有什么用?怎么领?一图看懂![语法] “had better”到底怎么用?这盘「大脑」80万细胞,5分钟学会打乒乓球完爆AI!很多人都误读了美国的军校【提示】电子社保卡有什么用?怎么领?一图看懂!飞往台湾的客机突然折回,打起来了?鸡皮疙瘩和小脚趾有什么用啊?没用,可能很快就消失了财务到底有什么用?要不要考CMA?英国又一爆刷三观纪录片:健康食品啪啪打脸?买贵的食品没什么用?Walker的虚伪和谎言使其遭儿子和女友公开背叛陈永伟:生成式AI惊艳大众,它究竟有什么用?完了!昨晚打王者荣耀,居然Get到PPT!新冠重症如何预警,激素、抗生素怎么用?这些要点村医要掌握“公知”,你到底有什么用?小学生学习必备“镇宅之宝”今天都放这儿了!该怎么用?听常爸给您细细聊!“爱不爱有什么用,谋生才是体面”给女友买了条破洞裤,竟然还能这么用?啊啊啊啊PTE书面部分标点符号究竟怎么用?
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。