强化学习笔记-06 Temporal-Difference TD时分学习

本文是博主对《Reinforcement Learning- An introduction》的阅读笔记,不涉及内容的翻译,主要为个人的理解和思考。

TD学习是现代强化学习方法的核心,其是蒙特卡罗法动态规划法的结合,一方面,其同蒙特卡罗法一样,不需要对于环境完全了解,而是通过从环境交互中学习,另一方面,其类似于动态规划法,根据前一轮的估计中去更新新一轮的估计,而不需要像蒙特卡罗法通过最终的reward来估计更新。可以看出TD学习仍然是类似于generalized policy iteration (GPI) 过程,相比于蒙特卡罗法和动态规划法,其核心不同点在于价值函数的估计。

1. TD学习的预估

首先我们考虑上一节所讨论的蒙特卡罗法的价值估计函数,将其改下为如下迭代更新过程,即新一轮的估计通过前一轮的估计去更新。此时如果更新因子\alpha设置为固定时,称为固定步长的MC方法。

\\ Q_n(s,a)=\frac{\sum_{k=0}^n \rho_k(s,a)G_k(s,a) }{\sum_{k=0}^n \rho_k(s,a)} \\ =\frac{\sum_{k=0}^{n-1} \rho_k(s,a)G_k(s,a) + \rho_n(s,a)G_n(s,a)}{\sum_{k=0}^{n-1} \rho_k(s,a)}\frac{\sum_{k=0}^{n-1} \rho_k(s,a) }{\sum_{k=0}^{n} \rho_k(s,a)} \\ =(Q_{n-1}(s,a)+\frac{\rho_n(s,a)G_n(s,a)}{\sum_{k=0}^{n-1} \rho_k(s,a)})(1-\frac{\rho_n(s,a)}{\sum_{k=0}^{n} \rho_k(s,a)})\\ =Q_{n-1}(s,a) + \frac{\rho_n(s,a)}{\sum_{k=0}^{n} \rho_k(s,a)}(G_n(s,a)-Q_{n-1}(s,a))\\ =Q_{n-1}(s,a) + \alpha (G_n(s,a)-Q_{n-1}(s,a))

此时再考虑动态规划中求解累积收益G的公式,此时s',a'表示下一状态和动作,R表示reward

G_n(s,a)=R + \gamma Q_\pi (s', a')

此时迭代更新的公式可以改写为

\\ Q_{n}(s,a)=Q_{n-1}(s,a) + \alpha (G_n(s,a)-Q_{n-1}(s,a))\\ =Q_{n-1}(s,a) + \alpha (R+\gamma Q_\pi (s',a')-Q_{n-1}(s,a))

其中Q_\pi (s',a')表示最优决策\pi下,这个是不可知的,因此我们只能用当前已知的Q_{n-1} (s',a')来求解。因此这个之间会存在一定偏差。但是我们可以推出当\gamma <1时,这个偏差是可以收敛的。假设\delta_t = R_{t+1}+\gamma Q(S_{t+1},A_{t+1})-Q(S_{t},A_{t}),此时偏差可以写为:

G(S_t,A_t)-Q(S_t,A_t)=R_{t+1} +\gamma G(S_{t+1},A_{t+1})-Q(S_t,A_t) + \gamma Q(S_{t+1},A_{t+1})-\gamma Q(S_{t+1},A_{t+1})\\ =R_{t+1} +\gamma Q(S_{t+1},A_{t+1})-Q(S_t,A_t) + \gamma (G(S_{t+1},A_{t+1})- Q(S_{t+1},A_{t+1}))\\ =\sum_{k=t}^{T-1} \gamma^{k-1}\delta

特别是当更新因子\alpha设置为较少的值时,这个偏差是近似的,理论证明可以收敛到最优的决策函数。

TD学习其结合了动态规划和蒙特卡罗的优点,一方面其不需要对环境建模,另一方面其不需要像蒙特卡罗法一样,需要等待完整采样一轮样本,因此对于一些一轮时间太长或者成本太高的情况下,采用TD学习能加快学习。 

我们完整描述上述的TD学习方法的初始版本,也称之为Sarsa (on-policy TD control)

2. Off-policy

在上一节我们对于累积收益G的估计是真实下一轮状态s'和动作a'确定的,这种方式称为on-policy策略,实际上我们可以参考上一章中off-policy策略,不采用下一轮真实状态,而根据现有价值函数预估一个状态和动作,一种直观的方式是,这种方式也被称为Q-learning。

G(s,a)=R + \gamma \text{max}_{\hat{a}}\ Q (s', \hat{a})

但是取max会带来所谓的Maximization Bias,其是因为取argmax的值往往会大于其实际期望值,即:

\text{max}_{\hat{a}}\ Q (s', \hat{a})\geq E(Q (s', a))\approx Q_\pi(s',a')

因此一方式是不取最大值,而是取期望,即所谓的Expected Sarsa方法,其相较于前者,可以更好地消除随机选择动作所带来的方差,因此会有更为稳定的效果,但同时求期望也增加了计算成本

G(s,a)=R + \gamma \sum_{\hat{a}}\pi(\hat{a}|s')Q (s', \hat{a})

 还有一种方式称为Double Q-learning,其认为Maximization Bias主要是由于分布所带来(有大于期望概率,必然会有小于期望的概率),因为其通过两个独立的Q分布来扭正这个偏差。

G(s,a)=R + \gamma Q_1 (s', \text{argmax}_{\hat{a}}\ Q_2 (s', \hat{a}))

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值