一、策略估计方法 行为控制
到目前为止,几乎所有的方法都是基于动作-价值函数的方法,它们都是先学习动作价值函数,然后再根据估计的动作价值函数选择动作,如果没有动作价值函数的估计,那么策略也将不再存在。
下面会讲直接学习参数化的策略,这里给出一个例子:
如果在上述游戏中,游戏者在灰色格子中难以分辨自己的位置,那么如果基于价值函数的方法会得到如下的策略:
在灰色的格子上要么都是左,要么都是右,这很显然不能拿到金币,但如果直接学习策略函数,你用参数 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的方式用样本去表示:
将带入上式,进行求导:
结束。
强化学习 策略梯度方法
最新推荐文章于 2024-08-26 14:48:52 发布