如何监控 RL 代理?

数据挖掘 强化学习 评估
2021-09-25 17:18:57

我的问题是关于如何在生产中监控 RL 代理。为了使问题更容易讨论,这里有一个用例。请不要关注实现这样一个代理的困难,而是关注如何监控它是否仍然运行良好:

假设亚马逊将使用强化学习来优化搜索顺序:

  • 当用户开始搜索时,剧集开始
  • 情节在阈值之后或用户购买东西时结束。
  • 代理得到的观察结果是搜索词以及他必须订购的 20 种产品。
  • 如果购买了这 20 件物品中的一件,他将获得奖励。

当然,可以(应该?)让代理在产品变化以及可能搜索词/语言变化时一直学习。但是我什么时候知道代理学到了一些奇怪的东西/我应该停止它?

我可以想象以下内容:

  • 基于案例的单个示例
  • 对一些琐碎的搜索+产品有一个基本事实,并检查模型是否正确(在非探索模式下)
  • 让代理以批处理模式学习(例如,每周只更新一次模型)并对当前模型/新模型进行 A/B 测试。
  • 测量平均奖励并设置阈值。如果代理的平均奖励低于阈值,则将代理重置为过去的“保存”状态。

有没有关于它的文献?博客文章?

我知道至少一个 RL 出错/监控不起作用的例子:

1个回答

这是强化学习(以及所有机器学习)中的一个开放问题。谷歌发表了一篇题为“机器学习:技术债务的高息信用卡”的论文,阐述了这些系统随着时间的推移而退化的多种方式。

一种方法是遵循基本的生产工程技术(例如,测试覆盖率和优雅退出)。

另一种方法是监控数据,如果新数据在统计上超出样本,则重新训练代理。