# CQL：把数据之外的 Q 值压下去

> 来源：https://dqn.cn/tools/cql ｜ 作者：DQN.CN 编辑部 ｜ 发布：2026-11-01 ｜ 更新：2026-11-01 ｜ 许可：CC BY-NC-SA 4.0（文字）/ MIT（代码）

> （此处为交互工具，请在网页中使用：https://dqn.cn/tools/cql）

## CQL 的正则项

$$
\min_Q\; \alpha\Big(\mathbb{E}_{s}\big[\log \textstyle\sum_a \exp Q(s, a)\big] - \mathbb{E}_{(s,a) \sim \mathcal{D}}[Q(s, a)]\Big) + \tfrac12\, \mathbb{E}_{\mathcal{D}}\big[(Q - \mathcal{B}^\pi \hat Q)^2\big]
$$

log-sum-exp 是“软最大值”，最小化它会把 Q 值最高的动作往下压；第二项把数据中的动作往上抬。可以证明，学到的 Q 是真实值的下界（在一定条件下），策略不会再被 OOD 动作吸引。

## 可以试试

- α 从 0 拖到 0.5：绿色曲线在数据外迅速下沉，argmax 跳回数据附近。
- α 拖到 5：数据内部的 Q 被抬得更高，形状也开始偏离真实曲线。
- 行为策略标准差调大：普通拟合本身就足够好，CQL 的作用变小。

## 相关教程

- [离线强化学习：CQL](https://dqn.cn/advanced/offline-rl)
- [全部交互工具](https://dqn.cn/tools/)
