增强学习 | AlphaGo背后的秘密

“敢于尝试,才有突破”
2017年5月27日,当今世界排名第一的中国棋手柯洁与AlphaGo 2.0的三局对战落败。该事件标志着最新的人工智能技术在围棋竞技领域超越了人类智能,借此机会,介绍一下AlphaGo背后的秘密——增强学习技术。
增强学习(Reinforcement Learning),也称强化学习,是一种在过程中学习提高机器智能的框架。该框架通常可用马尔可夫决策过程(Markov Decision Process)概念来描述,即假设存在智能体(Agent)在约束环境下执行某动作(Action),动作的执行会改变智能体状态(State),其结果会带来奖赏或惩罚。基于此,智能体通过探索最优策略(Policy)或是最大化长期回报(Reward),进而选择最优的执行动作序列。
增强学习应用的核心是建立智能体模型,包括几个核心概念:
- 状态:智能体内在属性的定量描述
- 动作:使智能体状态迁移的行为
- 策略:状态和动作的映射转移函数,例如状态转移概率等
- 回报:评价智能体执行某动作好坏的价值函数
- 环境:与智能体交互的模型,例如建立的马尔可夫决策模型等
根据问题不同,智能体常常使用一个或多个上述概念进行建模,进而可将增强学习粗略分为基于策略的增强学习、基于值(回报)的增强学习,以及基于模型的增强学习。
基于智能体模型,增强学习以“状态”作为输入,通过可能的“动作”与环境进行交互,以“回报”作为动作的评价,利用该过程中累积的“尝试”数据进行训练,从而学习得到最优的策略函数。
相比于经典的有监督学习方法,增强学习无需标注数据,某种意义上可以看作“延迟标注数据”的监督学习方法。增强学习更关注于在线决策的性能,在难以计算最优解时可给出次优解。
相对于经典的近似动态规划方法,增强学习无需显式的建立马尔可夫决策数学模型,更适合求解计算状态空间更加复杂的问题,即人类操作层次的任务,例如游戏AI、无人驾驶、机器人等。
然而,对于语音识别、NLP、计算机视觉等一些很难定义长期回报的应用,增强学习便难以适用。另一方面,智能体建模常常过于抽象,因此一些增强学习的应用距离实际相差还较大。
回到开头,战胜柯洁的Alpha Go使用的便是最新的深度增强学习技术,即在上述介绍的增强学习概念基础上使用深度神经网络描述值函数、策略或者模型。从这项超越现今人类智能的技术上,我们或许可以得到如下启发:
- 基于深层卷积神经网络判断围棋棋盘的形势,无需数据特征工程,同时能处理巨大的状态空间;
- 历史棋手对弈数据有限,但可通过自我博弈显著提升人工智能但策略能力;
- 增强学习技术并不是万能的,它更适合游戏规则确定的应用。
最后,小虾米还将文章内容总结成了更直观的思维导图,需要的朋友,请在数据小虾米公众号后台回复“增强学习”,即可获取下载地址。
数据科学武林风起云涌,
随数据小虾米共闯江湖~
增强学习 | AlphaGo背后的秘密的更多相关文章
- (转) 深度强化学习综述:从AlphaGo背后的力量到学习资源分享(附论文)
本文转自:http://mp.weixin.qq.com/s/aAHbybdbs_GtY8OyU6h5WA 专题 | 深度强化学习综述:从AlphaGo背后的力量到学习资源分享(附论文) 原创 201 ...
- 马里奥AI实现方式探索 ——神经网络+增强学习
[TOC] 马里奥AI实现方式探索 --神经网络+增强学习 儿时我们都曾有过一个经典游戏的体验,就是马里奥(顶蘑菇^v^),这次里约奥运会闭幕式,日本作为2020年东京奥运会的东道主,安倍最后也已经典 ...
- 常用增强学习实验环境 II (ViZDoom, Roboschool, TensorFlow Agents, ELF, Coach等) (转载)
原文链接:http://blog.csdn.net/jinzhuojun/article/details/78508203 前段时间Nature上发表的升级版Alpha Go - AlphaGo Ze ...
- 5.JavaScript优化及导航菜单背后的秘密
JavaScript优化及导航菜单背后的秘密 伍星 学习目标1.进一步了解前端优化 学习如何编写良好的 JavaScirpt2.通过导航的学习,了解JavaScirpt的应用 JavaScript在用 ...
- 增强学习(三)----- MDP的动态规划解法
上一篇我们已经说到了,增强学习的目的就是求解马尔可夫决策过程(MDP)的最优策略,使其在任意初始状态下,都能获得最大的Vπ值.(本文不考虑非马尔可夫环境和不完全可观测马尔可夫决策过程(POMDP)中的 ...
- Multi-armed Bandit Problem与增强学习的联系
选自<Reinforcement Learning: An Introduction>, version 2, 2016, Chapter2 https://webdocs.cs.ualb ...
- 增强学习(四) ----- 蒙特卡罗方法(Monte Carlo Methods)
1. 蒙特卡罗方法的基本思想 蒙特卡罗方法又叫统计模拟方法,它使用随机数(或伪随机数)来解决计算的问题,是一类重要的数值计算方法.该方法的名字来源于世界著名的赌城蒙特卡罗,而蒙特卡罗方法正是以概率为基 ...
- 增强学习————K-摇臂赌博机
探索与利用增强学习任务的最终奖赏是在多步动作之后才能观察到,于是我们先考虑最简单的情形:最大化单步奖赏,即仅考虑一步操作.不过,就算这样,强化学习仍与监督学习有显著不同,因为机器要通过尝试来发现各个动 ...
- 增强学习(Reinforcement Learning and Control)
增强学习(Reinforcement Learning and Control) [pdf版本]增强学习.pdf 在之前的讨论中,我们总是给定一个样本x,然后给或者不给label y.之后对样本进行 ...
随机推荐
- 如何在.Net中使用MongoDB
最近在研究mongodb,针对.net 中使用mongodb的文章要么是早期的驱动版本,要么资料很少,所以写个随笔记录一下 本文主要记录 1.什么是MongoDB 2.MongoDB windows ...
- 预览github项目的html文件新方法
原文地址:→看过来 写在前面 关于如何在线预览github中的html文件,其实这是一个很多人知道的东西,但是查资料的时候呢总是找不到正确的答案,并且一开始我也是踩了坑的. 踩坑经历 搜出来的结果大概 ...
- FiddlerScript高级技巧---自定义Fiddler菜单
Tips 书接上回, Fiddler插件 在团队内部试用后,效果很不错,小伙伴们也提出了很多改进的建议: 最近一段Fiddler使用的仍较为频繁,以前碰到一些特殊测试需求时,总是自己在FiddlerS ...
- 张高兴的 Windows 10 IoT 开发笔记:使用 ADS1115 读取模拟信号
考虑到 Raspberry Pi 读取模拟信号是很烦人的事情,更何况是在没人玩的 Windows 10 IoT 下,所以准备正儿八经的写点东西. 需求:使用 Raspberry Pi 读取输出模拟信号 ...
- User-Agent详解
User-Agent : 用户代理 用户在上网的时候会作为http 请求头的一部分传递给服务端 ,用于识别用户当前环境(如浏览器类型及版本号,以及操作系统信息 ) 右键f12可以查看 下面是我的浏 ...
- SpringBoot系列(一)RestTemplate
作为springBoot的开篇系列,RestTemplate只能表示我只是个意外 what RestTemplate是spring提供的用于访问rest服务的客户端(其实类似Apache的HttpCl ...
- cocoapods安装和使用常见问题及解决方案
cocopods安装后pod install出现以下错误 /usr/local/Cellar/ruby/2.4.1_1/lib/ruby/2.4.0/rubygems.rb:270:in find_s ...
- MySql学习笔记(一) —— 数据的分组
前面介绍的聚集函数只是用来计算行数,平均数,最大值,最小值而不用检索所有数据.通过count()函数,我们可以计算生产商1003提供的产品数目,但如果我要查询所有生产商提供的商品数,这就需要进行分组查 ...
- WinForm笔记
Hi All, 分享一个学WinForm时的笔记: 1. 关键字 partial:是部分类,允许将一个类放在多个文件当中. 2. MessageBox()类相当于Console.WriteLine() ...
- jQuery中易混淆知识点总结(持续更新)
find()与children() <body> <ul class="level-1"> <li class="item-i"& ...