【David Silver强化学习公开课】-6:Value Function Approximation

一、介绍

找到一种适应真实情况(很大的状态空间)的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π 和估计的价值函数的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是 Gt Gt;而TD(0)中,target是 Rt+γV(St+1,w) Rt+γV′(St+1,w);TD(λ)中,target是 Gλt Gtλ

所以,我们采用逼近式的策略评估过程时,相当于采用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/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值