TLDR:
环境模拟+在线强化学习 | 离线强化学习 | |
---|---|---|
优点 | 1. 无需担心样本效率 2. 效果一般更好 | 1. 不需要真实的环境交互 2. 不需要模拟器 |
缺点 | 1. 建立高保真的模拟器开销较大 2. 模拟器跟真实环境可能存在差距,需要sim2real | 1. 受数据集质量影响大 2. 受分布偏移的影响 |
我对离线强化学习(Offline RL)比较熟悉,所以回答会侧重于这一块。
离线强化学习是 RL 这两年特别火的一个研究方向,motivation 很明确。样本效率一直是传统强化学习被诟病的问题,所以强化学习在过去主要是在可获取无限样本的游戏领域上取得成功。离线强化学习针对的就是难以跟环境进行真实交互或者真实交互的开销难以接受的场景,比如医疗,金融,广告等等,在这些领域我们或许有一些先前记录的数据,在监督学习上,大模型+大数据已经取得了巨大的成功,如果我们也能直接利用这些数据学习决策,那自然是极好的。
另一方面,对于复杂的现实场景,建立 simulator 是很难的一件事情,开销不会低,建立 high fidelity 的 simulator 更是如此(比如推荐,要 simulate 用户的行为那可真是太难了,买和不买,看和不看,有太多的随机性了),如果 simulator 不够好,那么做 sim2real 的时候就很难把在 simulator 上训练的 agent 迁移到现实中,在 simulator 上玩儿的风生水起的 agent 可能一到现实就废了。离线强化学习是直接对应真实世界得来的数据学的,可以绕过这一点。
既然离线强化这么优秀,那 RL 是不是终于可以在应用领域大杀四方了?很遗憾,目前成功应用离线强化学习的例子还很少(有推荐,车辆调度和派单等等,更详细的可以参考 Sergey 那篇 tutorial:Offline reinforcement learning: Tutorial, review, and perspectives on open problems)。大部分离线强化学习算法都在解决一个叫“distributional shift”的问题,有的文章会用“extrapolation error”或者“bootstrapping error”来描述这个问题。这是因为在离线环境下,agent 无法跟环境交互,所以它遇到数据集里没有的状态,或者在一个状态下执行数据集中没有的动作时,它就宕机了,无法获得反馈就无法得知自己的行为是否合适。没有正确的反馈怎么办呢?agent 就只能根据自己的猜测来更新猜测,由于错误无法被纠正,所以错误的猜测会随着传播变得越来越大。尽管传统的强化学习中也会用类似的方式学习,但错误的猜测可以通过和环境进行交互得到纠正(错误的行为无法取得奖励,甚至会被惩罚)。目前已经有不少的工作,包括理论工作,研究了这个问题,但仍未有一个突破性的方法可以解决它,所以离线强化学习仍然难以应用。
简单点说,如果一个应用的场景容易搭建 simulator,那么在 simulator 上使用传统的强化学习来学策略会是更好的选择。如果 dynamics 是完全清晰的,甚至可以直接用 planning 解决问题。如果数据充足,质量也不错,那离线强化学习或者离线模仿学习就有用武之地了。
Silver 讲过“AGI=DL+RL”,如果 AGI 真的有实现的一天,那么 RL 里面一定有 Offline RL 的一片地。除了试错,我们的知识有很多是通过观测得到,如果有一天我们可以很好地将二者结合起来,那么 AGI 就有机会实现了哈哈。
写完综述有空再来补充,待续。
“环境模拟”分为“人工模拟”和“环境模型学习”,前者基于人类经验,后者从历史数据中学习。
离线强化学习从历史数据中学习决策,也可分为model-free的方法和model-based的方法,model-based即从历史数据中学习环境模型。
目前以Sergey为代表的方向是model-free离线强化学习,这一类方法在应用上有一系列尚未解决的困难,例如过于保守、难以评估、无法做全局约束等。对于distribution shift问题,有的理论进展也只是在期望意义下去处理,然而这个问题在期望和有限采样意义下的结果截然不同。
而基于环境模型的离线强化学习这个方向,往往被一句“环境无法学好”一棍子打死。然而我认为这个想法是领域偏见,现在的环境模型学习已经可用了,相对无模型方法,策略能探索、好评估、可以做各种全局约束。
推荐我们正在做的一个“公平发券”离线强化学习比赛
比赛要求从个性化发券的历史数据中,得到非个性化公平发券的最优策略,策略要求在未来30天发券ROI>=6.5的约束下GMV最大化。
如果用model-free的离线强化学习,首先要解决如何从个性化决策的数据得到非个性化决策的问题,然后要解决总体ROI约束的问题。
这个赛题用环境模型就很容易处理,在比赛论坛里:
介绍了我们给的基于环境模型学习的baseline,以及帮助环境模型学习的工具。在baseline方案里,每个人的model平均起来就是非个性化的环境,在环境里推演30天就算出了ROI和GMV,即便ROI可能会偏离,测试一两次就可以修正了。除了这个比赛,很快也会放出更多的工业控制案例。