强化学习(五)基于时序差分法 TD 的求解

本文介绍了时序差分法(Temporal-Difference, TD),这是一种不依赖完整状态序列的强化学习求解方法。相较于蒙特卡罗算法,TD 方法更灵活,适用于不完整状态序列。文章详细讲解了 TD 方法的基本概念、策略评估(预测)和策略迭代(控制),包括单步和多步时序差分,并以SARSA算法为例进行了实例分析。" 100100820,5114941,探索WASI:Wasmtime配置与实践,"['WebAssembly', 'WASI', 'runtime', 'Wasmtime', 'Rust']

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


在《强化学习(四)基于蒙特卡罗算法 Monte-Calo 的求解》的文末中提到,利用蒙特卡罗算法采样近似地求解强化学习问题,尽管该方法非常灵活,适用于连续和非连续问题,以及不需要知道环境的状态转化概率模型,但该方法要基于完整的状态序列,如果无法获取完整的状态序列,蒙特卡罗算法将不适用。而本文将介绍的时序差分法(Temporal-Difference,TD)则是一种可以不使用完整状态序列求解强化学习问题的方法

1. 时序差分法简介

时序差分法(Temporal-Difference,TD)和蒙特卡罗法都是不依赖于模型的求解方法,但前者相比后者的使用条件更加宽松,提高了算法的适应性但容易损失估计价值的准确性。

如下再回顾一遍,免模型的强化学习问题的两个基本问题:

  1. 预测问题(策略评估)。给定强化学习的状态集 S S S,动作集 A A A,采取动作的即时奖励 R R R,奖励衰减因子 γ \gamma γ,以及给定策略 π \pi π,在这些条件下(状态转移概率 P P P 未知),求解策略 π \pi π 的状态价值函数 v ( π ) v(\pi) v(π)
  2. 控制问题(策略迭代)。给定强化学习的状态集 S S S,动作集 A A A,采取动作的即时奖励 R R R,奖励衰减因子 γ \gamma γ,探索率 ϵ \epsilon ϵ,求解最优的状态价值函数 v ∗ v_* v 和最优策略 π ∗ \pi_* π

对于蒙特卡罗方法而言,迭代动作价值函数 Q Q Q 是通过平均所有采样的完整序列中出现的所有状态动作对的价值,而对于每个完整状态序列,在状态 s s s 下动作 a a a 的价值等于做出该动作后的即时奖励加上后续的期望状态价值,因此,每次迭代计算状态动作对的估计价值,需要先计算状态动作的后续状态价值 G t G_t Gt,可以通过奖励衰减因子 γ \gamma γ,后续每个动作的即时奖励 R t R_t Rt,以及结束状态的状态价值,通过如下式子倒推得到:

G t = R t + γ R t + 1 + γ 2 R t + 2 . . . γ T − t R T G_t=R_t+\gamma R_{t+1}+\gamma^2R_{t+2}...\gamma^{T-t}R_T Gt=Rt+γRt+1+γ2Rt+2...γTtRT

这里有些资料会写成 G t = R t + 1 + γ R t + 2 + γ 2 R t + 3 . . . γ T − t − 1 R T G_t=R_{t+1}+\gamma R_{t+2}+\gamma^2R_{t+3}...\gamma^{T-t-1}R_T Gt=Rt+1+γRt+2+γ2Rt+3...γTt1RT,认为这个即时奖励是做出动作之后获得的,因此下标将奖励视作是下一阶段的,而本人习惯认为即时奖励是当前阶段的,两种写法下标有所不同,但式子含义相同。

而时序差分法TD,顾名思义,就是通过延申部分状态序列的差值信息来预测(近似)未知的信息。对于不完整状态序列,由于不确定结束状态是什么,因此也不知道各个状态与结束状态之间的距离,无法像蒙塔卡罗方法那样,从结束状态倒推出各个状态的价值。时序差分法就是在这样的背景下,采用连续状态之间的差分进行估计出各个状态价值,递推关系如下:

G t = R t + γ v ( S t + 1 ) G_t=R_t+\gamma v(S_{t+1}) Gt=Rt+γv(St+1)

这里有一个关键点是,如果在不完整序列当中,某状态没有后续状态,则将该状态的后续状态估计价值设为 0 0 0。因此基于该式子,可以得到各个不完整状态序列中的状态动作对的估计价值。另一个与蒙塔卡罗方法有差异的地方是,蒙特卡罗方法由于采样的都是完整的状态序列,因此可以明确每种状态序列下必然出现的状态次数,最终在计算状态的平均估计价值时,可以准确地知道状态的所有出现时价值的平均值。然而对于不完整状态序列,统计状态的出现次数地意义并不大,而是通过学习了率 α \alpha α 来替代蒙特卡罗方法中的 1 / N 1/N 1/N,值迭代式子如下:

v ( s ) = v ( s ) + α ( G t − v ( s ) ) Q ( s , a ) = Q ( s , a ) + α ( G t − Q ( s , a ) ) v(s)=v(s)+\alpha \left( G_t-v(s)\right)\\ Q(s,a)=Q(s,a)+\alpha (G_t-Q(s,a)) v(s)=v(s)+α(Gtv(s))Q(s,a)=Q(s,a)+α(GtQ(s,a))

总的而言,时序差分法为了支持不完整状态序列的计算,采用了前后连续状态价值之间关系来计算各个状态价值;以及用 α \alpha α 替代了状态出现次数的倒数。接着将会以一个简单的案例,演示时序差分法的计算过程。

2. 利用时序差分法求解最优价值函数

时序差分法 TD 基于的是状态序列当中连续的状态的估计价值之间的关系迭代计算的。对于每个状态序列而言,最后的状态并不确定是否是结束状态,即使在所有的状态序列中都是以某个状态作为结尾,使用的也是 TD 公式。从这里可以看出,时序差分的方法相比蒙特卡罗方法的灵活性更高,不需要确认状态序列是否为完整序列都可以直接计算,因此目前绝大部分的强化学习以及深度强化学习的求解问题的方法都是以时序差分的思想为基础的。

2.1 策略评估(预测)

2.1.1 单步时序差分

接下来先通过一个策略评估的简单案例对比 MC 方法和 TD 方法之间的区别,具体案例如下:假设强化学习的状态空间有 { A , B , C , D } \{ A,B,C, D \} { A,B,C,D} 三个状态,基于已知策略,模拟采样获得以下若干完整序列:

  1. A 2 → B 1 → C 1 → D 1 A_2\rightarrow B_1\rightarrow C_1\rightarrow D_1 A2B1C1D1
  2. B 0 → C 2 → D 2 B_0\rightarrow C_2 \rightarrow D_2 B0C2D2
  3. A 3 → C 0 → D 0 A_3\rightarrow C_0 \rightarrow D_0 A3C0D0

其中,状态的下标表示该状态下,基于已有策略采取动作之后获得的即时奖励。先基于蒙特卡罗方法计算,每个状态序列中状态的收获通过: G t = R t + γ R t + 1 + γ 2 R t + 2 . . . γ T − t R T G_t=R_t+\gamma R_{t+1}+\gamma^2R_{t+2}...\gamma^{T-t}R_T Gt=Rt+γRt+1+γ2Rt+2...γTtRT 计算后,再求平均,令 γ = 1 \gamma=1 γ=1,可得:

v ( A ) = 4 , v ( B ) = 3.5 , v ( C ) = 2 , v ( D ) = 1 v(A)=4,v(B)=3.5,v(C)=2,v(D)=1 v(A)=4,v(B)=3.5,v(C)=2,v(D)=1

基于时序差分法计算,每个状态的收获是根据后续状态的预估价值计算的,先计算没有后续状态的状态 D D D,可得 v ( D ) = 1 v(D)=1 v(D)=1,接着按照式子 G t = R t + γ v ( S t + 1 ) G_t=R_t+\gamma v(S_{t+1}) Gt=Rt+γv(S

资源下载链接为: https://pan.quark.cn/s/f1ead55c4354 以下标题“H5页面模板源码,很错的例子”暗示了我们讨论的主题是关于HTML5页面模板的源代码。HTML5是现代网页开发的核心技术,它提供了丰富的功能和元素,让开发者能够构建出更具交互性、动态性和响应式的网页。“很错的例子”表明这些源码仅具有实用性,还具备一定的教学意义,既可以作为项目开发的直接素材,也能供学习参考。 在描述“H5页面模板源码,非常酷炫的HTML5模板,可以直接使用,也可以参考学习”中,“非常酷炫”意味着这些模板可能融合了诸多高级特性,例如动画效果、媒体元素的运用以及响应式设计等,这些都是HTML5技术的优势所在。可以直接使用表明用户无需从零开始编写代码,能迅速搭建出吸引人的网页。同时,这些模板也适合学习,用户通过查看源代码可以了解特定设计和功能的实现方式,从而提升自身的HTML5开发能力。 标签“H5 手机网页 H5源代码 手机html”进一步明确了主题。“H5”是HTML5的简称,“手机网页”和“手机html”则强调这些模板是针对移动设备优化的。在如今移动优先的时代,适应各种屏幕尺寸和触摸操作的网页设计极为重要。这表明这些源码很可能是响应式的,能够根据设备自动调整布局,以适配手机、平板电脑等多种设备。 从“压缩包文件的文件名称列表”来看,虽然无直接从文件名得知具体源码内容,但可以推测这些文件可能包含多种HTML5模板示例。“错的样子.txt”可能是一个介绍或说明文件,对模板进行简要描述或提供使用指南。而“1-30”这样的命名方式可能意味着有30个同的模板实例,每个模板对应一个独立文件,涵盖多种设计风格和功能,为学习和实践提供了全面的平台。 总的来说,这个资源集合为HTML5开发者或初学者提供了一套实用且酷炫的移动网页模板源代码。这些模板既可以直接应用于项目
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

Lins号丹

点个打赏吧,救救发际线~

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

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

打赏作者

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

抵扣说明:

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

余额充值