如何解释policy gradient中的baseline具有降低variance的作用

本文深入探讨了强化学习中Policy Gradient方法的核心原理,特别是REINFORCE算法。详细解析了通过引入Baseline来降低梯度方差的技术细节,并通过具体例子阐述了如何从全局角度理解Baseline的作用。
部署运行你感兴趣的模型镜像


在增强学习中有一大类方法叫policy gradient,最典型的是REINFORCE。

在这类方法中,目标函数J(w)(通常是the expectation of long term reward)对policy参数w的gradient为:

▽J(w) 

== E[ ▽logπ(a|s) * return ]

== E[ ▽logπ(a|s) * (return-baseline)]

~=计算N个sample的 ▽logπ(a|s) *(return-baseline)平均

~=计算N个sample的 ▽logπ(a|s) * (Q(s,a)-baseline)平均

前两个等式是==号,说明增加一个constant baseline对expected policy gradient无影响,因为 E[ ▽logπ(a|s) * (baseline)] = 0。但由于我们只能sample少量的样本近似计算policy gradient,也就意味着这样计算出来的gradient的variance很大。因为return-baseline、return-2*baseline、return+0.6*baseline对更新▽logπ(a|s)起到的作用是不同的(这是sample和真正的expectation的区别)。

注意,是policy gradient基于sample方法计算出来的gradient的variance很大,并不是因为添加了baseline让variance变大了!!!这一点一定要明确。否则就没有baseline可以降低variance这一说了。


那baseline是怎么降低variance的呢?

首先是经典解释方法,我们常把V(s)当做baseline,也就是average_a{Q(s,a)}当做baseline,这意味着Q(s,a)大于V(s)所对应的a对π(a|s)有提升作用,Q(s,a)小于V(s)所对应的a对π(a|s)有降低作用,尽管不同的a对应的long time return都是正值。

其次,baseline降低variance可以从全局考虑,而不是局限于某一个state所对应的action的Q(s,a)。给个直观的例子,在s1下a1,a2,a3对应的Q分别是200,210,220,在s2下a1,a2,a3对应的Q分别是105,110,115;如果只是单纯的考虑某一个state,比如s1,那么200,210,220和-10,0,10(减去baseline=210后得到)这两组数据的variance其实是一样的;相反,如果从全局考虑,既考虑多个状态,那么200,210,220,105,110,115和-10,0,10,-5,0,5这两组数据的variance显然后者更小。(注意,-5,0,5是s2下Q值减去baseline得到的,因为是不同的state,减去不同的baseline是reasonable的)





您可能感兴趣的与本文相关的镜像

Dify

Dify

AI应用
Agent编排

Dify 是一款开源的大语言模型(LLM)应用开发平台,它结合了 后端即服务(Backend as a Service) 和LLMOps 的理念,让开发者能快速、高效地构建和部署生产级的生成式AI应用。 它提供了包含模型兼容支持、Prompt 编排界面、RAG 引擎、Agent 框架、工作流编排等核心技术栈,并且提供了易用的界面和API,让技术和非技术人员都能参与到AI应用的开发过程中

强化学习中的策略梯度(policy gradient)是一种基于优化策略的方法,它直接对策略进行优化,而不是先估计值函数,再通过值函数来优化策略。策略梯度方法可以解决连续动作空间的问题,并且可以处理高维状态空间的问题。 策略梯度方法的主要思想是通过梯度上升来优化策略,即不断地调整策略参数,使得策略获得更高的奖励。这个过程可以通过计算策略在当前状态下采取各个动作的概率,然后根据奖励函数来更新策略参数。 策略梯度方法的优点是可以处理连续动作空间和高维状态空间的问题,并且可以处理非凸、非线性的问题。但是,策略梯度方法的缺点是收敛速度慢,容易陷入局部最优解。 以下是一些关于RL-Policy Gradient的资料: 1. Reinforcement Learning: An Introduction(强化学习:导论)书籍中关于Policy Gradient的章节:https://web.stanford.edu/class/psych209/Readings/SuttonBartoIPRLBook2ndEd.pdf 2. Policy Gradient Methods for Reinforcement Learning with Function Approximation论文:https://papers.nips.cc/paper/1713-policy-gradient-methods-for-reinforcement-learning-with-function-approximation.pdf 3. Deep Reinforcement Learning: Pong from Pixels论文:https://arxiv.org/pdf/1312.5602.pdf 4. Policy Gradient Methods for Robotics论文:https://arxiv.org/pdf/1709.06009.pdf 5. RL-Adventure-2:Policy Gradient Algorithms Pytorch实现的代码:https://github.com/higgsfield/RL-Adventure-2 6. Policy Gradient Algorithms笔记:https://lilianweng.github.io/lil-log/2018/04/08/policy-gradient-algorithms.html
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值