RLDM 强化学习教程-David Silver

Neil Zhu,简书ID Not_GOD,University AI 创始人 & Chief Scientist,致力于推进世界人工智能化进程。制定并实施 UAI 中长期增长战略和目标,带领团队快速成长为人工智能领域最专业的力量。
作为行业领导者,他和UAI一起在2014年创建了TASA(中国最早的人工智能社团), DL Center(深度学习知识中心全球价值网络),AI growth(行业智库培训)等,为中国的人工智能人才建设输送了大量的血液和养分。此外,他还参与或者举办过各类国际性的人工智能峰会和活动,产生了巨大的影响力,书写了60万字的人工智能精品技术内容,生产翻译了全球第一本深度学习入门书《神经网络与深度学习》,生产的内容被大量的专业垂直公众号和媒体转载与连载。曾经受邀为国内顶尖大学制定人工智能学习规划和教授人工智能前沿课程,均受学生和老师好评。

更好的渲染效果,请到 这里

title: RLDM 强化学习教程-David Silver
date: 2016-05-31 10:50:57
tags: [rl, reinforcement learning, deep learning, value iteration, policy gradient, DQN, Bellman equation, actor-critic, DeepMind]


我们能够将深度学习应用在强化学习中。使用深度神经网络来端对端表示值函数/策略/模型,然后借助随机梯度下降进行参数更新。

深度值函数

Bellman 方程

Bellman 期望方程将值函数 Q^{\pi} 展开:
Q^\pi(s,a) = \mathbb{E}~[r_{t+1} + \gamma r_{t+1} + \gamma^2r_{t+1} + \dots | s,a] =\mathbb{E}_{s',a'}[r + \gamma Q^\pi(s',a') | s, a]

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

Q^*(s,a) = \mathbb{E}_{s'} [r + \gamma \max_{a'} Q^*(s',a') | s, a]

策略迭代算法求解了 Bellman 期望方程
Q_{i+1}(s,a) = \mathbb{E}_{s'} [r + \gamma Q_i(s', a') | s,a]

值迭代算法求解了 Bellman 最优方程
Q_{i+1} (s, a) = \mathbb{E}_{s',a'} [r + \gamma \max_{a'} Q_i(s',a')|s,a]

非线性 Sarsa 策略迭代

使用参数为 w 的 Q-network 来表示值函数
Q(s, a, w) \approx Q^\pi(s,a)

通过 Q-值的均方误差来定义目标函数
\mathcal{L}(w) = \mathbb{E} [(r + \gamma Q(s',a',w) - Q(s,a,w))^2]

我们就有了下面的 Sarsa 梯度
\frac{\partial \mathcal{L}(w)}{\partial w} = \mathbb{E}[(r + \gamma Q(s',a',w) - Q(s,a,w)) \frac{\partial Q(s,a,w)}{\partial w}]

借助 SGD 使用 \frac{\partial \mathcal{L}(w)}{\partial w} 端对端优化目标函数

深度强化学习的稳定性问题

基本的 Q-学习采用神经网络会出现振荡或者发散的情况

数据是序列化的
相邻的样本是相关的,非独立同分布的
Q-值微小变化会导致策略迅速变化
策略可能会振荡
数据的分布会从一个极端摇摆到另一个极端
奖励和 Q-值的范围未知
基本的 Q-学习梯度会在反响传播时变得很大从而不能稳定

深度 Q-网络(DQN)

DQN 为深度基于值的强化学习问题提供了一种稳定解决方案

使用经验回放
将数据之间的关联打破,重回独立同分布的设定下
从过去的策略中学习
使用 免策略 Q-学习
冻结 目标 Q-网络
避免振荡
将 Q-网络和目标网络之间的关联打破
截断奖励或者正规化网络,适应到合适的范围内
可以得到健壮的梯度

稳定的深度强化学习(1):经验回放

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

根据 \epsilon-贪婪策略采取行动 a_t
将转换 (s_t, a_t, r_{t+1}, s_{t+1}) 存放在记忆 \mathcal{D}
\mathcal{D} 中随机采样一个小批量样本 (s,a,r,a')
优化 Q-网络和 Q-学习目标之间的均方误差 MSE,如
\mathcal{L}(w) = \mathbb{E}_{s,a,r,s' \sim \mathcal{D}} [(r + \gamma \max_{a'}Q(s',a',w) - Q(s,a,w))^2]

稳定的深度强化学习(2):固定目标 Q-网络

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

根据旧的,固定的参数 w^- 计算 Q-学习目标函数
r + \gamma \max_{a'} Q(s',a',w^-)

优化 Q-网络和 Q-学习目标之间的均方误差 MSE
\mathcal{L}(w) = \mathbb{E}_{s,a,r,s'\sim \mathcal{D}} [(r + \gamma \max_{a'}Q(s',a',w^-)-Q(s,a,w))^2]

周期化地更新固定参数 w^- \leftarrow w

稳定的深度强化学习(3):奖励/值范围

DQN 截断奖励在 [-1,+1] 之间
让 Q-值不会过大
确保梯度完好(well-conditioned)
不能够区分奖励的大小
更好的方式:正规化网络输出
比如,通过 batch 正规化

连续行动上的策略梯度

使用一个权重为 u 的深度神经网络 a = \pi(s,u) 来表示策略
定义目标函数为总折扣奖励
J(u) = \mathbb{E} [r_1 + \gamma r_2 + \gamma^2 r_3 + \dots]

使用 SGD 来端对端优化目标函数
即,调整策略参数 u 来达到更大的奖励

确定型策略梯度

策略的梯度由下式给出

\frac{\partial J(u)}{\partial u} = \mathbb{E}_s [\frac{\partial Q^\pi(s,a)}{\partial u}] = \mathbb{E}_s [\frac{\partial Q^\pi(s,a)}{\partial a} \frac{\partial \pi(s,u)}{\partial u}]

策略梯度是最大化提升 Q 的方向

确定型 Actor-Critic

使用两个网络

Actor 是参数为 u 的策略 \pi(s, u)
s \xrightarrow[u_1]{}\dots\xrightarrow[u_n]{} a

Critic 是参数为 w 的值函数 Q(s, a, w)
s,a \xrightarrow[w_1]{}\dots\xrightarrow[w_n]{} Q

Critic 为 Actor 提供损失函数
s \xrightarrow[u_1]{}\dots\xrightarrow[u_n]{} a\xrightarrow[w_1]{}\dots\xrightarrow[w_n]{} Q

梯度从 Critic 到 Actor 反向传播
\frac{\partial a}{\partial u} \xleftarrow[]{}\dots\xleftarrow[]{} \frac{\partial Q}{\partial a} \xleftarrow[]{} \dots\xleftarrow[]{}

确定型 Actor-Critic:学习规则

Critic 通过 Q-学习估计当前策略的值
\frac{\partial \mathcal{L}(w)}{\partial w} = \mathbb{E} [(r + \gamma Q(s',\pi(s'),w)-Q(s,a,w)) \frac{\partial Q(s,a,w)}{\partial w}]

Actor 按照提升 Q 的方向更新策略
\frac{\partial J(u)}{\partial u} = \mathbb{E}_s [\frac{\partial Q(s,a,w)}{\partial a} \frac{\partial \pi(s,u)}{\partial u}]

确定型深度策略梯度(DDPG)

基本的 actor-critic 使用神经网络会振荡或者发散
DDPG 给出了稳定解
对 actor 和 critic 均使用经验回放
冻结目标网络来避免振荡
\frac{\partial \mathcal{L}(w)}{\partial w} = \mathbb{E}_{s,a,r,s'\sim \mathcal{D}} [(r + \gamma Q(s',\pi(s',u^-),w^-)-Q(s,a,w)) \frac{\partial Q(s,a,w)}{\partial w}]

\frac{\partial J(u)}{\partial u} = \mathbb{E}_{s,a,r,s'\sim \mathcal{D}}[\frac{\partial Q(s,a,w)}{\partial a} \frac{\partial \pi(s,u)}{\partial u}]

用于连续行动控制的 DDPG

从原始像素 s 端对端学习控制策略
输入状态 s 是前 4 帧的图像的原始像素的栈
Q\pi 两个不同的卷积网络
在 MuJoCo 中进行模拟

基于模型的强化学习

学习环境的转移模型:p(r,s'|s,a)

使用转换模型来进行规划

使用转移模型来查找最优行动

深度模型

使用深度神经网络来表示转移模型 p(r,s'|s,a)
定义目标函数来评价模型的好坏
如,重新创建下一状态的比特数(Gregor et al.)
通过 SGD 来优化目标函数

基于模型的强化学习的挑战

综合误差

转换模型的误差会整个轨迹上复合
长轨迹的结尾,奖励就完全错了
基于模型的强化学习在 Atari 游戏上无效(到目前为止)
值/策略的深度神经网络可以隐式地“规划”

网络的每层执行任意的计算步骤
n-层网络可以向前看 n 步
转换模型是否需要?

围棋中的深度学习

Monte-Carlo 搜索

MCTS 模拟未来轨迹
构建巨大的拥有百万位置的向前搜索树
目前最佳 19X19 程序使用的是 MCTS
例如,第一个强大的围棋程序 MoGo (Gelly et al.)
卷积网络

12 层的卷积网络可以训练来预测专家走法
简单的卷积网络(只看一个位置,没有搜索)
等价于有 10^5 位置的搜索树的 MoGo (Maddison et al.)

结论

强化学习为人工智能提供了一个通用途径的框架
强化学习问题可以用端对端深度学习解决
单个 agent 现在可以解决很多挑战性问题
强化学习 + 深度学习 = 人工智能

问题?

“The only stupid question is the one you never asked.” - Richard Sutton

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,547评论 6 477
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,399评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,428评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,599评论 1 274
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,612评论 5 365
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,577评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,941评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,603评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,852评论 1 297
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,605评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,693评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,375评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,955评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,936评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,172评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 43,970评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,414评论 2 342

推荐阅读更多精彩内容