强化学习 / 04

离线 RL、安全约束与反事实评估

工业系统很少允许算法随意在线探索。广告、推荐、调度、补贴都涉及真实用户和真实成本。因此离线 RL 和反事实评估很重要。

什么是离线 RL

离线 RL 使用历史日志学习策略,不直接在线探索。

数据形式通常是:

state, action, reward, next_state

但历史数据来自旧策略,只覆盖旧策略选过的动作。这会带来分布偏差。

Off-policy Evaluation

OPE 试图回答:如果当时用新策略,结果会怎样。

常见方法:

  • IPS。
  • SNIPS。
  • Doubly Robust。
  • Fitted Q Evaluation。
  • 仿真回放。

OPE 的难点是需要知道或估计旧策略选择动作的概率。

Propensity 为什么重要

如果日志里记录了某个动作被选择的概率,就可以更好地做反事实评估。没有 propensity,很多评估只能依赖强假设。

业务系统应该记录:

  • 候选动作。
  • 每个动作分数。
  • 选择概率。
  • 最终动作。
  • 反馈。
  • 过滤和约束原因。

安全约束

离线学到的新策略不能直接上线。

需要约束:

  • 不超过预算。
  • 不显著增加投诉。
  • 不违反合规。
  • 不让延迟超标。
  • 不对某类用户或骑手不公平。

可以先让新策略只在旧策略附近小范围变化,避免分布外动作。

仿真环境

仿真可以降低试错成本。物流调度、广告竞价、推荐列表都可以构建仿真器。

但仿真器本身也有误差。它适合筛掉明显差的策略,不适合替代线上实验。

上线流程

推荐流程:

  1. 离线训练。
  2. 离线回放。
  3. OPE 或仿真评估。
  4. 规则约束检查。
  5. shadow test。
  6. 小流量灰度。
  7. 分阶段放量。
  8. 监控和回滚。

面试题:为什么不能直接上线 RL 策略

理想回答:

因为 RL 策略可能选择历史上很少出现的动作,离线评估不可靠;同时在线探索会影响用户体验、成本和安全。工业落地需要先做离线评估、仿真和小流量灰度,并加入预算、体验、合规等约束。

总结

离线 RL 的核心不是“更高级”,而是如何在不能随便探索的业务环境下安全评估和迭代策略。面试里要重点讲日志、propensity、OPE、安全约束和灰度上线。