王者荣耀的觉悟AI是怎么训练的?
在机器学习领域,监督学习和无监督学习两大学习范式已经被从业者广为熟知且应用。随着近年来新技术的不断涌现,对于那些需要进行决策的问题,强化学习作为新的学习范式逐渐取得了很多惊人的成就。比如应用深度强化学习的 AlphaGo 战胜了人类的顶尖围棋选手,OpenAI Five 在 DOTA 2 上战胜了世界冠军战队,等等。强化学习在游戏领域披荆斩棘,让越来越多的从业者对该技术产生了强烈兴趣,并希望将其应用到工作中。
经过 MOBA 游戏《王者荣耀》的测试,训练有素的 AI agent 可以在完整的 1v1 游戏中击败顶尖的职业人类玩家
01
什么是强化学习?
这里我们可以参考一下 Thomas Simonini 的解释:
强化学习的中心思想,就是让智能体在环境里学习。每个行动会对应各自的奖励,智能体通过分析数据来学习,怎样的情况下应该做怎样的事情。
其实,这样的学习过程和我们自然的经历非常相似。想象自己是个小孩子,第一次看到了火,然后走到了火边。你感受到了温暖。火是个好东西 (+1) 。
然后就试着去摸。卧槽,这么烫 (-1) 。
结论是,在稍远的地方火是好的,靠得太近就不好。这就是人类学习的方式,与环境交互。强化学习也是一样的道理,只是主角换成了计算机。
注:以上内容由量子位编译整理
02
强化学习与机器学习、人工智能有什么关系?
首先,机器学习是实现人工智能的一种技术。不同的人对人工智能的定义有不同的理解,这里不进行深入说明。不过,对于“机器学习是实现人工智能的一种技术”这一点,人们意见一致。
顾名思义,机器学习是让“机器”进行“学习”的方法。这里的“机器”叫作模型,实际上是含有参数的数学式。对模型的参数进行调整,使之与给定的数据拟合的行为叫作“学习”。
各关键词之间的关系
机器学习的机制
深度学习是机器学习中的一种模型。将神经网络模型叠加成多层模型(使之变深),就形成了深度神经网络(Deep Neural Network,DNN)。通过某些学习方法让 DNN 进行学习,就叫作深度学习。
对模型的参数进行调整,使之与数据拟合的学习方法一共有 3 种,分别是监督学习、无监督学习和强化学习。
■ 监督学习
事先给定数据和答案(标签),然后对模型的参数进行调整,让输出(标签)与给定的数据一致。
■ 无监督学习
事先仅给定数据,然后对模型的参数进行调整,以提取数据的特征(结构或表征)。
■ 强化学习
事先给定一个可以根据行动得到奖励的环境(任务),然后对模型的参数进行调整,以便让不同状态下的行动与奖励联系起来。
监督学习是最容易理解且使用最广泛的学习方法。这里我们以图像分类为例来介绍一下。首先准备一个数据集,在这个数据集中,每张图像都有对应的标签,用来表明这张图像是哪种动物(这称为监督数据)。然后,为了在输入图像后让模型输出正确的标签,对模型的参数进行调整。
无监督学习不会事先给定标签。因为给定的只有数据,所以叫作“无监督”。由于没有标签,所以模型学习的是数据内部的结构(structure)和表征(representation)等。比如,在输入某个样本后,模型会根据该样本在全体数据中的位置调整参数,输出表示该数据的表征(向量)。
强化学习与前面两种机器学习方法不同,它给定的是环境,而不是数据。我们可以把环境理解为到达某种状态即可获取奖励的空间,其中定义了“行动”以及与行动对应的“状态”的变化。
简单来说,强化学习就像游戏一样。比如,在游戏中,按下按钮后角色会跳跃,那么“按下按钮” 就相当于行动,“角色跳跃”就相当于状态的变化。到达终点之后,就可以获得“奖励”。
实际上,强化学习中使用的“环境”以游戏为主。在研究领域,Atari 2600 游戏机的游戏经常被用于测试强化学习模型的性能。
03
强化学习的优点和弱点
强化学习在根据行动给予奖励(≈正确答案)这一点上和监督学习非常相似。二者的不同点在于,强化学习不是根据单次的立即奖励进行优化的,其优化的目的是使整体奖励最大化。假设 1 天能得到 1000 元,但如果等待 3 天,就能得到 10 000 元。在这种情况下,行动分为“等待”与“不等待”。因为监督学习评价的是单次的行动结果,所以会选择“不等待”,每天得到 1000 元就是最优的选择。而强化学习把从环境开始到结束的整个期间(这个例子中是 3 天)叫作一个回合(episode),它的目的是使这一个回合内的整体奖励最大化,所以在强化学习中,“等待 3 天,得到 10 000 元”才是最优的选择。
也就是说,强化学习是根据能否让整体奖励最大化来评价行动的。至于如何进行评价,需要模型自己去学习。总结一下,强化学习的模型需要学习两项内容,分别是行动的评价方法和基于评价方法对行动进行选择的方法(策略)。
能对行动的评价方法进行学习是强化学习的一个优点。比如,对于围棋和象棋这样复杂的游戏,我们很难评价现在这一步下得有多好。但是,强化学习可以自己去学习评价方法。因此,对于人类通过感官和直觉来判断的过程,强化学习也是可以学习的。
但是,这也意味着行动的评价方法完全交给了模型。因为我们没有提供“标签”这样的正确答案,模型进行什么样的判断完全基于模型自己。
这个弱点和无监督学习的弱点是一致的。因此,强化学习有可能学习到违反人类直觉的评价方法,并采取违反人类直觉的行动。
04
如何学习强化学习?
强化学习是机器学习的重要分支之一,颇以入门困难、学习曲线陡峭著称。与监督学习和无监督学习算法相比,强化学习相关资料少、背景知识多、入门不友好。那有没有适合初学者入门强化学习的图书呢?今天就给大家推荐一本:《用Python动手学强化学习》。
如果你想把强化学习这门有趣的技术应用到自己的服务或项目中,那么本书就是为你量身定制的。因此,要想理解本书,需要能够看懂程序代码。不过本书的代码实现力求能让读者像读文章一样轻松看懂,所以大家不必太过担心。代码实现使用了 Python,但是本书并不包含 Python 语法的相关解说。
至于数学,各位也无须过于担心,只要具备初高中的数学水平,就可以读懂本书。不过,在学习第 4 章中的策略梯度、第 6 章中的逆强化学习的相关内容时,需要读者具备一些在大学阶段学习的线性代数和微分的知识。
最后,在本书中,一些已经非常普及的方法将仅使用中文表示,其他方法则同时给出中文和英文名称。这是因为强化学习的最新信息大多是英文的,给出英文名称可以方便大家检索。
本书的一大特色就是含有大量示例和可以直接运行的代码,比如第 1 章中给出了迷宫探索的具体示例,并通过对应的代码让读者明白如何解决这些探索问题。通过代码,读者可以直观理解强化学习的运作过程,而不是陷在公式的泥潭里无法自拔。这种写作风格也是为了实现让从业者快速入门并实践这一目标。
另外,本书涉及的知识点也较为全面:第 1 章介绍强化学习与其他技术的关系,并通过一个简单的示例让读者对强化学习有一个初步的了解;第 2 ~ 3 章分别介绍根据环境和经验制订计划的学习方法,是了解强化学习这一范式最为基础的两个章节;第 4 章着重介绍强化学习和神经网络的组合,以及深度强化学习;第 5 ~ 6 章分别介绍强化学习的一些弱点和克服弱点的方法;最后的第 7 章介绍强化学习的一些应用事例。
留言讨论:
除了下围棋和打游戏,你认为强化学习还可以用来做什么?
我们将会挑选 3 位读者,
赠送《用Python动手学强化学习》
活动截止7月26日,
快来做第一批读者吧!
推荐阅读
热门专业没那么难,文科生打开统计学的正确方式!
喜欢这篇文章?点个“在看”吧~▼
☟ 一键拥有
王者荣耀的觉悟AI是怎么训练的?相关推荐
- 日常赠书 | 王者荣耀的觉悟AI是怎么训练的?
在机器学习领域,监督学习和无监督学习两大学习范式已经被从业者广为熟知且应用.随着近年来新技术的不断涌现,对于那些需要进行决策的问题,强化学习作为新的学习范式逐渐取得了很多惊人的成就.比如应用深度强化学 ...
- Python环境下用中文做了个《王者荣耀》AI脚本,附视频
<王者荣耀>AI最早的巅峰应该是在2018年 "AI(人工智能)"VS"人类明星战队",视频给你们留着了,先留着等会看. 梦泪被AI击杀6次,KPL ...
- Python环境下用中文做了个《王者荣耀》AI脚本
<王者荣耀>AI最早的巅峰应该是在2018年 "AI(人工智能)"VS"人类明星战队" 以此为目标在python环境下开发了AI脚本自动打<王 ...
- 当会打王者荣耀的AI学会踢足球,一不小心拿下世界冠军!
难得的元旦小假期,没有什么比得上在慵懒的冬日艳阳下放松自己,拿起手机,叫上了许久未一起作战的小伙伴,到王者荣耀中激战了一番,仿佛又回到了当年那个年轻的自己. 厉害不,毕竟当年DD也是王者五十星的水平, ...
- 女神在我玩王者的时候约我看电影,可我又不能挂机坑队友。那就只能写一个帮我打王者荣耀的AI了
大家好,这里是为代码封神的封神榜(有点吹牛皮了,哈哈).还是新人初来乍到,希望大家多多指教. ------------------ 不知道兄弟们有没有遇到这样的情况,当你正在玩王者的时候,战局焦灼.结 ...
- 我昏迷了!被王者荣耀的AI吊打后,队友想了一个损招……
还记得2年前,王者荣耀的人机模式,还是简单的"送分模式",青铜的我也能轻松7杀超神. 但是不知道从什么时候开始,机器人再也不是蠢萌的机器人了,全都变成了"没有感情的杀手& ...
- 利用Deep Reinforcement Learning训练王者荣耀超强AI
Mastering Complex Control in MOBA Games with Deep Reinforcement Learning (一)知识背景 (二)系统架构 (三)算法结构 3.1 ...
- 被AI人机疯狂单杀?王者荣耀AI“绝悟”亲测体验
文章目录 (一) 如何评测"绝悟"的智能程度? (二)"绝悟"个体操作能力分析 2.1 草丛埋伏 2.2 越塔强杀 2.3 技能避伤 2.4 技能combo ( ...
- 腾讯AI单挑王者荣耀职业玩家,“绝悟”技术细节首次披露!
围棋被攻克之后,多人在线战术竞技游戏(MOBA)已经成为测试检验前沿人工智能的动作决策和预测能力的重要平台.基于腾讯天美工作室开发的热门 MOBA 类手游<王者荣耀>,腾讯 AI Lab ...
最新文章
- Javascript 中的长字符串拼接
- Could not find the main class: org.apache.catalina.startup.Boostrap. Program will exit.
- python下载安装教程3.8.0-Python3.8.0
- 数据中台(四)数栈,企业级一站式数据中台PaaS
- OpenCV支持向量机SVM对线性不可分数据的处理
- python里pai_关于python如何调用win32pai操作cmd的方法
- 五、深入理解Mybatis中的参数parameterType (传递一个简单参数,传递多个参数:@Param、使用自定义对象、按位置、使用Map)
- docker port如何增加端口_docker部署redis实战
- cout不明确什么意思_年轻人不讲武德是什么梗和意思 年轻人不讲武德梗出处
- MySQL主从复制--mysql-proxy实现MySQL-5.6读写分离
- MySQL索引数据结构与算法
- 笔记本电脑更换固态硬盘教程(联想ThinkPadE455)
- Android仿微信朋友圈图片展示效果,图片查看器
- 使用BERT做中文文本相似度计算与文本分类
- effective morden c++1
- 零基础学画画从什么开始学起
- 一日一技:用Python做游戏有多简单
- 安装打印机后默认不是中文的原因及解决方法
- 树莓派3B+神经计算棒实时人脸追踪机器眼
- K9S操作手册k8s镜像问题
热门文章
- arm linux gcc 4.3.2.tgz下载,arm-linux-gcc-4.3.2.tgz 安装
- 亚马逊ERP店群管理系统多店铺管理软件
- 利用Bmob快速实现安卓的简单登陆注册功能Bmobsdk3.6.9版本亲测可用(详细图文攻略附带处理小bug)
- 哪些牌子的通话蓝牙耳机好用、盘点几款通话比较清晰的耳机
- 预处理php_如何使现代PHP更现代? 随着预处理!
- 本地mysql 数据库连接字符串_MySQL 数据库连接字符串
- matlab中标点符号的功能
- html上传头像及预览,JS实现上传头像并实时预览
- 百度翻译API限量后,python调用有道翻译详解
- robin-Miller判断素数算法