RL策略梯度方法之(十七): Stein Variational Policy Gradient (SVPG)

本专栏按照 https://lilianweng.github.io/lil-log/2018/04/08/policy-gradient-algorithms.html 顺序进行总结 。



斯坦变分策略梯度

S V P G \color{red}SVPG SVPG :[ paper:Stein Variational Policy Gradient | code ]


原理解析

这是一种 应用Stein变分梯度下降法更新策略参数的算法。

在最大熵策略优化设置中, θ \theta θ 被认为是一个随机变量,服从于: θ ∼ q ( θ ) \theta \sim q(\theta) θq(θ),模型期望学到 分布 q ( θ ) q(\theta) q(θ);假设我们知道一个先验知识,即 q q q 看起来像 q 0 q_0 q0,我们想要引导学习过程使得 θ \theta θ 这套参数的分布 接近于 q 0 q_0 q0,即优化以下目标函数
J ^ ( θ ) = E θ ∼ q [ J ( θ ) ] − α D KL ( q ∥ q 0 ) \hat{J}(\theta) = \mathbb{E}_{\theta \sim q} [J(\theta)] - \alpha D_\text{KL}(q\|q_0) J^(θ)=Eθq[J(θ)]αDKL(qq0)

其中,当 θ ∼ q ( θ ) \theta \sim q(\theta) θq(θ) 时, E θ ∼ q [ R ( θ ) ] \mathbb{E}_{\theta \sim q} [R(\theta)] Eθq[R(θ)] 是 期望回报; D K L D_{KL} DKL 是 KL 散度。

如果我们没有任何先验信息,我们可以将 q 0 q_0 q0 设为均匀分布,将 q 0 ( θ ) q_0(\theta) q0(θ) 设为常数。那么上述目标函数即为 SAC,其中熵这一个项鼓励探探索:
J ^ ( θ ) = E θ ∼ q [ J ( θ ) ] − α D KL ( q ∥ q 0 ) = E θ ∼ q [ J ( θ ) ] − α E θ ∼ q [ log ⁡ q ( θ ) − log ⁡ q 0 ( θ ) ] = E θ ∼ q [ J ( θ ) ] + α H ( q ( θ ) ) \begin{aligned} \hat{J}(\theta) &= \mathbb{E}_{\theta \sim q} [J(\theta)] - \alpha D_\text{KL}(q\|q_0) \\ &= \mathbb{E}_{\theta \sim q} [J(\theta)] - \alpha \mathbb{E}_{\theta \sim q} [\log q(\theta) - \log q_0(\theta)] \\ &= \mathbb{E}_{\theta \sim q} [J(\theta)] + \alpha H(q(\theta)) \end{aligned} J^(θ)=Eθq[J(θ)]αDKL(qq0)=Eθq[J(θ)]αEθq[logq(θ)logq0(θ)]=Eθq[J(θ)]+αH(q(θ))
J ^ ( θ ) = E θ ∼ q [ J ( θ ) ] − α D KL ( q ∥ q 0 ) \hat{J}(\theta) = \mathbb{E}_{\theta \sim q} [J(\theta)] - \alpha D_\text{KL}(q\|q_0) J^(θ)=Eθq[J(θ)]αDKL(qq0) 关于 q q q 求导:
∇ q J ^ ( θ ) = ∇ q ( E θ ∼ q [ J ( θ ) ] − α D KL ( q ∥ q 0 ) ) = ∇ q ∫ θ ( q ( θ ) J ( θ ) − α q ( θ ) log ⁡ q ( θ ) + α q ( θ ) log ⁡ q 0 ( θ ) ) = ∫ θ ( J ( θ ) − α log ⁡ q ( θ ) − α + α log ⁡ q 0 ( θ ) ) = 0 \begin{aligned} \nabla_q \hat{J}(\theta) &= \nabla_q \big( \mathbb{E}_{\theta \sim q} [J(\theta)] - \alpha D_\text{KL}(q\|q_0) \big) \\ &= \nabla_q \int_\theta \big( q(\theta) J(\theta) - \alpha q(\theta)\log q(\theta) + \alpha q(\theta) \log q_0(\theta) \big) \\ &= \int_\theta \big( J(\theta) - \alpha \log q(\theta) -\alpha + \alpha \log q_0(\theta) \big) \\ &= 0 \end{aligned} qJ^(θ)=q(Eθq[J(θ)]αDKL(qq0))=qθ(q(θ)J(θ)αq(θ)logq(θ)+αq(θ)logq0(θ))=θ(J(θ)αlogq(θ)α+αlogq0(θ))=0

最优分布是:
log ⁡ q ∗ ( θ ) = 1 α J ( θ ) + log ⁡ q 0 ( θ ) − 1  thus  q ∗ ( θ ) ⏟ "posterior" ∝ exp ⁡ ( J ( θ ) / α ) ⏟ "likelihood" q 0 ( θ ) ⏟ prior \log q^{*}(\theta) = \frac{1}{\alpha} J(\theta) + \log q_0(\theta) - 1 \text{ thus } \underbrace{ q^{*}(\theta) }_\textrm{"posterior"} \propto \underbrace{\exp ( J(\theta) / \alpha )}_\textrm{"likelihood"} \underbrace{q_0(\theta)}_\textrm{prior} logq(θ)=α1J(θ)+logq0(θ)1 thus "posterior" q(θ)"likelihood" exp(J(θ)/α)prior q0(θ)

温度 α α α 决定开发和探索之间的权衡。当 α → 0 \alpha \rightarrow 0 α0 时, θ \theta θ 仅根据期望回报 J ( θ ) J(\theta) J(θ) 进行更新;当 α → ∞ \alpha \rightarrow \infty α 时, θ \theta θ 始终遵循先验信念。

当 利用SVGD方法估计目标的后验分布 q ( θ ) q(\theta) q(θ)的时候,它依赖于 一组: { θ i } i = 1 n \{\theta_i\}_{i=1}^n {θi}i=1n,(independently trained policy agents),每一个是这么更新:
θ i ← θ i + ϵ ϕ ∗ ( θ i )  where  ϕ ∗ = max ⁡ ϕ ∈ H { − ∇ ϵ D KL ( q [ θ + ϵ ϕ ( θ ) ] ′ ∥ q )  s.t.  ∥ ϕ ∥ H ≤ 1 } \theta_i \gets \theta_i + \epsilon \phi^{*}(\theta_i) \text{ where } \phi^{*} = \max_{\phi \in \mathcal{H}} \{ - \nabla_\epsilon D_\text{KL} (q'_{[\theta + \epsilon \phi(\theta)]} \| q) \text{ s.t. } \|\phi\|_{\mathcal{H}} \leq 1\} θiθi+ϵϕ(θi) where ϕ=ϕHmax{ϵDKL(q[θ+ϵϕ(θ)]q) s.t. ϕH1}
其中:

  • ϵ \epsilon ϵ 是学习率
  • ϕ ∗ \phi^{*} ϕ 是 θ型值向量的 RKHS H \mathcal{H} H 的单位球;极大地降低了粒子与目标分布之间的KL散度。

比较不同的基于梯度的更新方法:

在这里插入图片描述
在这里插入图片描述

算法实现

总体流程

在这里插入图片描述

代码实现

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Stein 泛函分析是一门研究无限维函数空间的数学学科,它主要关心研究高阶偏微分方程在函数空间中的解析表达式,以及相应的函数空间的几何结构和性质。这门学科的研究范围非常广泛,包括但不限于测度论、调和分析、泛函分析、调和分析、拓扑学、微分几何、非线性分析等领域。 Stein 泛函分析的主要研究对象是函数空间,这些空间可以是连续或不连续的,可以是有限维或无限维的,可以是紧或非紧的。其中一些常见的例子包括:Lebesgue空间、Sobolev空间、Hilbert空间、Banach空间等。在这些空间中,研究函数的连续性、可微性、二阶可微性等性质是非常重要的,这些性质对于研究偏微分方程及其解的特征与行为具有重要意义。 Stein 泛函分析在理论和应用上都具有重要意义。在理论上,它为研究偏微分方程的存在性、唯一性及解的性质提供了基础和方法;在应用上,它广泛应用于物理、工程学、经济学等领域,如量子力学、流体力学、图像处理、信号处理等方面。 总的来说,Stein 泛函分析是一门研究无限维函数空间的重要数学学科,它在理论和应用上都具有广泛的应用价值,对于推动现代科学的发展和进步具有不可替代的作用。 ### 回答2: Stein 泛函分析是基于 Eli Stein 的工作,建立在调和分析、偏微分方程、概率论和应用数学等多领域的基础之上的函数分析学科。该学科主要研究各种类型的函数及其在数据处理和模型建立等诸多应用中的性质,尤其是关于局部奇异性、连续性、逼近性和嵌入性等问题。 在 Stein 泛函分析中,主要研究对象是调和分析中的角谷子泛函、分式积分算子、赫姆霍兹投影算子、调和微分算子等工具的应用和发展,以及这些工具与偏微分方程、概率论和应用数学等领域之间的联系。利用 Stein 泛函分析的工具和方法,可以研究和解决很多实际问题,如数据处理、图像处理、信号分析、拟合与逼近等问题。 总之, Stein 泛函分析是一个重要的函数分析分支学科,它不仅具有很高的理论价值,也具有广泛的应用前景,在未来的研究工作中将继续发挥重要的作用。 ### 回答3: 斯坦在20世纪早期提出了斯坦定理,奠定了现代泛函分析的基础。斯坦还在测度和积分理论、巴拿赫空间、线性算子理论等领域做出了杰出贡献。 斯坦定理是泛函分析领域最具影响力的定理之一,它将线性泛函的连续性与有界性联系在一起。具体来说,斯坦定理表明,如果一个线性泛函在某个范数下连续,那么它在所有等价的范数下都连续,并且有界。 由此可以得到很多重要的结论,例如,范数空间上的有界线性泛函构成的空间是另一个巴拿赫空间,即对偶空间。这个结论在数学和物理中都有广泛应用。 斯坦还发展了测度论和积分论,构建了测度空间和Lp空间,并引入了弱收敛和弱*收敛等概念。斯坦的贡献不仅使得数学分析更加完备和统一,而且为各种应用学科提供了强有力的工具和方法
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值