Policy gradient 定理作为现代深度强化学习的基石,同时也是actor-critic的基础,重要性不言而喻。但是它的推导和理解不是那么浅显,不同的资料中又有着众多形式,不禁令人困惑。本篇文章MyEncyclopedia试图总结众多资料背后的一些相通的地方,并写下自己的一些学习理解心得。
引入 Policy Gradient
Policy gradient 引入的目的是若我们将策略
的参数
直接和一个标量
直接联系在一起的话,就能够利用目前最流行的深度学习自动求导的方法,迭代地去找到
来最大化
:
此时,训练神经网络成功地收敛到
时可以直接给出任意一个状态 s 的动作分布。
那么问题来了,首先一个如何定义
,其次,如何求出或者估计
。
第一个问题比较直白,用value function或者广义的expected return都可以。
这里列举一些常见的定义。对于episodic 并且初始都是
状态的情况,直接定义成v值,即Sutton教程中的episodic情况下的定义
进一步,上式等价于
在状态平稳分布下的均值。
其中,状态平稳分布
定义为
另一种定义从trajectory角度出发,公式如下:
即
是一次trajectory,服从以
作为参数的随机变量
对于所有的可能的
求 expected return。这种视角下finite 和 infinite horizon情况略有不同。
Infinite horizon 情况下,通过
的marginal distribution来计算
Finite horizon 情况下,通过每一时刻下
的marginal distribution来计算
关于第二个问题,如何求出或者估计
就是 policy gradient theorem 的主题了。仔细想想确实会有一些问题。一是 reward 随机变量
是离散情况下
还是否存在,再是
不仅取决于agent 主观的
,还取决于环境客观的dynamics model:
当环境dynamics未知时,如何再去求
呢。还有就是如果涉及到状态的分布也是取决于环境dynamics的,计算
也面临同样的问题。
幸好,policy gradient定理完美的解答了上述问题。我们先来看看它的表述内容。
Policy Gradient Theorem
策略梯度定理证明了,无论定义何种
,策略梯度等比于下式,其中
为
下的状态分布。等比系数在episodic情况下为episode的平均长度,在infinite horizon情况下为1。
考虑到系数可以包含在步长
中,
是on policy
的权重,
也可以写成期望形式的等式,注意,下式中
从具体
变成了随机变量,随机概率部分移到了
中了。
Policy Gradient 定理的伟大之处在于等式右边并没有
,或者环境transition model
!同时,等式右边变换成了最利于统计采样的期望形式,因为期望的估算可以通过样本的平均来获得。
但是,这里必须注意的是action space的期望并不是基于
的权重的,因此,继续改变形式,引入 action space的 on policy 权重
,得到2.3式。
将
替换成
,得到2.4式
将
替换成
,由于
得到2.5式
至此,action 和 state space的权重都源自
,期望内的随机变量可以通过
在每一时间 t 采样来无偏估计,这便是大名鼎鼎的 REINFORCE 算法,即Monte Carlo Policy Gradient。
此时,
迭代更新公式为
下面是REINFORCE算法完整流程
Policy Gradient Theorem - Trajectory Form
Trajectory 形式的策略梯度定理也很常见,这里也总结一下,回顾 1.3 式
的定义
最后可以证明出
3.1式中每一时刻 t 中依赖全时刻的
,进一步优化可以证明,时刻 t 只依赖于后续reward sum,即 reward-to-go,
最终的策略梯度定理的形式为:
由于 log-derivative trick的存在,3.2式和2.5式(Sutton 教程中的policy gradient)等价。
和监督学习的联系
Policy Gradient中的
广泛存在在机器学习范畴中,被称为 score function gradient estimator。RL 在supervised learning settings 中有 imitation learning,即通过专家的较优stochastic policy
收集数据集
算法有监督的学习去找到max log likelyhook 的
此时,参数迭代公式为
对照Policy Graident RL,on-policy
产生数据集
目标是最大化on-policy
分布下的expected return
对照2.7式
的更新公式,2.7式可以写成如下4.3式
对比 4.3 和 4.2,发现此时4.3中只多了一个权重系数
。
关于
或者
有一些深入的理解。
首先policy gradient RL 不像supervised imitation learning直接有label 作为signal,PG RL必须通过采样不同的action获得reward或者return作为signal,即1.4式中的
广义的score function gradient estimator 对于形式为5.2的函数期望求gradient。对比上式,PG RL ,
视为reward 随机变量,期望是under on-policy
。
以下是score function gradient estimator的推导,这里不做赘述,主要利用了3.3式的 log-derivative trick。
Policy Gradient 工作的机制大致如下
首先,根据现有的 on-policy
采样出一些动作 action 产生trajectories,这些trajectories最终得到反馈
用采样到的数据通过R加权来代替imitation learning的labeled loss
最后,由于采样到的action分布服从于
,除掉
的项:
此时,采样的均值可以去无偏估计2.2式中的Expectation。
欢迎大家联系CreateAMind 公众号,点击 加入我们,CreateAMind欢迎有志的你!