深度增强学习David Silver(四)——Model-Free Prediction
2017-05-15 12:53
441 查看
本节课主要介绍:
Monte-Carlo Learning
Temporal-Difference Learning
TD(λ)
Lecture03讲到了已知环境的MDP,也就是做出行动之后知道到达哪个状态及奖励,但是现实中大部分情况下状态和奖励是未知的,这种情况称为model-free,即环境模型未知。本节课探讨prediction,估计未知环境的MDP的价值函数,下节课讲control。
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 s in an episode:
for time-step t:
N(s)←N(s)+1
S(s)←S(s)+Gt
V(s)=S(s)/N(s)
V(St)还可以用以下方式进行更新:
V(St)←V(St)+1N(St)(Gt−V(St))
在某些不稳定的问题中,可以用α更新:
V(St)←V(St)+α(Gt−V(St))
当经过足够的循环,N(s)→∞,V(s)→vπ(s)
TD的目标是Rt+1+γV(St+1),是vπ(St)的无偏差估计,Gt也是vπ(St)的无偏差估计,其中Rt+1+γV(St+1)的方差比Gt低:Rt+1+γV(St+1)依赖于多次随机的动作、转移、奖励,而Gt只依赖于一次随机的动作、转移、奖励。TD的误差(error)是δt=Rt+1+γV(St+1)−V(St)。
以下是MC、TD和DP的对比:
G(n)t=Rt+1+γRt+2+...+γn−1Rt+n+γnV(St+n)
V(St)←V(St)+α(G(n)t−V(St))
λ-return Gλt使用几何权值(1−λ)λn−1将所有的n-step return加起来:
Gλt=(1−λ)∑n=1∞λn−1G(n)t
其中权值相加等于1:
(1−λ)+(1−λ)λ+(1−λ)λ2+…+(1−λ)λn=1+λn≈1
V(St)←V(St)+α(Gλt−V(St))
TD(λ)分为forward-view和backward-view。Forward-view TD(λ)向前看,往未来的方向更新信息,前面讲的就是forward-view。而Backward-view TD(λ)根据已发生的事情更新信息,和TD-error δt和eligibility trace Et(s)成比例。
δt=Rt+1+γV(St+1)−V(St)
V(s)←V(s)+αδtEt(s)
当λ=0时,只更新当前状态:
Et(s)=1(St=s)
假设在一个episode中,在时间k,经过状态s,则:
Et(s)=γEt−1(s)+1(St=s)={0(γλ)t−kif t < k if t ≥ k
此时online的更新累加的error为:
∑t=1TαδtEt(s)=α∑t=kT(γλ)t−kδt=α(Gλk−V(Sk))
TD(1)近似于Monte-Carlo,如果价值函数更新是offline,那么TD(1)就是MC。
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 TD(λ)和backward TD(λ)(其中相等是指在episode结束之后的更新之和相等):
Monte-Carlo Learning
Temporal-Difference Learning
TD(λ)
Lecture03讲到了已知环境的MDP,也就是做出行动之后知道到达哪个状态及奖励,但是现实中大部分情况下状态和奖励是未知的,这种情况称为model-free,即环境模型未知。本节课探讨prediction,估计未知环境的MDP的价值函数,下节课讲control。
Monte-Carlo Learning
Monte-Carlo是不知道MDP的转移函数及奖励,直接从过去的episode中进行学习的方法。一个episode指从开始到结束:S1,A1,R1,...,Sk。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 s in an episode:
for time-step t:
N(s)←N(s)+1
S(s)←S(s)+Gt
V(s)=S(s)/N(s)
V(St)还可以用以下方式进行更新:
V(St)←V(St)+1N(St)(Gt−V(St))
在某些不稳定的问题中,可以用α更新:
V(St)←V(St)+α(Gt−V(St))
当经过足够的循环,N(s)→∞,V(s)→vπ(s)
Temporal-Difference Learning
Temporal-Difference也不知道MDP的转移函数及奖励,但是它不需要等episode结束就可以学习。TD的目标是Rt+1+γV(St+1),是vπ(St)的无偏差估计,Gt也是vπ(St)的无偏差估计,其中Rt+1+γV(St+1)的方差比Gt低:Rt+1+γV(St+1)依赖于多次随机的动作、转移、奖励,而Gt只依赖于一次随机的动作、转移、奖励。TD的误差(error)是δt=Rt+1+γV(St+1)−V(St)。
比较
比较项目 | Monte-Carlo | Temporal-Difference |
---|---|---|
相同点 | 从经验池中学习;model-free; | 从经验池中学习;model-free; |
不同点 | 从完整的episode中学习,没有bootstrap; 价值=return的均值; 根据真实的return Gt更新V(St) | 从不完整的episode,使用bootstrap; 基于估计的值更新另一个值; 根据估计的返回值Rt+1+γV(St+1)更新V(St) |
优缺点 | 高方差,零误差(因为根据真实值来计算的); 具有很好的收敛效果; 对初始值不敏感; 在non-Markov环境中比较高效 | 低方差,有误差; 比MC高效; TD(0)收敛到vπ(s); 对初始值更敏感; 充分利用了Markov性质,在Markov环境中比较高效 |
比较 | MC | TD | DP |
---|---|---|---|
bootstrap:update involves an estimate | no | yes | yes |
sample:update samples an expectation | yes | yes | no |
TD(λ)
定义经过n步之后的return和价值函数:G(n)t=Rt+1+γRt+2+...+γn−1Rt+n+γnV(St+n)
V(St)←V(St)+α(G(n)t−V(St))
λ-return Gλt使用几何权值(1−λ)λn−1将所有的n-step return加起来:
Gλt=(1−λ)∑n=1∞λn−1G(n)t
其中权值相加等于1:
(1−λ)+(1−λ)λ+(1−λ)λ2+…+(1−λ)λn=1+λn≈1
V(St)←V(St)+α(Gλt−V(St))
TD(λ)分为forward-view和backward-view。Forward-view TD(λ)向前看,往未来的方向更新信息,前面讲的就是forward-view。而Backward-view TD(λ)根据已发生的事情更新信息,和TD-error δt和eligibility trace Et(s)成比例。
δt=Rt+1+γV(St+1)−V(St)
V(s)←V(s)+αδtEt(s)
当λ=0时,只更新当前状态:
Et(s)=1(St=s)
假设在一个episode中,在时间k,经过状态s,则:
Et(s)=γEt−1(s)+1(St=s)={0(γλ)t−kif t < k if t ≥ k
此时online的更新累加的error为:
∑t=1TαδtEt(s)=α∑t=kT(γλ)t−kδt=α(Gλk−V(Sk))
TD(1)近似于Monte-Carlo,如果价值函数更新是offline,那么TD(1)就是MC。
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 TD(λ)和backward TD(λ)(其中相等是指在episode结束之后的更新之和相等):
相关文章推荐
- 深度增强学习David Silver(五)——Model-Free Control
- 深度增强学习David Silver(三)——动态规划的planning
- 【David Silver强化学习公开课】-4:Model-Free Prediction
- 深度增强学习David Silver(九)——Exploration and Exploitation
- 深度增强学习David Silver(六)——Value Function Approximation
- 深度增强学习David Silver(一)——介绍
- 深度增强学习David Silver(二)——马尔科夫决策过程MDP
- reinforcement learning,增强学习:Model-Free Prediction
- 深度增强学习David Silver(七)——Policy Gradient
- [翻译]斯坦福CS 20SI:基于Tensorflow的深度学习研究课程笔记,Lecture note 4: How to structure your model in TensorFlow
- [机器学习入门] 李宏毅机器学习笔记-37 (Deep Reinforcement Learning;深度增强学习入门)
- 专访微软邓力:语音识别与非监督深度学习、增强学习、词嵌入、类脑智能
- 深度学习和深度增强学习资源
- 深度学习笔记——深度学习框架TensorFlow之Model(十三)
- The Wide and Deep Learning Model(译文+Tensorlfow源码解析) 原创 2017年11月03日 22:14:47 标签: 深度学习 / 谷歌 / tensorf
- 学习笔记TF053:循环神经网络,TensorFlow Model Zoo,强化学习,深度森林,深度学习艺术
- 学习笔记TF053:循环神经网络,TensorFlow Model Zoo,强化学习,深度森林,深度学习艺术
- 【深度学习】One Model to Learn Them All详解
- 强化学习/增强学习/再励学习介绍 | 深度学习 | 干货分享 | 解读技术
- IBM苏中:怎样利用深度学习、增强学习等方法提高信息处理效率