详解受约束的强化学习(一、入门学习)

0.引言

Constrained RL受约束的强化学习(或者叫做Safe RL)

目标:最大化折扣累计奖励(即最大化期望奖励)
Constrained RL核心思想:通过优化策略来最大化期望奖励,同时满足某些约束条件。
软约束:最大化折扣累计奖励,累计风险值小于某一个阈值
概率约束:整条轨迹每个点都不违反约束的概率大于某个阈值
硬约束:在轨迹的任何一点都不违反约束

方法

原问题方法:CPO,CRPO,PCPO,SPACE
原问题,对偶问题
拉格朗日方法
神经网络最后一层再套一层
李雅普诺夫函数保证等等。

背景了解

策略梯度,信赖域方法

Constrained Policy Optimization (CPO) 数学原理

1. CPO 的背景和目标

在强化学习中,智能体通过策略 π ( a ∣ s ) \pi(a|s) π(as) 与环境交互,目标是最大化累积期望奖励 J ( π ) J(\pi) J(π)。然而,在许多实际场景中,我们需要在优化奖励的同时满足一些安全或资源约束。例如,机器人可能需要在完成任务的同时限制能耗,或者在自动驾驶中需要遵守安全规则。
CPO 是一种基于约束优化的策略优化方法,旨在解决以下优化问题:
π ∗ = arg ⁡ max ⁡ π ∈ Π C J ( π ) , \pi^* = \arg \max_{\pi \in \Pi_C} J(\pi), π=argπΠCmaxJ(π),
其中:
J ( π ) J(\pi) J(π) 是策略 π \pi π 的期望奖励(目标函数)。
Π C \Pi_C ΠC 是满足约束条件的策略集合,定义为:
Π C = π ∈ Π ∣ ∀ i , J C i ( π ) ≤ d i , \Pi_C = { \pi \in \Pi \mid \forall i, J_{C_i}(\pi) \leq d_i }, ΠC=πΠi,JCi(π)di,
J C i ( π ) J_{C_i}(\pi) JCi(π) 是第 i i i 个约束的期望成本。
d i d_i di 是第 i i i 个约束的上界。
简单来说,CPO 的目标是找到一个策略 π ∗ \pi^* π,使得奖励最大化,同时每个约束 J C i ( π ) ≤ d i J_{C_i}(\pi) \leq d_i JCi(π)di 都得到满足。

2. 目标函数和约束的定义

2.1 目标函数 J ( π ) J(\pi) J(π)

目标函数 J ( π ) J(\pi) J(π) 表示策略 π \pi π 在环境中交互时获得的期望累积奖励。在折扣奖励设置中,它通常定义为:
J ( π ) = E τ ∼ π [ ∑ t = 0 ∞ γ t R ( s t , a t ) ] , J(\pi) = \mathbb{E}{\tau \sim \pi} \left[ \sum{t=0}^\infty \gamma^t R(s_t, a_t) \right], J(π)=Eτπ[t=0γtR(st,at)],
其中:
τ = ( s 0 , a 0 , s 1 , a 1 , …   ) \tau = (s_0, a_0, s_1, a_1, \dots) τ=(s0,a0,s1,a1,) 是策略 π \pi π 产生的轨迹。
R ( s t , a t ) R(s_t, a_t) R(st,at) 是时刻 t t t 的即时奖励。
γ ∈ ( 0 , 1 ) \gamma \in (0, 1) γ(0,1) 是折扣因子。

2.2 约束函数 J C i ( π ) J_{C_i}(\pi) JCi(π)

约束函数 J C i ( π ) J_{C_i}(\pi) JCi(π) 表示第 i i i 个约束的期望累积成本,定义为:
J C i ( π ) = E τ ∼ π [ ∑ t = 0 ∞ γ t C i ( s t , a t ) ] , J_{C_i}(\pi) = \mathbb{E}{\tau \sim \pi} \left[ \sum{t=0}^\infty \gamma^t C_i(s_t, a_t) \right], JCi(π)=Eτπ[t=0γtCi(st,at)],
其中:
C i ( s t , a t ) C_i(s_t, a_t) Ci(st,at) 是时刻 t t t 的第 i i i 个成本函数。
约束要求 J C i ( π ) ≤ d i J_{C_i}(\pi) \leq d_i JCi(π)di

3. CPO 的核心方法:TRPO 的类比

CPO 借鉴了 Trust Region Policy Optimization (TRPO) 的思想。TRPO 是一种无约束策略优化方法,通过限制策略更新的步长来保证优化过程的稳定性。CPO 将这种思想扩展到有约束的场景。

3.1 TRPO 的优化问题

TRPO 的目标是:
π k + 1 = arg ⁡ max ⁡ π ∈ Π θ J ( π ) , \pi_{k+1} = \arg \max_{\pi \in \Pi_\theta} J(\pi), πk+1=argπΠθmaxJ(π),
subject to:
D ( π , π k ) ≤ δ , D(\pi, \pi_k) \leq \delta, D(π,πk)δ,
其中:
D ( π , π k ) D(\pi, \pi_k) D(π,πk) 是策略 π \pi π 和当前策略 π k \pi_k πk 之间的散度,通常使用 KL 散度:
D ( π , π k ) = E s ∼ ρ π k [ KL ( π ( ⋅ ∣ s ) ∣ π k ( ⋅ ∣ s ) ) ] , D(\pi, \pi_k) = \mathbb{E}{s \sim \rho{\pi_k}} \left[ \text{KL}(\pi(\cdot|s) | \pi_k(\cdot|s)) \right], D(π,πk)=Esρπk[KL(π(s)πk(s))],
δ \delta δ 是信任区域的边界。

TRPO 通过线性化目标函数和约束来近似求解这个问题。

3.2 CPO 的扩展

CPO 将 TRPO 的信任区域方法扩展到有约束的情景,优化问题变为:
π k + 1 = arg ⁡ max ⁡ π ∈ Π θ J ( π ) , \pi_{k+1} = \arg \max_{\pi \in \Pi_\theta} J(\pi), πk+1=argπΠθmaxJ(π),
subject to:
J C i ( π ) ≤ d i , i = 1 , … , m , J_{C_i}(\pi) \leq d_i, \quad i = 1, \dots, m, JCi(π)di,i=1,,m,
D ( π , π k ) ≤ δ . D(\pi, \pi_k) \leq \delta. D(π,πk)δ.
这里,CPO 不仅限制了策略更新的步长(通过 D ( π , π k ) ≤ δ D(\pi, \pi_k) \leq \delta D(π,πk)δ),还增加了额外的约束 J C i ( π ) ≤ d i J_{C_i}(\pi) \leq d_i JCi(π)di

4. CPO 的近似求解

直接求解上述约束优化问题是困难的,因此 CPO 使用了线性化和二次近似来简化问题。

4.1 目标函数的线性近似

对于目标函数 J ( π ) J(\pi) J(π),CPO 使用了 TRPO 中的线性近似:
J ( π ) ≈ J ( π k ) + ∇ θ J ( π k ) ⊤ ( θ − θ k ) , J(\pi) \approx J(\pi_k) + \nabla_{\theta} J(\pi_k)^\top (\theta - \theta_k), J(π)J(πk)+θJ(πk)(θθk),
其中:
θ \theta θ 是策略 π \pi π 的参数。
θ k \theta_k θk 是当前策略 π k \pi_k πk 的参数。
∇ θ J ( π k ) \nabla_{\theta} J(\pi_k) θJ(πk) 是目标函数在 θ k \theta_k θk 处的梯度。

在强化学习中,梯度 ∇ θ J ( π k ) \nabla_{\theta} J(\pi_k) θJ(πk) 通常通过策略梯度方法计算:
∇ θ J ( π k ) = E τ ∼ π k [ ∑ t = 0 ∞ γ t ∇ θ log ⁡ π k ( a t ∣ s t ) A π k ( s t , a t ) ] , \nabla_{\theta} J(\pi_k) = \mathbb{E}{\tau \sim \pi_k} \left[ \sum{t=0}^\infty \gamma^t \nabla_{\theta} \log \pi_k(a_t|s_t) A^{\pi_k}(s_t, a_t) \right], θJ(πk)=Eτπk[t=0γtθlogπk(atst)Aπk(st,at)],
其中 A π k ( s t , a t ) A^{\pi_k}(s_t, a_t) Aπk(st,at) 是优势函数。

4.2 约束的线性近似

对于约束 J C i ( π ) J_{C_i}(\pi) JCi(π),CPO 同样进行线性近似:
J C i ( π ) ≈ J C i ( π k ) + ∇ θ J C i ( π k ) ⊤ ( θ − θ k ) , J_{C_i}(\pi) \approx J_{C_i}(\pi_k) + \nabla_{\theta} J_{C_i}(\pi_k)^\top (\theta - \theta_k), JCi(π)JCi(πk)+θJCi(πk)(θθk),
约束条件 J C i ( π ) ≤ d i J_{C_i}(\pi) \leq d_i JCi(π)di 变为:
J C i ( π k ) + ∇ θ J C i ( π k ) ⊤ ( θ − θ k ) ≤ d i . J_{C_i}(\pi_k) + \nabla_{\theta} J_{C_i}(\pi_k)^\top (\theta - \theta_k) \leq d_i. JCi(πk)+θJCi(πk)(θθk)di.

4.3 KL 散度的二次近似

KL 散度约束 D ( π , π k ) ≤ δ D(\pi, \pi_k) \leq \delta D(π,πk)δ 被近似为二次形式:
D ( π , π k ) ≈ 1 2 ( θ − θ k ) ⊤ F ( θ − θ k ) , D(\pi, \pi_k) \approx \frac{1}{2} (\theta - \theta_k)^\top F (\theta - \theta_k), D(π,πk)21(θθk)F(θθk),
其中 F F F 是 Fisher 信息矩阵,定义为:
F = E s ∼ ρ π k [ E a ∼ π k ( ⋅ ∣ s ) [ ∇ θ log ⁡ π k ( a ∣ s ) ∇ θ log ⁡ π k ( a ∣ s ) ⊤ ] ] . F = \mathbb{E}{s \sim \rho{\pi_k}} \left[ \mathbb{E}{a \sim \pi_k(\cdot|s)} \left[ \nabla{\theta} \log \pi_k(a|s) \nabla_{\theta} \log \pi_k(a|s)^\top \right] \right]. F=Esρπk[Eaπk(s)[θlogπk(as)θlogπk(as)]].

5. CPO 的优化问题

综合上述近似,CPO 的优化问题变为一个近似的凸优化问题:
max ⁡ Δ θ   ∇ θ J ( π k ) ⊤ Δ θ , \max_{\Delta \theta} \ \nabla_{\theta} J(\pi_k)^\top \Delta \theta, Δθmax θJ(πk)Δθ,
subject to:
J C i ( π k ) + ∇ θ J C i ( π k ) ⊤ Δ θ ≤ d i , i = 1 , … , m , J_{C_i}(\pi_k) + \nabla_{\theta} J_{C_i}(\pi_k)^\top \Delta \theta \leq d_i, \quad i = 1, \dots, m, JCi(πk)+θJCi(πk)Δθdi,i=1,,m,
1 2 Δ θ ⊤ F Δ θ ≤ δ , \frac{1}{2} \Delta \theta^\top F \Delta \theta \leq \delta, 21ΔθFΔθδ,
其中 Δ θ = θ − θ k \Delta \theta = \theta - \theta_k Δθ=θθk
这个优化问题可以通过拉格朗日对偶方法求解。CPO 提供了两种求解方式:

不可行解的情况:如果当前策略 π k \pi_k πk 已经违反了约束(即 J C i ( π k ) > d i J_{C_i}(\pi_k) > d_i JCi(πk)>di),CPO 会优先恢复约束的可行性。
可行解的情况:如果约束已经满足,CPO 会沿着梯度方向优化目标,同时确保不违反约束。

6. 总结

CPO 的核心是通过线性化和二次近似,将复杂的约束优化问题转化为一个可求解的凸优化问题。它的优势在于:
能够在优化奖励的同时严格满足约束条件。
继承了 TRPO 的稳定性,通过信任区域限制策略更新的步长。
适用于多种实际场景,例如安全强化学习。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

白云千载尽

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值