【强化学习】周博磊第3章 无模型的价值估计和控制

周博磊 第3章 无模型的价值估计和控制

Model Free

  • 价值迭代和策略迭代都需已知Dynamicreward [reward 是R(s,a), 是期望奖励]
  • Model free 无需知道Dynamic 和 reward
  • Trajectory/Epsisode: {s1, a1, r1, s2, a2, r2 …}

Model Free Prediction

在未知MDP的情况下估计价值函数

  • Monte Carlo Policy Evaluation
  • Temporal Difference learning

Monte Carlo 蒙特卡洛方法

  • Return定义:依据策略 π \pi π, G t = R t + 1 + γ R t + 2 + γ R t + 3 + . . . G_{t} = R_{t+1} + \gamma R_{t+2} + \gamma R_{t+3} + ... Gt=Rt+1+γRt+2+γRt+3+...
  • v π ( s ) = E τ ∼ π [ G t ∣ s t = s ] v^{\pi}(s) = \mathbb{E}_{\tau\sim\pi}[G_{t}|s_{t}= s] vπ(s)=Eτπ[Gtst=s] 轨迹 τ \tau τ 由策略 π \pi π产生
  • MC:通过大量的采样得到轨迹 τ \tau τ,计算实际的return来估算价值函数
Monte-Carlo 策略估计

主要通过大数定律来计算

  1. 记录 episode 每个步骤中的s
  2. N(s) ← \gets N(s) + 1
  3. S(s) ← \gets S(s) + G t G_{t} Gt
  4. v(s) = S(s) / N(s)
Incremental Mean

通过叠加计算的方式很重要,后续的推导经常采用
μ t = 1 t ∑ j = 1 t x j = 1 t ( x t + ∑ j = 1 t − 1 x j ) = 1 t ( x t + ( t − 1 ) μ t − 1 ) = μ t − 1 + 1 t ( x t − μ t − 1 ) \mu_{t} = \frac{1}{t}\sum_{j=1}^{t}x_{j} \\ = \frac{{1}}{t}(x_{t} + \sum_{j=1}^{t-1}x_{j}) \\ = \frac{1}{t}(x_{t} + (t-1)\mu_{t-1}) \\ = \mu_{t-1} + \frac{1}{t}(x_{t} - \mu_{t-1}) μt=t1j=1txj=t1(xt+j=1t1xj)=t1(xt+(t1)μt1)=μt1+t1(xtμt1)

Incremental MC updates
  1. 获取轨迹( S 1 , A 1 , R 1 . . . , S t S_{1}, A_{1}, R_{1} ... , S_{t} S1,A1,R1...,St
  2. N ( S ) N(S) N(S) ← \gets N ( S t ) N(S_{t}) N(St) + 1
    V ( S t ) ← V ( S t ) + 1 N ( S t ) ( G t − V ( S t ) ) V(S_{t}) \gets V(S_{t}) + \frac{1}{N(S_{t})}(G_{t} - V(S_{t})) V(St)V(St)+N(St)1(GtV(St))
    or. 下面试用在non-stationary问题
    V ( S t ) ← v ( S t ) + α ( G t − v ( S t ) ) ) V(S_{t}) \gets v(S_{t}) + \alpha(G_{t}-v(S_{t}))) V(St)v(St)+α(Gtv(St)))
DP与MC的区别
  • MC是无模型的,并不已知MDP
  • MC通过大量采样获得。即使已经MDP,如果动作及状态空间巨大,MC优于DP。DP 要考虑所有的动作和子状态。
    DP:
    请添加图片描述

MC:
请添加图片描述

TD

  • TD无需知道MDP
  • 可以从非完整序列中,通过bootstraping 方式学习
    算法:
    v ( S t ) ← v ( S t ) + α ( R t + 1 + γ v ( S t + 1 ) − V ( S t ) ) v(S_{t})\gets v(S_{t}) + \alpha(R_{t+1} + \gamma v(S_{t+1}) - V(S_{t})) v(St)v(St)+α(Rt+1+γv(St+1)V(St))
    δ = R t + 1 + γ v ( S t + 1 ) − V ( S t ) ) \delta = R_{t+1} + \gamma v(S_{t+1}) - V(S_{t})) δ=Rt+1+γv(St+1)V(St)) TD误差
  • 与MC相比
    V ( S t ) ← v ( S t ) + α ( G t − v ( S t ) ) ) V(S_{t}) \gets v(S_{t}) + \alpha(G_{t}-v(S_{t}))) V(St)v(St)+α(Gtv(St)))
    请添加图片描述

n步TD方法

介于TD与MC之间,考虑了多个step
请添加图片描述

DP MC 及 TD对比

DP:
请添加图片描述

MC:
请添加图片描述

TD:
请添加图片描述

Monte Carlo with ϵ \epsilon ϵ-Greedy Exploration

为了平衡exploration 和 expliot

  • exploration:探索 如何去探索这个环境,通过尝试不同的行为得到一个最佳的策略
  • expoitation:利用 不去尝试新的东西,采取已知得到很大奖励的行为
    π ( a ∣ s ) = { ϵ / ∣ A ∣ + 1 − ϵ , i f a = a r g m a x a ∈ A q ∗ ( s , a ) ϵ / ∣ A ∣ , o t h e r w i s e \pi(a|s) = \left\{ \begin{array}{lc} \epsilon / |A| + 1 - \epsilon, & if a = arg max_{a \in A}q^{*}(s, a) \\ \epsilon / |A|, & otherwise\\ \end{array} \right. π(as)={ϵ/∣A+1ϵ,ϵ/∣A,ifa=argmaxaAq(s,a)otherwise
    说明:

收敛性证明:基于 ϵ \epsilon ϵ 贪心策略的方式可以收敛
请添加图片描述

算法流程:
请添加图片描述

MC vs TD Prediction 与 Control

TD 优势:

  • 低方差
  • 在线更新
  • 无需完整的epsidode

Sarsa 算法

step action reward step
请添加图片描述

n-step Sarsa
考虑了N步

On policy vs Off Policy

on policy

π \pi π中采集数据并且学习,即目标策略和行动策略同样都是 π \pi π

off policy
  1. 目标策略 π \pi π:目标学习要优化的策略
  2. 行动策略 μ \mu μ:采样策略
    请添加图片描述

优势:

  • 从exploratory policy学习最优策略
  • 可以加入人类或者其他agent采用的样本
  • 可以重复利用旧策略采用的数据 【强化学习对旧样本利用重要,样本的搜集非常消耗cpu等资源,能高效的利用旧样本是强化学习的重点之一】

Off Policy Q-learning

目标策略 π \pi π π ( S t + 1 ) = arg max ⁡ a ′ Q ( S t + 1 , a ′ ) \pi(S_{t+1}) = \argmax_{a^{'}}Q(S_{t+1}, a^{'}) π(St+1)=argmaxaQ(St+1,a)
行为策略 μ \mu μ:基于 ϵ \epsilon ϵ贪心策略的Q(s, a)
请添加图片描述

Sarsa vs Q-learning

Sarsa: on-policy
更新目标策略真的实际采样,目标策略和行为策略一致
Q-learning: off-policy
更新目标策略未进行真实采样,Imagine最大的 Q max ⁡ a ( s , a ) Q_{\max a}(s, a) Qmaxa(s,a)
请添加图片描述

DP vs TD

DP: 已知MDP,根据动态转移矩阵考虑后续所有状态,计算的状态的期望
TD:未知MDP,通过采样的方式进行。考虑当前状态及下一个状态
请添加图片描述

代码

https:
//github.com/cuhkrlcourse/RLexample/tree/master/modelfree

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值