时序差分算法(一)

时序差分算法是解决BOE问题的又一大工具,它的英文是Temporal Difference Learning,通常简写为TD Learning。我们开始学习这个算法。这节课需要做一些预备。

1

Robbins-Monro算法

RM算法是随机近似(Stochastic Approximation)领域的开创性算法,由 Herbert Robbins 和 Sutton Monro 于1951年提出。它是一种迭代方法,用于在‌无法直接观测目标函数或其梯度‌的情况下,仅通过带有噪声的观测值,逐步逼近某个目标参数(如方程的根或函数的极值点)。

其算法表达如下:

如果g(w)能知道梯度的话,RM算法退化为梯度下降法:

上一节的MC ε-greedy算法里面,更新动作价值函数其实就是RM算法的一种特例:

为什么?逻辑如下:

2

引出TD算法

对上面随机变量求期望利用RM算法的思想进行拓展,可以得到求v(X)期望的RM算法:

我们加上奖励函数和状态价值函数,可以得到:

现在,我们可以给出TD learning算法的形式:

我们对红色部分进行拆分理解:

为什么绿色部分称为时序差分TD的目标,我们能推导:

蓝色部分是误差:

这里要说明的是求条件概率期望下是怎么转换的(就是上图红色到蓝色的转换):

在第一步的表达式 δπ,t中,st+1是单次采样得到的一个具体“观测值”或“实现值”。而当我们求它的条件期望 E[⋅∣St=st]时,我们是在对“给定当前状态 st”这一条件下,所有可能出现的 st+1(及其对应的奖励)进行加权平均。因此,在期望符号内,必须将下一个状态视为一个随机变量 St+1,而不是它的某个具体取值。

综上,我们知道了在给定策略下,时序差分TD估计状态价值函数的方法。它的核心思想是利用连续时间步长(Temporal)上预测值之间的差异(Difference)来进行学习

3

理解TD公式

上面我们回答了TD算法是什么,现在我们还要回答为什么。一句话说清楚:TD算法本质在求解贝尔曼公式。

注:这一节我们介绍是某个策略下求解状态价值函数,所以说是求解贝尔曼公式(而不是贝尔曼最优公式)。也就是策略评估这一步,下一节会介绍策略改进!

回顾贝尔曼公式:

我们对贝尔曼公式使用RM算法:

黄色部分就是DT算法公式。它通过 “利用序列经验” 和 “使用自身估计进行自举” 这两种方式,摆脱了对预先知识或重置环境的依赖,从而能够在在线、增量的环境中,直接从原始经验流中学习状态价值。

4

TD VS MC

最后比较一下TD算法与MC算法的差异:

简单来说,TD(时序差分) 就像“走一步看一步”,MC(蒙特卡洛) 就像“走完全程再算总账”。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

整得咔咔响

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

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

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

打赏作者

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

抵扣说明:

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

余额充值