跳转到正文
2022-10-23 zh

超越奖励惩罚的安全强化学习:CMDP、信赖域与安全层

“安全强化学习”背后可能是几种截然不同的安全要求:限制一个回合内的期望事故成本、限制失败概率,或者要求执行器在每个时间步都不得越界。这些要求不能互相替代。因此,设计系统时首先要说清楚约束究竟表示什么,然后才轮到选择优化器。

奖励和安全需要分别建模

带约束马尔可夫决策过程(CMDP)在 MDP 上增加一个或多个成本信号。对策略 πθ\pi_\theta,折扣奖励回报与成本回报定义为

JR(θ)=Eτπθ[t=0γtrt],JCi(θ)=Eτπθ[t=0γtci,t].J_R(\theta)=\mathbb{E}_{\tau\sim\pi_\theta}\left[\sum_{t=0}^{\infty}\gamma^t r_t\right],\qquad J_{C_i}(\theta)=\mathbb{E}_{\tau\sim\pi_\theta}\left[\sum_{t=0}^{\infty}\gamma^t c_{i,t}\right].

标准的期望成本问题为

maxθJR(θ)subject toJCi(θ)di,i=1,,m.\max_\theta J_R(\theta) \quad\text{subject to}\quad J_{C_i}(\theta)\le d_i,\qquad i=1,\ldots,m.

这样建模的好处,是奖励和成本可以使用各自的量纲与预算;但它并不意味着每条轨迹、每个动作都安全。策略即使满足期望成本上限,也可能偶尔造成后果严重的违规。如果系统要求每一步都满足限制,就必须把这一点明确写入模型,例如

gi(st,at)0for every t.g_i(s_t,a_t)\le 0\qquad\text{for every }t.

机会约束、最坏情况约束和几乎必然约束表达的安全要求也各不相同。只报告平均回合成本,会把这些关键差异全部遮住。

固定惩罚系数为什么不稳妥

一种常见基线是把奖励改成 rtαctr_t-\alpha c_t。它适合用来摸清问题,却让单个标量 α\alpha 同时承担单位换算、风险偏好和约束敏感度三项职责。系数过大,策略可能保守到几乎不行动;系数过小,违反约束反而仍有收益。

拉格朗日方法让这一权衡随约束状态调整:

L(θ,λ)=JR(θ)i=1mλi(JCi(θ)di),λi0.\mathcal{L}(\theta,\lambda)=J_R(\theta)-\sum_{i=1}^{m}\lambda_i\left(J_{C_i}(\theta)-d_i\right),\qquad \lambda_i\ge 0.

可以把 λi\lambda_i 理解为约束的影子价格:策略在当前价格下提高奖励,估计成本一旦超出预算,对偶变量就会增大。与固定惩罚相比,这种做法更有依据,但它仍不是运行时的硬保护。收敛结论依赖问题假设、步长安排、估计误差和函数类别,训练过程中也可能暂时违反约束。

CPO:在信赖域内处理期望约束

约束策略优化(CPO)沿用 TRPO 的信赖域思路:在当前参数附近,用一阶模型近似奖励改善和成本变化,再用二阶模型近似策略 KL。得到的局部问题可以写成

maxΔθ  gΔθsubject toci+biΔθ0,12ΔθHΔθδ.\max_{\Delta\theta}\;g^\top\Delta\theta \quad\text{subject to}\quad c_i+b_i^\top\Delta\theta\le 0,\qquad \frac{1}{2}\Delta\theta^\top H\Delta\theta\le\delta.

其中,gg 是奖励对应的策略梯度,bib_i 是成本对应的策略梯度,cic_i 表示当前估计超出约束预算的程度,HH 是与平均 KL 有关的局部曲率矩阵。求解这一二次近似,可以在信赖域内找到兼顾奖励改善和预测可行性的更新方向;随后再通过线搜索和恢复步骤,处理局部近似不准或当前点本身不可行的情况。

这里必须把理论结论和工程实现分开。CPO 推导策略性能与成本界时使用的是全变差距离,它是一种距离或度量,而不是“全变差散度”。Pinsker 不等式给出了它与 KL 的关系:

DTV(p,q)12DKL(pq).D_{\mathrm{TV}}(p,q)\le\sqrt{\frac{1}{2}D_{\mathrm{KL}}(p\Vert q)}.

论文在既定假设下给出接近满足约束的保证,并据此构造出可计算的更新方法。但神经网络实现仍要依赖采样优势、有限批数据、局部泰勒展开、共轭梯度和线搜索。每一环都有近似,因此不能把 CPO 说成无条件的“零违规”方案。它处理的是期望累积约束,训练期间和收敛之后都要实际测量安全表现。

安全层:执行前修正动作

面对连续动作的瞬时约束,可以先让原始策略给出 a0a_0,再把它投影到附近的可行动作。安全层方法把下一步的各项安全信号在局部近似为动作的仿射函数,并求解

a=argmina12aa022subject tocˉi(s)+gi(s)aCi,i=1,,m.a^*=\arg\min_a\frac{1}{2}\lVert a-a_0\rVert_2^2 \quad\text{subject to}\quad \bar c_i(s)+g_i(s)^\top a\le C_i,\qquad i=1,\ldots,m.

在论文采用的局部线性化假设下,可以高效求得修正动作;论文在所研究的物理环境中也报告了零违规。不过,这一实验结果不能当作普遍保证。安全性仍取决于约束模型在策略实际访问区域内是否准确、问题是否存在可行动作,以及未建模动力学和时延是否仍处于设计裕量之内。

安全层还会改变学习数据的含义:策略提出的是 a0a_0,环境实际执行的却是 aa^*。经验回放应保存真正执行的动作,同时记录原始动作、修正动作和修正幅度。如果修正既频繁又很大,就说明 Actor 仍在依赖安全层替它完成控制,而没有学会可行区域。

根据安全要求选择方法

安全要求合适的起点仅靠它无法保证什么
期望折扣或平均成本预算拉格朗日方法或 CPO 风格更新不保证每一步或每条轨迹都安全
显式可微的瞬时约束投影层或优化层无法抵御模型误差或不可行性
未知安全边界但有可信日志带不确定性裕量的学习型防护若无额外假设,无法保障数据支持范围之外的安全
绝不能发生的灾难事件独立认证控制器、联锁或验证过的备份策略奖励优化不能替代系统级保证

这些方法可以分层组合。例如,用 CMDP 优化器管理长期能耗或设备磨损,同时由确定性控制器严格限制执行器。不能因为某个量被命名为“成本”,就把对期望值的限制说成物理系统的硬保证。

评估不能把违规藏在平均值里

评估安全强化学习时,最终奖励和平均成本远远不够,还应包括:

  • 按环境交互步数绘制奖励与约束回报,包含早期探索阶段;
  • 报告违规率、幅度、最大值和高分位数,而不仅是均值;
  • 统计收敛前发生过多少不安全训练回合;
  • 对动作投影报告可行率与修正范数;
  • 在模型错配、扰动和未见初始状态下测试;
  • 使用多个随机种子、置信区间,并明确列出失败案例。

基线至少应包括无约束策略、固定惩罚、自适应拉格朗日方法,以及适用时不依赖学习的可行控制器。如果一种方法之所以表现安全,只是因为初始策略本来就安全,就必须明确说明这一前提。

工程边界

学习策略只能是整套安全保障中的一层。成本传感器要独立验证;没有可行动作时系统如何处理,要预先定义;求解时延要有上限;神经策略之外还要保留确定性的后备控制器。部署后,应同时监控观测分布和约束模型残差是否发生漂移。一个方法即使满足训练阶段的 CMDP,也可能违反真实系统中没有建模的要求。

三类方法的职责并不相同:CMDP 算法管理统计意义上的预算,信赖域限制每次策略更新的幅度,安全层则直接修正单个动作。只有先把安全要求说清楚,才不会把数学上的“近似满足约束”误解为物理层面的绝对保证。

延伸阅读