首页 > 编程知识 正文

偏微分方程朱长江(周蜀林偏微分方程怎么样)

时间:2023-05-04 10:12:52 阅读:83516 作者:2351

作者|未来论坛

编辑| mldxj

AI技术,特别是机器学习和强化学习方法,将根据实验或计算生成的数据求解的问题建模为可计算的,得到了有效解决复杂问题的方式,极大地影响了当前科学计算领域的研究模式。

同时,以深度学习为代表的AI在内部机制、数学理论、基础算法等方面尚不清楚、不完整,AI方法的鲁棒性、精度等还缺乏严密的数学论证,严重阻碍了它的进一步发展。 但是,机制相结合的思路有可能为面向数据的AI技术提供新的洞察和研究途径。

2020年5月9日,未来论坛青创联盟YOSIA Webinar举行了AI科学计算主题讨论,共有5位嘉宾发表演讲,分为AI for Scientific Computing和Scientific Computing for AI两个不同的地方。

其中北京大学教授ddyet做了题为“浅论超级计算、人工智能与科学计算的融合发展”的报告。 报告指出,twdxy在科学计算和超级计算之间相互促进、共同发展的闭环已经形成了几十年,人工智能近年来的巨大成功给科学计算带来了新的思路、新的方法、新的工具,科学计算严密的体系说明了现有人工智能技术的可能性

另外,twdxy还举例说明了神经网络工具通过求解偏微分方程给科学计算带来的帮助,提出了超级计算、科学计算、人工智能从模型、算法、软件、硬件多方面融合发展的观点

注:本文经ddyet老师审查和校对。

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

从计算科学诞生之初,超级计算与科学计算的关系就已经确立。 这些关系可以概括为,超级计算机是为了支撑科学计算的发展,科学计算作为需求牵引着超级计算机的性能。

在计算机诞生之前,超级计算机的思想就已经萌发了。 其代表工作之一是英国数学家理查森在1922年提出了“预报工厂”的概念。 这个概念被称为理查森的梦想。

为什么说是梦? 1922年当时没有计算机,所以他提出的“预报工厂”主要用于天气预报。 众所周知,天气预报是科学计算领域最具代表性的应用。 预算工厂包括64000台Human Computers,每个“计算机”都由一个人完成计算。 预报工厂中也有通过信号机指挥不同的“计算机”进行数据交换的负责人。

“预报工厂”的计算目标是大气,将计算区域划分为64000个部分,每人负责一张,大家分别计算,有人协调指挥,这体现了早期人们渴望超级计算的朴素思想。

随着世界第一台电子计算机ENIAC的出现,理查森的梦想实现了。 ENIAC重几十吨,占地非常大,耗电量也大得惊人。 据说每次接通ENIAC的电源,费城整体的灯都变暗了。 1950年,gydhh和他的助手改造了ENIAC的可编程性,据此编制了世界上第一个天气预报程序,成功进行了24小时预报,实现了理查森的梦想,成为科学计算繁荣的重要开始。

目前,经过几十年的发展,超算已经在科学计算的各个方面,如航空、航天、气候、能源、材料、安全、dqdyf等领域发挥了不可替代的支撑作用。 2013年,美国能源部统计了典型科学计算应用中的计算需求,但这些计算需求放到今天仍然很大。

在科学计算巨大的需求的带动下,超级计算机的计算性能以“10年千倍”的速度迅速上升。 摩尔定律众所周知。 摩尔定律是,电脑的性能提高速度从18个月开始每24个月翻一倍,超级计算机每年翻一倍,可以达到“10年千倍”的发展速度。

目前,超级计算发展的一个重要趋势是,异构核心——同一系统上有不同类型的计算核心,每个芯片上都集成了大量的计算核心。 为什么要沿着异种核的趋势发展呢?

其实这和计算需求没有太大关系,很多都是超级仪表

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

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

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

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

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

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

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

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

与此同时,人工智能的发展深刻改变了超算发展趋势,尤其是在2017年前后,随着大规模AI应用的涌现,新型超级计算机设计也逐渐开始考虑人工智能这类应用,最有代表性的机器就是美国的Summit,计算性能世界排名第一的系统,这台机器科学计算的双精度浮点计算性能是148Pflops/s,但是它还通过配备特殊的Tensor Core计算单元,可以实现3.4 Eops/s的AI计算性能。

与此同时国际上谷歌、IBM、寒武纪、华为等大厂也都先研发了各种AI处理器。最近,谷歌Jeff Dean等人发展了采用AI设计芯片的新技术,大幅度提升芯片数据效率。毫不夸张地说,AI已经对硬件设计产生方方面面的深刻影响。

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

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

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

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

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

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

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

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

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

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

第三,软件角度。光有算法和模型是不够的,还需要在计算机上实现,写成软件,实现出来。这个过程涉及到大量的编程工作,而且很容易出错。这时候如果借助机器学习等手段,可以在编译优化,自适应调优,自动代码生成等方面把人们从繁重的体力劳动中释放出来。

最后就是硬件角度。AI事实上已经深刻改变了超算硬件的发展,而且未来还会有更多改变,比如计算单元的设计、芯片的设计、处理器的设计、超算系统的设计等。

(雷锋网)(雷锋网)(雷锋网)

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。