2019年10月,一款五子棋游戏开始上架vivo快游戏中心。上架至今,这款主打人机对抗的五子棋游戏,其AI胜率仍然保持在98%以上,它就是Jovi五子棋,是vivo AI Lab继王者荣耀AI战队之后,在游戏AI领域的又一次实践。
2019年初vivo AI Lab发表王者荣耀论文
vivo Jovi五子棋
Jovi五子棋好玩在哪
作为一款主打人机对抗的AI游戏产品,Jovi五子棋在游戏体验上满足了四点:足够强大的AI、拟人化的行为、趣味性的小道具、与Jovi自身的联动。
1. 足够强大的AI
“人工智能Jovi向人类发出挑战”,这是Jovi五子棋游戏首页的副标题,下方的实时比分以超过98%的胜率展示了Jovi的强大。强大的棋力既是最初AI算法开发时设立的目标,也是Jovi五子棋能够迅速从同类游戏中脱颖而出的根本原因。
Jovi五子棋的AI胜率一直保持在98%以上
Jovi的高胜率在微博上引起了热烈讨论
2. 拟人化的行为
一个好的棋牌类游戏AI,应该能够给予玩家一种正在与真人在对抗的感觉,Jovi五子棋为此在AI模型中引入了拟人化算法。根据当前局势与玩家的历史表现,实时地调整自身的下棋策略,既可能会偶尔犯下一个小失误,也可能在玩家意想不到的地方给予致命一击,让不同水平的玩家都能找到游戏的乐趣。
此外,Jovi五子棋还增加了气泡文字的功能,AI会根据局面的评估结果适时地与玩家进行互动,触发气泡文字的小彩蛋,让AI不再是冷冰冰的程序下五子棋技巧和套路,而是有温度的游戏伙伴。
气泡文字的小彩蛋
3.趣味性的小道具
Jovi五子棋在2020年春节推出了节日限定的特别版本,新增了四张道具卡。比如“天降福运”卡,会从游戏中唤醒另一位AI来辅助玩家;比如“万事如意”卡,会干扰Jovi的判断从而增加自身的优势。
五子棋属于玩法较为固定的棋类游戏,不定时地加入一些趣味小道具,能够保持玩家的新鲜感,有效提高游戏体验。
Jovi五子棋春节特别版及道具卡
4. 与Jovi自身的联动
与竞品相比,Jovi五子棋的一大优势是能够与vivo手机中的Jovi人工智能进行联动。唤醒Jovi语音助手后,说出“陪我玩五子棋”、“五子棋挑战”等关键词就能够直接跳转到Jovi五子棋的游戏首页,类似的联动提升了游戏体验,拉近了用户与Jovi之间的距离。
与Jovi语音助手的联动
Jovi为何如此强大
2016年围棋机器人AlphaGo击败了韩国前世界冠军李世石,随后学界对AlphaGo技术进行了多次改良。Jovi五子棋采用的就是名为AlphaZero的最新版本,它实际上由三种技术综合而成:蒙特卡罗树搜索、策略价值网络、强化学习。
同时,在深入分析AlphaZero的基础上下五子棋技巧和套路,Jovi五子棋对其中的一些细节进行了改造与优化,成功将AlphaZero中的围棋场景转化为五子棋场景,完成了迁移学习。
1. 蒙特卡罗树搜索
人类下棋的过程实际上是一个不断推演局面的过程:自己如果下A位置,对手可能会下B位置,那么自己到时就下C位置,如此反复斟酌,最终找到一个最有利于自己的下法。将这个过程以树状图的形式表示出来,就是树搜索算法的核心。
三子棋的树搜索过程
如图所示,在最左侧的当前局面下,黑色玩家有A~E一共五种下法,通过上述的不断推演,能够发现下在E位置可能赢的次数最多,因此E位置就是最佳选择。
但是在五子棋中,情况成千上亿,AI根本不可能将所有情况推演一遍,因此需要想办法跳过那些“明显是臭棋的地方”,比如图中的C位置,这个时候就轮到Jovi的策略价值网络发挥作用了。
2. 策略价值网络
策略价值网络是一位“下棋大师”,它只需要看一眼当前局面,就能够完成两个任务:判断哪些位置是“臭棋”从而跳过推演、估计当前局面的赢面有多大。
策略价值网络的作用
如图所示,同样的局面下,策略价值网络直接将A、D、C三个位置筛选掉了,AI在进行蒙特卡罗树搜索的过程中就可以跳过这些臭棋,节省了时间。接下来AI只需要在E、B之间二选一,得益于策略价值网络赢面估计的能力,最终选择了赢面最大的E位置。
但是,策略价值网络这位“下棋大师”偶尔也会失误,比如将上图中的A位置错看成了好棋,因而在多余的位置上浪费了思考时间,或者将上图中的E位置错看成了臭棋,直接错过了本来最好的落子位置。
为了弥补AlphaZero中策略价值网络可能发生的“失误”,Jovi五子棋新增了一个修正模型,针对五子棋游戏中的一些特定的棋谱,能够有效区分当前局面下的好棋与臭棋。在综合考虑策略价值网络与修正模型的结果之后再做出决定,Jovi的棋力得以提高。
此外,五子棋的棋盘略小于围棋的棋盘,两种游戏的下棋技巧也有所不同,因此Jovi五子棋还对AlphaZero中的CNN网络结构进行了改造,减少了网络的深度,调整了各层卷积核的大小,既适应了五子棋的棋盘特点,也提高了策略价值网络的运算速度。
3. 强化学习
可见,Jovi五子棋的核心实际在于一个强大的策略价值网络,那么如何获得这样一个网络呢?这个时候就轮到强化学习出场了,准确来说,Jovi五子棋采用的是强化学习中的自我博弈思想。
自我博弈的学习过程
如图所示,一开始的AI是一名五子棋新手,只知道五子相连能够赢得游戏,但是不知道有什么“套路”可以达成五子相连,于是AI开始左手执黑、右手执白,自己跟自己对弈起来。接下来,AI通过自我博弈产生了大量棋谱,并将棋谱中的各个局面与最终的胜负结果关联起来,比如将五子棋中的“活四”必赢局面标记为赢面100%,“活三”有利局面标记为赢面75%等。最后,AI通过不断学习局面和赢面之间的对应关系,成功“修炼”出一种能够看透当前局面的能力,即上述提到的策略价值网络。
综上所述,Jovi五子棋强大的秘密在于蒙特卡罗树搜索与策略价值网络的结合,并通过强化学习中的自我博弈不断学习与变强。
Jovi五子棋的服务架构
作为一款实时在线推理的AI游戏产品,只有强大的算法是远远不够的。Jovi五子棋的算法复杂,运算时间长,占用服务器资源多,同时玩家群体异常庞大,这对算法服务端来说是一个不小的考验。为了满足上述应用场景,Jovi五子棋在服务架构上进行了合理设计。
蒙特卡罗树搜索与策略价值网络是Jovi五子棋的两项核心技术,前者主要占用CPU资源、后者主要占用GPU资源,为了提高GPU的吞吐量,Jovi五子棋采用了CPU、GPU分离的服务架构。
Jovi五子棋服务架构
如图所示,业务侧首先对玩家的请求进行限流与过滤,有效请求进入缓存区并通过Nginx分发至对应的CPU服务器,启动蒙特卡罗树搜索。在上述过程中,限流过滤能够提升游戏服务的稳定性,缓存区则减轻了算法侧的压力,变相提升了服务器的容量。
AI计算经CPU启动,由基于TensorFlow Serving的GPU服务器提供策略价值网络的评估服务,完成赢面估计。树搜索完成后,由CPU服务器返回AI的计算结果即落子位置。此外,在Serving部分,Jovi的策略价值网络经过了TensorRT的优化,极大地提升了GPU服务器的推理速度与吞吐量。
未来展望
Jovi五子棋是vivo AI Lab在游戏AI领域的又一次实践,在这个过程中我们看到了人工智能技术的更多可能性,未来我们将不断追求更加强大的AI,这种强大既包括AI良好完成既定任务的强大,也包括泛化性、拟人性、通用性上的强大。我们希望Jovi人工智能可以成为更有温度、更能为用户服务的人工智能。
择日不如撞日
拿起你的vivo智慧手机来挑战吧!
———END———
限 时 特 惠:本站每日持续更新海量各大内部创业教程,一年会员只需128元,全站资源免费下载点击查看详情
站 长 微 信:jiumai99
2.若作商业用途,请联系原作者授权,若本站侵犯了您的权益请 联系站长 进行删除处理
3.本站所有内容均来源于网络,仅供学习与参考,请勿商业运营,严禁从事违法、侵权等任何非法活动,否则后果自负