RL(八)值函数近似法

前面一章我们讲了Sarsa算法和Q-learning算法。当状态空间和动作空间比较大时,精确获得状态值v(s)和动作值q(s,a)非常困难。此时可以通过寻找状态值或动作值函数的近似函数代替对应的原函数,以降低计算的复杂度。具体可以用线性组合、神经网络等方法来寻找近似函数。

在了解值函数近似方法前,先了解什么是大规模学强化习。

1、大规模强化学习

其实前面所讲的动态规划、蒙特卡罗法和时间差分法都是基于表格的求解方法。一方面,对于动作值函数或者状态值函数的存储,系统需要开辟内存空间进行表格记录。与此同时,对状态值V和动作值Q的检索往往需要进行查表操作。当状态值和动作值数量较多时,会导致表格查找效率极其低下。另一方面,对于状态空间s或者动作空间a较大的任务,难于基于表格进行求解计算,这种问题在现实生活中很常见。

基于表格方法难以求解的强化学习任务,即动作空间或者状态空间巨大的强化学习任务,被称为大规模强化学习任务。

因为大规模强化学习任务的存在,近似求解算法应运而生。近似求解方法寻找优化目标的近似函数而非元和原函数。在保证求解精度的前提下,提高任务的求解效率。能都很好的用于求解大规模强化学习任务。

2、函数近似法概述

数学专业的学生可能比较了解,函数近似是大学课程里比较重要的一门课。在函数近似中,用多项式来逼近函数是各类函数是最为简单也是非常重要的一类近似方法。主要有多项式插值、多项式拟合。

(1)多项式插值:是利用函数f (x)在某区间中已知的若干点的函数值,作出适当的特定函数,在区间的其他点上用这特定函数的值作为函数f (x)的近似值,这种方法称为插值法。如果这特定函数是多项式,就称它为多项式插值。常用的几种多项式差值法有:直接法、拉格朗日插值法和牛顿插值法。
给定n+1个点 (称为插值点),所谓多项式插值就是找到一个多项式(称为插值多项式)
y = P ( x ) = a k x k + a k − 1 x k − 1 + . . . + a 0 y=P(x)=a_kx^k + a_{k-1}x^{k-1} + ... + a_0 y=P(x)=akxk+ak1xk1+...+a0
使得它满足条件:
y i = P ( x i ) y_i = P(x_i) yi=P(xi)
其中,i=0,1,…,n。也就是说,多项式y=P(x)的图像要经过给定的n+1个点。

用拉格朗日插值法对sin(x)函数插值估算,可以用下面的图片表示:
在这里插入图片描述

(2)多项式拟合:在插值问题中考虑给定数据点的误差,要求在用多项式近似代替列表函数时,其误差在某种程度上最小。这里的列表函数表示给定n+1个不同的数据点$(x_0,y_0),(x_1,y_1),…(x_n,y_n),由这组数据表示的函数叫做列表函数。

最简单的拟合就是对拟合出一条直线。如下图所示。
在这里插入图片描述

(3)多项式逼近:为复杂函数寻找近似代替多项式函数,其误差在某种程度意义下最小。
下面的图片是用多项式对 e^ x 进行逼近:
在这里插入图片描述

从几何意义上看,拟合给定若干个离散点,找到一个已知形式但参数未知的连续曲面来最大限度的逼近离散点;而插值是找到一个连续曲面经过给定的离散点。两者都是通过离散点集M上的约束,求取定义在连续集合S上的未知函数,从而达到获取整体规律的逼近函数。

3、值函数近似

了解了函数近似的概率,把它应用于值函数,就是我们的值函数近似。在这里我们引入一个状态价值函数v^, 这个函数由参数w描述,并接受状态s作为输入,计算后得到状态s的价值,即我们期望:
在这里插入图片描述
类似的,引入一个动作价值函数q^,这个函数由参数w描述,并接受状态s与动作a作为输入,计算后得到动作价值,即我们期望:

在这里插入图片描述
价值函数近似的方法很多,最常见的就是线性表示法,我们还可以用决策树,最近邻,傅里叶变换,神经网络来表达我们的状态价值函数。而最常见,应用最广泛的表示方法是神经网络。在用神经网络来做房价预测就是一种简单的函数近似的方法,即拟合出一条大概的房价涨跌趋势。而无论采用什么方法进行值函数的拟合,必须确保该近似函数为可微函数,以及强化学习任务中的数据具有非静态和非独立同分布特性。因为强化学习是基于MDP,即状态是持续的且下一状态与当前状态存在高度的关联性。

值函数近似的类型大概有三种,如下图所示:
在这里插入图片描述
对于状态价值函数,神经网络的输入是状态s的特征向量,输出是状态价值v^(s,w)
对于动作价值函数,有两种方法,一种是输入状态s的特征向量和动作a,输出对应的动作价值q^(s,a,w)
另一种是只输入状态s的特征向量,动作集合有多少个动作就有多少个输出q^(s,ai,w)。这里隐含了我们的动作是有限个的离散动作。常用于估计<状态,动作>对的概率密度。

总结

值函数近似是深度强化学习的基础,了解并掌握是学好深度强化学习的第一步。在之前的学习中,我们的方法都是围绕着值函数来展开的,在之后的学习中,我们会从策略的角度出发来求解强化学习问题。

下一篇:基于策略的强化学习

参考文章:https://www.cnblogs.com/pinard/p/9714655.html

  • 1
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值