时序差分方法求解强化学习任务——基于同轨策略的时序差分控制(SARSA算法)

时序差分方法求解强化学习任务——基于同轨策略的时序差分控制

目录

上一节介绍了时序差分方法的策略评估过程以及相比于蒙特卡洛方法,时序差分方法的优势。本节将介绍时序差分方法中具有代表性的方法:基于同轨策略时序差分控制——SARSA算法。

回顾:时序差分方法的策略评估过程

时序差分方法的最大特点就是更新的实时性,不同于蒙特卡洛方法策略评估过程中 至少完整执行一次情节 后才能执行动量更新计算 → \to 而是仅需要一个步骤(一次状态转移过程),就可以根据状态转移的变化信息( V ( S t + 1 ) , R t + 1 V(S_{t+1}),R_{t+1} V(St+1),Rt+1)对当前时刻 t t t价值函数 V ( S t ) V(S_t) V(St)进行动量更新计算:
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)]
这种方法不仅缩短了价值函数 V ( S t ) V(S_t) V(St)在迭代过程中的更新周期;并且减小了内存空间的消耗

但同为通过采样近似求解价值函数的方法,时序差分方法同样面临和蒙特卡洛方法类似的问题:
在某确定状态下,某动作 a a a发生的概率极低——导致状态/状态-动作二元组很难被访问完整 的问题。
该问题在‘蒙特卡洛方法求解强化学习任务——蒙特卡洛评估基本介绍’中提到传送门
因此,基于迭代方式中的策略变化,时序差分方法同样可以分为两种方式——同轨策略与离轨策略

SARSA:基于同轨策略的时序差分控制

蒙特卡洛方法求解强化学习任务——基于非试探性出发假设的蒙特卡洛控制中介绍过,为了能够生成更多可能性的状态\状态-动作二元组(以便 存在概率被访问到),将控制过程中的策略分为两部分:

  • 行为策略(behaviour policy):用于生成样本的策略;
  • 目标策略(target policy):用于策略改进的策略;

在SARSA算法中使用的是同轨策略——行为策略和目标策略共用同一个策略,在SARSA算法视角中是如何实现这一过程的?
构建场景如下:

  • 设定某一时刻 t t t的状态与状态转移后下一时刻状态分别为 S t , S t + 1 S_t,S_{t+1} St,St+1
  • S t , S t + 1 S_t,S_{t+1} St,St+1状态下分别对应一个在该状态下有意义的动作组成的动作集合,记为 A ( S t ) , A ( S t + 1 ) \mathcal A(S_t),\mathcal A(S_{t+1}) A(St),A(St+1)
  • 由于是同轨策略——因此保证在 S t , S t + 1 S_t,S_{t+1} St,St+1状态下选择动作的策略 π ( a ∣ s ) \pi(a \mid s) π(as)满足 软性策略 的要求:
    a ∈ A ( s ) → π ( a ∣ s ) > 0 \begin{aligned} a \in \mathcal A(s) \to \pi(a \mid s) > 0 \end{aligned} aA(s)π(as)>0
    多说一句,这里的 π ( a ∣ s ) \pi(a \mid s) π(as)是一个2维矩阵,它存储了所有的状态-动作二元组条件概率分布信息
    其中 m m m表示动作集合 A \mathcal A A<
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

静静的喝酒

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值