目录
为何MOBA类游戏环境被青睐?
游戏+AI,还有哪些可能?
首页 科技周边 人工智能 让AI学会打王者,有什么用?

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

Apr 11, 2023 pm 07:28 PM
游戏 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 hok
env = 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 = False
while 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产业的各个领域,实现平台上下游生态的全面开花。

以上是让AI学会打王者,有什么用?的详细内容。更多信息请关注PHP中文网其他相关文章!

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

AI Hentai Generator

AI Hentai Generator

免费生成ai无尽的。

热门文章

R.E.P.O.能量晶体解释及其做什么(黄色晶体)
1 个月前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳图形设置
4 周前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您听不到任何人,如何修复音频
1 个月前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.聊天命令以及如何使用它们
1 个月前 By 尊渡假赌尊渡假赌尊渡假赌

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

Debian邮件服务器防火墙配置技巧 Debian邮件服务器防火墙配置技巧 Apr 13, 2025 am 11:42 AM

配置Debian邮件服务器的防火墙是确保服务器安全性的重要步骤。以下是几种常用的防火墙配置方法,包括iptables和firewalld的使用。使用iptables配置防火墙安装iptables(如果尚未安装):sudoapt-getupdatesudoapt-getinstalliptables查看当前iptables规则:sudoiptables-L配置

Debian Apache日志级别如何设置 Debian Apache日志级别如何设置 Apr 13, 2025 am 08:33 AM

本文介绍如何在Debian系统中调整ApacheWeb服务器的日志记录级别。通过修改配置文件,您可以控制Apache记录的日志信息的详细程度。方法一:修改主配置文件定位配置文件:Apache2.x的配置文件通常位于/etc/apache2/目录下,文件名可能是apache2.conf或httpd.conf,具体取决于您的安装方式。编辑配置文件:使用文本编辑器(例如nano)以root权限打开配置文件:sudonano/etc/apache2/apache2.conf

如何优化debian readdir的性能 如何优化debian readdir的性能 Apr 13, 2025 am 08:48 AM

在Debian系统中,readdir系统调用用于读取目录内容。如果其性能表现不佳,可尝试以下优化策略:精简目录文件数量:尽可能将大型目录拆分成多个小型目录,降低每次readdir调用处理的项目数量。启用目录内容缓存:构建缓存机制,定期或在目录内容变更时更新缓存,减少对readdir的频繁调用。内存缓存(如Memcached或Redis)或本地缓存(如文件或数据库)均可考虑。采用高效数据结构:如果自行实现目录遍历,选择更高效的数据结构(例如哈希表而非线性搜索)存储和访问目录信

debian readdir如何实现文件排序 debian readdir如何实现文件排序 Apr 13, 2025 am 09:06 AM

在Debian系统中,readdir函数用于读取目录内容,但其返回的顺序并非预先定义的。要对目录中的文件进行排序,需要先读取所有文件,再利用qsort函数进行排序。以下代码演示了如何在Debian系统中使用readdir和qsort对目录文件进行排序:#include#include#include#include//自定义比较函数,用于qsortintcompare(constvoid*a,constvoid*b){returnstrcmp(*(

debian readdir如何与其他工具集成 debian readdir如何与其他工具集成 Apr 13, 2025 am 09:42 AM

Debian系统中的readdir函数是用于读取目录内容的系统调用,常用于C语言编程。本文将介绍如何将readdir与其他工具集成,以增强其功能。方法一:C语言程序与管道结合首先,编写一个C程序调用readdir函数并输出结果:#include#include#includeintmain(intargc,char*argv[]){DIR*dir;structdirent*entry;if(argc!=2){

Debian邮件服务器SSL证书安装方法 Debian邮件服务器SSL证书安装方法 Apr 13, 2025 am 11:39 AM

在Debian邮件服务器上安装SSL证书的步骤如下:1.安装OpenSSL工具包首先,确保你的系统上已经安装了OpenSSL工具包。如果没有安装,可以使用以下命令进行安装:sudoapt-getupdatesudoapt-getinstallopenssl2.生成私钥和证书请求接下来,使用OpenSSL生成一个2048位的RSA私钥和一个证书请求(CSR):openss

Debian OpenSSL如何防止中间人攻击 Debian OpenSSL如何防止中间人攻击 Apr 13, 2025 am 10:30 AM

在Debian系统中,OpenSSL是一个重要的库,用于加密、解密和证书管理。为了防止中间人攻击(MITM),可以采取以下措施:使用HTTPS:确保所有网络请求使用HTTPS协议,而不是HTTP。HTTPS使用TLS(传输层安全协议)加密通信数据,确保数据在传输过程中不会被窃取或篡改。验证服务器证书:在客户端手动验证服务器证书,确保其可信。可以通过URLSession的委托方法来手动验证服务器

Debian Hadoop日志管理怎么做 Debian Hadoop日志管理怎么做 Apr 13, 2025 am 10:45 AM

在Debian上管理Hadoop日志,可以遵循以下步骤和最佳实践:日志聚合启用日志聚合:在yarn-site.xml文件中设置yarn.log-aggregation-enable为true,以启用日志聚合功能。配置日志保留策略:设置yarn.log-aggregation.retain-seconds来定义日志的保留时间,例如保留172800秒(2天)。指定日志存储路径:通过yarn.n

See all articles