“强化学习说白了,是建立分布到分布之间的映射”?数学角度谈谈个人观点

简介:F学长是我数模竞赛、科研方法道路上的最重要的启蒙人之一。 去年他成功进入清华大学。巧的是,他的研究方向也是强化学习。 疫情期间,我们打过好几轮长长的电话,讨论强化学习,其中给我印象最为深刻的是,他说: “强化学习说白了,是建立分布到分布之间的映射。” 我从没有听过别人提这样的观点,这让我静下心来,去再次思考强化学习的数学假设。 我将在此对这个观点进行分析。

本文结构

先说结论,我 同意 这个观点。为了论证这个观点,我将从最易于理解的“监督学习”入手,基于 “分类问题”的实质就是在拟合不同类别的数据的分布。 这个共识展开,提出 “从微观和宏观上看这个学习系统得到的理解是不同的” 这个观点。接着引申到强化学习。

目录:

  • 深度学习的微观视角与宏观视角
  • 强化学习的微观视角与宏观视角

深度学习的微观视角与宏观视角

听李老师的深度学习课程,最常听到的词恐怕是 “分布” 二字:无论是基础推导中的假设还是各个分支技术比如GAN/对抗攻击模型等。深度学习使用者们心中都有这样一个原则性的统计学意义上的假设: 差异性体现在群体上,而非个体上。言外之意,数据的分布比某条数据什么样子要重要得多。

李老师在开始的课程 Classification: Probabilistic Generative Model 中就证明过:我们在做分类时,实际上是对 分类的分布的参数进行拟合 ,只不过, 这其中进行了一些推导,导致我们可以直接方便地拟合神经网络的参数,而不用去管分布的参数具体是什么样子。 具体解释如下。

图片来源:李宏毅老师课程

如上,我们在解决一个二分类问题时,对于新输入的数据 x x x ,其属于类别 C 1 C_1 C1 的概率 P ( C 1 ∣ x ) P(C_1 | x) P(C1x) 可以用 先验概率公式 表示。而这个公式可以经过一些简单的变换,变成一个 Sigmoid 函数形式:想得知 x x x C 1 C_1 C1 类别的概率,只需要知道上图 z z z 的具体数值就可以。

图片来源:李宏毅老师课程

如上,我们基于两点假设: 两类数据都服从某个分布(这里用高斯分布举例子)两类数据的分布协方差相等 可以推导出, z z z 可以化简成 w T x + b w^T x+b wTx+b 的形式。向量 w w w 以及向量 b b b 与高斯分布中的常数如均值、协方差有关,但是这不重要。因为我们只需要知道 w w w b b b 是多少,就可以达到“得知 x x x C 1 C_1 C1 类别的概率”的目的了。均值、协方差这些数字或许可以用极大似然法求出,但是其相比直接用神经网络拟合 w w w b b b ,有着太多劣势: 极大似然法不是一个迭代算法(对内存要求高、不灵活),极大似然法必须找到正确的分布模型,极大似然法的分布模型必须可求导…

因此,我们的得到的神经网络参数 w w w b b b ,实际上都是与分布参数有关的函数 w = f 1 ( 分 布 的 参 数 ) w=f_1(分布的参数) w=f1() b = f 2 ( 分 布 的 参 数 ) b=f_2(分布的参数) b=f2() ,我们很难通过 w w w b b b 反推得到 分布的参数 ,也没这个必要。

因此我说,从微观和宏观上看这个学习系统得到的理解是不同的。

微观视角

我们将深度学习模型/神经网络视为一个系统,以猫狗分类器为例,从微观上看:

  • 这个系统的输入是 某条数据(如一张图片对应的RGB矩阵)
  • 这个系统的输出是 这张图片是猫图的概率为 0.72 ,是狗图的概率为 0.28

这是微观视角,神经网络类似一个函数,也是人人都易于理解的视角。

宏观视角

有了我们上午提到的数学基础,从宏观角度看这个系统,则并非只是“输入-输出”而已。

还是以猫狗分类器为例:

  • 我们将一条条数据(一张张图片)不断输入神经网络让其 学习
  • 其“学习”的表现为神经网络参数的变化
  • 我们知道,有了一堆数据,我们就可以选择一种分布,并且拿这些数据拟合分布的参数
    • 神经网络省去了选择分布的过程 (已有人证明,神经网络强大到可以拟合任何分布/函数)
    • 神经网络的参数在改变,而这些参数实际上就是f(分布的参数)

因此,我们可以从宏观对这个学习系统进行理解:

  • 我们不断“喂”给神经网络大量数据,实际上就是为了 让其“心中”对数据分布有更精准的“感觉”
  • 但是这一种“感觉”,即 神经网络也不知道具体分布参数,其只是能把任务做得越来越好

强化学习的微观视角与宏观视角

对于强化学习,其实同理。我的理解是: 强化学习在学习的分布,并不是这个条数据本身来自哪个分布,而是数据到数据其转移概率的分布。

具体一些,就是非强化学习,学习的是 P ( x 1 )   D i s t r i b u t i o n P(x_1)~Distribution P(x1) Distribution 这个分布,而强化学习,学习的是 P ( x 1 ∣ x 2 )   D i s t r i b u t i o n P(x_1 | x_2)~Distribution P(x1x2) Distribution 这个分布。

我基于 Sutton 的书做的 ppt 节选,以后会释出

上图中,我想表达:“马尔可夫过程”是强化学习的基础假设之一。所有的强化学习测试环境在理论上都可以用 马尔可夫过程的状态转移矩阵 描述,也就是我们说的 数据到数据的分布

微观视角

将强化学习看作一个系统,则微观地,以“跳一跳”小游戏为例:

  • 这个系统的输入是 当前状态(目前所处位置,目标所处位置)
  • 这个系统的输出是 动作(跳多远)

同样,微观视角中,神经网络类似一个函数。

宏观视角

然而有了上面的数学基础,我们知道:

  • 我们将数据 这里的数据至少是成对的,可以表示前后关系,如 ( x 1 , x 2 ) (x_1, x_2) (x1,x2) ( x 2 , x 3 ) (x_2, x_3) (x2,x3) 不断输入神经网络让其 学习
  • 其“学习”的表现为神经网络参数的变化
  • 这里的神经网络参数,实际上是f(状态转移矩阵)
  • 而宏观上,神经网络的输出端,则是 根据自己对状态转移的“感觉”,给出一个策略 (比如投篮:我用这么大的力气,大概可以在这个距离投进;但是具体多大,根据什么公式算出来的,我也说不来)

同样地, 状态转移矩阵几乎不可能从神经网络参数中反推出来。

总结

这些思考是在我听到学长的“强化学习说白了,是建立分布到分布之间的映射”观点后进行的。

再总结一下,与监督学习相同,强化学习是在建立分布到分布之间的映射,但是强化学习特殊在

  • 用于映射 的分布,是 状态转移矩阵 的分布
  • 映射得到 的分布,是 动作策略 的分布

最后解释一下 动作策略的分布 ,以我练习投篮为例:

  • 我练习了大量投篮,因此获得了“序列数据”,并从中学到了“感觉”(实际上是 状态转移矩阵的分布
  • 有了这个“感觉”,我更加清楚,在哪里该做什么事(这是 动作策略的分布

感谢学长的点拨,虽然我不总是同意学长的观点(我天生喜欢质疑…),但是学长的水平确实极高。祝学长学业有成,也希望大家有所收获,或者提出质疑。

感谢你读到最后!我是小拍,一名计算机技术爱好者!觉得文章不错的话,可以点击“在看”支持我一下!有任何批评建议或者合作事宜,可以给我发邮件 piperliu@qq.com ,或者关注公众Piper蛋窝,回复「微信」来加我微信联系~

©️2020 CSDN 皮肤主题: 数字20 设计师:CSDN官方博客 返回首页