其他
深度学习的几何观点
The following article is from 老顾谈几何 Author 顾险峰
点击上方蓝字“返朴”进入主页,可关注查阅往期文章
希望能够对于广大的青年学生有所帮助。我们也会进一步开源更多的相关算法。由于准备仓促,作者们的学术修养不足,书中会有不严密之处,欢迎广大读者批评指正!
感谢邀请!这项工作是和丘成桐先生以及很多数学家和计算机科学家共同合作的成果。目前,深度学习在很大领域都取得了空前的成功,但是对于深度学习的理论理解依然处于较为初始的状态。我们试图回答下面的几个基本问题:
深度学习究竟在学习什么? 深度学习如何学习?系统究竟是学会了还只是记住了? 深度学习的学习质量如何?系统能够学会所有的知识吗?还是迫不得已要遗忘一些学习内容?
根据Mumford-朱松纯学派的观点,目前也是统计学习的基本观点,每个概念都可以被视为高维背景空中某个低维数据子流形上定义的一个概率分布。这在数据科学中被称为是流形分布定则(manifold distribution law)。
图2. 每个视觉概念是高维图像空间中某个低维数据流形上的一个概率分布。
如图2左帧所示,Yann Lecunn收集了很多信封上的手写体数字图像:每个图像是28乘28像素,可以看成是784维图像空间中的一个点;所有的手写体数字图像构成图像空间中的一个点云。那么这个点云是杂乱无章的吗?还是有内在的结构?右帧是Hinton的t-SNE算法的计算结果,将每个手写体图像(采样)映到平面(隐空间)上的一个点(特征),最为关键的是这个映射是可逆映射,即从特征我们可以得到一个采样。这意味着手写体数字图像的点云本质上是分布在一个二维曲面(数据流形)上,这个曲面嵌入在784维的欧氏空间(背景空间)之中。从数据流形到隐空间的映射被称为是编码映射,而从隐空间映回到数据流形上的映射被称为是解码映射。这个流形结构表达了数据的内禀属性,如果我们只考虑某个采样附近的切空间,则流形结构表现为切平面,局部上可以被总结为低秩特性。但是整体的流形无法用一个线性子空间来描述,用流形结构更加严谨普适。而流形的结构就是被编码映射和解码映射所表达。
更进一步,从‘0’到‘9’这十个数字被编码映射映到隐空间的十个团簇。这意味着每个数字对应一个概率分布(probability distribution),具有相应的密度函数(density)和支撑集合(support set)。
由此,我们可以回答第一个问题:深度学习的目的是学习流形上的概率分布,学习任务主要有两条,一是学习流形结构(显式或者隐式地表达为编码解码映射);二是学习概率分布(概率分布的表达有很多种方式)。
图3. 顶行:编码映射破坏了概率分布;底行,编码映射保持了概率分布。
我们用图3进行进一步解释:这里的背景空间是三维欧氏空间,流形是二维的弥勒佛曲面,分布是曲面上的均匀分布。两个编码映射都将流形映到了隐空间(平面圆盘),我们在隐空间均匀采样,再将采样点用解码映射拉回到曲面上。左上帧显示曲面上采样点的分布不再均匀;右下帧显示曲面上的分布依然均匀。这意味着下行显示的编码、解码映射保持了概率分布,实际上是深度学习的终极目标:降维(编码映射),保测度。
当时,笔者也在追随丘成桐先生学习蒙日-安培方程,主要从微分几何角度研究计算方法。笔者认为偏微分方程的分析方法更加深刻,因此并没有听从朱师兄的建议,用统计方法处理视觉问题。后来,Mumford,朱师兄,Alan Yuille等用吉布斯分布理论来表达概率分布,即在空间中定义一个能量函数,其指数函数给出了概率密度。学习的目的就是学习吉布斯分布函数。丘先生和笔者则应用最优传输理论来设计深度学习中的概率表达,而这又归结为蒙日-安培方程。这意味着分析、统计两种方法殊途同归,相互补充,相互依存。
编码、解码映射都是从流形到隐空间的连续映射。而深度神经网络具有“万有逼近”能力。这一能力可以用希尔伯特第13问题的解答来理解,即Kolmogorov-Arnold表示定理:任意多变量连续函数,都可以用单变量连续函数的复合来表示:
这里,每个神经元只能表达简单的函数
例如,模式识别问题可以归结为这样的简单情形:拓扑空间X中给定两个闭集A与B,彼此不交,根据Urysohn引理,存在一个连续函数f:X→[0, 1], f(A)=0并且f(B)=1。因此如果神经网络能够足够好的逼近这个函数,就可以实现模式识别。对于一般的流形,由Whiteny嵌入定理,流形都可以嵌入到足够高的欧氏空间里。因此编码、解码映射都存在,学习的目的就是用神经网络来逼近编解码映射。图4显示了最为简单的自动编码器,网络中间有一层瓶颈层,对应着隐空间,瓶颈层神经元的个数等于隐空间的维数。瓶颈层左侧的网络逼近编码映射,右侧网络逼近解码映射。我们在流形上稠密采样,损失函数的设计使得编解码映射的复合等于恒同映射,这样编、解码映射互为逆映射,从原始背景空间到隐空间。
图5显示了学习效果,我们在弥勒佛曲面上稠密采样,用自动编码器将曲面映入隐空间,即编码映射;然后解码映射再将隐空间映回曲面。我们对比初始数据流形与最终重建的曲面,我们看到没有太大的几何信息的丢失,所有的手指、脚趾都被展开在隐空间,即我们得到的编码解码映射都是拓扑同胚。
如图6所示,我们用的是ReLU 深度神经网络,这种网络将背景空间和隐空间都剖分成很多胞腔,每个胞腔用一个颜色来表示。在相应胞腔之间,映射是线性映射,可以用一个矩阵来表示。换言之,与传统的有限元方法相类似,都是用分片线性函数来逼近一般映射。只是有限元方法是用基函数的线性组合来逼近任意函数,而深度神经网络是用分片线性函数的复合来逼近。由此,我们可以说流形结构的学习是通过深度神经网络做万有逼近,在欧氏空间之间的所有映射组成的空间中做变分来得到。但是学习的动力学机制迄今为止没有统一的理论,学习过程是否收敛、收敛速率如何、是否收敛到全局最优,这些都有各种理论解释。
概率分布的学习比较复杂。我们用著名的对抗生成网络来解释(GAN)。依照Goodfellow的解释,如图7所示:
在隐空间上有一个已知的白噪声(例如高斯噪声),生成器将白噪声变换成数据流形上的生成分布;数据流形上的训练样本点给出了真实数据分布;判别器计算了生成分布和真实分布之间的距离。判别器和生成器彼此竞争,达到Nash均衡,人眼也无法区分生成分布与真实分布,训练终止。这里,我们看到数据分布的所有信息是由变换来表达,而两个分布之间的距离是由和之间的变换得来。因此,最终归结为两个概率分布之间的变换。而计算这些变换都是基于最优传输映射的理论和方法。
更加广泛而言,统计学习的基本算法归结为如下框架:我们希望学习某个概率分布,我们通过观察,得到这个概率分布的部分信息,表达成特定函数的期望,然后制定一个特殊的能量,在所有可能的概率分布中,优化这个能量。比如,最大熵原则就是最大化概率分布的熵(entropy)。最大似然法、后验估计,互熵等算法也类似。从理论角度而言,概率分布的学习归结为在所有分布构成的空间中做带有限制的、关于特定能量的优化。给定数据流形,上面所有的概率分布构成一个无穷维的空间,被称为是Wasserstein空间。最优传输理论为Wasserstein空间定义了一个黎曼度量,有了黎曼度量可以定义协变微分,从而使得变分法得以实行。那么用最优传输理论框架进行优化,与用信息论为理论进行的优化在经典问题上得到同样的结论(最大熵原理和最优传输)。
Wasserstein空间是无穷维的,如何定义距离、测地线、切向量和黎曼度量?换句话说,如何将统计、概率分布黎曼几何化?这是最优传输理论抽象中的抽象,可能最为直观的讲法来自流体力学。假设我们有个水池(流形),水中溶解了盐分,盐的密度并不均匀,给出了一个概率分布。我们搅动水池,让水流动起来,这样盐分会重新分配,从而得到了另外的概率分布。水池中所有可能的盐分分布构成了Wasserstein空间,给定初始分布和目标分布,我们可以设计水的定义在时空上的流场,即每一刹那,水池中的每一点处的速度向量,使得水流将初始分布变换成目标分布。在所有可能的时空流场中,存在唯一的一个使得水流的总动能(同时进行空间、时间积分)达到最小,这个最小总动能,被定义为初始和目标分布之间的Wasserstein距离。那么,这个流场在每一个时刻都有一个盐分的分布,我们得到一系列概率分布,它们构成了连接初始和目标分布之间的测地线。在每一刹那,流场可以被分解为一个无散场和一个梯度场,无散场对于密度的改变没有贡献,那么水池中的梯度场被定义为Wasserstein空间中,那一时刻对应的概率密度处的切向量。那么两个梯度场,点点计算内积再关于空间整个积分起来,如此得到了Wasserstein空间的黎曼度量。假如我们在Wasserstein空间中进行优化,我们首先关于给定能量求变分,得到水池中的一个梯度场,我们让水沿着这个梯度场持续流动一个很小的时间,然后得到新的分布,重新计算变分,得到新的流场,再次流动,直至所得的流场处处为0。
现在我们可以回答上面的问题:深度学习如何进行学习?深度学习系统在所有映射构成的空间中进行变分来学习拓扑结构,用深度神经网络来万有逼近编解码映射;在Wasserstein空间中进行优化来学习概率分布,概率分布用传输映射来表示。
最优传输和凸几何具有非常密切的亲缘关系。如图8所示,左帧是著名的Minkowski问题:给定凸多面体每个面的法向量和面积,则凸多面体的形状被确定;右帧是Alexandrov 问题:给定开放凸多面体每个面的法向量,和向平面凸集投影的面积,则凸多面体的形状被确定。而Alexandrov问题等价于欧氏平方距离下的最优传输问题。
如图9所示,根据Brenier理论,欧氏平方距离下的最优传输映射等于某个凸函数(即Brenier势能函数)的梯度映射。Brenier势能函数与Alexandrov凸多面体都是由蒙日-安培方程来控制,因此计算上彼此等价。图9显示了图3中两个分布之间的最优传输映射,和对应的Brenier势能函数,以及最优传输映射的逆映射(也是最优的),及其对应的Brenier势能函数。通过几何变分法(最优传输几何变分法的C++实现),我们可以精确计算最优传输映射,这时我们发现Brenier势能函数的表示包括了所有的训练样本,同时也包含新的计算变量。
由此,我们可以回答上面的问题:这种深度学习一方面记住了所有的训练样本,同时也学会了新的内容。
模式坍塌的问题可以用最优传输映射的正则性理论来解释。如果源和目标分布的支撑集合都是凸的,则传输映射的正则性有所保证,否则可能存在奇异点,在奇异点处映射间断。如图11所示,我们计算平面概率分布间的最优传输映射,源分布是定义在单位圆盘上的均匀分布,目标分布是定义在海马形状上的均匀分布。我们看到Brenier势能函数连续,但不是处处可导,在红色的曲线处,Brenier势能函数不可导。红色曲线投影到单位圆盘上,得到黑色的奇异点集合,最优传输映射在奇异点处间断。给定平面区域,我们可以用算法确定是否存在奇异点(深度学习的“瓶颈”与“遛狗”定理)。这样就产生了一个不可回避的本质矛盾:深度神经网络只能逼近连续映射,而传输映射有可能在奇异点处间断,这样学习过程或者不收敛,或者收敛后像集与目标并不吻合,从而造成模式坍塌。
我们可以基于最优传输理论来构造新的生成模型来避免模式坍塌。如图12所示,我们用自动编码器(Auto-encoder)来学习流形结构,用最优传输映射来学习概率分布。深度神经网络不再用来逼近传输映射,而是逼近连续的Brenier势能函数,或者用几何变分法来直接计算Brenier势能函数,这样传输映射即便是非连续的也不会影响计算精度和稳定性。
图12. AE-OT生成模型。
这一生成模型可以精确地检测到数据流形的边缘,并且在边缘处生成新的样本。如图13所示,我们用AE-OT模型学习了一个人脸图像的流形,我们检测到流形的两处边界,一处是人脸图像带有棕黑色的眼睛,另一处是人脸图像带有蓝色的眼睛。我们在隐空间画上一条直线,映射到数据流形上的一条曲线,图13中每一幅图像是一个点,每一行是一条曲线。在曲线上出现了一只眼睛为黑色、一只眼睛为蓝色的人脸图像。这种人脸在现实生活中遇到的概率为0,实际上是人脸图像流形的边界上。学习过程非常稳定,收敛很快,没有遇到模式坍塌的问题。
演讲的详细内容请参考[2],新书“最优传输的理论与计算”[1]可以通过扫描二维码预定。平面最优传输映射几何变分法的代码与数据从[3]可以得到,详细说明在(最优传输几何变分法的C++实现)中;球面最优传输映射几何变分法的代码与数据从[4]可以得到,详细说明在(球面最优传输映射的C++实现)中;应用快速傅里叶变换来加速求解的算法在(FFT-OT: 最优传输映射的快速傅里叶变换方法)中。
参考文献
[1] N. Lei, X. Gu, 最优传输的理论与计算,高等教育出版社,2021年10月。
[2] Na Lei, Dongsheng An, Yang Guo, Kehua Su, Shixia Liu, Zhongxuan Luo, Shing-Tung Yau and Xianfeng Gu, "Geometric Understanding of Deep Learning", Journal of Engineering, 2020. https://doi.org/10.1016/j.eng.2019.09.010[3] https://www3.cs.stonybrook.edu/~gu/software/OT/index.html[4] https://www3.cs.stonybrook.edu/~gu/software/SOT/index.html本文经授权转载自微信公众号“老顾谈几何”。
相关阅读
4 丘成桐谈陈省身:二十世纪伟大的几何大师 | 陈省身110周年纪念
近期推荐
3『重磅!最新发现癌症相关基因』真相:基本找不着跟癌症无关的基因
特 别 提 示
1. 进入『返朴』微信公众号底部菜单“精品专栏“,可查阅不同主题系列科普文章。
2. 『返朴』提供按月检索文章功能。关注公众号,回复四位数组成的年份+月份,如“1903”,可获取2019年3月的文章索引,以此类推。
↓↓返朴书单,点击购买↓↓
长按下方图片关注「返朴」,查看更多历史文章