Chapter 6. Temporal-Difference Learning


时序差分算法(TD)是强化学习中的核心和新颖的算法。
TD特点:
(1).无需完整的环境模型;
(2).bootstrap(判断一个状态的值要依赖其它状态的估计值)。
是 DP 和 MC 的结合。


policy evaluation: prediction problem.
control problem: find an optimal policy.


6.1 TD Prediction

问题描述
解释何为TD,TD 与 MC 以及 DP 的区别 。

1.TD 与 MC 的比较
相同之处:
TD 和 MC 都用经验来解决预测问题。也就是说估计 V ( s t ) V(s_t) V(st) s t s_t st(非终止态) 值的时候,都会用其之后遍历过的状态来估计 s t s_t st的值。
都是 sample-backups。

不同之处:
(1)更新时刻(target):
MC:等到一个 episode 的终止状态时,将返回的累加奖励用于更新。
公式上的体现如下:
constant - α \alpha α MC: $ V(s_t) \leftarrow V(s_t) + \alpha[R_t - V(s_t) ]$
MC 只有当 R t R_t Rt知道了之后才对上述式子更新,也就是等到 episode 的终止状态的时候。


TD:不用等到一个 episode 的终止,下一个时刻( t + 1 t+1 t+1)就可以更新。
公式上的体现如下:
TD(0): V ( s t ) ← V ( s t ) + α [ r t + 1 + V ( s t + 1 ) − V ( s t ) ] V(s_t) \leftarrow V(s_t) + \alpha[r_{t+1} + V(s_{t+1}) - V(s_t)] V(st)V(st)+α[rt+1+V(st+1)V(st)]

TD 更新项为 r t + 1 + V ( s t + 1 ) r_{t+1} + V(s_{t+1}) rt+1+V(st+1),要用到下一个时刻的瞬时奖励和下一个时刻所处状态的估计值,所以下一个时刻就可以更新,而且从中可以看出 TD 是 bootstrap 的。

V π ( s ) = E π { R t ∣ s t = s } ( 6.1.1 ) = E π { ∑ k = 0 ∞ γ k r t + k + 1 ∣ s t = s } = E π { r t + 1 + γ ∑ k = 0 ∞ γ k r t + k + 2 ∣ s t = s } = E π { r t + 1 + γ V π ( s t + 1 ) ∣ s t = s } ( 6.1.2 ) \begin{aligned} V^\pi(s) &= E_\pi\{R_t | s_t=s\} \qquad(6.1.1)\\ &= E_\pi\{\sum_{k=0}^\infty \gamma^k r_{t+k+1} | s_t = s\} \\ &= E_\pi\{r_{t+1} + \gamma\sum_{k=0}^\infty \gamma^k r_{t+k+2} | s_t=s\} \\ &= E_\pi\{ r_{t+1} + \gamma V^\pi(s_{t+1}) | s_t =s\} \qquad(6.1.2) \end{aligned} Vπ(s)=Eπ{Rtst=s}(6.1.1)=Eπ{k=0γkrt+k+1st=s}=Eπ{rt+1+γk=0γkrt+k+2st=s}=Eπ{rt+1+γVπ(st+1)st=s}(6.1.2)

上述中 MC 的目标是(6.1.1),而 TD 的目标是 (6.1.2)。

Tabular TD(0) for estimating
Tabular TD(0) for estimating V π V^\pi Vπ

The backup diagram for TD(0)
The backup diagram for TD(0)


例子(Driving Home example)解释:
Changes recommended by Monte Carlo methods in the driving home example
Changes recommended by Monte Carlo methods in the driving home example

Changes recommended by TD methods in the driving home exampleChanges recommended by TD methods in the driving home example


2.TD 与 DP的比较
不同之处:
DP:
full-backup,基于完整的所有后续节点。
TD:
sample-backup,只基于下一个采样的后续节点。


**3.TD 是 DP 和 MC 的结合** MC的目标是估计值是因为真实的状态期望值是不知道的,我们用采样的数据来代替真实的状态期望值。 DP 的目标是估计值是因为下一个状态的 state-value function是不知道的,我们采用当前对其的估计值来代替真实的期望值。 TD则是 采用采样的期望值估计和 利用当前的估计值来预测。 it samples the expected value and it uses the current estimate $V_t$ instead of the true $V^\pi$.

6.2 Advantages of TD Prediction Methods

问题描述
TD算法的优点。


TD 优于 DP 之处在于不须对模型有完整的掌握,即 P s s ′ a P_{ss'}^a Pssa R s s ′ a R_{ss'}^a Rssa的分布不必事先完全知道。
TD 优于 MC 之处在于递增更新。

TD 与 MC 都收敛,那么谁的收敛速度更快呢?或者说谁学习得更快?
目前,数学上无证明。实际应用中,TD 比 constant- α \alpha α MC 收敛快。


6.3 Optimality of TD(0)

问题描述
TD(0)算法的优点。

当采样数据少的时候,使用TD(0)算法,我们可以利用其特性反复使用可用的数据进行迭代训练。
batch updating:
updates are made only after processing each complete batch of training data.

6.3-143

batch MC: 计算的是最小化均方差
batch TD: 计算的是最大化似然估计。

TD 比 MC 快的原因在于 TD 计算的是真的确定性等价预测。
compute the true certainty-equivalence estimate.


6.4 TD Control

问题描述
如何利用TD思想来找寻最优策略? 主要介绍 on-policy 和 off-policy 下的两种典型算法,分别为Sarsa 算法和 Q-learning 算法。


我们考虑控制决策问题时,采用的基本思想仍是GPI。

1.Sarsa:On-Policy TD Control
学习的是 action-value function 而不是 state-value function。
sarsa

我们考虑的是从 state-action pair 到 state-action pair 的转移,然后从中学习 state-value pairs的值。

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[r_{t+1} + \gamma Q(s_{t+1},a_{t+1}) - Q(s_t,a_t)] Q(st,at)Q(st,at)+α[rt+1+γQ(st+1,at+1)Q(st,at)]
s t + 1 s_{t+1} st+1是终止状态时,规定 Q ( s t + 1 , a t + 1 ) Q_(s_{t+1},a_{t+1}) Q(st+1,at+1) = 0。
我们从五元组中就可以得到从某个状态到下一个状态的转移的信息。这也是Sarsa算法名称的由来。
sarsa: on-policy
Sarsa:An on-policy TD control algorithm.


2.Q-learning:Off-Policy TD Control
Q-learning(Watkin, 1989).
这一节讲述one-step Q-learning.

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[r_{t+1} + \gamma \max\limits_a Q(s_{t+1},a) -Q(s_t,a_t)] Q(st,at)Q(st,at)+α[rt+1+γamaxQ(st+1,a)Q(st,at)]

Q-learning
Q-learning:An off-policy TD control algorithm.

backup for Q-learning
The backup diagram for Q-learning


6.5 Actor-Critic Methods

问题描述
actor-critic method 的基本思想。

actor-critic method是 Policy Gradient(actor) 和 Function Approximation(critic) 的结合。
actor:the policy structure select actions.
基于概率选行为。
critic:the estimated value function critizes the actions.
基于 actor 的行为评判行为的得分。

actor 会根据 critic 的评分修改概率选行为的概率。

actor-critic

actor-critic 优点在于可以进行单步更新,但是缺点是critic 难以收敛。之后的 DDPG(Deep Deterministic Policy Gradient) 对其进行了改进。

所用到的公式:
TD error:
δ t = r t + 1 + γ V ( s t + 1 ) − V ( s t ) \delta_t = r_{t+1} + \gamma V(s_{t+1}) - V(s_t) δt=rt+1+γV(st+1)V(st)
Gibbs softmax method:
π t ( s , a ) = P r { a t = a ∣ s t = s } = e p ( s , a ) ∑ b e p ( s , a ) \pi_t(s,a) = Pr\{a_t=a| s_t=s\} = \frac{e^{p(s,a)}}{\sum_b e^{p(s,a)}} πt(s,a)=Pr{at=ast=s}=bep(s,a)ep(s,a)
p ( s , a ) p(s,a) p(s,a):actor 处于状态 S S S, 选择动作 a a a的概率。
其更新方式:
(1). p ( s t , a t ) ← p ( s t , a t ) + β δ t p(s_t,a_t) \leftarrow p(s_t,a_t) + \beta\delta_t p(st,at)p(st,at)+βδt
(2). p ( s t , a t ) ← p ( s t , a t ) + β δ t ( 1 − π t ( s t , a t ) ) p(s_t,a_t) \leftarrow p(s_t,a_t) + \beta\delta_t(1-\pi_t(s_t,a_t)) p(st,at)p(st,at)+βδt(1πt(st,at))


6.6 R-Learning, Games, Afterstates, and Other Speical Cases

问题描述
对于不带折扣的连续任务,我们可以采用 R-Learning 算法。
Games, Afterstates

R-learning
R-learning:An off-policy TD control algorithm for undiscounted, continuing tasks.

ρ π = lim ⁡ n → ∞ 1 n ∑ t = 1 n E π { r t } \rho^\pi = \lim\limits_{n\rightarrow\infty} \frac{1}{n} \sum\limits_{t=1}^n E_\pi\{ r_t\} ρπ=nlimn1t=1nEπ{rt}


6.9 Summary

TD思想的含义。
TD思想与DP、MC的比较。
TD思想的实现方式。(主要是Sarsa 和 Q-learning。 还有actor-critic method 和 R-learning)



第一版第六章:Richard S. Sutton and Andrew G. Barto.《An Introduction to Reinforcement Learning》
现已有第二版

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
毕设新项目-基于Java开发的智慧养老院信息管理系统源码+数据库(含vue前端源码).zip 【备注】 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用!有问题请及时沟通交流。 2、适用人群:计算机相关专业(如计科、信息安全、数据科学与大数据技术、人工智能、通信、物联网、自动化、电子信息等)在校学生、专业老师或者企业员工下载使用。 3、用途:项目具有较高的学习借鉴价值,不仅适用于小白学习入门进阶。也可作为毕设项目、课程设计、大作业、初期项目立项演示等。 4、如果基础还行,或热爱钻研,亦可在此项目代码基础上进行修改添加,实现其他不同功能。 欢迎下载!欢迎交流学习!不清楚的可以私信问我! 毕设新项目-基于Java开发的智慧养老院信息管理系统源码+数据库(含vue前端源码).zip毕设新项目-基于Java开发的智慧养老院信息管理系统源码+数据库(含vue前端源码).zip毕设新项目-基于Java开发的智慧养老院信息管理系统源码+数据库(含vue前端源码).zip毕设新项目-基于Java开发的智慧养老院信息管理系统源码+数据库(含vue前端源码).zip毕设新项目-基于Java开发的智慧养老院信息管理系统源码+数据库(含vue前端源码).zip毕设新项目-基于Java开发的智慧养老院信息管理系统源码+数据库(含vue前端源码).zip毕设新项目-基于Java开发的智慧养老院信息管理系统源码+数据库(含vue前端源码).zip毕设新项目-基于Java开发的智慧养老院信息管理系统源码+数据库(含vue前端源码).zip毕设新项目-基于Java开发的智慧养老院信息管理系统源码+数据库(含vue前端源码).zip
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值