这里是强化学习入门,的入门 | 绝对新手友好

2018 年 4 月 5 日 量子位 关注前沿科技
这里是强化学习入门,的入门 | 绝对新手友好
原作:Thomas Simonini
墙化栗子 编译自 FreeCodeCamp
量子位 出品 | 公众号 QbitAI

强化学习是机器学习里面非常重要的一个派别。智能体 (agent) 会不断执行一些操作,通过结果来学习,在不同的环境中分别应该采取怎样的行动。

在一系列教学文章里,我们可以了解不同的架构,来解决强化学习的问题。Q学习,深度Q网络 (DQN) ,策略梯度 (Policy Gradients) ,演员-评论家 (Actor-Critic) ,以及近端策略优化 (PPO) 都是将要涉及的算法。

这是本系列的第一篇文章,你可以抓住的重点有:

· 什么是强化学习,以及为什么奖励最重要

· 强化学习的三种方式

· 深度强化学习的“深度”是什么意思

以上几点,在进入强化学习的复杂世界之前,可能还是有必要了解一下。

这是个友好的引子

强化学习的中心思想,就是让智能体在环境里学习。每个行动会对应各自的奖励,智能体通过分析数据来学习,怎样的情况下应该做怎样的事情。

其实,这样的学习过程和我们自然的经历非常相似。想象自己是个小孩子,第一次看到了火,然后走到了火边。

你感受到了温暖。火是个好东西 (+1) 。

然后就试着去摸。卧槽,这么烫 (-1) 。

结论是,在稍远的地方火是好的,靠得太近就不好。

这就是人类学习的方式,与环境交互。强化学习也是一样的道理,只是主角换成了计算机。

比如,智能体要学着玩超级马里奥。强化学习过程可以用一个循环 (loop) 来表示:

· 智能体在环境 (超级马里奥) 里获得初始状态S0 (游戏的第一帧) ;

· 在state 0的基础上,agent会做出第一个行动A0 (如向右走) ;

· 环境变化,获得新的状态S1 (A0发生后的某一帧) ;

· 环境给出了第一个奖励R1 (没死:+1) ;

于是,这个loop输出的就是一个由状态、奖励和行动组成的序列

而智能体的目标就是让预期累积奖励最大化

奖励假说为根基

问题来了,目标为什么是预期累积奖励最大化?

因为,强化学习原本就是建立在奖励假说的基础之上。想表现好,就要多拿奖励。

每一个时间步 (time step) 的累积奖励都可以表示为:

或者

不过,我们没有办法把奖励直接相加。因为游戏里,越接近游戏开始处的奖励,就越容易获得;而随着游戏的进行,后面的奖励就没有那么容易拿到了。

把智能体想成一只小老鼠,对手是只猫。它的目标就是在被猫吃掉之前,吃到最多的奶酪

就像图中,离老鼠最近的奶酪很容易吃而从猫眼皮底下顺奶酪就难了。离猫越近,就越危险。

结果就是,从猫身旁获取的奖励会打折扣,吃到的可能性小,就算奶酪放得很密集也没用。

那么,这个折扣要怎么算呢?

我们用γ表示折扣率,在0和1之间。

· γ越大,折扣越小。表示智能体越在意长期的奖励 (猫边上的奶酪) 。

· γ越小,折扣越大。表示智能体越在意短期的奖励 (鼠边上的奶酪) 。

这样,累积奖励表示出来就是:

简单来说,离猫近一步就乘上一个γ,表示奖励越难获得。

片段性任务还是连续性任务

强化学习里的任务分两种。

片段性任务 (Episodic Tasks)

这类任务,有个起点,有个终点。两者之间有一堆状态,一堆行动,一堆奖励,和一堆新的状态,它们共同构成了一“集”。

当一集结束,也就是到达终止状态的时候,智能体会看一下奖励累积了多少,以此评估自己的表现

然后,它就带着之前的经验开始一局新游戏。这一次,智能体做决定的依据会充分一些。

猫鼠迷宫为例的一集:

· 永远从同一个起点开始

· 如果被猫吃掉或者走了超过20步,则游戏结束

· 结束时,得到一系列状态、行动、奖励和新状态

· 算出奖励的总和 (看看表现如何)

· 更有经验地开始新游戏

集数越多智能体的表现会越好

连续性任务 (Continuing Tasks)

永远不会有游戏结束的时候。智能体要学习如何选择最佳的行动,和环境进行实时交互。就像自动驾驶汽车,并没有过关拔旗子的事。

这样的任务是通过时间差分学习 (Temporal Difference Learning) 来训练的。每一个时间步,都会有总结学习,等不到一集结束再分析结果。

探索和开发之间的权衡

在讨论强化学习的几种方法之前,必须讲到这件事。

· 探索 (Exploration) 是找到关于环境的更多信息。

· 开发 (Exploitation) 是利用已知信息来得到最多的奖励。

要记住,目标是将预期累积奖励最大化。正因如此,它有时候会陷入一种困境

小老鼠可以吃到无穷多块分散的奶酪 (每块+1) 。但在迷宫上方,有许多堆在起的奶酪(+1000) ,或者看成巨型奶酪。

如果我们只关心吃了多少,小老鼠就永远不会去找那些大奶酪。它只会在安全的地方一块一块地吃,这样奖励累积比较慢,但它不在乎。

如果它跑去远的地方,也许就会发现大奖的存在,但也有可能发生危险

程序猿需要设定一种规则,让智能体能够把握二者之间的平衡

强化学习的三种方法

前菜吃完了,我们终于要开始讲解决强化学习问题的方法了。三种方法分别是:基于价值(value-based)、基于策略(policy-based)以及基于模型(model-based)的方法。

基于价值 (Value-Based)

这种方法,目标是优化价值函数V(s)

价值函数会告诉我们,智能体在每个状态里得出的未来奖励最大预期 (maximum expected future reward) 。

一个状态下的函数值,是智能体可以预期的未来奖励积累总值,从当前状态开始算。

智能体要用这个价值函数来决定,每一步要选择哪个行动。它会采取函数值 (就是Q值) 最大的那个行动。

在迷宫问题中,每一步我们都选取最大函数值:-7,-6,-5,以此类推,达到目标。

基于策略 (Policy-Based)

这种方式,会直接优化策略函数π(s),抛弃价值函数。

策略就是评判智能体在特定时间点的表现。

把每一个状态和它所对应的最佳行动建立联系。

策略分为两种,

· 确定性策略:某一个特定状态下的策略,永远都会给出同样的行动。

· 随机性策略:策略给出的是多种行动的可能性分布。

从图中我们可以看到,策略直接指出了每一步的最佳行动。

基于模型 (Model-Based)

这种方法是对环境建模。这表示,我们要创建一个模型,来表示环境的行为。

问题是,每个环境都会需要一个不同的模型 (马里奥每走一步,都会有一个新环境) 。这也是这个方法在强化学习中并不太常用的原因。

深度强化学习

所谓深度强化学习就是在强化学习里加入深度神经网络

如图,拿Q学习和深度Q网络 (DQN) 来举例。

· Q学习,是利用一个传统算法创建Q-table,来帮助智能体找到下一步要采取的行动。

· DQN,是利用深度神经网络来近似Q值。

恭喜你读到现在。这第一篇文章的信息量还是不小的。

 根本停不下来

有兴趣的同学,可以坚持服用一疗程。

这里是本系列大纲的传送门:

https://simoninithomas.github.io/Deep_reinforcement_learning_Course/

诚挚招聘

量子位正在招募编辑/记者,工作地点在北京中关村。期待有才气、有热情的同学加入我们!相关细节,请在量子位公众号(QbitAI)对话界面,回复“招聘”两个字。

量子位 QbitAI · 头条号签约作者

վ'ᴗ' ի 追踪AI技术和产品新动态


登录查看更多
5

相关内容

强化学习(RL)是机器学习的一个领域,与软件代理应如何在环境中采取行动以最大化累积奖励的概念有关。除了监督学习和非监督学习外,强化学习是三种基本的机器学习范式之一。 强化学习与监督学习的不同之处在于,不需要呈现带标签的输入/输出对,也不需要显式纠正次优动作。相反,重点是在探索(未知领域)和利用(当前知识)之间找到平衡。 该环境通常以马尔可夫决策过程(MDP)的形式陈述,因为针对这种情况的许多强化学习算法都使用动态编程技术。经典动态规划方法和强化学习算法之间的主要区别在于,后者不假设MDP的确切数学模型,并且针对无法采用精确方法的大型MDP。

知识荟萃

精品入门和进阶教程、论文和代码整理等

更多

查看相关VIP内容、论文、资讯等

指南简介

最近神经网络在计算机视觉、机器翻译和时间序列预测等问题上得到了重大突破,但它们也可以与强化学习算法相结合,创造出像AlphaGo这样令人震惊的东西。强化学习指的是面向目标的算法,它学习如何获得复杂的目标(目标)或在许多步骤中沿着特定的维度最大化;例如,在许多动作中最大化在游戏中赢得的分数。他们可以从一块白板开始,在适当的条件下,他们可以达到超人的表现。就像一个被鞭打和糖果激励的孩子,当他们做出错误的决定时,这些算法会受到惩罚,当他们做出正确的决定时,这些算法会得到奖励——这就是强化。包含深度学习的强化算法可以在围棋游戏中击败世界冠军,也可以在玩许多阿塔里电子游戏的人类专家。虽然这听起来微不足道,但与他们之前的成就相比,这是一个巨大的进步,目前的技术正在迅速进步。强化学习解决了将即时行为与其产生的延迟回报关联起来的难题。与人类一样,强化学习算法有时需要等待一段时间才能看到决策的成果。它们在延迟返回的环境中运行,在这种环境中,很难理解在许多时间步骤中哪些操作会导致哪些结果。强化学习算法可以期望在更模糊、真实的环境中执行得越来越好,同时可以从任意数量的可能动作中进行选择,而不是从视频游戏的有限选项中进行选择。也就是说,随着时间的推移,我们期望它们对实现现实世界中的目标是有价值的。Skymind将深度强化学习应用于真实世界用例的模拟,以帮助企业优化他们如何建立工厂、员工呼叫中心、建立仓库和供应链以及管理流量。

内容目录

  • 强化学习定义
  • 强化学习的领域选择
  • 状态-行为对&报酬的复概率分布
  • 机器学习与时间的关系
  • 神经网络与深度强化学习
  • 模拟与深度强化学习
  • 脚注
成为VIP会员查看完整内容
A Beginner's Guide to Deep Reinforcement Learning _ Pathmind.pdf
0
113
小贴士
相关资讯
TensorFlow 2.0深度强化学习指南
云栖社区
11+阅读 · 2019年2月1日
一文了解强化学习
AI100
10+阅读 · 2018年8月20日
深度强化学习入门,这一篇就够了!
机器学习算法与Python学习
17+阅读 · 2018年8月17日
【干货】强化学习介绍
人工智能学家
9+阅读 · 2018年6月24日
入门 | 从零开始,了解元学习
机器之心
15+阅读 · 2018年5月6日
入门 | 通过 Q-learning 深入理解强化学习
机器之心
9+阅读 · 2018年4月17日
【强化学习】强化学习/增强学习/再励学习介绍
产业智能官
9+阅读 · 2018年2月23日
强化学习的入门之旅
机器学习研究会
5+阅读 · 2018年2月12日
入门 | 从Q学习到DDPG,一文简述多种强化学习算法
相关VIP内容
专知会员服务
60+阅读 · 2020年6月22日
专知会员服务
113+阅读 · 2020年5月22日
专知会员服务
166+阅读 · 2020年4月19日
专知会员服务
86+阅读 · 2020年2月8日
【强化学习】深度强化学习初学者指南
专知会员服务
113+阅读 · 2019年12月14日
【书籍】深度学习框架:PyTorch入门与实践(附代码)
专知会员服务
102+阅读 · 2019年10月28日
相关论文
Financial Time Series Representation Learning
Philippe Chatigny,Jean-Marc Patenaude,Shengrui Wang
10+阅读 · 2020年3月27日
Emmanuel Bengio,Joelle Pineau,Doina Precup
8+阅读 · 2020年3月13日
Mi Luo,Fei Chen,Pengxiang Cheng,Zhenhua Dong,Xiuqiang He,Jiashi Feng,Zhenguo Li
4+阅读 · 2020年2月13日
Shaoxiong Ji,Shirui Pan,Erik Cambria,Pekka Marttinen,Philip S. Yu
81+阅读 · 2020年2月2日
Yang Liu,Mirella Lapata
5+阅读 · 2019年8月22日
Borja Ibarz,Jan Leike,Tobias Pohlen,Geoffrey Irving,Shane Legg,Dario Amodei
4+阅读 · 2018年11月15日
Ikhlas Alhussien,Erik Cambria,Zhang NengSheng
3+阅读 · 2018年9月27日
Learn What Not to Learn: Action Elimination with Deep Reinforcement Learning
Tom Zahavy,Matan Haroush,Nadav Merlis,Daniel J. Mankowitz,Shie Mannor
4+阅读 · 2018年9月6日
Ermo Wei,Drew Wicke,David Freelan,Sean Luke
10+阅读 · 2018年4月25日
Srinivas Ravishankar, Chandrahas,Partha Pratim Talukdar
6+阅读 · 2018年1月8日
Top