关于Policy Gradient的理解

虽然前段时间稍微了解过Policy Gradient,但后来发现自己对其原理的理解还有诸多模糊之处,于是希望重新梳理一番。
Policy Gradient的基础是强化学习理论,同时我也发现,由于强化学习的术语众多,杂乱的符号容易让我迷失方向,所以对我自己而言,很有必要重新确立一套统一的符号使用习惯。UCL的David Silver可谓是强化学习领域数一数二的专家(AlphaGo首席研究员),他的课程在网上也大受欢迎,因此我接下来用于讨论问题的符号体系就以他的课件为准。

Markov Decision Process (MDP)

在概率论和统计学中,Markov Decision Processes (MDP) 提供了一个数学架构模型,刻画的是“如何在部分随机,部分可由决策者控制的状态下进行决策”的过程。强化学习的体系正是构建在MDP之上的。

MDP的定义

有了这样的定义,自然引申出policyreturn的概念:
policy的定义

return的定义

Value function

Value function也是MDP中一个非常重要的概念,衡量的是从某个状态开始计算的return期望值,但容易令初学者混淆的是,value function一般有两种定义方式。
一种叫state-value function


另一种叫action-value function,会显式地将当前采取的动作纳入考量之中:

从定义上看,两者显然可以互相转换:


另外,如果仔细观察return的定义



会发现这两种value function其实都可以写成递归的形式:


这又被称为Bellman Equation,把value function分解成了immediate reward加上后续状态的discounted value。

Policy Gradient

强化学习的一类求解算法是直接优化policy,而Policy Gradient就是其中的典型代表。
首先需要讨论一下policy的目标函数。一般而言,policy的目标函数主要有三种形式:

  • 在episodic环境(有终止状态,从起始到终止的模拟过程称为一个episode,系统通过一次次地模拟episode进行学习)中,衡量从起始状态开始计算的value:
  • 在continuing环境(没有终止状态,是一个无限的过程)中,衡量value均值:
  • 不管在哪个环境中,只关注immediate reward,衡量的是每个时刻的平均reward:

以上的


是指状态的概率分布,与policy有关,并且是stationary distribution of Markov chain,意思是这个概率分布不会随着MDP的时间推进而变化。

虽然这三种目标函数形式不同,但最后分析得到的梯度表达式都是一样的。

对目标函数求梯度会用到一个很重要的trick,叫likelihood ratios


对目标函数求梯度最终都是要转化为对policy求梯度,而这个转化的作用是为了凑出
项,便于后续化简出期望项。

一个简单的例子是考虑最基本的情况——单步的MDP,在执行了一个时间单位之后就终止,所得的reward就等于这个时刻的immediate reward,记为

目标函数就采用上述第三种的形式:



利用likelihood ratios推导出梯度是:

有个叫Policy Gradient Theorem的理论表明,无论采用上述哪种目标函数,在多步的MDP下,都有:

在实际的优化中,采用stochastic gradient ascent算法,对

进行无偏采样,记为

,因此可以把期望项去掉,参数更新的公式为:

你可能感兴趣的:(关于Policy Gradient的理解)