AI+科学计算:人工智能与科学计算融合发展
AI+科学系列     2020.12.11


▍ 摘要


       过去10年,人工智能(AI)技术深刻影响了人类社会,也在逐渐改变许多学科的研究范式。在科学计算的诸多领域存在待求解的问题机理不清楚,或者虽然问题具有明确的机理,但由于过于复杂以至于传统算法难以求解的困难。AI技术,特别是机器学习和强化学习方法,基于实验或者计算产生的数据对所求解的问题进行可计算建模,从而得到复杂问题的有效解决方式,这对当今科学计算领域的研究范式已经产生了巨大影响。与此同时,以深度学习为代表的AI在内部机理、数学理论、基础算法等方面尚不清楚、不完善,AI方法的稳健性、精确度等尚缺乏严格的数学论证,这正对其进一步发展造成严重阻碍。然而,结合机理的思维方式将有可能对面向数据的AI技术,提供新的洞见与研究途径。因此,AI与科学计算的结合,势必会推动两个领域的共同发展。


        2020年5月9日举办的未来论坛青创联盟线上研讨会YOSIA Webinar汇集计算数学、科学计算及超大规模计算等领域的交叉研究学者,从“AI for Scientific Computing”和“Scientific Computing for AI”两个视角进行前沿讨论。


点击链接观看视频:https://live.polyv.cn/watch/1527671


▍ 分享嘉宾


主持嘉宾:

董彬,未来论坛青创联盟成员,北京大学北京国际数学研究中心长聘副教授

 

主讲嘉宾:

· 李若,北京大学教授

· 明平兵,中国科学院数学与系统科学研究院研究员

· 史作强,清华大学数学系副教授

· 杨超,北京大学教授

 

讨论嘉宾:

· 孙纬武,联科集团创办人兼首席执行官,美国华盛顿大学终身教授,香港中文大学荣誉教授

· 熊涛,未来论坛青创联盟成员,厦门大学数学学院教授



▍ 主讲报告


李若:《智能时代的科学计算:低维表达与高维问题的自然融合》

 

人物介绍:李若,博士毕业于北京大学数学科学学院,现为该院教育部长江特聘教授,博士生导师,副院长。研究方向为偏微分方程数值解,具体是网格自适应方法和流体力学数值方法,解决了已经存在了六十余年的Grad矩模型双曲性缺失的问题。他是第九届国际工业与应用数学大会报告人,获得第十二届冯康科学计算奖、国家杰出青年基金、全国百篇优秀博士论文奖,入选教育部新世纪人才计划。他曾经或正在担任SISCNMTMAAAMM编委,《数值计算与计算机应用》副主编,北京计算数学学会理事长、监事长,中国数学会计算数学分会副主任委员,教育部数学类专业教指委副主任,北京大学科学与工程计算中心主任、应用物理与技术中心副主任。

 

这次演讲主题是《智能时代的科学计算:低维表达与高维问题的自然融合》,主要内容是探讨传统科学计算领域“新的可能性”。

 

先从维数的概念引入。在科学计算中,例如偏微分方程数值解,求解过程往往是为了逼近一个函数,此函数从一个m维空间映射到n维空间,mn如果非常大,便是高维的问题。

 

高维问题对于数学系学生非常“直白”,但是对于普通人,高维知识的普及获取,更多的是来自狭义相对论。狭义相对论对四维时空的描述,使得高维概念的进入大众视野。

 

 

对于数学家和物理学家来说,维数本质上只是变量的个数。但对于科学计算来说,如果要表达一个高维函数,自变量的维数(上图中的m)是难点,而因变量的维数(n)带来的困难相对较小。

 

在狭义相对论出现以前,就存在了玻尔兹曼方程。此方程中是高维的密度分布函数,由于它把“速度”作为自变量,就使得此函数的维度变成了七维,满足的方程如上图所示。

 

七维并不算高,由于现实时空是四维的,所以在建模的时候,能够将维数从日常的四维进行升高到“几乎不可能”的维数,这也是量子多体问题。

 

如上图薛定谔方程所示,薛定谔方程里面的波函数依赖于多个自变量,每个自变量都是普通的三维空间中的一个向量。其方程中的N的数值会大到类似于阿伏伽德罗常数的数值。如此,维数便有些“高不可攀”。

 

 

其实,在物理的历史上,从低维到高维的研究是渐进的过程。从广义相对论开始算起,在理解广义相对论的时候,会发现它本质上是把相互作用进行几何化,把引力解释为空间曲率。这时,研究者发现引入新的自变量有很多好处,因此便把各种“相互作用”都解释为新加入的维数的几何结构。例如,为了解释磁铁的磁力,在电子层面“硬生生”的引进自旋自变量。这在物理书上的专有名词叫做“内禀属性”,但在数学的角度看,其就是一个自变量。

 

由于引进自旋能够帮助研究者解释磁铁的磁性。于是,物理学家逐渐就把四种基本的作用力,通过加自变量维数的方式,将其统一起来使用。后来,便逐渐发展成了现在的各种弦的理论、M理论。

 

编者注:作为“物理的终极理论”而提议的理论,M理论希望能藉由单一个理论来解释所有物质与能源的本质与交互关系。

 

然而,物理学家把各种各样的相互作用变成了新的自变量,从而导致了函数自变量维数的增长,这种增长也为求解方程带来了非常巨大的困难。

 

科学研究的目标第一步是理解,也即认识自然,第二步是控制,即希望通过获得的理解来改造自然。在科学研究的过程中,针对研究的客体,首先可以看成黑盒子,然后通过观察输入、测量输出,然后猜测黑盒子里发生的“故事”。

 

值得一提的是,输入和输出在表象上非常高维,而我们能够观察、测量和控制的关于输入和输出中的信息都是非常低维的数据。其中的原因是,我们所能够观察和控制的所有因素,其只有低维的表达能力。

 

研究者反复阵地输入和输出进行观察,有一天针对“客体”,终于给出了物理方程。这些模型、方程,其实就是照亮黑盒子的光,使得黑盒子变成了亮盒子。

 

现在存在的问题在于:这些方程中自变量的维数太高,计算量非常大,我们很难对其进行求解。

 

说回黑盒子,其实它和现在热门的神经网络的“长相”非常类似,给定一个输入(输入从表象上非常高维),从而得到一个输出。与神经网络不同的是,此黑盒天生就是一个亮盒子,因此里面所有的连接结构、参数都是设定好的。

 

而在神经网络的训练时,需要反复匹配这些输入和输出的数据,然后把盒子里面的参数进行确定。另外,这里包含的调参和训练以及泛化和解释性的问题很容易将科学问题和哲学联系在一起。

 

最近这几年,神经网络的表达能力得到了众多研究员的认可,另外,神经网络的结构天然和求解科学问题的结构类似,虽然两者之间存在某种竞争关系,但我们需要思考的是:如何利用两者之间的相似性呢?换句话说,如何把神经网络的表达形式,以非常自然的形式应用到求解高维科学计算的问题中来?

 

 

为了说明这个问题,我构造了一个看上去很抽象,但事实上又相当具体的例子。如上图所示,时间发展的方程,(左上的那个公式)其的解函数u是时间和空间的表达式,其中,空间可以是高维。另外,不包含时间导数的算子,且具有初值。

 

当维数(n)非常大的时候,现在的科学计算是很难解决此类问题。但是也需要明确的是:虽然,U0(初值)本身是高维的表象,但是U0集合是低维的结构。另外,所有这种函数所形成的集合,形成了一个维数很低的流行,我们把它记为K(是个和1差不多的数)。

 

由于此方程是时间发展方程,以U0作为初值求得的解,可能的解空间里面会形成一条单参数的曲线。所有这种单参数的曲线形成的集合如上图所示(倒数第二个公式),其中,单参数为t,其他的维数是K维。

 

对于所有的解形成的在解空间中的流形是:以U0作为底的K+1维的流形,同时,整个流形的维数并不高。这样,原则上就可以用上图第一个公式对这个流形进行参数化。t是其中一个显式的参数,每一个函数都可写成x的函数,依赖于参数ω(ω是只依赖于t的一个K维向量)。

 

然后把解的形式代入到方程里面,就得到上图第二个公式:用u对所有的ω求导数,每一个ω对t求导数,且对所有x都成立。另外,可以使用u对ω的导数做检验函数(形式是内积,如上图第三个公式)。

 

 

总之,经过变换可以转变成一个以ω作为变量的常微分方程组,具体而言,我们获得了只有K个变量的常微分方程组,此方程组可以非常高效的进行求解。

 

在构建上述结构的过程中,最大的困难是如何获得解流形(U(0,t))的结构,因为这个结构意味着要给出解的参数表达式。如果能这个难点,那么所有的问题似乎都可迎刃而解。

 

但是,基本可以判断,无法精确给出这个表达式。那么,有没有可能通过机器学习的手段,运用神经网络得出逼近形式呢?

 

显然,神经网络强大的表达能力,完全可以操作这件事情。首先从测量、精细的局部解中获得一些数据;其次,用神经网络构造某些损失函数,然后进行训练;最后用一个神经网络得到逼近形式。

 

在具体操作过程中,存在大量的可能性。其中关键的一点是如何确定点云数据的维数。另外,经过进一步思考,发现中间的参数的选择有着非常丰富的余地,所以并不是非常关键。

 

 

用机器学习得到近似的形式解之后,代入到刚才的方程中。由于是一个近似的形式解,所以此方程不可能等于零,有余项。于是依然可以构造检验函数和模型。当然这个模型将会是一个近似模型,其的计算量比原来小了很多。

 

值得一提的是,对于这样一个模型可以很轻松的给出后验误差估计(上图最后一个公式)。此后验估计的形式也正说明:原则上可以“模糊”精确的解流形,但是可以发展出技术手段,通过不断地减少误差,使得它的精度逐渐得到改进。

    由于时间的关系我就讲到这里,谢谢大家!



杨超:《浅论超级计算、人工智能与科学计算的融合发展:以偏微分方程求解为例》

 

人物介绍:杨超,北京大学数学科学学院教授,博士生导师。主要从事与超大规模并行计算相关的模型、算法、软件和应用研究,研究领域涉及计算数学、计算机科学与应用领域的交叉。研究成果曾先后获2012年中国科学院卢嘉锡青年人才奖、2016年美国计算机学会戈登·贝尔 (ACM Gordon Bell Prize)2017年中国科学院杰出科技成就奖、2017CCF-IEEE CS青年科学家奖等,2019年入选北京智源人工智能研究院智源学者。目前担任北京大学科学与工程计算中心副主任,中国科学院软件研究所学术/学位委员会委员,中国工业与应用数学学会高性能计算与数学软件专业委员会副主任兼秘书长,中国新一代人工智能产业技术创新战略联盟“AI指令集与开发接口标准专题组组长等职务。

 

从主流的科研范式来看,认识世界发现世界的三种最主要的科研手段是实验、理论和计算,最近十来年随着数据科学的兴起,基于数据的科学发现被认为是第四种重要的科研范式。而围绕计算和数据有三个非常独立但又相互关联很大的方向是:超级计算、科学计算和人工智能。

 

从计算科学诞生之初,超级计算和科学计算的关系已经建立起来。它们之间的关系可以概括为:超级计算是支撑科学计算发展的重要工具,为了支撑科学计算的发展,科学计算作为需求牵引、拉动超级计算机性能不断提升。

 

早在电子计算机诞生之前,超级计算的思想萌芽就已产生,其中一个代表性的工作是英国数学家理查德森1922年提出来预报工厂的概念,这个概念被称为理查德森之梦


为什么说是一个梦?因为1922年当时没有电子计算机,他提出的预报工厂主要用于预报天气。众所周知,天气预报是科学计算领域最有代表性一类应用。预报工厂包括64000Human Computers,每台计算机由一个人完成相关计算。预报工厂中还有专人用信号灯指挥不同的计算机进行数据交换。


预报工厂的计算目标是大气,把计算区域分成64000个部分,每个人负责一块,大家分别计算,并有人去协调指挥,这其实体现了早期人们畅想超级计算的一种朴素思想。

 

随着世界第一台电子计算机ENIAC的问世,理查德森之梦终于得以实现,ENIAC重达几十吨,占地面积非常大,并且耗电惊人。据说每当ENIAC开机的时候,整个费城的灯都暗了。1950年,冯诺伊曼和他的助手改造了ENIAC的可编程性,并在这个基础上编写了世界上第一个天气预报程序,成功完成了24小时预报,实现了理查德森之梦,也成为了科学计算的蓬勃发展的一个重要开端。

如今,历经几十年的发展,超算已经在科学计算的方方面面,例如航空、航天、气候、能源、材料、安全、天文等领域中发挥了不可取代的支撑作用。2013年美国能源部曾经统计过一些典型的科学计算应用中的计算需求,这些计算需求即便放在今天来看仍然是很大。

 

在科学计算巨大需求的牵引之下,超级计算机的计算性能按照十年千倍的速度迅猛攀升。我们都知道摩尔定律,摩尔定律的是说个人计算机的性能提升速度是每1824个月性能翻一番,而超级计算机可以达到每年性能翻一番,十年千倍的发展速度。

 

 

现在超算发展的一个重要趋势是:异构众核,即同一个系统有不同类型的计算核心,而且每个芯片上要集成大量的计算核心。为什么会沿着异构众核趋势发展?


其实这与计算需求关系不大,更多的是超级计算发展本身的技术条件限制造成的。现在所有的超级计算机都是基于冯诺伊曼体系结构,冯诺伊曼体系结构的”-“分离特性会导致现有工艺下,为了满足计算需求,能够选择的设计方案十分有限。这样的系统现在越来越多,同一个系统有很多计算核心,而且计算核心还不一样,从设计算法和研究软件角度来说面临很大挑战。

 

 


例如求解偏微分方程的经典并行算法——区域分解算法,该算法一般假定每个子区域应该是大致相同,而且满足一些数学上的条件,例如子区域应具有凸性和的单连通性等。在异构系统上,这些前提假定已经难以成立,需要从思想上突破传统算法的约束。


对此,我们提出了一套异构区域分解算法,在传统的区域分解思想基础上,对每个子区域进行第二次切分,切分时排除掉之前理论上的假定,包括凸区域、单联通区域之类的约束,目标就是要与现有的异构系统硬件配置相适配。



虽然理论上很难分析这种异构区域分解算法的收敛性,但是在实际应用中,这种算法达到很好的应用效果。HPCG是基于偏微分方程求解的高性能计算机的排名标准,我们把这个算法应用于HPCG优化里,取得了很好的效果,收敛性非常好,帮助天河2号拿到2016年的HPCG世界排名第一。



如前所述,科学计算和超级计算之间相互促进、共同发展的闭环已经形成了几十年了。最近十来年随着大数据兴起,人工智能技术得到复兴并呈爆发式发展。此时,人工智能作为一个角色进来之后又起什么作用呢?


至少两个方面的作用,首先从超算角度来看,超算原本主要用来支撑科学计算,现在有了人工智能这种新需求,超算必然也要为人工智能提供强大算力支撑。反过来由于人工智能的本身特性又会改变超算的发展趋势。


第二,人工智能和科学计算的关系。人工智能有一些好的数学工具和思想方法可以作为新思路、新方法、新工具提供给科学计算,科学计算又有多年发展的基础和较为完善的理论框架,可能帮助我们实现可解释性的人工智能。


 

AlphaGoAlphaGo  Zero作为人工智能最近几年非常著名的突破,先后打败了人类的围棋冠军。像AlphaGo  Zero这种大型的AI应用,如果想一天之内完成它的训练,我们所需要的计算能力已经超过1E ops,事实上过去6年训练神经网络的算力需求已经增长了30万倍,这远远超出超级计算机十年千倍的计算性能提升速度。所以现在有观点认为计算能力是人工智能发展的非常重要的基础,甚至有人认为算力常胜。


与此同时,人工智能的发展深刻改变了超算发展趋势,尤其是在2017年前后,随着大规模AI应用的涌现,新型超级计算机设计也逐渐开始考虑人工智能这类应用,最有代表性的机器就是美国的Summit,计算性能世界排名第一的系统,这台机器科学计算的双精度浮点计算性能是148Pflops/s,但是它还通过配备特殊的Tensor Core计算单元,可以实现3.4 Eops/sAI计算性能。与此同时国际上谷歌、IBM、寒武纪、华为等大厂也都先研发了各种AI处理器。最近,谷歌Jeff Dean等人发展了采用AI设计芯片的新技术,大幅度提升芯片数据效率。毫不夸张地说,AI已经对硬件设计产生方方面面的深刻影响。



在超级计算机系统设计方面,举个例子,牛津大学2018年出版了一个白皮书《解码中国的AI梦》,其中有一个观点:中国建设超级计算机方面的成功表明,它有可能赶上AI硬件领域世界领先的企业……如果其他国家专门开发针对AI新型超级计算机,中国在制造传统超级计算机方面的卓越表现可能并不重要。顺着这个思路我们去思考,也许有一天,可能很快我们会看到专门用于AI计算的大型超级计算机。



现在让我们回到偏微分方程求解。借助神经网络这类数学工具,我们是不是可以解一些之前难以求解的问题呢?


在这里,我列出了三个比较有特色的方程,它们都有强烈的非线性,并且计算区域具有不规则和高维的特点。比如第一个方程的计算区域虽然是二维,但是区域边界非常复杂。中间是三维的例子,其计算区域是一个扭曲的torus形成,采用经典方法很难准确的刻划。第三个是100维的超立方体,它高维的性质决定了经典的方法很难去求解。



通过神经网络的方法可以很好地求解这类问题,我们提出了一套新方法——PFNN,这一方法的最大特点是只需要求解无约束优化问题,不需要引入任何惩罚项。


传统的神经网络求解方法或多或少会引入惩罚项,但是通过采用一些手段去重新构造解空间,可以设法避免这个事情。把一个约束优化问题变成完全没有约束的优化问题,数值计算结果表明,PFNN方法可以很好的改善问题的求解精度和计算效率。


下面考虑如何实现并行求解。一个很自然的思路是直接做分布式训练,但这样的处理没有很好的利用问题本身的性质。偏微分方程的求解,在经典的科学计算领域,有一个非常好的并行算法——区域分解。


我们将区域分解的思想用在神经网络求解偏微分方程中。比如可把一个方形的区域一分为四之后,增加一点重叠度,就可以把单个神经网络训练问题分成子区域网络的训练。通过实测发现,这样的手段不但能够提供很好的并行加速,同时问题的计算精度也同时得到改善,实现了计算精度和计算速度的双重收益。


从未来的发展趋势来看,人工智能、超级计算、科学计算会怎样发展?三个方向共同目的是通过某种手段连接真实世界和数字世界。真实世界就是人类在不断设法了解、改造的客观世界。数字世界是我们能够操作、能够任意实验的基于计算机的数字化虚拟世界。从真实世界到数字世界,至少存在四个角度,人工智能可以与科学计算和超级计算结合,发挥作用。


第一,模型角度。经典的科学计算方面,很多问题是建模方面很困难,或者模型很准确但是不可计算或者很难计算,或者是模型可以计算但不够准确。这时候基于人工智能的手段也许可以构造更好的模型,比如现在湍流模型,分子力场模型,天气预报领域的物理过程参数化等都有成功案例。

第二,算法角度。刚才举的PFNN的例子就是算法角度,人工智能的发展有很多的很好的数学工具,思考问题的视角。借鉴里面好的数学工具,比如神经网络,可以应用在一些科学计算领域的经典问题,比如线性方程求解、微分方程组求解、最优化问题求解等。


第三,软件角度。光有算法和模型是不够的,还需要在计算机上实现,写成软件,实现出来。这个过程涉及到大量的编程工作,而且很容易出错。这时候如果借助机器学习等手段,可以在编译优化,自适应调优,自动代码生成等方面把人们从繁重的体力劳动中释放出来。
最后就是硬件角度。AI事实上已经深刻改变了超算硬件的发展,而且未来还会有更多改变,比如计算单元的设计、芯片的设计、处理器的设计、超算系统的设计等。


 

明平兵:《多尺度问题:科学计算+人工智能》

人物介绍:明平兵,2000年博士毕业于中国科学院数学与系统科学研究院,目前是该院研究员并担任科学与工程计算国家重点实验室副主任。主要从事计算数学及科学计算的研究,特别是固体多尺度建模、模拟及多尺度算法的研究。他预测了石墨烯的理想强度并在Cauchy-Born法则的数学理论、拟连续体方法的稳定性方面有较为系统的工作。他在JAMS, CPAM, ARMA, PRB, SINUM, Math. Comp. Numer. Math, SIAM MMS. 等国际著名学术期刊上发表学术论文五十余篇。他曾应邀在SCADE2009The SIAM Mathematics Aspects of Materials Science 2016等会议上作大会报告。他于2014年获得国家杰出青年基金,2019年入选北京智源人工智能研究院“智源学者”。

 

 

这次演讲报告的题目是《多尺度问题:科学计算+人工智能》,主题是多尺度建模与计算。主要内容分为四个部分:首先简单介绍多尺度现象以及多尺度模型;然后从传统科学计算的角度来讨论如何求解多尺度模型,求解的过程面临的何种问题,再者,谈谈多尺度建模与计算有哪些困难和挑战;最后讨论人工智能给多尺度模型模拟或多尺度问题的求解会带来哪些新的思路、途径。


多尺度的概念并不复杂,通常提到的时间尺度(分、时、秒)和空间尺度(市、省、国)便是直观的体会。宏观来看,有大尺度和小尺度之分,如上图所示就可以看作一个多尺度模型,大尺度是图像的边,小尺度就是图像的纹理。其实,这个图像在数学上可以用Fourier分解以及小波来表示。

 

 

 


湍流是非常著名的多尺度问题,其可以用Navier-Stokes方程进行描述。但是此方程非常难解,因为它有很多“涡”在不同尺度上相互作用(这些涡在数学上表现为非常不光滑的解)。因此,这也是多尺度最为困难的一个问题:完全无尺度分离问题。

 

编者注:Navier Stokes(纳维尔-斯托克斯)方程是流体力学中描述粘性牛顿流体的方程,是尚未被完全解决的方程,只有大约一百多个特解被解出来,是最复杂的方程之一。


还有一个典型的多尺度问题和物理有关。例如上图展示了著名的泰坦尼克号游船断裂的情形。断裂是从原子键的断裂开始,发生在纳米尺度。断裂聚集演变成微损伤,微损伤的聚集演变成裂纹,最后裂纹扩展成为在宏观层面上可见的物体的断裂。


 

另外,碳封存也是一种多尺度特征。具体而言,这是在能源、环境里的一个重要问题:碳捕捉和碳封存。主要步骤是:采用某种技术把二氧化碳进行捕捉,然后再找安全的废弃矿井进行封存起来。这里需要思考的重要问题是:把二氧化碳直接排放到地下,会不会对地下水、土壤产生不良影响?

 

在连续尺度下,也即从10厘米到100米的层次下,如上图所示,二氧化碳的输运对地下多孔介质性会产生重要影响,在这个层次上主要是求解“输运反应方程”;在下一个尺度,也就是所谓的孔隙尺度,其模型是Lattice Boltzmann模型;在更小的纳米尺度,要研究二氧化碳与矿物质的化学反应,需要求解量子力学方程。所以,在碳捕捉和碳封存这个问题里面,多尺度、多物理特征异常明显。


同一事物,在不同尺度下具有不同的物理模型,传统的科学计算对单个尺度的模型发展出了很多高效的求解方法。例如,在宏观尺度上,差分方法和有限元方法、间断Galerkin方法以及谱方法等等;在微观尺度也有分子动力学、Monte-Carlo模拟方法以及各种电子结构计算方法。


 

其中,分子动力学方法“看起来”是求解一个大型非线性常微分方程组,但实际上它是一种用计算机来做实验的方法,换句话说,是用计算机来模拟粒子的真实运动轨迹。值得一提的是,分子动力学模拟必须要考虑温度、压力以及粒子数等因素的影响。具体例子,例如去年4月公开报道的一个大规模分子动力学模拟实例,Los Alamos国家实验室的研究人员用了10亿个原子,模拟了一个DNA的全基因序列。

 

上述是针对单个尺度的计算方法,而针对多尺度问题,可以采用多尺度耦合方法,上个世纪70年代、80年代已经涌出了此类方法,并产生了重大的影响。例如,Warshrel Levitt因为他们在1975年提出的量子力学与分子动力学耦合算法获得了2014年的诺贝尔化学奖。



多尺度之所以这么重要,也正如美国加州理工的Ortiz教授所说:多尺度模型及模拟是一个一般性概念,它贯穿了科学技术乃至工程的全部领域,不同尺度的模型已经非常清楚,剩下的就是一个计算问题。



上图是多尺度耦合方法的基本示意,一个基于区域分裂,一个基于多重网格,这也正好对应多尺度耦合方法的两种设计思路,这两个方法都是传统科学计算中非常经典的算法。

 

那么,多尺度建模与计算有哪些挑战呢?一个挑战是维数灾难,例如作为非线性特征值问题的Schrodinger方程,就有维数高的特点,因此难以求解。另一个挑战是分子动力学的模拟时间问题。一个典型的分子动力学模拟在时间上是数百个纳秒,但是一般我们感兴趣的问题发生的时间尺度都在秒这个量级,所以二者还有非常大的差距。



还有一个比较实际的问题是:在极端条件下如何进行多尺度建模?除此之外,完全没有尺度分离的问题也亟待解决。



明晰了上述挑战,人工智能、机器学习给多尺度建模与计算会带来什么新思路呢?回答这个问题,还需要了解深度学习为什么这么成功。在2015年,Poggio曾经提出了几个比较公认的原因,例如灵活的网络架构和万有逼近性质、强有力的随机梯度法以及良好的泛化能力。

 

 

另一方面,由于多尺度模型、模拟基本都是基于物理定律,而机器学习基于数据,所以两者可以互补。具体而言,利用机器学习,能够高效地处理多尺度模拟产生的海量数据,从而进行可预测模拟;然后利用多尺度模型优化机器学习模型。当然,这只是一方面,互补的例子还有很多。值得一提的是,也有许多采用Deep+的尝试,但真正令人信服的例子很少,特别是缺乏能够破解多尺度问题面临的瓶颈的成功范例。


 

下面举一个具体的例子,如上图所示,Tersoff 势函数。关于这个函数,我们要回答两个问题。第一,为什么势函数取这样的形式;第二,如何得到这些材料参数?

 

可以从物理定律、定理分析得到得到部分信息,也可以用机器学习方法尝试解答。采用机器学习,先要构造对称函数,因为这些对称函数可以刻画势能函数的一些基本不变性。由于对称函数里面包含大量的未知参数,所以要利用一个典型的二次损失函数把对称函数里面的未知参数“学习“出来,这里需要大量可靠的数据“助攻“。

 

这些数据的来源主要有两方面,一方面是现有的数据库,另一方面,可以做一个电子结构模拟来提供需要的数据。总之,数据越多越精确,得到的势能函数就越精确。


基于机器学习的势函数,最早是BehlerParrinello提出来的,且得到了研究者的公认。目前已经成功用于物理、化学、生物及材料科学等领域,一定程度解决了缺乏合适的势函数问题。具体方法,可以搜索上面两篇综述论文进行查看。

 

最后总结一下,多尺度建模提供了一种建模精确化的途径。虽然多尺度建模主要基于物理定律,但科学计算在单个尺度上的计算方法发挥了很大作用,而且为多尺度耦合算法的设计提供了概念性的东西。目前人工智能、深度学习对多尺度计算已经提供了一些新的思路,有望破除瓶颈。


 

史作强:《基于流形和偏微分方程的机器学习数学模型》

人物介绍:史作强 ,清华大学数学科学系副教授,从事偏微分方程数值方法的研究,对于基于偏微分方程的机器学习的数学模型、理论和算法有深入的研究。在国内外知名学术期刊发表文章40余篇,2019年入选北京智源人工智能研究院"智源学者"

 

这次报告的题目是《基于流行和偏微分方程的机器学习数学模型》,将从另外一个角度:用科学计算如何帮助理解机器学习的模型和方法。



框架性的思路如上图所示。框架的第一步要有很多数据,这些数据可以很方便地转化成高维空间度的点云。什么是点云呢?举个例子,100×100的一幅图像,就可以看作是一万维空间中的一个点,如果有一堆100x100的图像,那么在万维空间里就形成了点云。

 

再举一个文本的例子,如果有一篇文章,从新华字典里挑选出五千个常用字,然后统计文章中每个字出现的频率,然后把这篇文章转化成一个五千维的向量,如果有很多这样的文章,就能转化成五千维空间中的点云。

 

因此,各种各样不同的数据都可以转化成高维空间中的点和点云。当然,其维数会非常高,通常提到的海量数据在高维空间会变成小数据。

 

另外,有些数据表观上看起来维数非常高,但实际上肯定是有某种低维结构存在在里面的。也就是说,数据实际的维数是比较低的。处理这种低维的结构,在数学上有一个非常有力的工具叫做流形(流形可以认为是高维空间中的低维曲面)。

因此,我们可以假设一堆点云在高维空间构成了低维的流形,但是这个低维的流形结构非常复杂,很难想象其在高维的空间中流形结构的形状,所有我们很难通过直接参数化的手段对这此流形结构进行刻画。

 

只能通过间接的手段刻画流形的结构。于是,我们用偏微分方程(PDE)作为一个工具,试图从方程的解推断出流形的结构。利用偏微分方程研究流形的想法早已有之。尤其是在纯数学里面,在微分几何领域,属于研究的热门。

 

但是把想法付诸行动,往往面临两个问题:第一是数学建模的问题,即考虑什么样的偏微分方程适合所研究的问题;第二是偏微分方程的求解问题,即假设偏微分方程已经确定,求解过程中,如何构建高维空间上的点云,然后在点云上离散偏微分方程,从而进行求解。

 

 

举一些流行建模的具体例子。首先,用拉普拉斯方程对流形进行建模,原因是流形的维数比较低,而拉普拉斯方程正好对应极小化流形维数。随后,我们发明了PIM方法,用来在高维空间的点云上求解拉普拉斯方程,取得了不错的效果。


 

再看另外一个例子,ResNet。此神经网络主要的特征是加入了“shortcut”。从模型的结构上来看,残差网络可以建模为对流方程。对流方程的求解方法可以沿着特征线进行,用向前欧拉的方法离散其特征线方程,就可以得到残差网络的结构。反过来看,残差网络背后对应了偏微分方程模型,如此便对应了对流方程的控制问题。

 

 

此外,我们考虑了深度学习里的对抗样本的问题。深度学习网络有非常好的效果已经是公认的事实。但是神经网络的稳定性一直被诟病,例如在面对分类问题的时候,训练好的网络可以对图片进行正确分类,但是加入扰动之后,准确率大幅度下降。从偏微分方程角度进行理解,其对应的是偏微分方程解的光滑性差。

 

光滑性与对流方程息息相关。一般而言,对流方程刻画的是空气的流动、水的流动。但是,空气流动非常复杂,它的解可能非常不光滑,而解不光滑就会造成网络的稳定性差。

 

 

偏微分方程理论表明,如果加上所谓的黏性项或者扩散项可以让解变的比较光滑,方程相应就变成了对流扩散方程,稳定性也会变好。具体而言,在高维空间里,用随机微分方程的方法来求解对流扩散方程,求解之后发现稳定性得到了改善。

 

偏微分方程对于模型压缩也能够带来新的思路。例如刚才讲的对流扩散方程,所有的参数都是在速度场里,而速度场是在高维空间的高维向量场,因此所需的参数数目非常多。


 

如果能够把高维的向量场压缩成标量场,可以大大降低所需要的参数数目。具体思路是可以把对流扩散方程变成Hamiton-Jacobi方程,通过比较少的参数就可以建模得到标量场。

 

缺点在于Hamiton-Jacobi方程变成了非线性方程,求解它比较困难,但仍然有相应的方法。

 

因此,不同的偏微分方程可以帮助建立机器学习中的数学模型,例如拉普拉斯方程、对流方程、对流扩散方程等等、

 

从理论上也希望能回答这样一个问题:偏微分方程有无穷多种,如何找到合适的那个?其实,这个问题也对应了某种可解释性。物理或者在力学领域有大量的偏微分方程模型,这些方程非常复杂,例如麦克斯韦方程。很多的方程并不能显式的求解,但这类方程又是可以理解的,即具有可解释性的。原因是:那些方程是由一些物理定律推导出来,例如万有引力、质量守恒、能量守恒等等。对这些物理定律的理解“决定”了我们能够理解其背后的偏微分方程。

 

在机器学习领域,我们正在尝试类似的事情,希望从基本的假设出发,用一些数学方法推导出来合适的偏微分方程。

 

 

总结一下,上述分享了如何各种各样的偏微分方程对数据流形进行建模,也解释了不同的偏微分方程用不同的数学方法进行求解的重要性。其实,在报告最开始讲的那个框架里,有很多事情可以进行。例如从点云到流形的过程中,度量问题如何解决;数据到点云的过程中,如何把数据更好地转化成点云。

 

最后,我们希望建立一个框架,把流形和偏微分方程耦合在一起,同时建立一个反馈网络,用流形给偏微分方程提供定义域,希望偏微分方程的解可以反过来更好地构建流形。

 

这个结构类似于DNA的双链的结构,一个链是流形,一个链是偏微分方程,两者纠缠在一起共同演化。DNN深度学习和DNA只差一个字母,这可能也不是一个巧合。

 

 

▍ 跨学科讨论

 

注:除了做主题报告的四位嘉宾,联科集团创办人兼首席执行官、美国华盛顿大学终身教授、香港中文大学的荣誉教授孙纬武和未来论坛青创联盟成员、厦门大学数学学院教授熊涛参与AI+科学计算的跨学科讨论。

 

孙纬武:我有两个角色,一个是老师,另一个是业界人士。几十年来的教研工作是求解解爱因斯坦场方程,如下图所示,看似很简单但却是自然界给我们最复杂的一套偏微分方程。在这过程中,人工智能、大数据以及高性能计算带来了基础科学的突破。


 

在业界,我主要致力于将高性能计算、大数据以及AI连接起来为各个行业提供服务。我们今天的主题正是学界和业界20年来努力的方向,

 

熊涛:我自己的研究方向是计算数学中的计算流体力学。主要涉及在科学计算中使用高精度算法。高效的算法,不仅体现在有更快的收敛速度,并且在时间和表达力方面都有很好的表现。高精度算法的另一个好处在于它的设计,对于一些物理问题,没有高精度算法是无法捕捉到一些峰值信息。AI对于高精度算法也有启发。

 

问题一: 怎么用机器学习来解决科学计算,同样怎么用科学计算来解决机器学习的问题,评价标准又是怎么样,两者的互通之处以及交叉研究时要注意什么?

 

李若:大家现在对机器学习有怀疑,主要怀疑其可靠性,因为它实验表现的可靠性在数学理论上没有支撑。从模型优化的角度,我们不必把目标定在解决形式上,而可以关心在具体的问题,将低维的结构融合到可靠的科学模型中。

 

史作强:科学计算领域非常大,存在各种不同的问题。从大的角度来看,科学计算的这些研究人员想做一些机器学习的问题,最重要要有转化的过程,即把机器学习问题转化成熟悉的科学计算的语言或者数学工具。转化是重要的一步,有了它,其他问题迎刃而解。

什么样的机器学习问题“最好”?答案是因人而异,标准是能够转化成研究者熟悉的领域问题是最好问题。因为每个人的背景不同,看问题的角度不一样。

什么样的问题不适合科学计算?一个标准是,机器学习领域研究的比较透彻的问题不适合科学计算。举例而言,神经网络一直在追求精度,在各种数据集上“刷”精度,那么科学计算就不需要太关注精度。另外,如果神经网络在模型鲁棒性和速记隐私方面有待加强,那么科学计算应该用什么角度切入,是研究者所要考虑的。

    

明平兵:用机器学习解决科学计算问题有没有评价标准,这个很难回答。但是能解决以前工具不能解决的问题的工作,我认为就是好工作。例如德国Ruhr-Bochum大学的J. Behler的工作,在2016/2017年,他们研究水的特性,在他们研究的那个问题中,没有可用的经验势函数。然而,Ab-initio的模拟又太昂贵了。他们用机器学习得到了一个势函数,然后通过MD模拟揭示了水分子的某种新奇特性。

 

孙纬武:在业界,更多的是需要把人工智能以及科学计算融合在一起才能解决真实世界的问题。例如股票的预测,美元的汇率等,都是需要大数据处理/人工智能和高性能计算的结合。又例如在天气预报,卫星观测等领域,数据需要有效整合,才能利用科学计算处理数据。这处理中间涉及到人工智能的分析。在大部份情况之下,都是需要两者整合使用的。

 

问题二:如何把科学计算和机器学习结合,更好的解决实际问题。

 

熊涛:科学计算前面有一个很重要的过程是数学建模。在传统的科学计算中,数学建模和计算是相互独立,但因为现在研究的问题越来越复杂,因此建模和计算也逐渐地融到一起。

建模一方面可以基于物理规律,另一方面,例如社会模型(股票等),没有物理的机理做支撑,在数学建模过程中采用一些实验或者个人经验的数据,适用范围并不广泛。因此,这部分依据经验和特定场景下总结出来的规律,可以将人工智能、机器学习和科学计算结合到一起。

 

董彬:我自己做的研究也是希望机器学习和科学计算能够融合。如何融合?其实,在模型设计、算法设计阶段,其主体结构大致是确定的,例如做图像处理,主体可以是一些PDE,也可以是一些优化模型。所以在主体结构方面,无需用神经网络这一黑盒子学习。借用神经网络的方面,主要是尚未明确的问题。例如超参数调节,自动调参比人工手动调参高效很多。

另外,方程的主体结构虽然能大致确定,但还有一些非常微妙的项或者待定的系数难以确定。这时候可以基于大数据,用神经网络做为一个拟设,把它嵌入到模型里面,然后用数据确定模型的参数值。

 

李若:基于数据的步骤目标就是为了构建解空间的结构。例如我们做的每一次实验,做的每一次模拟得到的数据,都是在为寻求解空间做观察。每做一次观察之后,就对解空间的了解更加清晰一些,我们根据正确的一般性原理到小的解空间去解。

 

杨超:我从应用角度补充一下。实际应用中存在实时性要求,例如短时天气预报,从实时性角度来说,这种问题用传统科学计算手段处理难度较大,因为科学计算要解方程,很难在极短时间内完成模拟。 

而机器学习有先训练再预测的特点,训练过程可能开销很大,但它预测的过程往往极快,所以,在实时性要求比较强的问题,机器学习非常适合。

 

董彬:以往科学计算的研究,其设计的方法比较普适,但实际问题中又非常具体,存在很强的低维结构,这时不如用神经网络把完成这类任务。虽然神经网络的泛化能力比不上传统的科学计算,但从解决实际问题角度来看,已经足够。

 

有些时候,主流科学计算希望能设计“包打天下”的算法,现在我们希望能够针对具体问题把性能推到极致,要达到这个目的,科学计算可以借鉴机器学习领域的经验和技术。

  

问题三:从产业界角度谈谈高性能计算与人工智能计算融合有什么应用路径和价值?

 

孙纬武:现实世界里出现的一些需要解决的问题, 往往是大数据/人工智能与科学计算两方面都同时需要的。与科研不相同业界不选择问题,而是问题存在,我们要整合出一个最有效的解决方案然后把问题解决掉。

实际上需要融合的不仅是人工智能、大数据与科学计算等科技,还包括软件、讯息储存/调动/排查/传递、可视化等等技术,除了技术之外还要有对现实世界问题的理解、对客户需要的理解等软能力。也包括工程能力,在业界,要解决客户的问题,就需要把解决方案与客户现有的系统融合的工程能力,这些科技和工程能力都要配套,然后才能解决真实世界里出现的问题。真实问题常常牵涉的很多方面,对这些方面的集成才是最大的挑战。

 

杨超:我理解产业界可能更强调技术的价值和技术的落地,从这个角度来看,人工智能技术已经为高性能计算所采用。反过来从高性能计算角度来看,应该适当地优化我们的计算。高性能计算领域有一些传统发展的观念:人工智能这个领域这几年有这么大的影响,有人觉得高性能计算应当适当的坚守,其实有些问题需要科学计算和人工智能两种手段结合去解决问题。

 

问题四:对于机器学习+AI+科学计算的学生培养,有什么建议?

 

董彬:我先抛砖引玉,在2016年底,我接触到深度学习、机器学习,至今乐此不疲。建议学生,特别计算数学或应用数学领域的学生,很多时候要释放思想,勇敢一些,不要对严谨性有过度的执着。数学系的学生,都对严谨性有不同程度的执念,这是学科特点,这种执念既是优势,有也是包袱。所以,接触机器学习的数学专业学生一定要大胆做尝试,也要去学习机器学习里看起来毫无道理的小技巧。

如果是数学专业的学生,刚入手机器学习新手,先巩固机器学习的基础,建议阅读MIT Press的那本《Foundations of Machine Learning》,了解机器学习主要关注的问题都有哪些,基本的概念都是什么,时刻思考这些概念和数值分析、函数逼近、PDE之间有什么联系。思考概念间的联系很重要,不仅能够深刻理解概念,还能够产生科研上的新想法。

     

孙纬武:两个角度,第一,学生如何学?首先学生要明确目标,是想继续科研, 还是进入业界。这两条路都是非常有意义,但是在学习的时候侧重点不同。科研人员,以科研作为目标的,往往深入研究问题,当然也需要有大局观,才能找到好的研究题目;从业界的角度考虑,广度比深度更重要真实世界的问题常常牵涉很多方面,这些方面的集成才是最大的挑战在和其他领域的同事讨论时,最基本要明白别人在说什么,才能合作解决问题。所以,学生如果将来想要进入业界,首先要有广泛的知识基础,也要建立自己的专长。

    

董彬:其实,不只是业界,现在在学术圈,即便是在基础数学内部也要跨学科。只掌握一门技术现在可能已经不太“够用“了,在学术圈里非常出色的学者、领军人物,他们的知识面非常广,能力也是非常多元的。

 


▍ Q&A

    

问题一:如何看待类脑计算和量子计算,它们会成为科学计算的发展方向吗?    

杨超:我认为无论是类脑计算还是量子计算,或者其他新型计算技术,目的都是输出计算能力。从这个角度来说,哪项技术能够真正实用化,哪项技术就可以被纳入超级计算的范畴。目前来看,已经看到了不少曙光,现在已经有人把传统的超算和类脑计算结合,也有人探索经典超算和量子计算结合的手段,这可能是未来一个趋势。

 

    

问题二:亮盒子参数是怎么变化的?它们变化的原理是什么?

李若:这个问题相当于:我们想知道我们真的的解空间的低维流形到底怎么参数化。报告中提到了后验误差,其实这就意味着我们可以对解流形本身一无所知,可以通过不断地犯错,不断地加进新参数然后进行改进,然后逐渐可以获得对真正解流形的一个更加好的逼近。在这个过程中,我们就会了解到参数的模样。这些参数将会不断地从你所给的近似的流形,带到方程里面提取出来。

    

问题三:请明老师简要介绍一下分子动力学模拟的原理和过程,它是怎样模拟分子的复杂动力学的。其与分子真实动力学的相符程度如何?

明平兵:分子动力学从计算的角度来讲,就是求解一个大型的非线性常微分方程组,但是和通常求解常微分方程组又有显著的不同,它关注的是大量粒子的长时间系统平均量,而不是单个粒子的运动状态。一般来说,只要模拟时间足够长,粒子数足够多的话,势函数又足够精确的话,分子动力学模拟结果总会趋于粒子的真实动力学。

    

问题四:史作强老师,PDE刻画以后用SDE求解怎么保证精确性,为什么不用SDE直接刻划呢?

 

史作强:其实我们不太在乎SDE的精度。要记住我们现在解决的问题是机器学习问题,PDE只是一个工具,没有必要把PDE求解到精度很高,用PDE建立数学模型本身有误差,这个误差还可能会非常大,因此PDE求解的精度高到一定程度后就开始没有意义了。

 

另一方面,机器学习领域对误差的要求和传统的科学计算领域的对误差的要求不一样。传统的科学计算领域的误差一般是10的负的多少次方,但机器学习里10%的误差在很多时候已经非常令人满意了。所以,处理机器学习问题时,PDE只是一个工具,目的并不是精确地求解PDE,而是解决机器学习的问题,只要误差能够达到机器学习的要求就可以。

 

第二个问题,为什么不用SDE直接建模?我个人对PDE更熟悉一点,所以我们倾向于用PDE建模。因此,这个问题的答案取决于个人研究背景。

    

问题五:从事传统的数值计算方法研究目前还有用武之地吗?是否需要融入机器学习和人工智能?

 

李若:无论是传统的数值计算,还是机器学习方法研究,但凡研究类工作,目标都是发展,扩展你所研究的方法。从业界的角度来看,价值更加容易评估,可能就是产品。而在研究领域,判断贡献标准是方法的新能力,也很大程度考虑与现实结合的价值,因此,科研要追求人类知识发展永恒的价值。

 

孙纬武:听众可能想问的是:现在哪里是风口?哪一个方向是最容易飞起来的?我的建议是:无论是从事学术研究或者进入业界,最关键的不是去找风口,最关键的是找出让你兴奋的方向。如果传统数值计算能够让你兴奋,那么请放手去干,这远比找风口更容易成功。所以对于选什么方向, 最要紧是什么事情让你自己最兴奋最废寝忘餐。

 

董彬:非常认同。我们要做自己觉得好玩儿的研究。不少伟大的工作,最开始都是好奇心驱动的。

 

问题六:,国内在哪些人工智能方面比国外做得好?

 

董彬:个人认为至少人脸识别是一个,AI芯片,寒武纪已经很领先了。另外,科学计算+AI也不比他们落后。

 

孙纬武:有一样肯定比人家做得好的,就是对于中文的识别、中文的文意理解,做的肯定比外国好,但是这个好也不能说明什么东西。

 

问题七:AI是用来建模的还是解方程的?是不是两个都有?

 

明平兵:可以用AI解方程,也可用来建模,前提是有很多高质量的数据,然后从数据里学习某些规律、机制。

 

李若:从概念上来讲,建模和解方程这两件事情似乎也没有那么大的区别。解方程也可以看成是建模,把一个微分方程模型最后变成代数模型,然后求解,所有这个过程也可以看作是建模。

 

明平兵:我谈到的多尺度建模、多尺度计算、多尺度问题求解,其实不分的,都是理解现实世界、理解某个问题的一种方式。

 

董彬:从反问题建模角度来看,可以用AI进行建模,为什么又和解方程分不开呢?如果你建模了,要想知道这个模型准不准,肯定要去求解,并和数据进行对比。做建模的时候要不停地求解正问题和反问题,反复迭代,跟神经网络训练一样,要前传反传,前传观察是否匹配数据,如果不匹配数据反传再调节你的参数。所以,反问题建模中的建模和解方程是联动的,很难区分。

 

问题八:科学计算的超参数能否用AI算法解决?

 

董彬:答案是可以,例如进行一些求解大规模线性方程组,用代数多重网格方法进行求解,会遇到算法中中超参数选取的问题;图像处理过程中,传统做法总会有超参数,那要怎么调节?人工调节效率低,很多时候基于经验,或者比较粗糙的假设。但,这些都可以用机器学习的方法来解决,例如元学习中有很多相关的工作,是关于超参数的自动选择,这也是AutoML的一个重要环节。

 

更为具体一点,例如,我们不清楚如何选择图像反问题中的那个控制正则化的超参数λ,以前都是基于经验手动调节,现在可以训练一个神经网络,让网络基于观测数据自适应的去推断最佳的λ。这个做法是机器学习和科学计算结合的一个例子,当你在设计数学模型的时候发现一些环节的设计比较凭手感、靠经验,但同时又有大量的数据的时候,可以用神经网络来逼近这些环节,即通过端到端训练,把藏在数据中的未知的“知识”拟合成网络进行表达。


(全文结束)

 

分享