本节课主要介绍:
- Monte-Carlo Learning
- Temporal-Difference Learning
-
TD(λ)
Lecture03讲到了已知环境的MDP,也就是做出行动之后知道到达哪个状态及奖励,但是现实中大部分情况下状态和奖励是未知的,这种情况称为model-free,即环境模型未知。本节课探讨prediction,估计未知环境的MDP的价值函数,下节课讲control。
Monte-Carlo Learning
Monte-Carlo是不知道MDP的转移函数及奖励,直接从过去的episode中进行学习的方法。一个episode指从开始到结束:
- MC学习完整的过程,没有bootstrap,也就是要等一个episode完成了,MC才开始学习。
- 之前讲到return
Gt=Rt+1+γRt+2+...+γT−1RT ,并且价值函数等于return的期望:vπ(s)=Eπ[Gt|St=s] 。MC估计的价值等于return的平均值。平均值和期望的差别在于:平均值是一个统计学概念,是实验后根据实际结果统计得到的样本的平均值;期望是一个概率论概率,是实验前根据概率分布“预测”的样本的平均值。
MC的状态s的价值评估过程如下:
for state
for time-step t:
在某些不稳定的问题中,可以用
当经过足够的循环,
Temporal-Difference Learning
Temporal-Difference也不知道MDP的转移函数及奖励,但是它不需要等episode结束就可以学习。
TD的目标是
比较
| 比较项目 | Monte-Carlo | Temporal-Difference |
|---|---|---|
| 相同点 | 从经验池中学习;model-free; | 从经验池中学习;model-free; |
| 不同点 | 从完整的episode中学习,没有bootstrap; 价值=return的均值; 根据真实的return |
从不完整的episode,使用bootstrap; 基于估计的值更新另一个值; 根据估计的返回值 |
| 优缺点 | 高方差,零误差(因为根据真实值来计算的); 具有很好的收敛效果; 对初始值不敏感; 在non-Markov环境中比较高效 |
低方差,有误差; 比MC高效; TD(0)收敛到 对初始值更敏感; 充分利用了Markov性质,在Markov环境中比较高效 |
以下是MC、TD和DP的对比:
| 比较 | MC | TD | DP |
|---|---|---|---|
| bootstrap:update involves an estimate | no | yes | yes |
| sample:update samples an expectation | yes | yes | no |
TD(λ )
定义经过n步之后的return和价值函数:
其中权值相加等于1:
当
假设在一个episode中,在时间k,经过状态s,则:
此时online的更新累加的error为:
updates分为offline和online:
-
Offline的更新在一个episode里面累加,但是只在episode结束后应用;对于offline更新的和,forward-view和backward-view
TD(λ) 相等:∑Tt=1αδtEt(s)=∑Tt=1α(Gλt−V(St))1(St=s) Online的更新在一个episode的每一步应用。forward-view和backward-view
TD(λ) 略有不同。- Exact online
TD(λ) achieves perfect equivalence.
最后总结一下forward