基础算法篇(四),值函数逼近方法解决强化学习问题

时序差分方法那一章的最后,我们对前面介绍的动态规划(DP)、蒙特卡洛(MC)和时序差分(TD)等算法进行了总结,其中提到了在上述算法中,其实都需要精确的求出几乎每个状态价值或状态-行为值(类似于算法需要维护一张Q表)。那么这就带来了一个问题,如果要解决的强化学习问题状态价值特别多,或者本身就是个连续值。那么,这个Q表就会变得特别大,以至于程序无法维护(内存溢出或者查询更新效率奇低)。那么,有没有什么方法解决这一问题呢?

值函数逼近方法介绍

既然Q表是离散形式的,我们能够直接想到的方法,就是构造一个函数对其进行拟合,那么就不需要去维护巨大的Q表,而是用这个函数来代替即可。从数学角度这一方法被称为函数逼近法,具体又可以分为参数逼近和非参数逼近两种。其中非参数逼近法是基于样本数据推测未知数据的一种方法,主要包括基于核函数的方法和基于高斯过程的方法,基本概念可参见这里
我们在这里重点介绍参数逼近法:

  • v ^ ( s ; ω ) ≈ v π ( s ) \widehat v\left(s;\omega\right)\approx v_{\mathrm\pi}\left(s\right) v (s;ω)vπ(s)
  • q ^ ( s , a ; ω ) ≈ q π ( s , a ) \widehat q\left(s,a;\omega\right)\approx q_{\mathrm\pi}\left(s,a\right) q (s,a;ω)qπ(s,a)

用参数 ω \omega ω来表示相关函数,在学习过程中通过不断更新参数,使得向真实的 v π ( s ) v_{\mathrm\pi}\left(s\right) vπ(s) q π ( s , a ) q_{\mathrm\pi}\left(s,a\right) qπ(s,a)逼近。这里对于 v ^ ( s ; ω ) \widehat v\left(s;\omega\right) v (s;ω) q ^ ( s , a ; ω ) \widehat q\left(s,a;\omega\right) q (s,a;ω)的近似方法有很多,其中包括线性法、决策树、傅立叶变换、以及神经网络等。而深度神经网络由于其可拟合任意函数的特性,使得其成为现在应用最广泛的一种。
其中将时序差分中的off-policy方法Q-Learning,与深度神经网络相结合而产生的Deep Q-Learning(DQN&#

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值