Lecture 5: Model-Free Control

一、Introduction

(一)Model-Free Reinforcement Learning

  • Last lecture:
    • Model-free prediction
    • 估计一个未知MDP的价值函数
  • This lecture:
    • Model-free Control
    • 优化一个未知MDP的价值函数

(二)Uses of Model-Free Control

可以建模为MDP的一些示例问题:

  • Helicopter
  • Game of Go
  • Robot walking

对于大多数这些问题,可以:

  • MDP模型是未知的,但是经验可以抽样
  • MDP模型是已知的,但是太大了,只能通过抽样使用

Model-free control可以解决这些问题

(三)On and Off-Policy Learning

  • On-policy learning
    -"Learn on the job"
    • \pi的经验中学习策略\pi
      学习所用的经验都是由当前要学习策略生成的。
      同轨策略实际上是一种妥协-它并不学习最优策略的动作值,而是学习一个接近最优而且仍能进行试探的策略的动作值。
  • Off-policy learning
    • Look over someone's shoulder
    • \mu的经验中学习策略\pi
      学习所用的策略不是由当前要学习的策略生成的。
      采用两个策略,一个用来学习并最终成为最优策略,另一个更加具有试探性,用来产生智能体的行动样本。用来学习的策略称之为目标策略,用来生成行动样本的策略称为行动策略,在这种情况下,我们认为学习所用的数据“离开”了待学习的目标策略,因此整个过程被称为离轨策略学习。

二、On-Policy Monte-Carlo Control

(一)Generalised Policy Iteration (Refresher)广义策略迭代

蒙特卡洛评估的广义策略迭代


两个问题

  • 过程比较缓慢,要做更多的尝试
  • 加入贪婪策略并不能保证你的轨迹能够探索到整个状态空间。

使用动作值函数的无模型策略迭代

  • 应用贪婪策略改进 V(s)需要MDP模型

    需要MDP找到和贪婪策略相关的状态值函数,需要状态已知。但是在model-free情况下,并不知道这些动态状态。
  • Q(s;a)的贪婪策略改进是model-free的

    只需要找到一个使得Q值最大的action,通过将行为的函数值量化,减少了需要寻找模型的负担,不再需要一个model来提前预判。

(二)Exploration

\epsilon -GreedyExploration

  • 确保连续探索的最简单方法
  • 以非零概率尝试所有m个动作
  • 1-\epsilon的概率选择贪婪的行为
  • 以概率\epsilon随机选择一个动作

    m为总的action的个数,每个随机选择每个action的概率为\epsilon/m
    选择最优action的概率为总概率1减去选择其余次优m-1个action的概率和,1-(m-1)\epsilon/m=\epsilon/m+1-\epsilon

\epsilon -Greedy Policy Improvement

定理:




注:在证明上述定理过程中使用的不等式是在经过合理、精心设计的。

每一个行为的可能性,加上选择贪婪策略的可能性。现在贪婪策略时,q的最大值需要至少和你所有行为q值的权重总和一样好。选择一个精心设计的特定的权重
,经过整理。
因此,根据策略改进定理:

Monte-Carlo Policy Iteration


图中每一个向上或向下的箭头都对应着多个Episode。也就是说我们一般在经历了多个Episode之后才进行依次Q函数更新或策略改善。实际上我们也可以在每经历一个Episode之后就更新Q函数或改善策略。但不管使用那种方式,在Ɛ-贪婪探索算下我们始终只能得到基于某一策略下的近似Q函数,且该算法没没有一个终止条件,因为它一直在进行探索。因此我们必须关注以下两个方面:

  • 一方面我们不想丢掉任何更好信息和状态
  • 另一方面随着我们策略的改善我们最终希望能终止于某一个最优策略,因为事实上最优策略不应该包括一些随机行为选择。为此引入了另一个理论概念:GLIE。

Monte-Carlo Control

在一个episode后马上进行策略改进。
我们需要找到两个事情之间的平衡,其中一个是我们需要继续探索,但要保证探索的过程中并没有遗漏掉更好的策略,另一方面是,我们已经有了一个策略,就不想再探索了。我们觉得找到的已经是最好的了,不包括随机的情况。

(三)GLIE

定义
Greedy in the Limit with Infinite Exploration (GLIE)在有限状态下进行无穷探索的贪婪策略
它能够适应你所策划出的任何探索模式,只要它符合以下两个条件,

  • 所有状态-行动对都经过了无数次探索,



    你可以继续探索所有事物,要确保探索到了所有的状态和行为,确保没有遗漏掉任何一处。

  • 策略收敛于一个贪婪的策略


GLIE(Greedy in the Limit with Infinite Exploration),直白的说是在有限的时间内进行无限可能的探索。具体表现为:所有已经经历的状态行为对(state-action pair)会被无限次探索;另外随着探索的无限延伸,贪婪算法中Ɛ值趋向于0。例如如果我们取\epsilon = 1/k(k为探索的Episode数目),那么该Ɛ-贪婪蒙特卡洛控制就具备GLIE特性。

确保策略会收敛于一个贪婪的策略。因为我们需要这个策略最终能够满足贝尔曼方程,最终得到最大的那个q值。想要达到这个目的有一个方法,

  • 例如,如果\epsilon从1/k逐渐减小到0 \epsilon -Greedy 是GLIE

GLIE Monte-Carlo Control

  • 用policy\pi取样第k个episode:{S_1,A_1,R_2,...,S_T}~\pi
  • 遍历这个episode内的每个状态S_tA_t
  • 基于新的行动价值函数改进策略
    k为探索的Episode数目



三、On-policy Temporal-Difference Learning

MC vs. TD Control

  • 时序差分学习(TD)相对蒙特卡洛学习(MC)具有多个优势
    • 较低的方差
    • 在线
    • 序列不完整
  • Natural idea: 在我们的控制循环中用 TD 代替 MC
    • Apply TD to Q(S;A)
    • Use \epsilon -Greedy policy improvement
    • Update every time-step

(一)Sarsa(\lambda)

Updating Action-Value Functions with Sarsa

SARSA的名称来源于下图所示的序列描述:针对一个状态S,以及一个特定的行为A,进而产生一个状态行为对(S,A),与环境交互,环境收到个体的行为后会告诉个体即时奖励R以及后续进入的状态S';接下来个体遵循现有策略产生一个行为A',根据当前的状态行为价值函数得到后一个状态行为对(S',A')的价值(Q),利用这个Q值更新前一个状态行为对(S,A)的价值。


更直观的解释是这样:一个Agent处在某一个状态S,在这个状态下它可尝试各种不同的行为,当遵循某一策略时,会根据当前策略选择一个行为A,个体实际执行这个行为,与环境发生实际交互,环境会根据其行为给出即时奖励R,并且进入下一个状态S’,在这个后续状态S’,再次遵循当前策略,产生一个行为A’,此时,个体并不执行该行为,而是通过自身当前的状态行为价值函数得到该S’A’状态行为对的价值,利用该价值同时结合个体S状态下采取行为A所获得的即时奖励来更新个体在S状态下采取A行为的(状态)行为价值。

1、On-Policy Control With Sarsa


每一个时间步,也就是在单个Episode内每一次个体在状态采取一个行为后都要更新Q值,同样使用-贪婪探索的形式来改善策略。

2、Sarsa Algorithm for On-Policy Control


注:
算法中的Q(s,a)是以一张大表存储的,这不适用于解决规模很大的问题;

对于每一个Episode,在S状态时采用的行为A是基于当前策略的,同时该行为也是实际Episode发生的行为,在更新SA状态行为对的价值循环里,个体并不实际执行在S’下的A’行为,而是将行为A’留到下一个循环执行。

3、Convergence of Sarsa


定理:满足如下两个条件时,Sarsa算法将收敛至最优行为价值函数。
条件一:任何时候的策略符合GLIE特性;
条件二:步长系数满足:

4、Windy Gridworld Example

下方展示的是一个带有起始状态和终止状态的网格世界。相比标准的网格世界有一点不同:在网格中存在穿过中间部分的向上的侧风。智能体在的动作包括4种,上下左右,不过在中间区域,智能体执行完动作所到达的状态会被“风”向上吹一点。



每一列的风力是不同的,风力的大小用向上吹的格数表示,写在了每列的下方。这是一个不带折扣的分幕式任务,在这个任务中,在到达目标之前,每步会收到恒定为-1的收益。

Sarsa on the Windy Gridworld


上图显示了在这个任务中使用-贪心的Sarsa的任务的结果(横轴是逐幕累积起来的智能体的总步数,纵轴是智能体成功到达状态的总次数,也即完成任务的总幕数),其中,对于所有的s,a进行同样的初始化,Q(s,a)=0。通过图中逐渐变大的斜率可以看出,随着时间的推移,目标达成越来越快。在8000步的时候,贪心策略已经达到最优很久了(图中显示了它的一个轨迹);持续-贪心试探导致每幕的平均长度(即任务的平均完成时间)保持在17步左右,比最小值15多了两步。需要注意,不能将蒙特卡洛方法应用到此处,因为不是所有策略都保证能终止。如果我们发现某个策略使智能体停留在一个状态内,那么下一幕任务就永远不会开始。诸如Sarsa这样一步一步的学习方法则没有这个问题,因为它在当前幕运行过程中很快就能学习当前的策略,而它不够好,然后就会切换到其他的策略。

5、n-Step Sarsa

  • 考虑n=1,2,\infty时的n-step return
  • 定义 n-step Q-return


  • 朝着n-step Q-return用n-Step Sarsa更新Q(s,a)

6、Forward View Sarsa(\lambda)

  • q^\lambda return组合了所有n步Q-returnq_t^{(n)}
  • 用权重(1-\lambda)\lambda^{(n-1)}
  • Forward View Sarsa(\lambda)

7、Forward View Sarsa(\lambda)

  • 就像TD(\lambda), 我们在在线算法中使用资格迹(eligibility traces)
  • 但是Sarsa(\lambda)对每个状态-动作对都有一个资格迹
  • Q(s,a)针对每个状态s和动作a更新
  • 与TD误差\delta_t和资格迹E_t(s,a)成比例

8、Backward View Sarsa(\lambda)

  • 就像TD(\lambda),我们在在线算法中使用资格迹
  • 但是Sarsa(\lambda)对每个状态-动作对都有一个资格迹
  • Q(s,a)针对每个状态s和动作a更新
  • TD-error\delta^t和资格迹E_t(s,a)成比例

9、Sarsa(\lambda) Algorithm

10、Sarsa(\lambda) Gridworld Example

四、Off-Policy learning

  • 评估目标策略\pi(a|s)以计算v_\pi(s)q(s,a)
  • 遵循行动策略\mu(a|s)生成序列:
  • Why is this important?
    • 观察人类或其他代理进行学习
    • 重复利用旧的策略\pi_1,\pi_2,...,\pi_{t-1}产生的经验
    • 在遵循探索性策略的同时了解最佳策略
    • 遵循一项策略时学习多种策略

(一)Importance Sampling

  • 估计不同分布的期望


1、Importance Sampling for Off-Policy Monte-Carlo

  • \mu中得到的TD target来评估\pi
  • 通过Importance Sampling 对TD targetR+\gamma V(s')进行加权
  • 只需要一次重要性抽样校正
    使用TD方法在遵循一个策略\mu(a|s)的同时评估另一个策略\pi(a|s)

    这个公式可以这样解释:个体处在状态S_t中,基于策略\mu产生了一个行为A_t,执行该行为后进入新的状态S_{t+1},那么在当前策略下如何根据新状态的价值调整原来状态的价值呢?离线策略的方法就是,在状态S_t时比较分别依据另一个策略\pi和当前遵循的策略\mu产生行为A_t的概率大小,如果策略\pi得到的概率值与遵循当前策略\mu得到的概率值接近,说明根据状态S_{t+1}价值来更新S_t的价值同时得到两个策略的支持,这一更新操作比较有说服力。同时也说明在状态S_t时,两个策略有接近的概率选择行为A_t
    假如这一概率比值很小,则表明如果依照被评估的策略,选择A_t的机会很小,这时候我们在更新S_t价值的时候就不能过多的考虑基于当前策略得到的状态S_{t+1}的价值。同样概率比值大于1时的道理也类似。这就相当于借鉴被评估策略的经验来更新我们自己的策略。
  • 方差比蒙特卡洛重要性抽样低得多
  • 策略只需一步就可以相似

2、Q-Learning

  • 现在我们考虑行动-价值Q(s,a)的离线学习
  • No importance sampling is required
  • 使用行为策略选择下一个actionA_{t+1}\sim\mu(\cdot|S_t)
  • 但是我们考虑替代性的后续行动A'\sim\pi(\cdot|S_t)
  • 朝着替代动作的价值方向更新Q(S_t,A_t)

基于TD(0)的Q-学习(Q-learning)。它的要点在于,更新一个状态行为对的Q价值时,采用的不是当前遵循策略的下一个状态行为对的Q价值,而是采用的待评估策略产生的下一个状态行为对的Q价值。公式如下:


式中,红色部分的TD目标是基于另一个估策略产生的行为A'得到的Q价值。Q学习最主要的表现形式是:个体遵循的策略是基于当前状态行为价值函数Q(s,a)的一个策略,而目标策略是基于当前状态行为价值函数Q(s,a)不包含的单纯策略:

Off-Policy Control with Q-Learning

  • 现在,我们允许行为和目标策略都得到改善
  • 目标策略是贪婪的


  • 行为策略\mu是,例如:\epsilon-greedy
  • 然后,Q学习目标可以简化为:


Q-Learning Control Algorithm


Q-Learning Algorithm for Off-Policy Control

Cliff Walking Example

图中悬崖用灰色的长方形表示,在其两端一个是起点,一个是目标终点。途中从悬崖指向起点的箭头提示悬崖同时也是终止状态。可以看出最优路线是贴着悬崖上方行走。


训练一小段时间后,Q学习学到了最优策略,即沿着悬崖边走的策略。不幸的是,由于动作是通过的方式选择的,因此在执行这个策略时,智能体偶尔会掉入悬崖,与此对比,sarsa则考虑了动作被选取的方式,学到了一条通过网格的上半部分的路径,这条路径虽然长但是更安全,。虽然Q学习实际上学到了最优策略的价值,其在线性能却比迂回策略的Sarsa更差。当然,如果逐步减小,那么两种方法都会渐渐收敛到最优策略。

五、Summary

Relationship Between DP and TD

下面两张图概括了各种DP算法和各种TD算法,同时也揭示了各种不同算法之间的区别和联系。总的来说TD是采样+有数据引导(bootstrap),DP是全宽度+实际数据。如果从Bellman期望方程角度看:聚焦于状态本身价值的是迭代法策略评估(DP)和TD学习,聚焦于状态行为对价值函数的则是Q-策略迭代(DP)和SARSA;如果从针对状态行为价值函数的Bellman优化方程角度看,则是Q-价值迭代(DP)和Q学习。


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

推荐阅读更多精彩内容