91
通用智能的曙光 ——深度强化学习 杭州 朱小虎 简书

Hangzhou Deep Learning Meetup-Deep Reinforcement Learning

Embed Size (px)

Citation preview

Page 2: Hangzhou Deep Learning Meetup-Deep Reinforcement Learning

深度强化学习的应用

DQN DeepMind BRETT UC Berkeley

Page 3: Hangzhou Deep Learning Meetup-Deep Reinforcement Learning

声明:报告主要由 Richard Sutton, David Silver, John Schulman, Volodymyr Mnih等⼈人的论⽂文、报告、资料及 Nervana blog DQN及 catcher 项目等内容,汇聚整理为研习之

用. 参考内容列在报告最后部分。

Page 4: Hangzhou Deep Learning Meetup-Deep Reinforcement Learning

计划•・ 第⼀一部分: 强化学习

•・ 概念、问题、解法

•・ 第⼆二部分:深度强化学习

•・ 深度 Q-⽹网络、深度确定型策略梯度

•・ 第三部分:评价平台

•・ ALE、RLLAB、OpenAI gym

•・ 第四部分:总结

Page 5: Hangzhou Deep Learning Meetup-Deep Reinforcement Learning

第⼀一部分 强化学习

•・ 强化学习是什么?界定强化学习问题

•・ 我们为什么需要?理解强化学习技术的重要性

•・ 怎么做?不同类型强化学习问题的解决⽅方法

Page 6: Hangzhou Deep Learning Meetup-Deep Reinforcement Learning

强化学习是什么?

•・ 强化学习是机器学习的⼀一个分支,聚焦于研究软件 agent 如何在环境中合理地⾏行动来最⼤大化特定总奖励的问题 [维基百科]

•・ 发端:

•・ 动物⼼心理学中的试错研究

•・ 最优控制

Page 7: Hangzhou Deep Learning Meetup-Deep Reinforcement Learning

动物学习

最优控制 Bellman ⽅方程

Bellman

策略迭代

动态规划

Hamilton & Jacobi19 世纪 1950 年代中期

Howard1960 年

MDP 1957

1957

1960

Edward Thorndike

Trial-and-error

Law of Effect

Reinforcement

1911 年 1927 年 1948 年

Pavlov Turing

Markov Chain

Markov1906~1912 年

Page 8: Hangzhou Deep Learning Meetup-Deep Reinforcement Learning

现代强化学习领域•・ 计算机科学

•・ ⼯工程学

•・ 数学

•・ 经济学

•・ 神经科学

•・ ⼼心理学

•・ 经济学

Page 9: Hangzhou Deep Learning Meetup-Deep Reinforcement Learning

⾏行动控制和机器⼈人

•・ 机器⼈人控制:

•・ 状态(观察): 摄像头图像,关节角度……

•・ ⾏行动: 关节运作

•・ 奖励: 保持平衡、探索指定的地⽅方……

Page 10: Hangzhou Deep Learning Meetup-Deep Reinforcement Learning

博弈(游戏)•・ 不同类型的优化问题 (min-max) 也可以归为强化学

习领域

•・ Go (完全信息、确定型) – AlphaGo2

•・ Backgammon (完全信息、随机型) –TD-Gammon3

•・ Stratego (不完全信息、确定型)

•・ Poker (不完全信息、随机型)

Page 11: Hangzhou Deep Learning Meetup-Deep Reinforcement Learning

强化学习

强化学习问题典型特征: •・ 内在完备性:⼀一个封闭的环境 •・ 间接指导性:不直接给定⾏行动指导 •・ 延时性:获得奖励的⾏行动产⽣生的后果在较长

时间步后才会出现

Page 12: Hangzhou Deep Learning Meetup-Deep Reinforcement Learning

强化学习的基本概念

强化学习

环境模型

奖励信号

策略 值函数

Page 13: Hangzhou Deep Learning Meetup-Deep Reinforcement Learning

最简强化学习模型

•・ 多臂老虎机(Multi-Armed Bandit)

•・ 只有⼀一个状态,每次选中⼀一个臂进⾏行操作

Page 14: Hangzhou Deep Learning Meetup-Deep Reinforcement Learning

(有限)马尔可夫决策过程 (Finite) Markov Decision Proces

环境

Agent

状态, 刺激, 情境

奖励, 收益,回报, 代价

⾏行动,

反应,

控制

环境本身可以是未知的、非线性的、随机的和复杂的。

Page 15: Hangzhou Deep Learning Meetup-Deep Reinforcement Learning

MDP•・ MDP 定义如下:

•・ 离散时间步

•・ 状态的有限集合

•・ ⾏行动的有限集合

•・ 奖励的有限集合

•・ ⽣生命过程

•・ 转移概率

t = 1, 2, 3, · · ·

A = {a1, a2, · · · , an}

S = {s1, s2, · · · , sm}

R = r1, r2, · · · , rk

P (r, s0|s, a)

· · · st, at, rt+1, at+1, rt+2, · · ·

Page 16: Hangzhou Deep Learning Meetup-Deep Reinforcement Learning

MDP

•・ Markovian: 转移概率和奖励概率只依赖于当前状态 s

•・ 可以被推⼴广到非离散的状态和⾏行动集合

•・ 离散时间模型,{0, …,T} (也可以推⼴广到连续时间)

•・ T 为有限的时候,有限步(finite horizon)MDP

Page 17: Hangzhou Deep Learning Meetup-Deep Reinforcement Learning

策略

•・ 定义了 agent 在某个给定时间⾏行为⽅方式。也就是从环境的状态到在这个状态下将要采取⾏行动的映射。

•・ 实际上是稳定分布策略,因为⾏行动的选择不依赖于时间。 •・ 找到最优的策略

⇡ : S ! A

Page 18: Hangzhou Deep Learning Meetup-Deep Reinforcement Learning

奖励信号

奖励信号定义了环境给 agent 的反应:

•・ 在每个时间步,环境返回给强化学习 agent ⼀一个数值奖励

•・ agent 不能够完全依照瞬时奖励⾏行动

rt

Page 19: Hangzhou Deep Learning Meetup-Deep Reinforcement Learning

目标函数

使用奖励信号来定义强化学习问题中的目标函数:

•・ 在每个之后时间步,环境返回给 agent 相应的折扣奖励

•・ agent 唯⼀一的目标就是最⼤大化它能够获得的长期奖励

起到避免⽆无穷⼤大奖励,并引⼊入未来奖励的不确定性,增加噪声的作用;是⼀一种可选⽅方式�

Rt = rt + �rt+1 + �2rt+2 + · · ·

=1X

k=t

�k�trk

Page 20: Hangzhou Deep Learning Meetup-Deep Reinforcement Learning

值函数

奖励信号表达的是瞬时的事件好坏,⽽而 值函数 指出了长期好的事件。可以看做是从该状态起,总共能够期望获得的总奖励

“在状态 进⾏行⾏行动 有多好”

Q⇡(st, at) = E[Rt | st, at]

st at

Page 21: Hangzhou Deep Learning Meetup-Deep Reinforcement Learning

模型

•・ 给定状态和⾏行动,模型可以预测出下⼀一个状态和下⼀一个奖励。模型用来进⾏行规划——在他们真实⾏行动前通过考虑可能的未来场景做出的⼀一系列判断

•・ 使用模型和规划来解决强化学习问题的⽅方法称为 基于模型⽅方法,更加简单的是采用与规划相对的直接显式地试错学习的⽅方式的学习器的免模型⽅方法

•・ 可以看做是允许推断环境如何⾏行为的机制

Page 22: Hangzhou Deep Learning Meetup-Deep Reinforcement Learning

求解算法

•・ 动态规划算法(假设模型已知)

•・ 值函数迭代

•・ 策略迭代

Page 23: Hangzhou Deep Learning Meetup-Deep Reinforcement Learning

真实场景的问题

•・ 确定型策略随状态增加指数级增长

•・ 常常⽆无法完全知道系统⾏行为法则

•・ 采取随机近似⽅方法估计

Page 24: Hangzhou Deep Learning Meetup-Deep Reinforcement Learning

模型依赖分类

•・ 基于模型⽅方法

•・ 免模型⽅方法

•・ 基于值的强化学习⽅方法

•・ 基于策略的强化学习⽅方法

Page 25: Hangzhou Deep Learning Meetup-Deep Reinforcement Learning

免模型⽅方法

•・ ⽆无需模型的信息直接学习策略

•・ 优化值函数或者策略(或者同时优化)

•・ 基于值函数:优化值函数,策略隐式获得,Q-学习

•・ 基于策略:直接优化策略-策略梯度-确定型策略梯度-确定型深度策略梯度

•・ 值函数+策略:Actor-Critic ⽅方法

Page 26: Hangzhou Deep Learning Meetup-Deep Reinforcement Learning

基本范式

•・ ⼀一般形式是增量更新规则

NewEstimate OldEstimate + StepSize[Target�OldEstimate]

Page 27: Hangzhou Deep Learning Meetup-Deep Reinforcement Learning

Q-学习算法

•・ 最优策略或者策略值都可以直接通过最优状态⾏行动值函数 Q* 求出

•・ 估计最优状态-⾏行动值函数

Page 28: Hangzhou Deep Learning Meetup-Deep Reinforcement Learning

Bellman ⽅方程•・ Bellman 期望⽅方程将值函数 展开:

•・ Bellman 最优⽅方程将最优值函数 Q^* 展开:

•・ 策略迭代算法求解了 Bellman 期望⽅方程

•・ 值迭代算法求解了 Bellman 最优⽅方程

Q⇡(s, a) = Es0,a0 [r + �Q⇡(s0, a0)|s, a]

Q⇤(s, a) = Es0 [r + �max

a0Q⇤

(s0, a0)|s, a]

Qi+1(s, a) = Es0 [r + �Qi(s0, a0)|s, a]

Qi+1(s, a) = Es0,a0[r + �max

a0Qi(s

0, a0)|s, a]

Q⇡

Page 29: Hangzhou Deep Learning Meetup-Deep Reinforcement Learning

Q-学习算法收敛性

•・ 收敛性,满⾜足两个条件

摘自 Foundations of Machine Learning,第14章

Page 30: Hangzhou Deep Learning Meetup-Deep Reinforcement Learning

函数近似

•・ 基本的 Q-学习将值存在⼀一个表中

•・ 对⼤大规模或者连续 MDP 不适合

•・ 所以就在这里引⼊入如线性、⾼高斯过程或者深度神经⽹网络进⾏行函数近似

•・ 找到参数为 的模型 ,满⾜足:

Q(s, a, ✓) ⇡ Q⇤(s, a)

✓ Q

Page 31: Hangzhou Deep Learning Meetup-Deep Reinforcement Learning

关⼼心策略⽽而非值函数

•・ 在很多应用中,策略比值函数要简单很多

•・ 在很多问题中,最优策略是随机的

•・ 保证策略的平滑

•・ 不需要每步搜索(最⼤大化)

•・ 可能和⽣生物学更相符

Page 32: Hangzhou Deep Learning Meetup-Deep Reinforcement Learning

策略梯度•・ 策略梯度:Policy gradient

•・ 问题转换:

•・ 搜集⼤大量的轨迹

•・ 让好的轨迹更加可能出现

•・ 让好的⾏行动更加可能出现 (actor-critic, GAE)

•・ 将⾏行动推向好的⾏行动 (DPG, SVG)

maximizeE[R|⇡✓]

Page 33: Hangzhou Deep Learning Meetup-Deep Reinforcement Learning

强化学习关键点

•・ 奖励⼀一般由环境直接给出,但是值必须从 agent 的整个⽣生命周期的观察序列估计和重估计得出

•・ 所有强化学习算法的最重要的组成部分是⾼高效估计值的⽅方法

•・ 值估计的核⼼心作用是过去⼏几⼗十年强化学习的研究经验

Page 34: Hangzhou Deep Learning Meetup-Deep Reinforcement Learning

强化学习的挑战

•・ 可评价的反馈(奖励)

•・ 序列化延迟性后果

•・ 需要进⾏行试错实验,来探索和开发不稳定状态

•・ 处理时间及在线数据的短暂性

Page 35: Hangzhou Deep Learning Meetup-Deep Reinforcement Learning

强化学习⽅方法关系图

摘自 John Schulman MLSS 报告

Page 36: Hangzhou Deep Learning Meetup-Deep Reinforcement Learning

第⼀一部分 强化学习

•・ 强化学习是⼀一类基于目标学习⾏行动策略的问题

•・ 强化学习技术可帮助⼈人们解决实际问题,甚⾄至理解智能到⼀一定程度

•・ 针对不同类型强化学习问题,有相应解决⽅方法

Page 37: Hangzhou Deep Learning Meetup-Deep Reinforcement Learning

计划•・ 第⼀一部分: 强化学习

•・ 概念、问题、解法

•・ 第⼆二部分:深度强化学习

•・ 深度 Q-⽹网络、深度确定型策略梯度

•・ 第三部分:评价平台

•・ ALE、RLLAB、OpenAI gym

•・ 第四部分:总结

Page 38: Hangzhou Deep Learning Meetup-Deep Reinforcement Learning

第⼆二部分 深度强化学习•・ 深度学习技术可以看做是函数近似的⼀一种强⼤大⼯工具,可

以通过随机梯度下降技术进⾏行⾼高效求解

•・ 可以自然地应用到强化学习中

•・ TD-Gammon-第⼀一个利用 NN 的强化学习⽅方法

•・ Atari 游戏-采用 DNN 对 Q 值函数近似

•・ 连续⾏行动问题-深度策略梯度⽅方法-Actor-Critic ⽅方法

•・ 推荐系统-

Page 39: Hangzhou Deep Learning Meetup-Deep Reinforcement Learning

对比视觉认知

Page 40: Hangzhou Deep Learning Meetup-Deep Reinforcement Learning

深度学习

•・ 深度神经⽹网络的表示是⼤大量函数的复合

•・ 通过链式法则进⾏行反向传播求梯度

Page 41: Hangzhou Deep Learning Meetup-Deep Reinforcement Learning

深度学习•・ 非线性激活函数和线性变换的复合

•・ step 函数、线性函数、sigmoid 函数、阈值函数

•・ 权重共享

•・ 循环神经⽹网络在不同时间步进⾏行权重共享

•・ 卷积神经⽹网络在不同的局部位置进⾏行权重共享

•・ 随机梯度下降

•・ 函数近似、损失函数、通过随机梯度下降端对端优化参数

Page 42: Hangzhou Deep Learning Meetup-Deep Reinforcement Learning

类似 Atari 游戏出现的问题

•・ 状态爆炸 25684x84x4 ≈ 1067970 possible game states

•・ 使用传统强化学习需要巨⼤大的 Q-值表来存储

•・ 自然地想到使用深度学习来解决这个问题

Page 43: Hangzhou Deep Learning Meetup-Deep Reinforcement Learning

深度 Q-学习•・ 使用参数为 w 的深度 Q-⽹网络来表示值函数

•・ 通过 Q-值的均⽅方误差来定义目标函数

•・ 我们就有了下面的 Q-⽹网络梯度

•・ 借助 SGD 使用 端对端优化目标函数

Q(s, a, w) ⇡ Q⇡(s, a)

@L(w)/@w

@L(w)@w

= E[(r + �max

a0Q(s0, a0, w)�Q(s, a, w))

@Q(s, a, w)

@w]

L(w) = E"

r + �max

a0Q(s0, a0, w)

| {z }target

�Q(s, a, w)

!2#

Page 44: Hangzhou Deep Learning Meetup-Deep Reinforcement Learning

存在的问题•・ 基本的 Q-学习采用神经⽹网络会出现振荡或者发散的情况

•・ 数据是序列化的

•・ 相邻的样本是相关的,非独立同分布的

•・ Q-值微小变化会导致策略迅速变化

•・ 策略可能会振荡

•・ 数据的分布会从⼀一个极端摇摆到另⼀一个极端

•・ 奖励和 Q-值的范围未知

•・ 基本的 Q-学习梯度会在反响传播时变得很⼤大从⽽而不能稳定

Page 45: Hangzhou Deep Learning Meetup-Deep Reinforcement Learning

深度 Q-⽹网络DQN 为深度基于值的强化学习问题提供了⼀一种稳定解决⽅方案

•・ 使用经验回放

•・ 将数据之间的关联打破,重回独立同分布的设定下

•・ 从过去的策略中学习

•・ 使用 免策略 Q-学习

•・ 冻结 目标 Q-⽹网络

•・ 避免振荡

•・ 将 Q-⽹网络和目标⽹网络之间的关联打破

•・ 截断奖励或者正规化⽹网络,适应到合适的范围内

•・ 可以得到健壮的梯度

Page 46: Hangzhou Deep Learning Meetup-Deep Reinforcement Learning

经验回放

•・ 为了打破关联,我们从 agent 自⼰己的经验中构建数据集

•・ 根据 -贪婪策略采取⾏行动

•・ 将转换 存放在记忆 中

•・ 从 中随机采样⼀一个小批量样本

•・ 优化 Q-⽹网络和 Q-学习目标之间的均⽅方误差 MSE,如

✏ at

(st, at, rt+1, st+1) D

(s, a, r, s0)D

L(w) = Es,a,r,s0⇠D[(r + �max

a0Q(s0, a0, w)�Q(s, a, w))2]

Page 47: Hangzhou Deep Learning Meetup-Deep Reinforcement Learning

固定目标 Q-⽹网络•・ 为了避免振荡,固定在 Q-学习目标⽹网络的参数

•・ 根据旧的,固定的参数 计算 Q-学习目标函数

•・ 优化 Q-⽹网络和 Q-学习目标之间的均⽅方误差 MSE

•・ 周期化地更新固定参数

r + �max

a0Q(s0, a0, w�

)

w� w

w�

L(w) = Es,a,r,s0⇠D[(r + �max

a0Q(s0, a0, w�

)�Q(s, a, w))2]

Page 48: Hangzhou Deep Learning Meetup-Deep Reinforcement Learning

奖励/值范围•・ DQN 截断奖励在 [-1,+1] 之间

•・ 让 Q-值不会过⼤大

•・ 确保梯度完好(well-conditioned)

•・ 不能够区分⼤大小奖励的不同

•・ 更好的⽅方式:正规化⽹网络输出

•・ 比如,通过 batch 正规化

Page 49: Hangzhou Deep Learning Meetup-Deep Reinforcement Learning

深度 Q-⽹网络整体结构

Page 50: Hangzhou Deep Learning Meetup-Deep Reinforcement Learning

深度 Q-⽹网络结构图

Page 51: Hangzhou Deep Learning Meetup-Deep Reinforcement Learning

Parameter settings

Page 52: Hangzhou Deep Learning Meetup-Deep Reinforcement Learning

深度 Q-学习算法

Page 53: Hangzhou Deep Learning Meetup-Deep Reinforcement Learning

Pipeline of DQN

Page 54: Hangzhou Deep Learning Meetup-Deep Reinforcement Learning
Page 55: Hangzhou Deep Learning Meetup-Deep Reinforcement Learning

DQN 的性能

Page 56: Hangzhou Deep Learning Meetup-Deep Reinforcement Learning
Page 57: Hangzhou Deep Learning Meetup-Deep Reinforcement Learning

DQN catcher

•・ Catcher

•・ keras

Page 58: Hangzhou Deep Learning Meetup-Deep Reinforcement Learning

DQN 的局限性

•・ ⾏行动空间(离散型)变⼤大

•・ 连续⾏行动空间:每步都需要进⾏行全局最⼤大化,考虑将策略在 Q 的梯度⽅方向移动,不去最⼤大化 Q

Page 59: Hangzhou Deep Learning Meetup-Deep Reinforcement Learning

连续⾏行动空间上的策略梯度

•・ 使用⼀一个权重为 u 的深度神经⽹网络 来表示策略

•・ 定义目标函数为总折扣奖励

•・ 使用 SGD 来端对端优化目标函数

J(u) = E[r1 + �r2 + �2r3 + . . . ]

a = ⇡(s, u)

Page 60: Hangzhou Deep Learning Meetup-Deep Reinforcement Learning

确定型策略梯度

•・ 策略的梯度由下式给出

•・ 策略梯度是最⼤大化提升 Q 的⽅方向

@J(u)

@u= Es[

@Q⇡(s, a)

@u] = Es[

@Q⇡(s, a)

@a

@⇡(s, u)

@u]

Page 61: Hangzhou Deep Learning Meetup-Deep Reinforcement Learning

确定型深度策略梯度•・ Actor 是参数为 u 的策略

•・ Critic 是参数为 w 的值函数 Q(s, a, w)

•・ Critic 为 Actor 提供损失函数

•・ 梯度从 Critic 到 Actor 反向传播

⇡(s, u)

s �!u1

. . . ��!un

a

s, a ��!w1

. . . ��!wn

Q

s �!u1

. . . ��!un

a ��!w1

. . . ��!wn

Q

@a

@u � . . . � @Q

@a � . . . �

Page 62: Hangzhou Deep Learning Meetup-Deep Reinforcement Learning

确定型深度策略梯度

•・ Critic 通过 Q-学习估计当前策略的值

•・ Actor 按照提升 Q 的⽅方向更新策略

@L(w)@w

= E[(r + �Q(s0,⇡(s0), w)�Q(s, a, w))@Q(s, a, w)

@w]

@J(u)

@u= Es[

@Q(s, a, w)

@a

@⇡(s, u)

@u]

Page 63: Hangzhou Deep Learning Meetup-Deep Reinforcement Learning

确定型深度策略梯度•・ 基本的 actor-critic 使用神经⽹网络会振荡或者发散

•・ DDPG 给出了稳定解

•・ 对 actor 和 critic 均使用经验回放

•・ 冻结目标⽹网络来避免振荡

@L(w)@w

= Es,a,r,s0⇠D[(r + �Q(s0,⇡(s0, u�), w�)�Q(s, a, w))@Q(s, a, w)

@w]

@J(u)

@u= Es,a,r,s0⇠D[

@Q(s, a, w)

@a

@⇡(s, u)

@u]

Page 64: Hangzhou Deep Learning Meetup-Deep Reinforcement Learning

用于连续⾏行动控制的 DDPG

•・ 从原始像素 s 端对端学习控制策略

•・ 输⼊入状态 s 是前 4 帧的图像的原始像素的栈

•・ 对 Q 和 两个不同的卷积⽹网络

•・ 在 MuJoCo 中进⾏行模拟

Page 65: Hangzhou Deep Learning Meetup-Deep Reinforcement Learning

开放问题

•・ 什么才是核⼼心免模型强化学习算法?

•・ 策略梯度 vs. Q-学习 vs. 非导数优化 vs 其他

•・ 未来目标

•・ 可扩展、采样⾼高效、健壮、可从异策略数据中学习

Page 66: Hangzhou Deep Learning Meetup-Deep Reinforcement Learning

第⼆二部分 深度强化学习•・ 深度学习技术的引⼊入将之前视作不可能的⽅方法落

•・ 在诸多任务上表现优秀

•・ Atari 游戏-采用 DNN 对 Q 值函数近似

•・ 连续⾏行动问题-深度策略梯度⽅方法-Actor-Critic ⽅方法

Page 67: Hangzhou Deep Learning Meetup-Deep Reinforcement Learning

计划•・ 第⼀一部分: 强化学习

•・ 概念、问题、解法

•・ 第⼆二部分:深度强化学习

•・ 深度 Q-⽹网络、深度确定型策略梯度

•・ 第三部分:评价平台

•・ ALE、RLLAB、OpenAI gym

•・ 第四部分:总结

Page 68: Hangzhou Deep Learning Meetup-Deep Reinforcement Learning

第三部分 评价平台

•・ ALE

•・ RLLAB

•・ OpenAI

Page 69: Hangzhou Deep Learning Meetup-Deep Reinforcement Learning

ALE

•・ ALE 平台

•・ DQN 之后的基准测试集

Page 70: Hangzhou Deep Learning Meetup-Deep Reinforcement Learning

RLlab

•・ https://github.com/rllab/rllab

•・ 强化学习的基准测试库

•・ ⼤大量最新的研究成果

Page 71: Hangzhou Deep Learning Meetup-Deep Reinforcement Learning

五种游戏任务•・ Cart-Pole Balancing: This classic task in dynamics and control theory has been originally described by Stephenson (1908), and first

studied in a learning context by Donaldson (1960), Widrow (1964), and Michie & Chambers (1968).An inverted pendulum is mounted on a pivot point on a cart. The cart itself is restricted to linear movement, achieved by applying horizontal forces. Due to the system’s inherent instability, continuous cart movement is needed to keep the pendulum upright.

•・ Cart-Pole Swing Up: A slightly more complex version of the previous task has been proposed by Kimura & Kobayashi (1999) in which the system should not only be able to balance the pole, but first succeed in swinging it up into an upright position. This task extends the working range of the inverted pendulum to 360◦. This is a nonlinear extension of the previous task (Doya, 2000).

•・ Mountain Car: We implement a continuous version of the classic task described by Moore (1990). A car has to escape a valley by repetitive application of tangential forces. Because the maximal tangential force is limited, the car has to alternately drive up along the two slopes of the valley in order to build up enough inertia to overcome gravity. This brings a challenge of exploration, since before first reaching the goal among all trials, a locally optimal solution exists, which is to drive to the point closest to the target and stay there for the rest of the episode.

•・ Acrobot Swing Up: In this widely-studied task an underactuated, two-link robot has to swing itself into an upright position (DeJong & Spong, 1994; Murray & Hauser, 1991; Doya, 2000). It consists of two joints of which the first one has a fixed position and only the second one can exert torque. The goal is to swing the robot into an upright position and stabilize around that position. The controller not only has to swing the pendulum in order to build up inertia, similar to the Mountain Car task, but also has to decelerate it in order to prevent it from tipping over.

•・ Double Inverted Pendulum Balancing: This task extends the Cart-Pole Balancing task by replacing the single-link pole by a two-link rigid structure. As in the former task, the goal is to stabilize the two-link pole near the upright position. This task is more difficult than single-pole balancing, since the system is even more unstable and requires the controller to actively maintain balance (Furuta et al., 1978).

Page 72: Hangzhou Deep Learning Meetup-Deep Reinforcement Learning

OpenAI Gym

•・ http://gym.openai.com/

•・ 强化学习的基准测试库

•・ 汇聚众多平台

Page 73: Hangzhou Deep Learning Meetup-Deep Reinforcement Learning

Gym 的⼀一个环境

• Acrobot-v0

Page 74: Hangzhou Deep Learning Meetup-Deep Reinforcement Learning

合体

•・ RLLAB 和 OpenAI 是可以⽆无缝连接的

•・ 尝试RLLAB 中的算法

•・ 创建新的 Gym 中的环境

Page 75: Hangzhou Deep Learning Meetup-Deep Reinforcement Learning

举个例⼦子

Page 76: Hangzhou Deep Learning Meetup-Deep Reinforcement Learning

第三部分 评价平台

•・ OpenAI 给出了⼀一套(深度)强化学习的基准⽅方案,有助于⼈人们的学习、使用、研究

•・ 算法不断地完善,整合和合并

Page 77: Hangzhou Deep Learning Meetup-Deep Reinforcement Learning

计划•・ 第⼀一部分: 强化学习

•・ 概念、问题、解法

•・ 第⼆二部分:深度强化学习

•・ 深度 Q-⽹网络、深度确定型策略梯度

•・ 第三部分:评价平台

•・ ALE、RLLAB、OpenAI gym

•・ 第四部分:总结

Page 78: Hangzhou Deep Learning Meetup-Deep Reinforcement Learning

第四部分 总结

•・ “天下⼤大势,合久必分,分久必合”,现在更多地是融合

•・ 深度学习+强化学习

•・ 变分推断+强化学习

•・ ……

Page 79: Hangzhou Deep Learning Meetup-Deep Reinforcement Learning

深度强化学习

•・ 用深度神经⽹网络来近似值函数和策略函数

•・ 利用随机梯度下降⽅方法进⾏行增量更新

Page 80: Hangzhou Deep Learning Meetup-Deep Reinforcement Learning

变分推断

•・ 隐变量配置的指数级数量上的求和

•・ 或者⾼高维度⽆无解析解的积分

Page 81: Hangzhou Deep Learning Meetup-Deep Reinforcement Learning

⾛走向融合的关键

•・ 抽象出来⼀一种共同的计算范式

•・ 期望梯度

•・ 随机计算图

John Schulman et al. 2016

Page 82: Hangzhou Deep Learning Meetup-Deep Reinforcement Learning

通用⼈人⼯工智能

•・ 强化学习为⼈人⼯工智能提供了⼀一个通用途径的框架

•・ 强化学习问题可以用端对端深度学习解决

•・ 单个 agent 现在可以解决很多挑战性问题

•・ 强化学习 + 深度学习 = ⼈人⼯工智能

Page 83: Hangzhou Deep Learning Meetup-Deep Reinforcement Learning

第四部分 总结

•・ 本报告简要地从强化学习介绍到深度强化学习,属于对强化学习⼊入门级的介绍

•・ 强化学习具备连贯完备的体系,仍有相当多其他的有趣的话题值得深⼊入探究

•・ 可能是目前最有趣的⽅方向!

Page 84: Hangzhou Deep Learning Meetup-Deep Reinforcement Learning

计划•・ 第⼀一部分: 强化学习

•・ 概念、问题、解法

•・ 第⼆二部分:深度强化学习

•・ 深度 Q-⽹网络、深度确定型策略梯度

•・ 第三部分:评价平台

•・ ALE、RLLAB、OpenAI gym

•・ 第四部分:总结

Page 85: Hangzhou Deep Learning Meetup-Deep Reinforcement Learning

谢谢!

Page 86: Hangzhou Deep Learning Meetup-Deep Reinforcement Learning

对⼈人⽣生的启示

•・ 探索和开发(XX困境)

•・ 学习/钻研某个领域 vs 学习多个领域

•・ 通过试错来找到最适合自身的

•・ ⼈人⽣生就是复杂的 MDP

•・ 推⼴广到真实(多⼈人)场景 —— Multi-Agent Systems

Page 87: Hangzhou Deep Learning Meetup-Deep Reinforcement Learning

参考资料•・ http://www.nervanasys.com/demystifying-deep-reinforcement-

learning/

•・ http://www.nature.com/news/game-playing-software-holds-lessons-for-neuroscience-1.16979

•・ http://www.nature.com/nature/journal/v518/n7540/pdf/nature14236.pdf

•・ http://videolectures.net/site/normal_dl/tag=968058/rldm2015_silver_reinforcement_learning.pdf

•・ http://rl-gym-doc.s3-website-us-west-2.amazonaws.com/mlss/2016-MLSS-RL.pdf

Page 88: Hangzhou Deep Learning Meetup-Deep Reinforcement Learning

参考书

•・ 周志华 《机器学习》

•・ Richard Sutton & Andrew Barto. Reinforcement Learning: An Introduction. MIT press. (Bradford version)

•・ Mehryar Mohri, Afshin Rostamizadeh, and Ameet Talwalkar. Foundations of Machine Learning

Page 89: Hangzhou Deep Learning Meetup-Deep Reinforcement Learning

参考论⽂文•・ DQN https://www.cs.toronto.edu/~vmnih/docs/dqn.pdf

•・ Double DQN http://arxiv.org/pdf/1509.06461v3.pdf

•・ DPG http://jmlr.org/proceedings/papers/v32/silver14.pdf

•・ DDPG http://arxiv.org/abs/1509.02971

•・ GAE http://arxiv.org/pdf/1506.02438v4

•・ SCG Gradient Estimation Using Stochastic Computation Graphs

•・ Benchmarking RLLAB http://arxiv.org/abs/1604.06778

Page 90: Hangzhou Deep Learning Meetup-Deep Reinforcement Learning

参考论⽂文•・ DQN paper: https://www.cs.toronto.edu/~vmnih/docs/dqn.pdf

•・ Nature paper: https://storage.googleapis.com/deepmind-data/assets/papers/DeepMindNature14236Paper.pdf

•・ Double Q-learning http://arxiv.org/abs/1509.06461

•・ Prioritized Experience Replay http://arxiv.org/abs/1511.05952

•・ Dueling Network Architecture http://arxiv.org/abs/1511.06581

•・ extension to continuous action space http://arxiv.org/abs/1509.02971

Page 91: Hangzhou Deep Learning Meetup-Deep Reinforcement Learning

参考课程

•・ https://www.cs.ox.ac.uk/people/nando.defreitas/machinelearning/ Lecture15-16

•・ http://www0.cs.ucl.ac.uk/staff/d.silver/web/Teaching.html (rl)

•・ http://rll.berkeley.edu/deeprlcourse/

•・ http://www.yisongyue.com/courses/cs159/