强化学习 / 01

工业界怎么定义状态、动作、奖励

强化学习在工业界不是先背 MDP 公式,而是先判断业务问题是否真的是序列决策。只有当前动作会影响未来状态和未来收益时,强化学习才有意义。

MDP 五要素

MDP 包括状态、动作、转移、奖励和策略:

  • 状态:系统当前信息。
  • 动作:系统可以做的决策。
  • 转移:动作如何影响下一个状态。
  • 奖励:动作带来的收益或成本。
  • 策略:在某状态下选择动作的规则。

业务里最难的是定义状态、动作和奖励。

状态

状态要包含决策所需的信息。

推荐场景:

  • 用户历史行为。
  • 当前 session。
  • 候选内容。
  • 时间、入口、设备。

调度场景:

  • 订单状态。
  • 骑手位置和负载。
  • 区域供需。
  • 天气和交通。

广告场景:

  • 用户上下文。
  • 广告主预算。
  • 历史消耗。
  • 竞争环境。

状态不是特征越多越好,而是要足够表达决策环境。

动作

动作是系统能控制的东西。

例如:

  • 推荐:展示哪个 item、给多少探索流量。
  • 广告:出价多少、是否参与竞价。
  • 调度:订单分给哪个骑手。
  • 补贴:给哪个用户或骑手多少激励。

动作空间如果太大,直接 RL 会很难。工业系统通常先生成候选动作,再用模型或优化器选择。

奖励

奖励定义最容易出问题。

短期点击可以作为奖励,但可能伤害长期体验。补贴带来接单可以作为奖励,但要扣除成本。调度准时可以作为奖励,但也要考虑骑手体验。

好的奖励通常包括收益和成本:

reward = 业务收益 - 成本 - 风险惩罚

约束

工业 RL 不能只最大化奖励,还要满足约束:

  • 安全约束。
  • 预算约束。
  • 延迟约束。
  • 公平性约束。
  • 用户体验约束。

很多业务问题更适合“监督学习 + 约束优化”,不一定要端到端 RL。

面试题:什么时候适合用 RL

适合:

  • 当前动作影响未来状态。
  • 存在探索利用问题。
  • 长期收益比短期收益重要。
  • 有仿真环境或足够日志支持评估。

不适合:

  • 单次独立预测问题。
  • 动作风险很高且无法探索。
  • 没有可靠反馈。
  • 规则约束强到动作空间很小。

标准回答

我会先判断问题是否是序列决策。如果只是单次点击预测,用监督学习即可;如果当前动作会影响未来状态,比如推荐探索、广告预算、骑手调度,就可以考虑 RL。定义时要明确状态、动作和奖励,同时加入业务约束。工业落地一般不会直接在线探索,而是先用离线数据、仿真和小流量实验验证。

下一篇建议继续看: