David Silver《Reinforcement Learning》课程解读—— Lecture 4: Model-Free Prediction

David Silver《Reinforcement Learning》课程解读—— Lecture 4: Model-Free Prediction

DP动态规划能够解决已知environment的MDP问题,即已知  S,A,P,R,γ ,根据是否已知policy又将问题划分为prediction和control的问题。本质上来说这种known MDP问题已知environment即转移矩阵与reward函数

但是很多问题中environment未知,不清楚做出了某个action之后会变到哪个state,也不知道这个action好不好,即说不清environment体现的model是什么。

这种情况下需要解决的prediction和control问题即model-free prediction和model-free control。<该问题只能从与environment交互得到的experience中获取信息>

本节即针对未知environment的policy evaluation,在给定policy下,求取state的value function是多少?

episode:从某个状态开始执行到终止状态的一次遍历 S1,A1,R2,Sk 称为episode,已知很多episodes。

目录:

  • Introduction
  • Monto-Carlo Learning
  • Temporal-Difference Learning
  • TD(λ)

1. Introduction

  1. Model-Free prediction
    • estimate the value function of an unknown MDP
  2. Model-Free control
    • optimize the value function of an unknown MDP

2. Monte-Carlo Learning

  1. 特点
    • 直接从experience的episode中学习
    • 不需要MDP的transition、rewards
    • 主要思想:value = mean return,即反复测试求平均。
  2. Monte-Carlo Policy Evaluation

    • 基本内容
      • 目标:在策略π下,从experience的episodes中学到 vπ
      • 已知:
        • a. return是所有的折扣回报之和
          Gt=Rt+1+γRt+2++γkRt+k+1=k=0γkRt+k+1
        • b. value function 是return的期望值(第二节中,每个state的value function是return的期望值)
          vπ(s)=Eπ[Gt|St=s]
      • 关键:与第二节讲到的不同,Monte-Carlo policy 假设每个状态的value function取值等于多个episodes的return Gt d的平均值而非期望值,即在Monte-Carlo policy evaluation的假设下,值函数的取值从期望简化成了均值。这就需要每个episode是完整的流程,即一定要执行到终止状态。
      • 由于每一步的reward都知道,则意味着每一步的return Gt 都可以计算出来。因此,通过反复测试,这样很多状态就会被遍历到,而且不止一次,那么每次就可以把在状态下的return求取平均值。当episode无限大时,得到的数据也就接近于真实的数据。Monte-Carlo方法就是使用统计学的方法来取代Bellman方法的计算方法。
      • 有两种访问次数的记录方式,一种是在一个episode中只记录第一次访问到的s,一种是一个episode中每次访问到s都记录下来。
      • First-Visit MC Policy Evaluation,每一次的episode中state只使用第一次到达的t来计算return
        这里写图片描述
      • Every-Visit MC Policy Evaluation,每一次的episode中state只要访问到就计算return求平均
        这里写图片描述
    • 特点:可以看到蒙特卡洛方法是极其简单的。但是缺点也是很明显的,需要尽可能多的反复测试,而且需要到每一次测试结束后才来计算,需要耗费大量时间。“AlphaGo就是使用蒙特卡洛的思想。不是蒙特卡洛树搜索,而是说在增强学习中使用蒙特卡洛方法的思想。AlphaGo每次也是到下棋结束,而且只使用最后的输赢作为return。所以这也是非常神奇的事,只使用最后的输赢结果,竟然能够优化每一步的走法。”

    • Incremental Monte-Carlo

      • Incremental Mean
        序列 {x1,x2,} 的均值 {u1,u2,} 可以增量式增加

        uk====1kj=1kxj1kxk+j=1k1xj1k(xk+(k1)uk1)uk1+1k(xkuk1)

      • Incremental Monte-Carlo Updates

        • Updates V(s) incrementally after episode S1,A1,R2,,ST
        • 针对每一次新的访问,先次数加1, N(St)=N(St)+1 ,然后更新 V(St)=V(St)+1N(St)(GtV(St))
        • 在解非固定问题时,可以将 1N(St) 设置为一个常数 α ,即 V(St)=V(St)+α(GtV(St)) .

3. Temporal-Difference Learning

  1. 思想
    基于Bootstrapping思想,即在中间状态中会估计当前获得的return值,并更新之前状态能获得的return,因此它不需要走完一个episode的全部流程而前面分析的蒙特卡洛方法,其一个特点就是需要运行完整个episode从而获得准确的result。但是往往很多场景下要运行完整个episode是很费时间的
  2. 特点
    • 直接从experience的episode中学习
    • 不需要MDP的transitions、rewards
    • 通过bootstrapping从不完整的episode中学习
      bootstraping。即通过估计的方法来引导计算。那么蒙特卡罗不使用bootstraping,而TD使用bootstraping。
    • 每一步都可以更新,这是显然,也就是online learning,学习快
    • 从一个猜测更新到另一个猜测
    • 可以面对没有结果的场景,应用范围广
  3. TD vs MC
    • 目标:learn vπ online from experience under policy π .
    • Incremental every-visit Monte-Carlo
      根据真实的 reward Gt 更新 V(St) :
      V(St)=V(St)+α(GtV(St))
    • Simplest temporal-difference learning algorithm: TD(0)
      根据估计的return更新 V(st) , 估计return: Rt+1+γV(St+1) :
      V(St)=V(St)+α(Rt+1+γV(St+1)V(St))

      其中, Rt+1+γV(St+1) TD target,
      δt=Rt+1+γV(St+1)V(St) TD error, 代表了估计前后return的差值
    • 平衡Bias/Variance是机器学习比较经典的一个问题,bias是指预测结果与真实结果的差值,variance是指训练集每次预测结果之间的差值,bias过大会导致欠拟合它衡量了模型是否准确,variance过大会导致过拟合衡量了模型是否稳定。
    • TD算法的相对缺点:因为TD target是估计值,估计是有误差的,这就会导致更新得到value是有偏差的。很难做到无偏估计。
    • TD算法的相对优点:TD target 是每一个 step 进行估计的,仅最近的动作对其有影响,而 MC 的 result 则受到整个时间片中动作的影响,因此 TD target 的方差 variance 会比较低,也就是波动性小。
    • 具体对比如下图所示:
      这里写图片描述
    • 在David Silver的课件中,有三张图,很直观地对比了MC,TD以及DP的不同:
      这里写图片描述

      这里写图片描述

      这里写图片描述

      从上面可以很清楚的看到三者的不同。DP就是理想化的情况,遍历所有。MC现实一点,TD最现实,但是TD也最不准确。但是没关系,反复迭代之下,还是可以收敛的。
    • 整个增强学习算法也都在上面的范畴里:
      这里写图片描述

    • 上面的图是用Policy Evaluation解决强化学习问题的一些算法的区别与相关性,最左边的竖线表示如果考虑了所有的可能发生的情况那么就是动态规划,如果只考虑了部分采样那么就是时序差分。下面的横线表示如果考虑了一次episode中全部的动作就是Monte-Carlo,如果只考虑部分动作就是时序差分。如果又考虑全部情况又考虑每一种情况的全部动作就是穷举。

4. TD (λ)

  1. 思想
    • TD(0) : 在某个状态 S 下执行某个动作后转移到下一个状态S时,估计 S 的return再更新S。
    • S 之后执行2次动作转移到S′′时再返回来更新 S 的值函数,那么就是另外一种形式,从而根据step的长度n可以扩展TD到不同形式,当step的长度达到episode的终点时就变成了MC,从而得到统一公式如下:
      Gn=Rt+1+γRt+2++γn1Rt+n+rnV(St+n)

V(St)=V(St)+α(G(n)tV(St))


    • TD(λ) : 若将不同的n对应的return平均一下,就能获得更加鲁邦的结果,而为了有效地将不同return结合起来,对每个return都赋予了一个权重 1λ,(1λ)lambda,,(1λ)λn ,参数是 lambda ,这样又可以得到一组更新value function公式:
      Gλt=(1λ)n=1λn1Gnt

V(St)=V(St)+α(GλtV(St))

在模型无关的分层强化学习中,学习表示是一项重要的任务。学习表示是指通过提取有用的信息和特征来将观察数据转化为表示向量。这些表示向量可以用于解决强化学习问题中的决策和行动选择。 模型无关的分层强化学习是指不依赖于环境模型的强化学习方法。它通常由两个部分组成:低层控制策略和高层任务规划器。低层控制策略负责实际的行动选择和执行,而高层任务规划器则负责指导低层控制策略的决策过程。 学习表示在模型无关的分层强化学习中起到至关重要的作用。通过学习适当的表示,可以提高对观察数据的理解能力,使得模型能够捕捉到环境中的重要特征和结构。这些表示可以显著减少观察数据的维度,并提供更高层次的抽象,从而简化了决策和规划的过程。 学习表示的方法多种多样,包括基于深度学习的方法和基于特征选择的方法。基于深度学习的方法,如卷积神经网络和循环神经网络,可以通过学习多层次的特征表示来提取环境观察数据的有用信息。而基于特征选择的方法则通过选择最有信息量的特征来减少表示的维度,从而简化了模型的复杂度。 总之,学习表示在模型无关的分层强化学习中起到了至关重要的作用。通过学习适当的表示,模型可以更好地理解观察数据并进行决策和规划。不同的方法可以用来实现学习表示,包括基于深度学习的方法和基于特征选择的方法。这些方法的选择取决于具体任务和问题的需求。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值