关于Policy Gradient的理解

作者因对Policy Gradient原理理解模糊,重新进行梳理。以UCL的David Silver课件的符号体系为准,介绍了Markov Decision Process (MDP) 的定义、policy和return概念、Value function的两种定义及转换,还阐述了Policy Gradient的目标函数、求梯度方法及实际优化算法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

转自:https://www.jianshu.com/p/af668c5d783d

虽然前段时间稍微了解过Policy Gradient,但后来发现自己对其原理的理解还有诸多模糊之处,于是希望重新梳理一番。
Policy Gradient的基础是强化学习理论,同时我也发现,由于强化学习的术语众多,杂乱的符号容易让我迷失方向,所以对我自己而言,很有必要重新确立一套统一的符号使用习惯。UCL的David Silver可谓是强化学习领域数一数二的专家(AlphaGo首席研究员),他的课程在网上也大受欢迎,因此我接下来用于讨论问题的符号体系就以他的课件为准。
Markov Decision Process (MDP)
在概率论和统计学中,Markov Decision Processes (MDP) 提供了一个数学架构模型,刻画的是“如何在部分随机,部分可由决策者控制的状态下进行决策”的过程。强化学习的体系正是构建在MDP之上的。

在这里插入图片描述

MDP的定义

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

在这里插入图片描述

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算法,对

在这里插入图片描述

进行无偏采样,记为

在这里插入图片描述

,因此可以把期望项去掉,参数更新的公式为:
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值