您的位置:首页 > 移动开发

【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/
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: