强化学习 / 01
工业界怎么定义状态、动作、奖励
强化学习在工业界不是先背 MDP 公式,而是先判断业务问题是否真的是序列决策。只有当前动作会影响未来状态和未来收益时,强化学习才有意义。
MDP 五要素
MDP 包括状态、动作、转移、奖励和策略:
- 状态:系统当前信息。
- 动作:系统可以做的决策。
- 转移:动作如何影响下一个状态。
- 奖励:动作带来的收益或成本。
- 策略:在某状态下选择动作的规则。
业务里最难的是定义状态、动作和奖励。
状态
状态要包含决策所需的信息。
推荐场景:
- 用户历史行为。
- 当前 session。
- 候选内容。
- 时间、入口、设备。
调度场景:
- 订单状态。
- 骑手位置和负载。
- 区域供需。
- 天气和交通。
广告场景:
- 用户上下文。
- 广告主预算。
- 历史消耗。
- 竞争环境。
状态不是特征越多越好,而是要足够表达决策环境。
动作
动作是系统能控制的东西。
例如:
- 推荐:展示哪个 item、给多少探索流量。
- 广告:出价多少、是否参与竞价。
- 调度:订单分给哪个骑手。
- 补贴:给哪个用户或骑手多少激励。
动作空间如果太大,直接 RL 会很难。工业系统通常先生成候选动作,再用模型或优化器选择。
奖励
奖励定义最容易出问题。
短期点击可以作为奖励,但可能伤害长期体验。补贴带来接单可以作为奖励,但要扣除成本。调度准时可以作为奖励,但也要考虑骑手体验。
好的奖励通常包括收益和成本:
reward = 业务收益 - 成本 - 风险惩罚
约束
工业 RL 不能只最大化奖励,还要满足约束:
- 安全约束。
- 预算约束。
- 延迟约束。
- 公平性约束。
- 用户体验约束。
很多业务问题更适合“监督学习 + 约束优化”,不一定要端到端 RL。
面试题:什么时候适合用 RL
适合:
- 当前动作影响未来状态。
- 存在探索利用问题。
- 长期收益比短期收益重要。
- 有仿真环境或足够日志支持评估。
不适合:
- 单次独立预测问题。
- 动作风险很高且无法探索。
- 没有可靠反馈。
- 规则约束强到动作空间很小。
标准回答
我会先判断问题是否是序列决策。如果只是单次点击预测,用监督学习即可;如果当前动作会影响未来状态,比如推荐探索、广告预算、骑手调度,就可以考虑 RL。定义时要明确状态、动作和奖励,同时加入业务约束。工业落地一般不会直接在线探索,而是先用离线数据、仿真和小流量实验验证。
下一篇建议继续看: