2021 年 6 月 1 日,由北京智源人工智能研究院主办的2021 北京智源大会在中关村国家自主创新示范区会议中心开幕,会期三天。智源大会是北京创建全球人工智能学术和创新最优生态的标志性学术活动,本文为 InfoQ 记者带来的现场报道。
以下内容根据演讲速记进行整理,未经本人确认。
非常感谢宏江和主持人的邀请。本来我今天演讲的题目叫“机器学习的数学理论”,下了很大的决心,是准备给大家讲一下数学定理的。现在十一点多了,我就讲一个稍微科普一点的题目,但还会讲一讲为什么我想选“机器学习的数学理论”为题目。
大家都知道这一轮人工智能最根本的原因是机器学习取得的进步,在这个学习里面有两个很严重的问题:
第一,很多人都觉得机器学习像工程化的学科,不是像科学的学科,这一点应该改变。经过这几年发展,已经有理解机器学习的初步数学框架。虽然还有很多的问题没有解决,但我们已经不是生活在盲人区里面。我就想给大家介绍咱们的数学框架。
第二,机器学习虽然取得了很多成功,但这个领域依然有很多混乱的现象,给大家一些似是而非的东西,甚至有一些误导性的东西。有一些文章,说某某算法、某某模型是 Trend,我们会给它一个结果,让大家看到差距。我个人认为它是非常严谨的,希望我们在这里面讲一下基础理论,推动形成更加严谨的学风。
“机器学习的数学理论”这个题目是我这几年探讨的方向,从最简单的科学研究讲起。科学研究的基本目的,一个是寻求基本规律,行星运动的三大定律,包括量子科学的基本方程;另外是解决实际问题,工程学科、制造行业、航天航空材料等。
有两种基本方法。第一种方法叫开普勒范式,从数据中直接总结出规律。比如行星运动围绕太阳转一圈需要的时间的平方,设是横轴;纵轴是行星和太阳之间的立方,可以知道时间的平方跟立方成正比。这是最成功的案例,因为人力基因工程,大家可能还比较不熟悉。这是一个基本的基础。
第二种情况我们把它叫做牛顿范式,寻求基本原理来解决实际问题,比方说同样是回到行星运动的三大规律。牛顿第二定律,就是加速度与力成正比。牛顿同时发现了万有引力的定律,它说力和距离的平方成反比,这两个加在一起,它不仅仅是一个数学的问题,还有微分方程的问题。通过解这个微分方程可以得到开普勒三大定律,这是一个基本原理的套路。
因为牛顿力学是物理学,物理学是寻求基本原理的一个整个结晶,所有自然学工程科学的基础都来源于物理学,无论做化学、生物的,最基本的原理是物理学。物理学也成为自然科学、工程科学的基础。除了牛顿力学以外,还有电磁场理论、量子力学,这些都是有基本原理的。
通过这些基本原理,物理学的问题又变成了数学问题。不仅仅是数学问题或者物理学的问题,可以说是科学的问题、工程学的问题,严格来说都变成了微分方程的问题。自从 1982 年开始学微分,我干这件事情干了几十年。
总结一下开普勒范式非常高效和直接,但是问题在于知其然,不知其所以然。开普勒虽然发现了行星的三大运动定律,但是不知道原因是什么。牛顿的发现很深刻,但是很难用来解决实际问题。90 年前量子学建立,除非你关心的是物理里面最最极端的情况,比方说高能物理、核物理或其他的问题,大部分出现的化学问题也好、材料的问题也好,都可以用量子力学作为基本的原理来解决。
基本原理的问题有了,基本原理的道路已经基本上完整。但是困难在于这些基本原理作为数学模型太困难了。
Bad news 是非常高能的。一个体系有 100 个电子,方程就是 300 个,基本按 300 个微分方程。100 个电子它是非常简单的体系,而 300 微的微分方程是非常困难的微分方程,这就是薛定谔方程的一个基本的问题,多体问题。而且从数学的角度来说,这也是一个很困难的事。
其他的基本原理,比方说空气动力学有欧拉方程,流体力学有相对应的方程,还有弹性力学有相对的方程,电磁场也有相对的方程。这些都是五个层次的基本原理,也都是很困难的微分方程问题。
这些基本的原理出现以后,很长一段时间内虽然有了这个基本原理,但是人们并不能用这些基本的原理解决实际问题,所以碰到实际的问题还是只能采取非常简化和经验的办法来解决。
第一次突破是 50 年代有了电子计算机,有了数字方法。所谓的数字方法就是差分方法、有限元方法,谱方法,这是我们做的优先的事情。有了这些数字方法以后,人类历史上第一次大规模地实现了集电路的直接用基本原理来解决这个问题,数学的角度可以用分享式或者是多变分享式来有效逼近一般函数。
它带来的影响显然是非常巨大的。我们这个房子能够造起来,在造之前都已经做了有限元及结构力学的模拟。航空、航天、天气预报、石油勘探等等等等,尤其是做工科的,在工科里面计算方法已经成为了很主要的工具。
可以说现代技术、工业技术是赖以生存的技术,刚才我提到造房子、造桥、造飞机等等,这都是基础。但是并不是所有的问题都解决了,还有很多的问题没有解决,比方说从第一性原理设计材料,甚至来研究材料,不要说设计材料,研究材料的性质,这个问题远远没有解决。从第一性原理,基于基本原理的共振方法,也是远远没有得到解决的。
造成的场景是什么呢?造成的场景就是在这些领域里面做理论的、做实践的、解决实际问题的是三波不同的人。物理里面做理论的、做实验的是非常密切合作的群体,但是化学就不一样,就这么简单。
这些问题为什么出现?它们都有一个共同的根源,这个根源就在于维数灾难。如果大家没听说这个词,我希望你们从今天开始记住这个词——“维数灾难”。什么意思呢?这些问题有一个共同特征,它们背后依赖的变量太多了,这个变量就是维数。
我刚才提到线性方程,100 多个电子的体系,它是 300 微量,300 微就是 300 维。下面有一个变量,维数的变量是说随着维数的增加,计算复杂性和计算量呈指数增加。
为什么会出现这个情况?从数学的角度来说根本的原因在于高维的时候,多项式已经不是一个有效应对了,虽然你任何一个多项式应对函数,但是需要的项数太多了,项数随着指数增加,机器学习和深度学习光明的地方。
举个例子:人脸照片的生成,大家现在看到人脸的照片,有一个共同的特征,都是假的,都不是真实的人脸照片。把人脸看作是一个人的照片,看作是随机变量,这个随机变量背后的分布我们不知道,但是我们知道它的样本是真实的照片,真实的人体照片可以用这个影像样本点,根据概率把它学得足够的准确,在这个基础上我们生成新的样本,新的样本就是这张照片。
还有个例子,大家非常熟悉的 Alpha Go,这两个例子本质上是在解决三个很基本的数学问题。
图像识别是在逼近一个高维空间的函数,这个空间有多少维?3072 维。为什么是 3072 维?因为每个图片都是 32×32 的象素,颜色是三维的,乘在一起就是 3072。这个事情从数学家的角度来说就是 3072 维空间的函授,这个在以前是想象不到的。
高维空间的概率。
解一个超大空间上面的一个 beam 方程,前面提到强化学习,最基本的原理就是 beam 方程,就是解决这个方程。
这些例子都是解决高维的数学问题,无论是高维的函数也好,还是或者是密度,或者是高维方程式,都是解决高维的数学问题。
为什么能做到这一点?原因在于深度学习对于高维函数的逼近提供了有效的帮助。函数是数学里面最基本的工具,大家在初中里面学的是数字,到了高中学平面几何,学代数方程、一元一次方程、一元二次方程,到了大学学的最基本的概念就是函数。
所以在如此基本的数学工具上,我们有一个数学概念,我们有一个全新的数学工具,它给我们带来的影响显然非常巨大。2014、2015 年我认识到这一点,放弃我以前做的所有东西来研究机器学习。
举几个简单的例子,有了深度学习,对我们关心的科学问题或者科学计算问题能够带来什么样的改变。
第一,高维控制问题。高维控制长期以来的走向,维数战略这个词发明了动态规划。一个基本的原理是同时它也提出了、也看到了维数灾难。因为有维数灾难,它碰到了长期困境:做控制类基本算法研究的这波人,和真正解决工业控制的那波人,完全是两波人。
关于工业控制大家有没有听说过 Kalman filtering?Kalman filtering 是工业控制学一个非常重要的工具,但是 Kalman filtering 是一个对线性系统使用的工具,它原则上只跟线性系统相结合,但是通常工业控制显然不是线性的。我们没有其他的办法,只有想方设法把一个使用线性的系统工具改变成用非线性的工具,而且这里有很多的近似是没有道理可讲的,也就必须放弃。
我们过去有一个很重要的观察:控制问题,尤其是随机控制问题,跟深度学习之间有一个非常惊人的相似。基于一个很简单的观察,我们就可以用控制论的办法来解决深度学习的问题;用深度学习的办法,来解决控制论的问题。
比方说控制论里面有所谓的极大值原理,我们就可以基于 Moxion princlple 就可以解决一个方法,我们就可以解决高维的控制论问题。这里面是一个人工造成的例子,就是所谓的 enegry storage,几百维甚至于上千维的例子不再是困难的事情,这在以前是难以想象的。
第二个例子,分子动力学分子动力学干的是什么事情,就是在研究分子或者材料的时候,我通过观察每一个原子的动力学轨迹,来研究材料的性质或者是分子的性质。这里面大家看到动的是水,是描述水,一堆水分子相互作用跟分工学习。
红色的点是氧原子,灰色的点是氢原子。所以分子动力学解决的就是牛顿方式,它困难在于我们怎么样描述原子和原子之间的相互作用,而原子和原子之间的相互作用是通过电子来耦合。电子,我刚才已经提到训练方程量子力学的原理,它长期以来怎么走到这个原子和原子间的相互这样的一个函数,传统的办法就是拆,没有别的办法,就是拆。比如它的惰性气体是怎么做的,金属、合金等等。
我们国家曾经有过几个“973”项目,就是为了研究核心的智能函数,就是来找这个核心的自然的参数。
1985 年有一个划时代的东西,有一个方法通过用量子力学的模型办法来算原子算法。1985 年开始,人们真的用分子动力学去描述某个具体的体系。以前的分子动力学就像自娱自乐,很难说得清楚我是在模拟哪个体系。现在,我们可以说针对这个体系了,因为可以通过量子学在线的原子和原子的作用力。
这个方法非常可靠,但是它效率很差,把所有的高性能都放上去,它可以处理 1000 个人的体系,有一些小的体系就不适用。
现在有一个新的套路是什么?量子力学只提供数据,用机器学习来提供模型,再做分子的东西。如果做得好,可以玻璃这个方法既可靠,有量子力学的精度,又有效,像经典模型一样。
刚才提到了深度智能模型,模拟各种不同的体系,从小分子,大家看到上面第一个是医药,第二个是燃料,第三方面是高端核心的材料。可以看到精度都是非常准确的,这个精度基本上跟原来的量子力学模型的精度差不多。
在这个基础上,这是去年刚才提到的 Golden bell price,我们在排名第二的高性能计算机上实现了量子力学精度的分子动力学模拟,上亿个原子的量子动力学模拟,现在甚至可以做到 10 个 hundred,快到 100 亿,70 多亿了。这是 7 个数量级的提升,这样的事情给我们带来的空间是巨大的。
下面是空气动力学,它有一个基本的问题,比方说这个屋子里谈空气动力学,不是特别困难的问题,但是因为你研究的是航天飞机,飞到天上去以后,碰到的是稀薄气体,尤其是从天上回来的时候,它从稀薄气体进入到大气层同一气体。这两个环境不一样,同一气体用欧拉方程,稀薄气体用玻尔兹曼方程。
50 年代开始,人们就在研究怎么样找到一个模型,能够把这两个结合在一起,既像欧拉方程那么减慢,又像玻尔兹曼方程那么准确,不管是对稀薄气体还是什么气体。但是 70 多年这个问题一直没有得到解决,最后也是通过机器学习,做了一个很有效的办法,至少目前看起来在很多情况下可以得到使用,不管在什么环境下都可以使用类似于欧拉方程。
举刚才的这些例子,我们不可避免的会碰到一个问题,我想告诉大家,我们现在用机器学习帮助我们做新的物理模型,我试图告诉大家这个事情。物理模型非常的准确,非常的可靠,也很容易解释,而且它的参数很少。机器学习构造出来的新物理模型,它有没有类似的,可不可以有类似的性质?
也就是说我们怎么用机器学习来帮助构造既有效,又可靠,又可解释的物理模型。有效,指如果跟原来的模型一样复杂就没有意义。可靠就是新构造出来的模型要跟原来的确定方程一样可靠可信赖可解释。当然,关键的问题在下一期美国物理期刊上 physics today 有阐述。
我们做机器学习,跟大家讲这个图像的学习,跟别人不一样的地方是什么?我们并没有别人给我们准备好数据,而是自己学习。比如方程动力学,每产生一个数据点,都是要通过量子力学计算的,量子力学计算很复杂。
这里有一个算法,EELT 算法,大家看到这个效果,最右边试图从这种办法来产生一个与镁可靠的物理模型和分子中文学模型。如果你不用这个算法,可以发现对差不多 5 亿多个构型来做量子力学计算,这 5 个亿多构型做量子力学计算基本不可替代。用到这个算法可以用不到 2 亿多个构型做量子力学计算,这是第一个模型。
第二个模型,我们的机器学习模型基于物理原理来的,所以物理原理的基本约束不能破坏。比方说物理里面的对称性、守恒律等等,这些我们也必须遵循这些规律。所以我们在做机器学习模型的,这些新的因素要考虑进去。不管怎么样,我们对很多的新问题都可以解决刚才提到的这些事情。它将会产生的结果是什么?
从量子力学的方式,到方程,到运动的范围,有一个数列化的方程。比如做生物、做化工的,那个时候就不能再单独列原子了,它太复杂了,必须对原子体系做数列化。这个应该说是化工生物里面的一个基本。
玻尔兹曼方程刚才提到空气动力学。它基本上科学领域从物理化学、云计算物理、化学材料、生物化工,再到航空航天、机械工程,再到大气,基本的模型都在上面。
20 年前,理论科学界做的什么事情,多尺度模型,我们在很多情况下,比如化工里基本原理太少了,化工里的源自方程式到现在都不知道怎么写,我们在底层有比较可靠的物理模型,我们能不能设计一套新的算法,用底层的物理模型解决大尺度的问题,这是 20 年前非常风靡的多尺度模型要解决的事情。
这个项目,我个人认为没有像我们想像的那么成功,归根到底,我们里面缺乏了像机器学习这样的工具,2014 年我认识到机器学习可以帮助我们解决这个问题的时候,所有的精力都放上来做这个事情。
基本上,20 年前的一个梦想,很有可能在五年十年内得到很好的实现,因为我们缺的工具就是机器学习,刚才举了分子动力学的例子,有一张幻灯片还讲了其他的,包括怎么做更准确的粗略化的分子动力学模型,都有非常好的进展,对我干了几十年的事情,真的没有想到这个梦想有可能实现。
第二个主题,人工智能,我不是做人工智能的,我讲人工智能实际上就是机器学习,但是我还想说几句话。
第一,我认为传统的科研领域应该成为人工智能的主战场,而且不仅仅是主战场,很可能是未来十年最大的主战场,传统的科研领域就是化学、材料、电子工程、化学工程、机械工程等等。
它会产生两个方面的结果,第一全面提升科研能力。以前做材料的模拟,我自己亲身参与过,比如搞个合金,研究某个合金的性质,我们要找一个博士后做量子力学计算,这个肯定要搞两三年,然后这个博士后走了,搞一个新的博士后进来,拟合数据搞一个经验式能函数,这个博士后又走了,第三个博士后过来做分子动力学模拟,研究这个合金的性质,这么搞下来十年过去了。
我亲身经历过这件事,这个模式叫做小农作坊的模式。从前到后全部自己搞定了,自给自足,但是最大的问题是效率极差,以前没办法改变这个形势,现在不一样了,我们可以做统一的大平台,分子动力学,深度势能就搞定了,不要再搞其他的模型了,而且这个事情门槛也比较高,刚才我提到的这些不同尺度的物理模型,我们都有通用的大平台来帮助你解决基本问题。
广大的做计算的做模拟的做设计的这些科学工作者不需要自己搞这些东西,你可以在这些平台上做你感兴趣的应用的开发就行了,这个效率跟小农经济的模式完全不一样,我把这个叫做“安卓模式”,这是第一点,全面推动,至少我们做理论的人非常坚信的相信十年以后我们会走到这个模式上。
第二点,能够推动对当下工业技术的分解,比如现在热捧的 AI 制药,差距比较大,很多钱投在里面,药物、材料、航空航天、燃烧、控制等等,这些传统的或者不是那么传统的技术有一个全面的升级,这是我们当下的技术,基本的技术都是靠他们撑起来的,智能制造等等,全面的升级,所以他带来的影响是巨大的。
第二句话,我是做数学的,我们当然关心基础,人工智能的基础算法,基础的研究,这里面讲两点,第一,机器学习的基础是什么?我认为已经成型了,除了这个以外,图像、自然语言、机器人等问题,我们也应该有基础的数学模型,举个例子,比如自然语言处理,给自然语言构造一个数学模型,这是非常复杂的任务。
举一个例子,怎么样定义语义,什么叫语义?可能很多人有不同的定义方法,语义是翻译不变量,这句话我写在这儿是一句数学语言,我这个翻译是一个算子,我这个不变量是数学里的不变量。具体举个例子,我两种语言,A 和 B,A 和 B 之间两种语言翻译有一个算子,T,从 A 到 B,或者 T 从 B 到 A,这两种语言本身有它的生成算子,PA 或者 PB,语义不变,那个 PA 的数学等式,如果大家还记得线性算术,PA 和 PB 这两个是相互矩阵,特征值是一样的。
概念来讲是很容易的一件事,具体要把它实现,必须定义什么叫 PA,什么叫 PA,这些算子必须定义出来,T 的算子怎么定义,这些问题,我和我的一个博士后,他懂 20 多种语言,而且他学一种新的语言只要一个礼拜,基本上都是他完成的。
这里面举个例子,左边这个图画的是一本书,比如《物种起源》《傲慢与偏见》,基于这本书的语料生成这样的算子,有了这些算力以后算它的谱,你发现它的谱对不同的语言真的是一样的,这里只列了四种语言,英语、法语、俄语、芬兰语,其实我们试了 20 多种语言,基本上都是这样的结果,这个谱真的是不变的,所以我们把谱定义成语义。
我们研究这个事情干什么?除了作为数学家,我们有挡不住的冲动,把每个东西说的很精确以外,它的实际意义在于什么。我可以基于一本书来做自然语言处理,“悟道”的概念是基于人类所有的语料做自然语言处理。
Yoshua Bengio 的演讲是怎么样基于一个句子做自然语言处理,所以要有其他的背景。我这里讲的是怎么基于一本书做自然语言处理,有一定的实际意义。这里面只是告诉大家概念,这一类的数学模型是有意义的,不光是我们,也有人追求的也是这件事,只是做法跟数学的做法不太一样。
机器学习的数学理论,为什么机器学习如此的成功?我刚才提到那么高维的问题,传统的办法做不了,机器学习能做,为什么?这对我们来说是非常困难的问题,我们必须回答的问题。这是第一点。第二,为什么机器学习那么的 Fragile,大家知道,调参是非常重要的,参数变一变,Performance 会差很远,我不多讲了,这是为什么?这个我不多讲了,这有一定的理解。
总结:
第一,科学研究走上了快车道。
第二,推动研究和技术创新更加的密切。
第三,人工智能深入到科学研究技术创新的方方面面。
第四,数学的发展面临着前所未有的机会,当然也是个挑战。
我四月份在美国数学会杂志上有一篇文章,这篇文章是我几十年来做应用数学思考的结晶,真的是几十年来考虑的问题,五六年前,我对应用数学还是比较悲观的,虽然我从事了一辈子应用数学,现在我这个观点彻底改变了,原因很简单,应用数学缺的就是机器学习,我有物理模型,有方程和各种各样的分析方法工具等等。
以前应用数学面临的困境是缺机器学习这样的工具,如果纯数学的缺了代数,这个纯数学将是什么样子,做物理的缺了电磁场,物理学将是什么样,应用数学前几年缺了很重要的一块。
一方面,我认为,机器学习从模型算法角度是个数学的问题,并不是只有数学家才能做,本质上在做模拟函数,模拟概率密度,解方程这样的事情;另一方面,他也给我们长期面临的困难问题提供了非常有效的解决方案,数学的发展面临着前所未有的机会,同时也是个挑战。
机会不用多说了,挑战,我们做数学的人如果抓不住这个机会,我们可能就被科学发展的大流抛弃了,淘汰了,而数学家是非常保守的群体。举个例子,我们应用数学里也做图像但是只做图像处理,从来没想过做图像识别,图像处理是一个图像拿过去去噪、压缩,这是二维的问题,而图像识别才是高维的问题。
我们连想都没有想到过我们要搞图像识别,因为这个问题我们认为是不可能做的,太困难了,我们缺乏这种冒险精神,这对我们来说也是文化方面的挑战,我们只有具备更大的冒险精神才能把握住这个机会。
谢谢大家!
评论 2 条评论