强化学习(六)时序差分

时序差分(TD)是强化学习的核心,其是蒙特卡罗(MC)和动态规划(DP)的结合。

1、TD 预测

TD 和 MC 都是利用经验来解决预测问题。一种非平稳环境的一般访问蒙特卡罗方法是
V ( S t ) ← V ( S t ) + α [ G t − V ( S t ) ] V(S_t)\leftarrow V(S_t)+\alpha\left[G_t-V(S_t)\right] V(St)V(St)+α[GtV(St)]

MC 方法必须等到事件结束才能确定 V ( S t ) V(S_t) V(St) 的增量(因为结束 G t G_t Gt 才是已知的),而 TD 方法只需要等到下一个时间步长。在时间 t + 1 t+1 t+1 时,立即生成一个目标,并使用观察到的奖励 R t + 1 R_{t+1} Rt+1 和估计值 V ( S t + 1 ) V(S_{t+1}) V(St+1) 进行有用的更新,最简单的 TD 方法更新方式如下:
V ( S t ) ← V ( S t ) + α [ R t + 1 + γ V ( S t + 1 ) − V ( S t ) ] V(S_t)\leftarrow V(S_t)+\alpha\left[R_{t+1}+\gamma V(S_{t+1})-V(S_t)\right] V(St)V(St)+α[Rt+1+γV(St+1)V(St)]

MC 方法更新的目标是 G t G_t Gt,而 TD 方法的目标是 R t + 1 + γ V ( S t + 1 ) R_{t+1}+\gamma V(S_{t+1}) Rt+1+γV(St+1)。这种 TD 方法称为 T D ( 0 ) \mathrm{TD}(0) TD(0)在这里插入图片描述
v π ( s ) ≐ E π [ G t ∣ S t = s ] = E π [ R t + 1 + γ G t + 1 ∣ S t = s ] = E π [ R t + 1 + γ v π ( S t + 1 ) ] \begin{aligned} v_\pi(s)&\doteq\Bbb{E}_\pi\left[G_t|S_t=s\right]\\[1ex] &=\Bbb{E}_\pi\left[R_{t+1}+\gamma G_{t+1}|S_t=s\right]\\[1ex] &=\Bbb{E}_\pi\left[R_{t+1}+\gamma v_\pi(S_{t+1})\right] \end{aligned} vπ(s)Eπ[GtSt=s]=Eπ[Rt+1+γGt+1St=s]=Eπ[Rt+1+γvπ(St+1)]

由上式,MC 方法使用第二行的估计值作为目标,而 DP 方法使用第三行的估计值作为目标。MC 目标是一个估计值,因为期望值是未知的,我们是用平均样本收益代替实际的期望收益;DP 目标也是一个估计值,虽然环境模型完全已知,但是 v π ( S t + 1 ) v_\pi(S_{t+1}) vπ(St+1) 是未知的,使用的当前的估计值;TD 目标也是一个估计值,因为它对第三行中的期望值进行采样,且使用的当前的估计值而不是真实的 v π v_\pi vπ。因此,TD 方法结合了 MC 的采样和 DP 的自举。

另外, T D ( 0 ) \mathrm{TD}(0) TD(0) 算法中括号内是一种误差,即状态 S t S_t St 的当前估计值与更好的估计值 R t + 1 + γ V ( S t + 1 ) R_{t+1}+\gamma V(S_{t+1}) Rt+1+γV(St+1) 的差异,这个量称为 T D \mathrm{TD} TD 误差( T D   e r r o r TD\ error TD error,在强化学习中以各种形式出现:
δ t ≐ R t + 1 + γ V ( S t + 1 ) − V ( S t ) \delta_t\doteq R_{t+1}+\gamma V(S_{t+1})-V(S_t) δtRt+1+γV(St+1)V(St)

2、TD 预测的优点

显然,TD 方法比 DP 方法有一个优势,因为它无需环境模型已知。TD 方法比 MC 方法的一个明显的优势是,它以在线、完全增量的方式实现;另外 MC 方法需要等到一个回合结束,而 TD 方法只需要等待一个时间步,这很关键,某些特殊情形可能回合结束时间太长,甚至回合不会结束。

3、TD(0) 的最优性

假设只有有限的经验,例如 10 个回合或 100 个时间步长,在这种情况下,增量学习方法的常见手段是反复呈现经验,直到收敛到一个值。给定一个近似价值函数 V V V,MC 增量和 TD 增量

4、Sarsa:同策略 TD 控制

现在我们使用 TD 预测方法来解决控制问题,与之前一样,我们遵循广义策略迭代(GPI)的模式,与 MC 方法一样,我们面临着进行探索的需要,同样,方法分为两大类:同策略和异策略。本节提出一种同策略上的 TD 控制方法。

第一步是学习动作价值函数而不是状态价值函数,对于同策略方法,我们必须估计 q π ( s , a ) , ∀ s ∈ S , ∀ a ∈ A q_\pi(s,a),\forall s\in\cal S,\forall a\in\cal A qπ(s,a),sS,aA,一个回合由状态和状态-动作对的交替序列组成:
在这里插入图片描述
在前一章中,我们考虑从状态到状态的转换,并学习了状态的价值。现在我们考虑从状态-动作对到状态-动作对的转换,并学习状态-动作对的价值。形式上,这两种情况是一样的:它们都是带有奖励过程的马尔可夫链,保证 T D ( 0 ) \mathrm{TD}(0) TD(0) 下状态价值收敛的定理也适用于动作价值的相应算法:
Q ( S t , A t ) ← Q ( S t , A t ) + α [ R t + 1 + γ Q ( S t + 1 , A t + 1 ) − Q ( S t , A t ) ] Q(S_t,A_t)\leftarrow Q(S_t,A_t)+\alpha\left[R_{t+1}+\gamma Q(S_{t+1},A_{t+1})-Q(S_t,A_t)\right] Q(St,At)Q(St,At)+α[Rt+1+γQ(St+1,At+1)Q(St,At)]在这里插入图片描述

5、Q-learning:异策略 TD 控制

强化学习的早期突破之一就是开发了一种被称为 Q-learning 的异策略 TD 控制算法,定义如下
Q ( S t , A t ) ← Q ( S t , A t ) + α [ R t + 1 + γ max ⁡ a Q ( S t + 1 , a ) − Q ( S t , A t ) ] Q(S_t,A_t)\leftarrow Q(S_t,A_t)+\alpha\left[R_{t+1}+\gamma\max_a Q(S_{t+1},a)-Q(S_t,A_t)\right] Q(St,At)Q(St,At)+α[Rt+1+γamaxQ(St+1,a)Q(St,At)]在这里插入图片描述

  • 17
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
时序差分强化学习(Temporal Difference Reinforcement Learning, TDRL)是一类强化学习算法,结合了动态规划和蒙特卡洛方法的思想。它通过使用经验数据进行增量式的更新,同时利用了当前和未来的估计值来逼近最优值函数。 时序差分强化学习方法的核心思想是通过估计值函数的差分来更新值函数的估计值。在每个时间步,智能体观察到当前状态、选择动作、观察到下一个状态和收到奖励。然后,根据差分误差(TD误差)来更新值函数的估计值。 TD误差定义为当前状态下的估计值与下一个状态的估计值之差加上即时奖励。TD误差可以表示为: TD_error = R + γV(s') - V(s) 其中,R是即时奖励,V(s)是当前状态s的估计值,V(s')是下一个状态s'的估计值,γ是折扣因子,用于衡量未来奖励的重要性。 根据TD误差,可以使用不同的更新规则来更新值函数的估计值。常见的时序差分强化学习算法包括以下几种: 1. SARSA(State-Action-Reward-State-Action):SARSA算法使用状态-动作对的估计值来更新Q值函数的估计值。在每个时间步,智能体根据当前策略选择动作,观察到下一个状态和奖励,并根据TD误差来更新Q值函数的估计值。 2. Q-learning:Q-learning算法也是一种基于TD误差的更新规则,但它使用了下一个状态的最大估计值来更新Q值函数的估计值。在每个时间步,智能体根据当前策略选择动作,观察到下一个状态和奖励,并通过TD误差和最大估计值来更新Q值函数的估计值。 3. TD(λ):TD(λ)算法是一种使用λ折扣因子的时序差分强化学习算法。它通过考虑未来多个时间步的估计值来更新值函数的估计值。TD(λ)算法将过去若干时间步的TD误差进行加权求和,并根据加权和来更新值函数的估计值。 时序差分强化学习方法具有较高的效率和适应性,可以在每个时间步骤中进行更新,不需要等到任务结束后才进行更新。它能够快速收敛到最优策略,并且可以处理具有部分可观测性和连续状态空间的问题。该方法在许多领域中都有广泛的应用,如机器人控制、游戏智能、自动驾驶等。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值