当前位置: 首页 > 科技观察

让AI学会打王有什么用?

时间:2023-03-21 18:49:08 科技观察

11月28日,NeurIPS2022正式开幕。NeurIPS作为全球最负盛名的人工智能盛会之一,每年年底都是计算机科学领域关注的焦点。被NeurIPS录用的论文代表了当前神经科学和人工智能研究的最高水平,也反映了行业趋势的变化。有趣的是,今年“参赛者”的研究似乎对“游戏”情有独钟。例如,基于Minecraft游戏环境的MineDojo获得了最佳数据集和基准论文奖。依托游戏的开放性,研究人员可以在MineDojo中通过各类任务训练智能体,让AI具备更多的通用能力。并且通过严格的录取率,它也是游戏领域收录的另一篇论文,可能与很多游戏玩家有关。毕竟谁没有玩过万王之王呢。论文《<王者荣耀>竞技场:竞争强化学习的泛化环境》地址:https://openreview.net/pdf?id=7e6W6LEOBg3在这篇论文中,研究人员提出了一个基于MOBA游戏的测试环境《王者荣耀》。目的其实和MineDojo差不多——训练AI。MOBA游戏环境为何受到青睐?自DeepMind推出AlphaGo以来,游戏作为高自由度、高复杂度的现实环境,早已成为人工智能研究和实验的重要选择。然而,与可以从开放式任务中不断学习的人类相比,在复杂性较低的游戏中训练的代理无法将他们的能力概括为特定任务之外的能力。简单地说,这些人工智能只能下棋,或者玩古老的雅达利游戏。为了开发更“通用”的人工智能,学术研究的重点逐渐从棋盘游戏转向更复杂的游戏,包括不完全信息博弈游戏(如扑克牌)和策略游戏(如MOBA和RTS游戏)。).同时,正如李飞飞团队在获奖论文中所说,为了让agent泛化到更多任务,训练环境需要提供足够多的任务。在AlphaGo及其衍生的AlphaZero的帮助下,打遍了围棋圈无敌手的DeepMind很快就意识到了这一点。2016年,DeepMind与暴雪合作推出了星际争霸II学习环境(SC2LE),其基于?的空间复杂度为10的1685次方,为研究人员提供智能体的行为。和奖励规范,以及用于与游戏引擎通信的开源Python接口。而国内还有一个资质过硬的“AI练兵场”——作为知名MOBA游戏,《王者荣耀》中玩家的动作状态空间高达10的20000次方,远大于围棋和其他游戏一样,甚至超过了整个宇宙的原子总数(10的80次方)。与DeepMind一样,腾讯AILab也与《王者荣耀》合作,共同开发了更适合AI研究的“王者荣耀AI开放研究环境”。目前,《王者荣耀AI开放研究环境》包括1v1对战环境和基线算法模型,支持20个英雄镜像对战任务和非镜像对战任务。具体来说,《王者荣耀AI开放研究环境》在只考虑双方英雄选择的情况下,可以支持20×20=400个战斗子任务。如果算上召唤师技能,就有四万个种子任务。为了让大家更好的了解agent在《王者荣耀AI开放研究环境》中所接受的泛化挑战,我们可以用论文中的两个测试来验证一下:一、做一个行为树AI(BT),其级别是入门级“黄金”。相反的是通过强化学习算法训练的代理(RL)。第一次实验只让貂蝉(RL)和貂蝉(BT)对战,然后用训练好的RL(貂蝉)去挑战不同的英雄(BT)。98轮测试后的结果如下图所示:当对手英雄发生变化时,同样训练好的策略性能急剧下降。由于对手英雄的变化使得测试环境与训练环境不同,现有方法学习的策略缺乏泛化性。图1Cross-opponentgeneralizationchallenge在第二个实验中,我们仍然只让貂蝉(RL)和貂蝉(BT)对战,然后使用训练好的RL模型控制其他英雄挑战貂蝉(BT)。98轮测试后的结果如下图所示:当模型控制的目标从貂蝉变为其他英雄时,同样的训练策略性能急剧下降。因为目标英雄的改变,使得动作的意义与训练环境中的貂蝉不同。造成这个结果的原因很简单。每个英雄都有自己独特的操作技能。一个训练有素的agent不知道如何使用新英雄后,我只能把我的眼睛弄黑。人类玩家也是如此。中路能“乱杀”的玩家,换打野后不一定能打出好的KDA。不难看出,这其实又回到了我们一开始提出的问题。很难在简单的环境中训练出“通用”的AI。高度复杂的MOBA游戏只是提供了一个测试模型泛化能力的环境。当然,游戏不能直接用来训练AI,于是专门优化的“训练场”应运而生。因此,研究人员可以在“星际争霸II学习环境”和“王者荣耀AI开放研究环境”等环境中测试和训练他们的模型。国内科研人员如何获取合适的平台资源?DeepMind的发展离不开谷歌的大力支持。李飞飞团队提出的MineDojo,不仅利用了斯坦福这个名校的资源,还得到了NVIDIA的大力支持。然而,现阶段国内人工智能产业在基础设施层面还不够扎实,尤其是普通企业和高校,面临着研发资源短缺的问题。为了让更多科研人员参与进来,腾讯于今年11月21日正式对外开放了“王者荣耀AI开放科研环境”。用户只需在开物平台官网注册账号,提交资料并通过平台审核,即可免费下载。网址链接:https://aiarena.tencent.com/aiarena/zh/open-gamecore值得一提的是,为了更好的支持学者和算法开发者的研究,启蒙平台不仅开放了对《王者荣耀》的研究AI”“Environment”为了方便使用而进行了封装,同时也提供了标准的代码和训练框架。下面,就让我们“浅尝辄止”体验一下如何在启蒙平台开启AI训练计划吧!既然要让AI“玩”《王者荣耀》,首先要做的就是制作用来控制英雄的“智能体”。听起来很复杂?不过,在《王者荣耀AI开放研究环境》中,这其实很简单。首先,启动gamecore服务器:cdgamecoregamecore-server.exeserver--server-address:23432安装hok_env包:gitclonehttps://github.com/tencent-ailab/hok_env.gitcdhok_env/hok_env/pipinstall-电子。并运行测试脚本:cdhok_env/hok_env/hok/unit_test/pythontest_env.py现在,您可以导入hok并调用hok.HoK1v1.load_game来创建环境:importhookenv=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_inrange(2)])接下来,我们通过重置环境从代理获得第一个观察结果:obs,reward,done,infos=env.reset()obs是描述代理对环境的观察的NumPy数组列表。reward是描述来自环境的直接奖励的浮点标量列表。done是一个描述游戏状态的布尔列表。infos变量是一个字典元组,其长度是代理的数量。然后在环境中执行操作,直到时间用完或代理被杀死。在这里,只需使用env.step方法即可。done=Falsewhilenotdone:action=env.get_random_action()obs,reward,done,state=env.step(action)和《星际争霸II学习环境》一样,也可以在《王者荣耀AI公开》中使用ResearchEnvironment”Visualizer以查看代理的重播。此时,您的第一个代理已经创建。接下来,你就可以带着“她/他”进行各种训练了!说到这里,想必大家不难发现,《王者荣耀AI开放研究环境》并不是简单抛出一个可以训练AI的环境,而是通过熟悉的操作和丰富的文档,让整个过程变得简单的。容易明白。这样一来,会让更多有志于进入AI领域的人更容易上手。游戏+AI,有哪些可能?看到这里,其实还有一个问题没有得到解答——作为一个以企业为主导的研究平台,腾讯为何选择大规模开放?今年8月,成都人工智能产业生态联盟与智库御前顾问联合发布了国内首份游戏AI报告。从报告中不难看出,游戏是推动人工智能发展的重点之一。具体来说,游戏可以从三个方面提升人工智能的应用。首先,游戏是AI极好的训练和试验场。快速迭代:游戏可以随意交互,随意试错,不需要任何实际成本,同时有明显的奖励机制,可以充分展示算法的有效性。任务丰富:游戏种类繁多,难度和复杂程度各不相同。人工智能必须采取复杂的策略来应对它们。攻克不同类型的游戏体现了算法水平的提升。成败标准一目了然:人工智能的能力通过比赛分数来标定,便于人工智能的进一步优化。其次,游戏可以训练AI的不同能力,从而产生不同的应用。比如桌游训练AI序列决策,获得长期推演能力;纸牌游戏训练AI动态适应,获得适应性;即时战略游戏训练AI的机器记忆能力、长期规划能力、多智能体协作能力、动作连贯性。此外,游戏还可以打破环境约束,促进智能决策。例如,游戏可以促进虚拟仿真实时渲染和虚拟仿真信息的同步,升级虚拟仿真交互终端。启蒙平台依托腾讯AILab和王者荣耀在算法、算力、复杂场景等方面的优势,搭建起游戏与AI开发的有效合作桥梁,链接高校学科建设、赛事组织、行业人才孵化。当人才储备充足时,科学研究的推进和商业应用的落地就会如雨后春笋般涌现。近两年,启蒙平台在产学研领域采取了多项举措:举办了“启蒙多智能体强化学习大赛”,吸引了包括清北等TOP2名校在内的一批顶尖大学团队;北京大学信息科学与技术学院大学科教联合会的热门选修课《游戏AI中的算法》,作业是用王者荣耀1V1环境做实验...展望未来,我们可以看看前瞻:那些借助“启迪”平台走出去的人才,将辐射到AI产业的各个领域,实现平台上下游生态的全面开花。