去年 5 月初,王者荣耀上线了一个挑战 AI 「绝悟」的限时活动,当时打开游戏界面,就能看到 「挑战·绝悟」的入口,活动出来,我就去体验了一下。

这个挑战一共五关,一关比一关难,像我这样的农药大神前几关随便过,最后一关就只能推塔了,正面硬刚肯定刚不过。

这种不敢正面怼的感觉「似曾相识」,我在英雄联盟的末日人机中也体会过,拉克丝的天女散花我至今还有阴影。

腾讯的「绝悟」在世界冠军杯半决赛中打败了职业选手,随后又在面向顶级业余玩家开放的体验测试中拿下 99.8% 的胜率。

虽然输了一场,但这个出道没多久的 AI 玩家在电竞圈也算打出了名气,当然这个战绩和王校长比还差点,校长在 100% 胜率时宣布退役,是 LOL 电竞圈唯一一位主动放弃 S 赛名额的选手 

话说回来,训练出像「绝悟」这样吊的 AI,需要腾讯掌握的海量数据和强大的财力,平民也只能体会挨打的快乐,普通玩家要想训练出一个这样的人工智能不太现实。

不过,今天,我给大家带来一个「平民版」的王者农药 AI。这个项目已经在 GitHub 开源,作者是 FengQuanLi。下面是 AI 自己玩王者的视频,先睹为快:

视频来自公众号「Jack Cui」

该视频是两倍速播放,开源项目作者只训练了一个「后裔」英雄,如果想用其他英雄,可以自己训练。

实现原理

这个开源项目的实现原理是怎样的 ?下图是这个模型的核心代码,不算难,我一步步的拆解,我尽量用通俗的语言描述这些技术。

让电脑帮我们玩游戏可以分为如下几步,当然这种方式是比较容易实现的方式,并不会用到「强化学习」的东西,而屠杀围棋圈的 AlphaGo 算法是基于强化学习。

1. 获取当前游戏界面。既英雄现在是什么状态、周围有没有敌方英雄、小兵等等。

2. 根据当前游戏界面状态生成操作指令,是应该前进、攻击还是释放技能。

3. 根据生成的操作指令去控制手机,英雄做出相应的动作。

对于训练一个平民版的人工智能模型,大体流程就是这样。其中获取当前游戏界面、根据指令去控制手机都有成熟的技术。

比如这个项目中使用 scrcpy 获取安卓手机的投屏,这款安卓投屏神器可以将游戏画面投屏到电脑桌面上。

有了游戏画面,就得到了这时战局的状况。游戏画面是图片的形式,至于这个图片包含什么内容,人能看明白,但是电脑不懂。

这就需要我们自己去提取图片中的特征,这里便会用到深度学习算法的东西。基于卷积神经网络(CNN)来提取图片的特征,项目中使用的是 ResNet 101 分类网络。

通过训练这个卷积神经网络,该网络就会具备提取游戏画面特征的能量,有了这些,算法才能进行下一步操作指令的生成。

根据图片生成操作指令是开源项目的关键点,这里用的就是大名鼎鼎的 Transformer。

Transformer 是 2017 年的一篇论文《Attention is All You Need》提出的一种模型架构,其开创性的思想像一颗重磅炸弹,震惊了整个 NLP 领域。

目前在 NLP 各业务全面开花的语言模型如 GPT, BERT 等,都是基于这个模型,搞 Java 的读者可能没听说过这个东西,但是搞算法的小伙伴对这个技术肯定不陌生。

生成一系列操作指令,说白了就是生成序列数据,而 Transformer 的 Decoder 就是干这个的,该项目也是使用基于 Transformer 的技术 GPT 构建的。

当然图片特征提取和生成操作指令是一起进行「端到端」训练的,为了方便大家理解,我拆开说的。

能够生成操作指令了,下一步就就是使用这些指令控制英雄。minitouch 便可完成这一目的,它提供了一个 socket 接口,用于在 Android 设备上触发多点触控事件和手势。

总结来说:用 scrcpy 获取当前游戏画面,使用 Transformer 根据图片生成操作指令,然后利用 minitouch 执行这些操作指令,这时游戏中的英雄就会按照指令进行动作了。

至于会进行什么样的动作得看你喂给模型什么样的数据了。目前这个模型是使用「后裔」 100 多局对战数据下训练的,对局会表现出送人头之类的问题。

这是因为数据量少并且场景简单,有一些复杂场景的数据没有覆盖到,遇到这种不确定因素,英雄也不知道怎么办了。

如何使用

使用前,你需要安装好环境和依赖,比如:torch,scrcpy, minitouch 等。还得需要一部安卓手机,如果需要训练自己的英雄还需一块 6GB 显存的显卡。

一、首先下载模型 

你可以关注微信公众号「逛逛GitHub」回复「王者」下载训练过的模型,然后后放入weights 文件夹下

二、修改配置

先运行 「启动和结束进程.py”」启动 scrcpy 把「训练数据截取_A.py”」中的两项改成你设备的参数,_DEVICE_ID 是 adb devices后显示的那个id。

三、运行

这时启动王者荣耀进入 5v5 人机对战 运行 「训练数据截取_A.py”」即可。

如下想训练自己的英雄,项目描述中也有方法,如果需要可以去移步项目地址,不过该项目还只是一个雏形,如果有能力可以自己完善。

参考链接:

[1] 用自己训练的AI玩王者荣耀是什么体验?

[2] www.bilibili.com/video/BV1UK411g7sF

点分享点收藏点点赞点在看

王者又连跪了?快让 AI 帮你上分!相关推荐

  1. 理性讨论:甄姬是不是《王者荣耀》S16赛季钻石星耀段位上分首选?

    <王者荣耀> S16已经到了赛季末了,预计十月中旬四周年之际将会迎来全新的S17赛季.不少玩家都进入了最后的上分阶段,我们都知道"QQ区ban辅助,WX区ban刺客"是 ...

  2. 搜狗输入法 rpm包_搜狗输入法手把手交你怎么聊天,斗图王者、AI帮写统统都有!...

    现代人是怎么来表达内心深处真实情感的?是丰富的辞藻和冗长的文字吗?No No No!答案必然是表情包啊,无需任何言语,一个表情包足以将丰富的内心活动展露无余. 但奈何收藏里只能添加300个表情包,人类 ...

  3. 搜狗输入法 rpm包_搜狗输入法手把手交你怎么聊天,斗图王者、AI帮写统统都有...

    现代人是怎么来表达内心深处真实情感的?是丰富的辞藻和冗长的文字吗?No No No!答案必然是表情包啊,无需任何言语,一个表情包足以将丰富的内心活动展露无余. 但奈何收藏里只能添加300个表情包,人类 ...

  4. 用python AI脚本自动打王者荣耀?小学生快出来挨打

    一.前言 大家好,我是 Jack . 「王者荣耀」想必大家就算没有玩过,也都听过. 腾讯 AI Lab 开发的策略协作型"绝悟",最强 AI 分分教你做人. 但那个是像 Alpha ...

  5. AI 玩王者荣耀狂上分!1 天训练强度达人类 440 年,网友:已卸载

    你造吗?人工智能继进军围棋之后,又来我"王者峡谷"了. 腾讯AI LAB与王者荣耀合作开发的AI[绝悟],在近期的最高规格赛事中获胜,宣布已达到"电竞职业水平" ...

  6. copilot 让AI帮你编程(人工智能自动完成)

    copilot 让AI帮你编程(人工智能自动完成) 官方地址 前不久,GitHub和OpenAI联合为程序员们送上了编程神器--GitHub Copilot. 但是,Copilot目前不提供公开使用, ...

  7. 小米商城推出新功能:AI 帮你挑手机;Stack Overflow 临时封杀 ChatGPT;Meta 裁员再生事端|极客头条

    「极客头条」-- 技术人员的新闻圈! CSDN 的读者朋友们早上好哇,「极客头条」来啦,快来看今天都有哪些值得我们技术人关注的重要新闻吧. 整理 | 梦依丹 出品 | CSDN(ID:CSDNnews ...

  8. AI 玩王者荣耀狂上分!打了六局,心态崩了

    你造吗?人工智能继进军围棋之后,又来我"王者峡谷"了. 腾讯AI LAB与王者荣耀合作开发的AI[绝悟],在最高规格赛事中获胜,宣布已达到"电竞职业水平"!据称 ...

  9. 苏宁回应股权质押给淘宝;日本政府用 AI 帮民众找对象;魅族回应 “暗中给手机植入木马” | EA周报...

    EA周报 2020年12月11日 每个星期7分钟,元宝带你喝一杯IT人的浓缩咖啡,了解天下事.掌握IT核心技术. 周报看点 1.阿里云发布冷链食品追溯系统解决方案,食品用上"电子身份证&qu ...

最新文章

  1. 匹配滤波器的物理解释
  2. mysql自动分区partition_Mysql分区表及自动创建分区Partition
  3. VMWARE workstation导致母机反应变慢的现象
  4. 在SLES-11-SP1-i586上搭建apache+php环境
  5. python控制步进电机代码tx2_步进电机C语言控制,高手请进来指点一下!
  6. 暗黑破坏神不朽:诅咒宝箱不能开?玩家果断打开后,赚到了
  7. 史上最权威的 Activiti 框架学习
  8. 计算机系统的3t性能目标是什么,计算机系统结构习题.doc
  9. java if ( 常量==变量)_Java常量、变量和运算符
  10. 【笔记】排列组合公式、二项式定理
  11. shell遍历ip执行特定功能
  12. 公司规章制度制度(受不了)
  13. 想在社会上混 就记住这20句
  14. iphone mysql壁纸,壁纸图片动态
  15. 机器学习实战教程(三):决策树实战篇
  16. python数据类型的应用
  17. RxJava 过滤操作符(Filtering Observables Operators)
  18. python统计文本字数_Python 简单应用--文章字数统计
  19. 啥叫工程?啥叫工程师?
  20. Magic Leap开发指南(9)-- 6 DOF(Unity)

热门文章

  1. CVPR2020 | 商汤-港中文等提出PV-RCNN:3D目标检测新网络
  2. 计算机兴趣班计划书,幼儿园兴趣班计划书.doc
  3. SAP HUM 嵌套HU初探 IV
  4. ImageNet 存在十万标签错误,你知道吗?
  5. 《每周CV论文》人脸识别难题:遮挡年龄姿态妆造亲属伪造攻击
  6. SAP MM 公司间STO里外向交货单与内向交货单里序列号对应关系
  7. 2019年机器学习市场潜力大盘点(附27份资料完整版)
  8. 欠拟合和过拟合学习笔记
  9. 到2020年,智能手机将拥有十项AI功能,有些可能会出乎你意料
  10. Tri-Party Deep Network Representation