强化学习 / 03
RL 在排序和推荐中的用法
推荐排序天然有序列决策特征。当前展示会影响用户后续行为、兴趣状态和长期留存,所以不能只看单次点击。
为什么监督学习不够
普通排序模型通常预测当前 item 的点击或转化,但它忽略两个问题:
- 当前推荐会改变用户未来兴趣。
- 当前展示一个 item 会挤掉另一个 item。
例如一直推荐短期高点击内容,可能提升当天点击,但降低长期留存。
RL 能解决什么
RL 更适合优化长期收益:
- 长期留存。
- 多次消费。
- 内容生态。
- 探索新兴趣。
- 避免过度重复。
它把推荐看成连续决策,而不是独立样本预测。
状态、动作、奖励
推荐里的状态可以是用户历史行为、当前兴趣、上下文和候选集。动作可以是推荐一个 item 或一个列表。奖励可以是点击、停留、转化、负反馈、留存的组合。
难点是动作空间巨大。直接对所有 item 做 RL 很难,所以通常会先召回候选,再在候选上做策略优化。
List-wise 决策
推荐给用户的是列表,不是单个 item。列表里 item 之间会相互影响。
RL 或 slate recommendation 可以把整个列表作为动作,但动作空间更大。工业里常用近似:先逐个打分,再重排处理多样性和长期目标。
离线 RL
推荐系统不能随便在线探索,所以离线 RL 很重要。它用历史日志学习策略,但历史日志只覆盖旧策略选择过的动作。
难点:
- 分布外动作评估困难。
- 历史策略偏差。
- 需要记录 propensity。
- 容易高估未见动作价值。
和重排结合
更常见的落地方式不是端到端 RL,而是在重排阶段加入长期价值。
例如:
- 精排预测短期点击。
- 另一个模型预测长期价值或疲劳度。
- 重排阶段平衡点击、多样性和长期留存。
面试题:推荐系统如何优化长期留存
理想回答:
我会先定义长期指标,比如次日留存、七日留存、长期消费和负反馈。短期排序模型仍然预测点击或消费,但会加入长期价值模型或重排约束,避免过度推荐短期刺激内容。如果考虑 RL,会先在离线日志和仿真环境中评估策略,再小流量灰度。
面试题:为什么 RL 在推荐里难落地
原因:
- 动作空间极大。
- 在线探索风险高。
- 用户反馈延迟。
- off-policy 评估困难。
- 奖励设计容易偏。
- 工程复杂度高。
总结
RL 在推荐中的价值是长期决策视角。面试里不要把 RL 说成万能模型,更成熟的说法是:在现有召回排序链路上,引入长期价值、探索和策略评估。
下一篇建议继续看: