[{"data":1,"prerenderedAt":411},["ShallowReactive",2],{"content-query-pPi3goqu93":3},{"_path":4,"_dir":5,"_draft":6,"_partial":6,"_locale":7,"title":8,"description":9,"date":10,"cover":11,"type":12,"category":13,"body":14,"_type":405,"_id":406,"_source":407,"_file":408,"_stem":409,"_extension":410},"/technology-blogs/zh/1503","zh",false,"","MindSpore AI科学计算系列（17）：AI与“科学”的分工与协作","主要讨论了AI科学计算领域，物理(或者科学)跟AI相融合或启发的几种典型的模式","2022-05-24","https://obs-mindspore-file.obs.cn-north-4.myhuaweicloud.com/file/2022/05/30/481d80510b3e4f668769ea89dee675ff.png","technology-blogs","大V博文",{"type":15,"children":16,"toc":402},"root",[17,25,31,36,41,49,54,63,68,76,81,99,138,145,150,166,173,178,186,191,198,203,215,222,227,269,277,291,298,303,311,316,321,344,352,359,364,369,374,382,387,392,397],{"type":18,"tag":19,"props":20,"children":22},"element","h1",{"id":21},"mindspore-ai科学计算系列17ai与科学的分工与协作",[23],{"type":24,"value":8},"text",{"type":18,"tag":26,"props":27,"children":28},"p",{},[29],{"type":24,"value":30},"科学计算中的“科学”是AI for Science与AI的本质区别。与CV/NLP等经典领域不同，科学计算背后是一只有形的手，从定义、公理、推论到公式、模型、方程，这些以数学语言为基础的神秘力量在背后操纵着自然界和工程科学的各个领域。从这个角度上讲，在AI科学计算中丢弃“科学”当然是失智之举。AI for Science绝不仅仅是把AI应用于科学计算领域，而是两者相互影响与耦合，最终同时促进这两个领域的发展。",{"type":18,"tag":26,"props":32,"children":33},{},[34],{"type":24,"value":35},"为了避免宽泛，本文仅讨论上述问题的一个侧面，即AI如何与“科学”相互协作最终解决科学计算问题，而“科学”对AI的启发从而改进其在CV/NLP等领域的应用则有机会另文再表。另外在文中以下部分，关于“物理”与“科学”的描述等价，仅表示问题的内在抽象或约束。",{"type":18,"tag":26,"props":37,"children":38},{},[39],{"type":24,"value":40},"言归正传，AI科学计算领域有下面一张著名的图(见图一)。该图从数据和物理两个维度给出了AI科学计算的三种典型方法，从中也可以看出物理之于AI的重要性。实际上，即使背靠海量的数据，如果进一步引入物理，对其泛化性尤其是外插能力的提升同样具有重要推动作用。至于如何引入物理，学术界存在“physics-informed/physics-guided/physics-encoded/physics-constrained”等各种描述，本文对上述词汇不做区分，我们只关注physics是如何inform/guide/ encode/constrain的？下面我们分别从AI和科学计算的视角解答这个问题。",{"type":18,"tag":26,"props":42,"children":43},{},[44],{"type":18,"tag":45,"props":46,"children":48},"img",{"alt":7,"src":47},"https://pic1.zhimg.com/80/v2-5da738c34e2c2ed4014171bd85bfa6d0_720w.jpg",[],{"type":18,"tag":26,"props":50,"children":51},{},[52],{"type":24,"value":53},"图一 AI for Science三种典型范式",{"type":18,"tag":26,"props":55,"children":56},{},[57],{"type":18,"tag":58,"props":59,"children":60},"strong",{},[61],{"type":24,"value":62},"AI视角",{"type":18,"tag":26,"props":64,"children":65},{},[66],{"type":24,"value":67},"从AI视角来观察，意味着问题求解的主要工作由AI来承担。基于这种方式，物理的角色更像是重在参与，重在启发的斜杠青年。这种参与或者启发从前往后可以是如下几种方式：physical feature、physical architecture以及physical loss.",{"type":18,"tag":26,"props":69,"children":70},{},[71],{"type":18,"tag":58,"props":72,"children":73},{},[74],{"type":24,"value":75},"1.1 physical feature",{"type":18,"tag":26,"props":77,"children":78},{},[79],{"type":24,"value":80},"在这种模式下，可以通过物理直接确定AI网络的部分输入，或者在AI模型中利用物理生成适当的特征图。",{"type":18,"tag":26,"props":82,"children":83},{},[84,86,91,93,97],{"type":24,"value":85},"利用物理来确定网络输入实质是降维，其基本原理就是利用量纲分析。在科学领域，量纲是物理量的固有属性，比如时间",{"type":18,"tag":45,"props":87,"children":90},{"alt":88,"src":89},"[公式]","https://www.zhihu.com/equation?tex=%5B++T+%5D",[],{"type":24,"value":92},"或者空间 ",{"type":18,"tag":45,"props":94,"children":96},{"alt":88,"src":95},"https://www.zhihu.com/equation?tex=%5B++L+%5D",[],{"type":24,"value":98}," 。科学计算客观规律的描述首先要满足量纲的完整性和齐次性。即反映客观规律的关系式必须在单位尺度的任意变换下保持相同的形式，另外该关系式中所有各项具有完全相同的量纲(或者说关系式中每一项的每一基本量纲都有相同的幂次)。基于此，通常利用物理定律的量纲齐次原则，通过无量纲化直接确定各物理量之间的关系。",{"type":18,"tag":26,"props":100,"children":101},{},[102,104,108,110,113,115,119,121,124,126,130,132,136],{"type":24,"value":103},"以单摆问题为例。细绳(质量不计)的一端固定，另一端悬挂着质量为 m 的物体。当物体沿半径为l的圆弧挪动方位角",{"type":18,"tag":45,"props":105,"children":107},{"alt":88,"src":106},"https://www.zhihu.com/equation?tex=++%5Ctheta+",[],{"type":24,"value":109},"，然后放开，将在重力的作用下做周期性振荡。显然，该物体的运动规律由物体质量 m 、细绳长度 l 、重力加速度 g 、初始方位角 ",{"type":18,"tag":45,"props":111,"children":112},{"alt":88,"src":106},[],{"type":24,"value":114}," 以及单摆周期 T 这5个参数确定。即存在函数关系 ",{"type":18,"tag":45,"props":116,"children":118},{"alt":88,"src":117},"https://www.zhihu.com/equation?tex=++f%28m%2C+l%2C+%5Ctheta%2C+g%2C+T%29%3D0+",[],{"type":24,"value":120}," 。而实际上该式中只有三个量纲独立的物理量，分别是 m , l 和 g ，其量纲分别是质量、长度和加速度。摆角 ",{"type":18,"tag":45,"props":122,"children":123},{"alt":88,"src":106},[],{"type":24,"value":125}," 为无量纲量，周期 T 的量纲为时间。我们把m , l 和 g作为本问题的基本单位系统，那么周期可以无量纲化为 ",{"type":18,"tag":45,"props":127,"children":129},{"alt":88,"src":128},"https://www.zhihu.com/equation?tex=++T+%5Csim+%5Csqrt%7Bl%2Fg%7D+",[],{"type":24,"value":131}," ,因此最终的函数关系可以简化为 ",{"type":18,"tag":45,"props":133,"children":135},{"alt":88,"src":134},"https://www.zhihu.com/equation?tex=+f%28m%2C%5Ctheta%2C+T%2F%5Csqrt%7Bl%2Fg%7D%29%3D0+",[],{"type":24,"value":137}," 。",{"type":18,"tag":26,"props":139,"children":140},{},[141],{"type":18,"tag":45,"props":142,"children":144},{"alt":7,"src":143},"https://pic3.zhimg.com/80/v2-26bf3c58e8907e1c73c9767820934be6_720w.jpg",[],{"type":18,"tag":26,"props":146,"children":147},{},[148],{"type":24,"value":149},"图二 单摆",{"type":18,"tag":26,"props":151,"children":152},{},[153,155,164],{"type":24,"value":154},"除了对输入进行降维，物理还可以为AI网络提供特征。在科学计算中，通常通过数值仿真获取物理方程的解答，因此可以将数值仿真(可微求解器)内嵌作为AI网络的局部组件，从而生成近似满足物理约束的特征。基于这种思路，",{"type":18,"tag":156,"props":157,"children":161},"a",{"href":158,"rel":159},"https://link.zhihu.com/?target=https%3A//arxiv.org/abs/2007.04439",[160],"nofollow",[162],{"type":24,"value":163},"Belbute-Peres等人",{"type":24,"value":165},"提出混合神经网络方法(见图三)，通过在图卷积神经网络中内嵌可微流体仿真求解器SU2(数值仿真在更粗的网格下进行)，结果表明该方法相比于单纯数据驱动的AI方法具有更好的泛化性，此外由于数值求解值在粗网格上进行，仿真性能仍然显著低于高保真度的传统数值仿真方法。",{"type":18,"tag":26,"props":167,"children":168},{},[169],{"type":18,"tag":45,"props":170,"children":172},{"alt":7,"src":171},"https://pic2.zhimg.com/80/v2-5e68acbc979431636aaf5ec5611c1405_720w.jpg",[],{"type":18,"tag":26,"props":174,"children":175},{},[176],{"type":24,"value":177},"图三 GCN混合神经网络",{"type":18,"tag":26,"props":179,"children":180},{},[181],{"type":18,"tag":58,"props":182,"children":183},{},[184],{"type":24,"value":185},"1.2 physical architecture",{"type":18,"tag":26,"props":187,"children":188},{},[189],{"type":24,"value":190},"物理现象背后的规律以及物理建模过程都可以对AI网络的设计产生启发。下面我们以MultiScale网络以及TF-Net网络为例介绍上述两个思路",{"type":18,"tag":26,"props":192,"children":193},{},[194],{"type":18,"tag":45,"props":195,"children":197},{"alt":7,"src":196},"https://pic2.zhimg.com/80/v2-7c743420097403a4fac9a6318fa1b19d_720w.jpg",[],{"type":18,"tag":26,"props":199,"children":200},{},[201],{"type":24,"value":202},"图四 多尺度神经网络",{"type":18,"tag":26,"props":204,"children":205},{},[206,213],{"type":18,"tag":156,"props":207,"children":210},{"href":208,"rel":209},"https://link.zhihu.com/?target=https%3A//arxiv.org/abs/2007.11207",[160],[211],{"type":24,"value":212},"Multi-Scale网络",{"type":24,"value":214},"(见图四)设计是建立在物理问题的“频率原则”之上。对AI而言，神经网络倾向于优先拟合目标函数的低频部分。而对于物理问题而言，其控制方程一般为微分方程的形式用于描述局部行为的变化，在求解过程中也可以发现问题的解通常是由局部逐步收敛到全局，也就是说物理问题是高频信息优先收敛到准确解。因此，为了让神经网络能够快速准确的捕捉各尺度的信息，避免高频学习慢的问题，可以对输入的各频率成分进行不同程度的放大，缩小频率差异避免相互竞争，从而降低问题学习的难度。",{"type":18,"tag":26,"props":216,"children":217},{},[218],{"type":18,"tag":45,"props":219,"children":221},{"alt":7,"src":220},"https://pic3.zhimg.com/80/v2-f95eb5911c45ecc0ac52039643518546_720w.jpg",[],{"type":18,"tag":26,"props":223,"children":224},{},[225],{"type":24,"value":226},"图五 TF-Net湍流仿真",{"type":18,"tag":26,"props":228,"children":229},{},[230,237,239,243,245,249,251,255,257,261,263,267],{"type":18,"tag":156,"props":231,"children":234},{"href":232,"rel":233},"https://link.zhihu.com/?target=https%3A//arxiv.org/abs/1911.08655",[160],[235],{"type":24,"value":236},"TF-Net",{"type":24,"value":238},"是基于物理建模思想而设计的典型网络(见图五)。在湍流仿真中，为了避免时空多尺度所导致的巨额计算量，业界广泛采用基于不同尺度滤波的近似建模方法。比如基于时间平均的RANS方法多用于求解平均流场，而LES方法则通过空间滤波实现对湍流的大尺度的准确解析。Hybrid RANS-LES 方法则对上述两种方法进行融合，分别通过时间和空间滤波将全尺度速度场 ",{"type":18,"tag":45,"props":240,"children":242},{"alt":88,"src":241},"https://www.zhihu.com/equation?tex=+%5Cboldsymbol+w%28%5Cboldsymbol+x%2C+t%29+",[],{"type":24,"value":244}," 分解为平均流场 ",{"type":18,"tag":45,"props":246,"children":248},{"alt":88,"src":247},"https://www.zhihu.com/equation?tex=++%5Cbar+w+%5Cboldsymbol+%28%5Cboldsymbol+x%2C+t%29+",[],{"type":24,"value":250}," 、可解尺度 ",{"type":18,"tag":45,"props":252,"children":254},{"alt":88,"src":253},"https://www.zhihu.com/equation?tex=++%5Ctilde+w+%5Cboldsymbol+%28%5Cboldsymbol+x%2C+t%29+",[],{"type":24,"value":256}," 和亚格子脉动 ",{"type":18,"tag":45,"props":258,"children":260},{"alt":88,"src":259},"https://www.zhihu.com/equation?tex=++%7Bw%7D%27+%5Cboldsymbol+%28%5Cboldsymbol+x%2C+t%29+",[],{"type":24,"value":262}," 三部分，即 ",{"type":18,"tag":45,"props":264,"children":266},{"alt":88,"src":265},"https://www.zhihu.com/equation?tex=%5Cboldsymbol+w%28%5Cboldsymbol+x%2C+t%29+%3D+%5Cbar+w+%5Cboldsymbol+%28%5Cboldsymbol+x%2C+t%29+%2B+%5Ctilde+w+%5Cboldsymbol+%28%5Cboldsymbol+x%2C+t%29+%2B+%7Bw%7D%27+%5Cboldsymbol+%28%5Cboldsymbol+x%2C+t%29+",[],{"type":24,"value":268}," 。TF-Net高效的利用该思路，通过编码器学习不同尺度各分量的变换，一个共享的解码器学习这三个分量之间的相互作用从而生成下一时刻的速度场。",{"type":18,"tag":26,"props":270,"children":271},{},[272],{"type":18,"tag":58,"props":273,"children":274},{},[275],{"type":24,"value":276},"1.3 physical loss",{"type":18,"tag":26,"props":278,"children":279},{},[280,282,289],{"type":24,"value":281},"将物理约束引入神经网络的损失函数中是最为自然的做法。",{"type":18,"tag":156,"props":283,"children":286},{"href":284,"rel":285},"https://link.zhihu.com/?target=https%3A//www.sciencedirect.com/science/article/pii/S0021999118307125",[160],[287],{"type":24,"value":288},"PINNs",{"type":24,"value":290},"定义了物理信息神经网络的基础框架(见图六)，它借助于AI框架的自动微分能力，将物理方程的残差加到神经网络的损失函数中，从而使得训练的结果满足物理规律。通过这种方式也可以作为监督数据损失函数的正则项，因此除了像传统神经网络一样学习到训练数据样本的分布规律，该方法还能够学习到数学方程描述的物理定律，从而弥补数据的不足并改进泛化性。",{"type":18,"tag":26,"props":292,"children":293},{},[294],{"type":18,"tag":45,"props":295,"children":297},{"alt":7,"src":296},"https://pic1.zhimg.com/80/v2-82aa96d34994e64c0d749069fe1d7974_720w.jpg",[],{"type":18,"tag":26,"props":299,"children":300},{},[301],{"type":24,"value":302},"图六 物理信息神经网络",{"type":18,"tag":26,"props":304,"children":305},{},[306],{"type":18,"tag":58,"props":307,"children":308},{},[309],{"type":24,"value":310},"科学计算视角",{"type":18,"tag":26,"props":312,"children":313},{},[314],{"type":24,"value":315},"此处所说科学计算视角的含义是，问题求解的主要部分是科学计算的传统处理方法，AI仅用于替代其中某些部分。从这个意义上讲科学计算与物理的结合主要有解耦与耦合两种模式。",{"type":18,"tag":26,"props":317,"children":318},{},[319],{"type":24,"value":320},"所谓解耦，就是说AI网络的训练过程与科学计算独立。在AI科学计算的求解阶段，科学计算的某些过程仅需要调用AI网络的推理过程即可。这类方法在流体仿真中广泛采用，一方面可以用于处理湍流仿真的未封闭问题来提升RANS或者LES的模型精度，另一方面可用于学习壁湍流的近壁模型从而显著降低解析壁面的计算网格量。",{"type":18,"tag":26,"props":322,"children":323},{},[324,326,333,335,342],{"type":24,"value":325},"AI与科学计算的耦合则意味着AI网络的训练与科学计算相互耦合同时进行。实现整个过程的前提条件是科学计算本身是端到端可微的。以流体仿真为例，",{"type":18,"tag":156,"props":327,"children":330},{"href":328,"rel":329},"https://link.zhihu.com/?target=https%3A//github.com/google/jax-cfd",[160],[331],{"type":24,"value":332},"Google的JAX-CFD",{"type":24,"value":334},"以及",{"type":18,"tag":156,"props":336,"children":339},{"href":337,"rel":338},"https://link.zhihu.com/?target=https%3A//github.com/tum-pbs/PhiFlow",[160],[340],{"type":24,"value":341},"慕尼黑工业大学的PhiFlow",{"type":24,"value":343},"是学术界最受关注的AI与CFD耦合的仿真工具。两者均是基于AI框架开发的计算流体力学求解器，只是AI与CFD耦合的方式有所不同(JAX-CFD被称为learning-interpolation, PhiFlow则是learning-correction)，下面仅对JAX-CFD展开介绍",{"type":18,"tag":26,"props":345,"children":346},{},[347],{"type":18,"tag":58,"props":348,"children":349},{},[350],{"type":24,"value":351},"JAX-CFD learning-interpolation",{"type":18,"tag":26,"props":353,"children":354},{},[355],{"type":18,"tag":45,"props":356,"children":358},{"alt":7,"src":357},"https://pic1.zhimg.com/80/v2-7424421a77e0b26bd3179a66d7e21134_720w.jpg",[],{"type":18,"tag":26,"props":360,"children":361},{},[362],{"type":24,"value":363},"图七 JAX-CFD learning interpolation",{"type":18,"tag":26,"props":365,"children":366},{},[367],{"type":24,"value":368},"JAX-CFD通过神经网络学习插值系数来重构NS方程离散求解过程中的非线性动量通量，在二维湍流仿真中该算法可以在各维度的分辨率粗糙 10 倍的情况下仍然可以逼近直接数值模拟的结果，并实现近两个量级的性能提升。该模型学习如何对解的局部特征进行插值，从而能够准确泛化至不同的流条件。",{"type":18,"tag":26,"props":370,"children":371},{},[372],{"type":24,"value":373},"本文主要讨论了AI科学计算领域，物理(或者科学)跟AI相融合或启发的几种典型的模式，随着该领域研究的蓬勃发展，相信更多创新性的想法会不断涌现。因笔者认知有限，所述难免有所谬误和遗漏，欢迎各位读者批评指正。",{"type":18,"tag":26,"props":375,"children":376},{},[377],{"type":18,"tag":58,"props":378,"children":379},{},[380],{"type":24,"value":381},"参考文献",{"type":18,"tag":26,"props":383,"children":384},{},[385],{"type":24,"value":386},"1. S.L.Brunton, B.R. Noack, P. Koumoutsakos, Machine Learning for Fluid Mechanics, Annu. Rev. Fluid Mech., 2020",{"type":18,"tag":26,"props":388,"children":389},{},[390],{"type":24,"value":391},"2. R. Wang, Rose Yu, Physics-Guided Deep Learning for Dynamical Systems, 2021",{"type":18,"tag":26,"props":393,"children":394},{},[395],{"type":24,"value":396},"3. G.E. Karniadakis, I.G. Kevrekidis, Lu Lu, et al., Physics-Informed Machine Learning, 2021",{"type":18,"tag":26,"props":398,"children":399},{},[400],{"type":24,"value":401},"4. K. Duraisamy, G. Iaccarino, Heng Xiao, Turbulence Modeling in the Age of Data, Annu. Rev. Fluid Mech., 2018",{"title":7,"searchDepth":403,"depth":403,"links":404},4,[],"markdown","content:technology-blogs:zh:1503.md","content","technology-blogs/zh/1503.md","technology-blogs/zh/1503","md",1776506112862]