我的问题是关于如何在生产中监控 RL 代理。为了使问题更容易讨论,这里有一个用例。请不要关注实现这样一个代理的困难,而是关注如何监控它是否仍然运行良好:
假设亚马逊将使用强化学习来优化搜索顺序:
- 当用户开始搜索时,剧集开始
- 情节在阈值之后或用户购买东西时结束。
- 代理得到的观察结果是搜索词以及他必须订购的 20 种产品。
- 如果购买了这 20 件物品中的一件,他将获得奖励。
当然,可以(应该?)让代理在产品变化以及可能搜索词/语言变化时一直学习。但是我什么时候知道代理学到了一些奇怪的东西/我应该停止它?
我可以想象以下内容:
- 基于案例的单个示例
- 对一些琐碎的搜索+产品有一个基本事实,并检查模型是否正确(在非探索模式下)
- 让代理以批处理模式学习(例如,每周只更新一次模型)并对当前模型/新模型进行 A/B 测试。
- 测量平均奖励并设置阈值。如果代理的平均奖励低于阈值,则将代理重置为过去的“保存”状态。
有没有关于它的文献?博客文章?
我知道至少一个 RL 出错/监控不起作用的例子: