强化学习 策略梯度方法

一、策略估计方法 行为控制

到目前为止,几乎所有的方法都是基于动作-价值函数的方法,它们都是先学习动作价值函数,然后再根据估计的动作价值函数选择动作,如果没有动作价值函数的估计,那么策略也将不再存在。

下面会讲直接学习参数化的策略,这里给出一个例子:

如果在上述游戏中,游戏者在灰色格子中难以分辨自己的位置,那么如果基于价值函数的方法会得到如下的策略:

在灰色的格子上要么都是左,要么都是右,这很显然不能拿到金币,但如果直接学习策略函数,你用参数 theta 去估计策略函数pi,让他得到行动的概率,那么可以得到如下策略:

策略函数会学到,0.5的概率在灰色各自向左,0.5的概率向右(直接估计策略函数,没有价值函数的存在,根据所在的地点或者颜色,得到各个行动的概率,这就是策略估计方法)

二、价值函数 VS 策略函数

三、评估策略函数 目标函数

即策略函数评估的目标,对于episode形式下的策略函数,如果用参数theta 估计,那么可以是每一幕开始的价值去确定:

对于连续动作下的策略函数,如果用theta 估计,那么可以便是为 每一个时间step下的 平均奖励:

上述的函数d是 在马尔科夫链到达稳态过后 每一个状态出现的概率。

另一种用期望表现的形式为:

总之,要去评估一个策略函数的好坏,仍然是利用返回的 期望 reward去表示。

四、如何求解 策略函数

如果策略函数不能 求导,则使用CEM等方式,下面主要介绍 策略函数能求导的方法:

使用一个小技巧对策略进行求梯度(暂时不考虑策略用什么函数表示),乘上一个pi,再除上一个pi,那么就得到下面的式子:

我们将称为score function。

一般的,我们用softmax函数去表示策略函数(因为可以得到每一个策略的概率),我们用线性函数去表示每一个特征:

那么我们可以将score function得到下面的等式:

那如果在连续的环境下,我们用高斯特征去表示每一个特征,我们可以将score function得到以下的等式:

五、Policy Gradient

我们在三中已经知道,无论如何我们的目标函数都是对rewards 的期望函数,对于单步的MDP problem有(因为只有一个step,所以只有一个reward=r):

又由于(四):

则可以得到:

如果是多步的MDP,由于agent会和环境进行多步的交涉,所以目标函数为(每一次reward的期望):

其中:

我们的目标是对 以参数为theta的评估函数取最大值,以此找到最佳的策略,即:

对函数求偏导:

进一步推导,由于这个P(r;theta)可以用MC的方式用样本去表示:

带入上式,进行求导:

结束。

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值