【David Silver强化学习公开课】-6:Value Function Approximation
2018-01-17 06:30
246 查看
一、介绍
找到一种适应真实情况(很大的状态空间)的RL方法,之前的价值函数表示是通过一个S×A的表(Table)来表示Q(s,a)。状态空间很大时,这种表示内存占用过大,而且单独学习每个state的价值函数太慢了。而且在遇到没有见过的状态时,表现会很差(缺少泛化能力)。
二、价值函数逼近-Incremental
Online
使用参数化的价值函数V’(s,w)来逼近V(s),或者Q’(s,a,w)逼近Q(s,a)。常用的方法有:特征线性组合,神经网络等。那么我们就需要不断的优化这个逼近函数。训练逼近函数的过程中,还要注意数据non-stationary和non-iid的性质。
梯度下降,以真实价值函数vπvπ和估计的价值函数的MSE作为objective,用GD进行训练。(这里用V函数举例,对Q函数同理)
J(W)=Eπ[(vπ(s)−v′(s,w))2]J(W)=Eπ[(vπ(s)−v′(s,w))2]
但是,在RL中,真实价值函数是不知道的,因此在实际使用中,我们在不同的方法中使用不同的target:
MC中,target是GtGt;而TD(0)中,target是Rt+γV′(St+1,w)Rt+γV′(St+1,w);TD(λ)中,target是GλtGtλ。
所以,我们采用逼近式的策略评估过程时,相当于采用MC或者TD的target,并用GD的训练方式得到一个与真实价值函数相近的函数。
三、价值函数逼近-batch
method
从乱序的数据集D中采样状态价值对,然后用来优化逼近函数。这里的优化目标是所有样本的MSE经验期望(均值)。乱序+采样,减弱了样本之间本来的相关性。
这个部分介绍的内容也就是DQN中使用的experience replay。
第二个DQN中使用的部分就是fixed Q-target,使用两个相同的神经网络,但是计算target的网络参数较老,定期从learning网络更新参数。因为target老是更新的话,不会稳定。这个trick其实理论依据不强,主要是实践中效果比较好。
从最后给出的表格可以看出,DQN的训练非常依赖这两个trick,没有这两种变化的话,效果不怎么好。
原文地址: http://cairohy.github.io/2017/09/04/deeplearning/%E3%80%8ADavid%20Silver%E5%BC%BA%E5%8C%96%E5%AD%A6%E4%B9%A0%E5%85%AC%E5%BC%80%E8%AF%BE%E3%80%8B-6%EF%BC%9AValue%20Function%20Appro/
相关文章推荐
- 深度增强学习David Silver(六)——Value Function Approximation
- David Silver强化学习公开课】-2:MDP
- 【David Silver强化学习公开课】-8:Integrating Learning and Planning
- reinforcement learning,增强学习:Value Function Approximation
- 【David Silver强化学习公开课】-3:DP
- David Silver强化学习公开课之二 马尔科夫决策过程
- Reinforcement Learning_By David Silver笔记六: Value Function Approximation
- 【David Silver强化学习公开课】-4:Model-Free Prediction
- 【David Silver强化学习公开课之一】强化学习入门
- 浅谈强化学习中的函数估计问题 - Function Approximation in RL
- 【David Silver强化学习公开课】-5:Model-Free Control
- David Silver强化学习公开课之一 强化学习入门
- 【David Silver强化学习公开课】-7:Policy Gradient
- [Reinforcement Learning] Value Function Approximation
- David Silver强化学习课程笔记(六)
- 菜鸟学习笔记——function(index,value)的困扰
- David Silver 强化学习RL笔记
- Lua 学习笔记之 function、closure和upvalue
- David Silver强化学习课程笔记(三)
- 强化学习基础学习系列之求解MDP问题的value-base方法