强化学习离轨策略:从失败中获得成功经验 - 以追女孩为例 | 采样率的数学意义

简介:我一个朋友小拍,姐妹众多,稳如老狗。姐妹们常疑惑:小拍同学 会吃会玩会聊天,上知美妆,下知韩综,中晓穿搭,做事靠谱,为人颇有原则 ,竟然没追成过一个女孩?要我说,这其实没什么可大惊小怪的,我刚认识小拍那阵子,他还是个钢铁小直男呢。 用强化学习的角度看,小拍在这几年做了很好的离轨策略(off-policy)学习,即从自己和别人“追女生”这个过程中学习经验,无论结果成败,都能有效地学到东西。 本文我们就以“追女孩”为例,讨论离轨策略,进而引申出“重要度采样比”/“采样率”的数学意义解释(主要引用台湾大学李宏毅老师的观点)。

本文目录:

  • 离轨策略:从失败与别人的经验中学习
  • 重要度采样比:修正“理解”的偏差

离轨策略:从失败与别人的经验中学习

在强化学习中, 我们要学到的/收敛逼近的控制策略,一定是最优的。 以追女生为例,小拍心里的目的只有一个:用最好的方式追成功。

很显然, 我们要学习的策略,一定是一个“能让我们成功的策略” ,但问题是:

  • 小拍 自己从未成功过,只有失败的经验 ,他可以从中学到什么吗?
  • 别人的经验或是成功的、或是失败的,但 小拍不可能完全复制下来 ,小拍可以从中学到什么吗?

对于强化学习学习来讲,上述两个问题的答案都是 肯定 的。

在 Sutton 的经典书籍中,在 第五章第五节 首次提到 “离轨策略(off-policy)” 这个概念。

虽然第五章才被介绍,但 “离轨策略” 这个概念,却几乎是 强化学习实践 中最为重要的概念之一,因为:

  • 强化学习的 数据往往只能通过与环境交互得出 ,这造成了其数据获取成本过大,且少之又少;
  • 而书中 5.5 节前的简单直接的迭代式,只能 一边使用当前控制策略,一边改进当前控制策略(同轨策略,on-policy) ,这容易造成一些没有被探索过的方法,永远都不被尝试(固步自封),也会 导致我们无法使用之前的、别人的数据

小拍亲口为我们做了类比:

  • 同轨策略: 这次失败了,这个方法不好,嗯,把这个方法改进一下,下次尝试!
  • 离轨策略: 我使用的方法,并不一定是我目前认为最好的方法;或者说,不管我用什么方法,我都能从中学到东西,并且自我提升,寻找我的最优方法。如果别人有经验,我也可以从中有所收获!

或许你已经可以看出, 同轨策略是离轨策略的一种特殊形式 ,在设计算法时, 如果其可以满足离轨策略要求,其一定可以进行同轨策略的学习。

且在实践中,我们 很难不使用 离轨策略:

  • 在与环境的交互中,我们尽量不要使用当前的最优策略 (同轨策略学习方式) ,因为这样我们会“谨小慎微”,不敢做出有创意的尝试;
  • 之前的数据要被复用,而之前的数据也是在不同于当前策略的策略下产生的。

重要度采样比:修正“理解”的偏差

离轨策略 下,我们 不能使用“想当然”的迭代办法,因为这会造成数学理论上的偏差 ,最终得到不良的学习效果。在使用不同于当前策略的策略获取到的数据时,为了防止“理解”有偏差,我们需要用采样率公式修正。

如果你更喜欢严谨的数学推导,可以查看 Sutton 的《Reinforcement Learning: An Introduction Second Edition》。但是说实话,我今年一月份第一次学习这部分时,不是很懂 off-policy 与重要度采样比这个概念。

如上,我在 CSDN 找到了我关于这部分的笔记,现在看来, 只是写到了效果,当时还是没有写到“为什么”。

后来学习了 李宏毅老师的深度学习课程 ,李老师略带着讲了一些强化学习:李老师连 MDP 这个基础假设都没介绍,但是其一些关于强化学习的观点却让我眼前一亮,尤其是 在介绍 PPO 前对采样率从分布角度上的介绍。

这里,我们仅从 数据采样 角度讨论采样率。

如上,简单的推导后,我们找到了 p 采样与 q 采样的联系,且可以通过 E_{x~q} 轻易地得到 E_{x~p} 。而那个分式,不就是我们的采样率嘛!

下面 从分布实例 具体解释一下。

图源:李宏毅老师课程录屏

如上,f(x) 的值在数据分布上用红线表示。我们可以看出:如果基于 p(x) 对 f(x) 进行采样,那最后得到的期望值应该是负值,因为 p(x) 总是倾向于在 f(x) 左侧采样(图中的蓝线,在左侧很高)。

但是,我们目前只能基于 q(x) 采样得到数据,而 q(x) 总是倾向于在 f(x) 右侧采样(图中的绿线,在右侧很高)。这就导致了采样到的 f(x) 数据都是正的。 如果不加采样率,我们会错误的认为: p(x) 下采样的 f(x) 期望是某个正值。

如何消除这种偏差呢? 足够多的采样+采样率公式

图源:李宏毅老师课程录屏

如上,当我们进行了足够多的采样后: 尽管 q(x) 下很小的概率在左侧获取数据,但一旦我们获取到,我们将通过采样率“很好地”对其进行利用。

如上图中左侧的绿点,因为 q(x) 在左侧值很小,而 p(x) 在左侧值很大,则根据采样率公式,我们给左侧的数据一个很大的权重,这样,我们便“修正了”偏差。在 足够的采样+采样率 的加持下,我们可以正确地估计出: p(x) 下采样的 f(x) 期望是某个负值。

我很重视我文章的正确性,有不同意见,欢迎给我发邮件: [email protected]

后记:这篇文章原本的标题是如何理解强化学习中『离轨策略的采样率』?让我们做一个简单的推导,但后来成文时我灵光乍现: 离轨策略是从非最优中学习最优策略,这不正是从失败中学习成功经验嘛! 结合我朋友小拍的个人经历(有哪件事是我朋友一直在失败,但却一直在进步来着?) ...因此从强化学习的角度看,追过那么多女孩,四舍五入小拍也算谈过恋爱吧!不多说了兄弟姐妹们,关注公众号「Piper蛋窝」点个在看再走吧~

你可能感兴趣的:(机器学习人工智能深度学习)