关注:决策智能与机器学习,深耕AI脱水干货
作者:Piper蛋 来源:Piper蛋窝
转载请联系作者
简介:F学长是我数模竞赛、科研方法道路上的最重要的启蒙人之一。去年他成功进入清华大学。巧的是,他的研究方向也是强化学习。 疫情期间,我们打过好几轮长长的电话,讨论强化学习,其中给我印象最为深刻的是,他说:“强化学习说白了,是建立分布到分布之间的映射。” 我从没有听过别人提这样的观点,这让我静下心来,去再次思考强化学习的数学假设。我将在此对这个观点进行分析。
本文结构
先说结论,我 同意 这个观点。为了论证这个观点,我将从最易于理解的“监督学习”入手,基于 “'分类问题'的实质就是在拟合不同类别的数据的分布”这个共识展开,提出“从微观和宏观上看这个学习系统得到的理解是不同的” 这个观点。接着引申到强化学习。
目录:
深度学习的微观视角与宏观视角
强化学习的微观视角与宏观视角
深度学习的微观视角与宏观视角
听李老师的深度学习课程,最常听到的词恐怕是 “分布” 二字:无论是基础推导中的假设
还是各个分支技术比如GAN/对抗攻击模型等
。深度学习使用者们心中都有这样一个原则性的统计学意义上的假设:差异性体现在群体上,而非个体上。言外之意,数据的分布比某条数据什么样子要重要得多。
李老师在开始的课程 Classification: Probabilistic Generative Model 中就证明过:我们在做分类时,实际上是对 分类的分布的参数进行拟合 ,只不过, 这其中进行了一些推导,导致我们可以直接方便地拟合神经网络的参数,而不用去管分布的参数具体是什么样子。 具体解释如下。
![](https://i-blog.csdnimg.cn/blog_migrate/204a8f8289cf0097083b0dd5f22709b3.png)
如上,我们在解决一个二分类问题时,对于新输入的数据 ,其属于类别 的概率 可以用 先验概率公式 表示。而这个公式可以经过一些简单的变换,变成一个 Sigmoid 函数形式:想得知 是 类别的概率,只需要知道上图 的具体数值就可以。
![](https://i-blog.csdnimg.cn/blog_migrate/76d0fa5698b4d3122f30645ede40b132.png)
如上,我们基于两点假设:两类数据都服从某个分布(这里用高斯分布举例子) 与 两类数据的分布协方差相等 可以推导出, 可以化简成 的形式。向量 以及向量 与高斯分布中的常数如均值、协方差有关,但是这不重要。因为我们只需要知道 与 是多少,就可以达到“得知 是 类别的概率”的目的了。均值、协方差这些数字或许可以用极大似然法求出,但是其相比直接用神经网络拟合 与 ,有着太多劣势:极大似然法不是一个迭代算法(对内存要求高、不灵活),极大似然法必须找到正确的分布模型,极大似然法的分布模型必须可求导...
因此,我们的得到的神经网络参数 与 ,实际上都是与分布参数有关的函数 , ,我们很难通过 与 反推得到 分布的参数,也没这个必要。
因此我说,从微观和宏观上看这个学习系统得到的理解是不同的。
微观视角
我们将深度学习模型/神经网络视为一个系统,以猫狗分类器为例,从微观上看:
这个系统的输入是 某条数据(如一张图片对应的RGB矩阵)
这个系统的输出是 这张图片是猫图的概率为 0.72 ,是狗图的概率为 0.28
这是微观视角,神经网络类似一个函数,也是人人都易于理解的视角。
宏观视角
有了我们上午提到的数学基础,从宏观角度看这个系统,则并非只是“输入-输出”而已。
还是以猫狗分类器为例:
我们将一条条数据(一张张图片)不断输入神经网络让其 学习
其“学习”的表现为神经网络参数的变化
我们知道,有了一堆数据,我们就可以选择一种分布,并且拿这些数据拟合分布的参数
神经网络省去了选择分布的过程 (已有人证明,神经网络强大到可以拟合任何分布/函数)
神经网络的参数在改变,而这些参数实际上就是f(分布的参数)
因此,我们可以从宏观对这个学习系统进行理解:
我们不断“喂”给神经网络大量数据,实际上就是为了 让其“心中”对数据分布有更精准的“感觉”
但是这一种“感觉”,即 神经网络也不知道具体分布参数,其只是能把任务做得越来越好
强化学习的微观视角与宏观视角
对于强化学习,其实同理。我的理解是:强化学习在学习的分布,并不是这个条数据本身来自哪个分布,而是数据到数据其转移概率的分布。
具体一些,就是非强化学习,学习的是 这个分布,而强化学习,学习的是 这个分布。
![](https://i-blog.csdnimg.cn/blog_migrate/2b33f209f824c392c29b0383e83f3874.png)
上图中,我想表达:“马尔可夫过程”是强化学习的基础假设之一。所有的强化学习测试环境在理论上都可以用 马尔可夫过程的状态转移矩阵 描述,也就是我们说的 数据到数据的分布 。
微观视角
将强化学习看作一个系统,则微观地,以“跳一跳”小游戏为例:
这个系统的输入是 当前状态(目前所处位置,目标所处位置)
这个系统的输出是 动作(跳多远)
同样,微观视角中,神经网络类似一个函数。
宏观视角
然而有了上面的数学基础,我们知道:
我们将数据 这里的数据至少是成对的,可以表示前后关系,如 , 不断输入神经网络让其 学习
其“学习”的表现为神经网络参数的变化
这里的神经网络参数,实际上是f(状态转移矩阵)
而宏观上,神经网络的输出端,则是 根据自己对状态转移的“感觉”,给出一个策略(比如投篮:我用这么大的力气,大概可以在这个距离投进;但是具体多大,根据什么公式算出来的,我也说不来)
同样地, 状态转移矩阵几乎不可能从神经网络参数中反推出来。
总结
这些思考是在我听到学长的“强化学习说白了,是建立分布到分布之间的映射”观点后进行的。
再总结一下,与监督学习相同,强化学习是在建立分布到分布之间的映射,但是强化学习特殊在
用于映射 的分布,是 状态转移矩阵 的分布
映射得到 的分布,是 动作策略 的分布
最后解释一下 动作策略的分布 ,以我练习投篮为例:
我练习了大量投篮,因此获得了“序列数据”,并从中学到了“感觉”(实际上是 状态转移矩阵的分布 )
有了这个“感觉”,我更加清楚,在哪里该做什么事(这是 动作策略的分布)
感谢学长的点拨,虽然我不总是同意学长的观点(我天生喜欢质疑..),但是学长的水平确实极高。祝学长学业有成,也希望大家有所收获,或者提出质疑。
历史精华好文
交流合作
请加微信号:yan_kylin_phenix,注明姓名+单位+从业方向+地点,非诚勿扰。