为什么要深入数学的世界
作为计算机的学生,我没有任何企图要成为一个数学家。我学习数学的目的,是要 想爬上巨人的肩膀,希望站在更高的高度,能把我自己研究的东西看得更深广一些。说起来,我在刚来这个学校的时候,并没有预料到我将会有一个深入数学的旅 程。我的导师最初希望我去做的题目,是对appearance和motion建立一个unified的model。这个题目在当今Computer Vision中百花齐放的世界中并没有任何特别的地方。事实上,使用各种Graphical Model把各种东西联合在一起framework,在近年的论文中并不少见。
我不否认现在广泛流行的Graphical Model是对复杂现象建模的有力工具,但是,我认为它不是panacea,并不能取代对于所研究的问题的深入的钻研。如果统计学习包治百病,那么很多 “下游”的学科也就没有存在的必要了。事实上,开始的时候,我也是和Vision中很多人一样,想着去做一个Graphical Model——我的导师指出,这样的做法只是重复一些标准的流程,并没有很大的价值。经过很长时间的反复,另外一个路径慢慢被确立下来——我们相信,一个 图像是通过大量“原子”的某种空间分布构成的,原子群的运动形成了动态的可视过程。微观意义下的单个原子运动,和宏观意义下的整体分布的变换存在着深刻的 联系——这需要我们去发掘。
在深入探索这个题目的过程中,遇到了很多很多的问题,如何描述一个一般的运动过程,如何建立一个稳定并且广泛适用的原子表达,如何刻画微观运动和宏观分布变换的联系,还有很多。在这个过程中,我发现了两个事情:
我的游历并没有结束,我的视野相比于这个博大精深的世界的依旧显得非常狭窄。在这里,我只是说说,在我的眼中,数学如何一步步从初级向高级发展,更高级别的数学对于具体应用究竟有何好处。
先说说分析(Analysis)吧,它是从微积分(Caculus)发展起来 的——这也是有些微积分教材名字叫“数学分析”的原因。不过,分析的范畴远不只是这些,我们在大学一年级学习的微积分只能算是对古典分析的入门。分析研究 的对象很多,包括导数(derivatives),积分(integral),微分方程(differential equation),还有级数(infinite series)——这些基本的概念,在初等的微积分里面都有介绍。如果说有一个思想贯穿其中,那就是极限——这是整个分析(不仅仅是微积分)的灵魂。
一个很多人都听说过的故事,就是牛顿(Newton)和莱布尼茨 (Leibniz)关于微积分发明权的争论。事实上,在他们的时代,很多微积分的工具开始运用在科学和工程之中,但是,微积分的基础并没有真正建立。那个 长时间一直解释不清楚的“无穷小量”的幽灵,困扰了数学界一百多年的时间——这就是“第二次数学危机”。直到柯西用数列极限的观点重新建立了微积分的基本 概念,这门学科才开始有了一个比较坚实的基础。直到今天,整个分析的大厦还是建立在极限的基石之上。
实分析:在实数理论和测度理论上建立起现代分析
在19世纪中后期,不连续函数的可积性问题一直是分析的重要课题。对于定义在 闭区间上的黎曼积分的研究发现,可积性的关键在于“不连续的点足够少”。只有有限处不连续的函数是可积的,可是很多有数学家们构造出很多在无限处不连续的 可积函数。显然,在衡量点集大小的时候,有限和无限并不是一种合适的标准。在探讨“点集大小”这个问题的过程中,数学家发现实数轴——这个他们曾经以为已 经充分理解的东西——有着许多他们没有想到的特性。在极限思想的支持下,实数理论在这个时候被建立起来,它的标志是对实数完备性进行刻画的几条等价的定理 (确界定理,区间套定理,柯西收敛定理,Bolzano-Weierstrass Theorem和Heine-Borel Theorem等等)——这些定理明确表达出实数和有理数的根本区别:完备性(很不严格的说,就是对极限运算封闭)。随着对实数认识的深入,如何测量“点 集大小”的问题也取得了突破,勒贝格创造性地把关于集合的代数,和Outer content(就是“外测度”的一个雏形)的概念结合起来,建立了测度理论(Measure Theory),并且进一步建立了以测度为基础的积分——勒贝格(Lebesgue Integral)。在这个新的积分概念的支持下,可积性问题变得一目了然。
上面说到的实数理论,测度理论和勒贝格积分,构成了我们现在称为实分析 (Real Analysis)的数学分支,有些书也叫实变函数论。对于应用科学来说,实分析似乎没有古典微积分那么“实用”——很难直接基于它得到什么算法。而且, 它要解决的某些“难题”——比如处处不连续的函数,或者处处连续而处处不可微的函数——在工程师的眼中,并不现实。但是,我认为,它并不是一种纯数学概念 游戏,它的现实意义在于为许多现代的应用数学分支提供坚实的基础。下面,我仅仅列举几条它的用处:
从某种意义上说,点集拓扑学可以看成是关于“极限”的一般理论,它抽象于实数理论,它的概念成为几乎所有现代分析学科的通用语言,也是整个现代分析的根基所在。
拓扑学把极限的概念推广到一般的拓扑空间,但这不是故事的结束,而仅仅是开 始。在微积分里面,极限之后我们有微分,求导,积分。这些东西也可以推广到拓扑空间,在拓扑学的基础上建立起来——这就是微分几何。从教学上说,微分几何 的教材,有两种不同的类型,一种是建立在古典微机分的基础上的“古典微分几何”,主要是关于二维和三维空间中的一些几何量的计算,比如曲率。还有一种是建 立在现代拓扑学的基础上,这里姑且称为“现代微分几何”——它的核心概念就是“流形”(manifold)——就是在拓扑空间的基础上加了一套可以进行微 分运算的结构。现代微分几何是一门非常丰富的学科。比如一般流形上的微分的定义就比传统的微分丰富,我自己就见过三种从不同角度给出的等价定义——这一方 面让事情变得复杂一些,但是另外一个方面它给了同一个概念的不同理解,往往在解决问题时会引出不同的思路。除了推广微积分的概念以外,还引入了很多新概 念:tangent space, cotangent space, push forward, pull back, fibre bundle, flow, immersion, submersion 等等。
近些年,流形在machine learning似乎相当时髦。但是,坦率地说,要弄懂一些基本的流形算法, 甚至“创造”一些流形算法,并不需要多少微分几何的基础。对我的研究来说,微分几何最重要的应用就是建立在它之上的另外一个分支:李群和李代数——这是数 学中两大家族分析和代数的一个漂亮的联姻。分析和代数的另外一处重要的结合则是泛函分析,以及在其基础上的调和分析。
代数——名称上研究的似乎是数,在我看来,主要研究的是运算规则。一门代数, 其实都是从某种具体的运算体系中抽象出一些基本规则,建立一个公理体系,然后在这基础上进行研究。一个集合再加上一套运算规则,就构成一个代数结构。在主 要的代数结构中,最简单的是群(Group)——它只有一种符合结合率的可逆运算,通常叫“乘法”。如果,这种运算也符合交换率,那么就叫阿贝尔群 (Abelian Group)。如果有两种运算,一种叫加法,满足交换率和结合率,一种叫乘法,满足结合率,它们之间满足分配率,这种丰富一点的结构叫做环(Ring), 如果环上的乘法满足交换率,就叫可交换环(Commutative Ring)。如果,一个环的加法和乘法具有了所有的良好性质,那么就成为一个域(Field)。基于域,我们可以建立一种新的结构,能进行加法和数乘,就 构成了线性代数(Linear algebra)。
代数的好处在于,它只关心运算规则的演绎,而不管参与运算的对象。只要定义恰 当,完全可以让一只猫乘一只狗得到一头猪:-)。基于抽象运算规则得到的所有定理完全可以运用于上面说的猫狗乘法。当然,在实际运用中,我们还是希望用它 干点有意义的事情。学过抽象代数的都知道,基于几条最简单的规则,比如结合律,就能导出非常多的重要结论——这些结论可以应用到一切满足这些简单规则的地 方——这是代数的威力所在,我们不再需要为每一个具体领域重新建立这么多的定理。
抽象代数有在一些基础定理的基础上,进一步的研究往往分为两个流派:研究有限 的离散代数结构(比如有限群和有限域),这部分内容通常用于数论,编码,和整数方程这些地方;另外一个流派是研究连续的代数结构,通常和拓扑与分析联系在 一起(比如拓扑群,李群)。我在学习中的focus主要是后者。
在learning中有这样的一种倾向——鄙视线性算法,标榜非线性。也许在 很多场合下面,我们需要非线性来描述复杂的现实世界,但是无论什么时候,线性都是具有根本地位的。没有线性的基础,就不可能存在所谓的非线性推广。我们常 用的非线性化的方法包括流形和kernelization,这两者都需要在某个阶段回归线性。流形需要在每个局部建立和线性空间的映射,通过把许多局部线 性空间连接起来形成非线性;而kernerlization则是通过置换内积结构把原线性空间“非线性”地映射到另外一个线性空间,再进行线性空间中所能 进行的操作。而在分析领域,线性的运算更是无处不在,微分,积分,傅立叶变换,拉普拉斯变换,还有统计中的均值,通通都是线性的。
在大学中学习的线性代数,它的简单主要因为它是在有限维空间进行的,因为有 限,我们无须借助于太多的分析手段。但是,有限维空间并不能有效地表达我们的世界——最重要的,函数构成了线性空间,可是它是无限维的。对函数进行的最重 要的运算都在无限维空间进行,比如傅立叶变换和小波分析。这表明了,为了研究函数(或者说连续信号),我们需要打破有限维空间的束缚,走入无限维的函数空 间——这里面的第一步,就是泛函分析。
泛函分析(Functional Analysis)是研究的是一般的线性空间,包括有限维和无限维,但是很多东西在有限维下显得很trivial,真正的困难往往在无限维的时候出现。在 泛函分析中,空间中的元素还是叫向量,但是线性变换通常会叫作“算子”(operator)。除了加法和数乘,这里进一步加入了一些运算,比如加入范数去 表达“向量的长度”或者“元素的距离”,这样的空间叫做“赋范线性空间”(normed space),再进一步的,可以加入内积运算,这样的空间叫“内积空间”(Inner product space)。
大家发现,当进入无限维的时间时,很多老的观念不再适用了,一切都需要重新审视。
基本的泛函分析继续往前走,有两个重要的方向。第一个是巴拿赫代数 (Banach Algebra),它就是在巴拿赫空间(完备的内积空间)的基础上引入乘法(这不同于数乘)。比如矩阵——它除了加法和数乘,还能做乘法——这就构成了一 个巴拿赫代数。除此以外,值域完备的有界算子,平方可积函数,都能构成巴拿赫代数。巴拿赫代数是泛函分析的抽象,很多对于有界算子导出的结论,还有算子谱 论中的许多定理,它们不仅仅对算子适用,它们其实可以从一般的巴拿赫代数中得到,并且应用在算子以外的地方。巴拿赫代数让你站在更高的高度看待泛函分析中 的结论,但是,我对它在实际问题中能比泛函分析能多带来什么东西还有待思考。
最能把泛函分析和实际问题在一起的另一个重要方向是调和分析 (Harmonic Analysis)。我在这里列举它的两个个子领域,傅立叶分析和小波分析,我想这已经能说明它的实际价值。它研究的最核心的问题就是怎么用基函数去逼近 和构造一个函数。它研究的是函数空间的问题,不可避免的必须以泛函分析为基础。除了傅立叶和小波,调和分析还研究一些很有用的函数空间,比如Hardy space,Sobolev space,这些空间有很多很好的性质,在工程中和物理学中都有很重要的应用。对于vision来说,调和分析在信号的表达,图像的构造,都是非常有用的 工具。
现代概率论:在现代分析基础上再生