深度增强学习David Silver(六)——Value Function Approximation
2017-05-18 15:44
471 查看
本节课主要内容:
Value Function Approximation
Batch Methods
v^(s,w)≈vπ(s)或者q^(s,a,w)≈qπ(s,a)
通过MC或者TD学习更新参数w。
这个方法解决了那两个限制:不需要很多memory来存储;不需要一个一个地求状态行动价值,而是通过函数来求解。
我们考虑使用可微函数逼近,比如线性函数、神经网络、决策树等等,另外,我们需要一种适合于不稳定、不独立分布数据的训练方法。
随机梯度下降是一种最小化损失的参数估计法,利用负梯度方向来决定每次迭代的新的搜索方向,使得每次迭代能使待优化的目标函数损失值逐步减小。设w是一个参数向量,J(w)是w的可微函数。定义J(w)的梯度为:
∇wJ(w)=(∂J(w)∂w1...∂J(w)∂wn)T
Δw=−12α∇wJ(w)
这里加1/2是因为常常通过最小平方差误差来定义J(w)。
设v^(s,w)是估计值,vπ(s)是真实值。
则:
J(w)=Eπ[(vπ(S)−v^(S,w))2],
Δw=−12α∇wJ(w)=αEπ[(vπ(S)−v^(S,w))∇wv^(S,w)],
随机梯度下降法能随机采样梯度:
Δw=α(vπ(S)−v^(S,w))∇wv^(S,w)
定义状态x(S)为特征的向量:
x(S)=(x1(S)...xn(S))T
通过特征的线性组合定义价值函数:
v^(S,w)=x(S)Tw=∑nj=1xj(S)wj
则随机梯度下降法的更新为:
Δw=α(vπ(S)−v^(S,w))∇wv^(S,w)=α(vπ(S)−v^(S,w))x(S)
lookup table是线性价值函数逼近的一个特例。
xtable(S)=(1(S=s1)...1(S=sn))T
w给定了每个状态的值:
v^(S,w)=⎛⎝⎜⎜1(S=s1)⋮1(S=s1)⎞⎠⎟⎟⋅⎛⎝⎜⎜w1⋮wn⎞⎠⎟⎟
以上的vπ(S)是假定有一个监督者给出,但是实际上并没有这样的监督者能给出vπ,在增强学习中,只得到奖励,事实上,我们通过使用目标来代替vπ。
以此类推可以得出行动-价值函数q(s,a,w)的信息。
TD does not follow the gradient of any objective function
This is why TD can diverge when off-policy or using non-linear function approximation
Gradient TD follows true gradient of projected Bellman error
Gradient TD在这六种情况下都收敛到正确值
对于control,如下((打钩)表示不会离最优值差太远):
LS(w)=∑t=1T(vπt−v^(st,w))2=ED[(vπ−v^(s,w))2]
由<状态,价值>对组成经验池:
D=⟨s1,vπ1⟩,⟨s2,vπ2⟩,...,⟨sT,vπT⟩
每次从经验池中sample状态和价值,采用随机梯度下降法更新权值w,直到收敛到最小平方差。wπ=argminwLS(w)
Deep Q-Network(DQN)
DQN使用experience replay(经验回放池)和fixed Q-targets。
根据ϵ-greedy采取行动at。
将 transition (st,at,rt+1,st+1)存储在memory D中。
从D中sample mini-batch的随机的transitions (s,a,r,s′)
根据旧的固定参数w_计算Q-learning targets
通过最小化Q-network和Q-learning targets之间的MSE来最优化。
Li(wi)=Es,a,r,s′∼Di[(r+γmaxa′Q(s′,a′;w−i)−Q(s,a;wi))2]
使用随机梯度下降的变种。
DQN适用于神经网络,因为:经验回放池打破了数据之间的相关性;fixed Q-targets相当于再建立起第二个神经网络。
Value Function Approximation
Batch Methods
Value Function Approximation
增强学习可以用来解决大规模数据集的问题。在之前的问题中,我们通过一个lookup表格来表现价值函数:每个状态都有一个特定值V(s),或者每个状态-动作对都有一个特定值Q(s,a)看。在实际问题中,会遇到两个限制:通常需要存储很多的状态或动作,需要很大的memory;每个都学习速度未免太慢。因此我们想找到一些不受状态空间大小限制的新方法,来估计价值,这个方法是:使用函数逼近,建立一个函数逼近模型,估算出已经到过的那部分空间的函数值以及未知的数据。v^(s,w)≈vπ(s)或者q^(s,a,w)≈qπ(s,a)
通过MC或者TD学习更新参数w。
这个方法解决了那两个限制:不需要很多memory来存储;不需要一个一个地求状态行动价值,而是通过函数来求解。
我们考虑使用可微函数逼近,比如线性函数、神经网络、决策树等等,另外,我们需要一种适合于不稳定、不独立分布数据的训练方法。
随机梯度下降是一种最小化损失的参数估计法,利用负梯度方向来决定每次迭代的新的搜索方向,使得每次迭代能使待优化的目标函数损失值逐步减小。设w是一个参数向量,J(w)是w的可微函数。定义J(w)的梯度为:
∇wJ(w)=(∂J(w)∂w1...∂J(w)∂wn)T
Δw=−12α∇wJ(w)
这里加1/2是因为常常通过最小平方差误差来定义J(w)。
设v^(s,w)是估计值,vπ(s)是真实值。
则:
J(w)=Eπ[(vπ(S)−v^(S,w))2],
Δw=−12α∇wJ(w)=αEπ[(vπ(S)−v^(S,w))∇wv^(S,w)],
随机梯度下降法能随机采样梯度:
Δw=α(vπ(S)−v^(S,w))∇wv^(S,w)
定义状态x(S)为特征的向量:
x(S)=(x1(S)...xn(S))T
通过特征的线性组合定义价值函数:
v^(S,w)=x(S)Tw=∑nj=1xj(S)wj
则随机梯度下降法的更新为:
Δw=α(vπ(S)−v^(S,w))∇wv^(S,w)=α(vπ(S)−v^(S,w))x(S)
lookup table是线性价值函数逼近的一个特例。
xtable(S)=(1(S=s1)...1(S=sn))T
w给定了每个状态的值:
v^(S,w)=⎛⎝⎜⎜1(S=s1)⋮1(S=s1)⎞⎠⎟⎟⋅⎛⎝⎜⎜w1⋮wn⎞⎠⎟⎟
以上的vπ(S)是假定有一个监督者给出,但是实际上并没有这样的监督者能给出vπ,在增强学习中,只得到奖励,事实上,我们通过使用目标来代替vπ。
线性函数逼近 | MC | TD(0) | forward-view TD(λ) | backward-view TD(λ) |
---|---|---|---|---|
target | unbiased | biased | biased | biased |
target | Gt | Rt+1+γv^(St+1,w) | Gλt | Rt+1+γv^(St+1,w) |
Δw | α(Gt−v^(St,w))x(St) | α(Rt+1+γv^(St+1,w)−v^(St,w))x(St) | α(Gλt−v^(St,w))x(St) | Δw=αδtEt δt=Rt+1+γv^(St+1,w)−v^(St,w) Et=γλEt−1+x(St) |
收敛 | 收敛到局部最优,即使是非线性价值函数逼近也收敛到局部最优 | 线性TD(0)收敛到全局最优 |
收敛
接下来讨论收敛的问题,对于prediction,如下(打钩表示收敛到正确之,打叉表示发散):TD does not follow the gradient of any objective function
This is why TD can diverge when off-policy or using non-linear function approximation
Gradient TD follows true gradient of projected Bellman error
Gradient TD在这六种情况下都收敛到正确值
对于control,如下((打钩)表示不会离最优值差太远):
batch methods
梯度下降的方法针对一个sample,更新一次梯度之后就不用了,训练数据得不到充分利用,因此采用batch。这里的损失函数是least squares算法:LS(w)=∑t=1T(vπt−v^(st,w))2=ED[(vπ−v^(s,w))2]
由<状态,价值>对组成经验池:
D=⟨s1,vπ1⟩,⟨s2,vπ2⟩,...,⟨sT,vπT⟩
每次从经验池中sample状态和价值,采用随机梯度下降法更新权值w,直到收敛到最小平方差。wπ=argminwLS(w)
Deep Q-Network(DQN)
DQN使用experience replay(经验回放池)和fixed Q-targets。
根据ϵ-greedy采取行动at。
将 transition (st,at,rt+1,st+1)存储在memory D中。
从D中sample mini-batch的随机的transitions (s,a,r,s′)
根据旧的固定参数w_计算Q-learning targets
通过最小化Q-network和Q-learning targets之间的MSE来最优化。
Li(wi)=Es,a,r,s′∼Di[(r+γmaxa′Q(s′,a′;w−i)−Q(s,a;wi))2]
使用随机梯度下降的变种。
DQN适用于神经网络,因为:经验回放池打破了数据之间的相关性;fixed Q-targets相当于再建立起第二个神经网络。
相关文章推荐
- 【David Silver强化学习公开课】-6:Value Function Approximation
- reinforcement learning,增强学习:Value Function Approximation
- 深度增强学习David Silver(四)——Model-Free Prediction
- 深度增强学习David Silver(五)——Model-Free Control
- 深度增强学习David Silver(九)——Exploration and Exploitation
- 深度增强学习David Silver(二)——马尔科夫决策过程MDP
- Reinforcement Learning_By David Silver笔记六: Value Function Approximation
- 深度增强学习David Silver(三)——动态规划的planning
- 深度增强学习David Silver(一)——介绍
- 深度增强学习David Silver(七)——Policy Gradient
- 深度学习--数据增强
- 深度学习之图像的数据增强
- 深度增强学习方向论文整理
- 深度增强学习(DRL)漫谈 - 从DQN到AlphaGo
- Lua 学习笔记之 function、closure和upvalue
- 深度增强学习Deep Reinforcement Learning (DQN方面)
- 深度增强学习前沿算法思想【DQN、A3C、UNREAL,简介】
- The Activation Function in Deep Learning 浅谈深度学习中的激活函数
- 专访微软邓力:语音识别与非监督深度学习、增强学习、词嵌入、类脑智能
- Deep Reinforcement Learning 深度增强学习资源