首页/文章/ 详情

Annual Review:一文讲透机器学习(ML)如何革新流体力学研究?(万字长文总结)

20天前浏览1112
摘要:流体力学领域正在迅速发展,这一进展得益于实验、现场测量和多尺度时空下的大规模模拟所产生的海量数据。机器学习(ML)提供了丰富的技术,能够从这些数据中提取信息,并将其转化为对流体力学的基础知识。此外,ML算法还可以扩展领域知识,并自动执行与流动控制和优化相关的任务。本文概述了ML在流体力学中的过去历史、当前发展以及新兴机遇。我们概述了基本的ML方法,并讨论了它们在理解、建模、优化和控制流体流动中的应用。文章还从科学探究的角度,分析了这些方法的优势和局限性,认为数据是建模、实验和模拟中固有的一部分。ML提供了一个强大的信息处理框架,能够增强,甚至有可能改变当前流体力学研究和工业应用的方向。

SIMPOP

1. 引言    

流体力学一直以来都需要处理来自实验、现场测量和大规模数值模拟的大量数据。事实上,由于高性能计算架构的发展以及实验测量能力的进步,在过去的几十年里,大数据已经成为流体力学研究中的一种现实(Pollard等,2016)。在过去的50年里,许多技术被开发出来以处理这些数据,从用于数据处理和压缩的先进算法到流体力学数据库(Perlman等,2007;Wu & Moin,2008)。然而,流体力学数据的分析在很大程度上依赖于领域专业知识、统计分析和启发式算法。

如今,数据的增长在科学各学科中普遍存在,从数据中获取有价值的信息已成为一种新的科学探索方式以及商业机会。我们这一代正在经历一个前所未有的交汇点,即:(a)庞大且日益增长的数据量;(b)计算硬件的进步以及计算、数据存储和传输成本的降低;(c)复杂的算法;(d)大量的开源软件和基准问题;以及(e)行业在数据驱动问题解决方面的持续重大投资。这些进展反过来激发了人们对机器学习(ML)[处理并从数据中提取信息的算法;它们有助于任务的自动化,并扩展人类领域知识]领域的兴趣,并推动了其从这些数据中提取信息的进展。机器学习现正迅速进入流体力学领域。这些学习算法可根据学习机(LM)所能获得的数据信息量,分为监督学习[从带有专家知识标签的数据中学习,为算法提供纠正信息。]、半监督学习[通过部分标注的数据进行学习(例如生成对抗网络),或者通过机器与环境的交互进行学习(如强化学习)]和无监督学习[在没有标注的训练数据下进行学习](见图1)。

1 机器学习算法可以根据学习过程中可获取的信息范围和类型分为监督学习、无监督学习和半监督学习。缩写:PCA,主成分分析;POD,适当正交分解。

机器学习(ML)提供了一种模块化且灵活的建模框架,能够根据需求调整来应对流体力学中的许多挑战,例如降阶建模、实验数据处理、形状优化、湍流闭合建模和控制。随着科学探索从基于第一性原理的研究转向数据驱动的方法,我们可以将其与20世纪40年代和50年代为求解流体动力学方程而开发的数值方法进行类比。流体力学可以从学习算法中获益,反过来,这些算法也面临着挑战,可能进一步推动其发展,从而补充人类的理解和工程直觉。

除了概述成功案例外,我们还必须注意理解学习算法如何工作以及这些方法何时能够成功或失败的重要性。保持对机器学习能力的热情与现实中的应用情况之间的平衡至关重要,因为机器学习在流体力学中的应用仍然是一个开放且具有挑战性的领域。在这一背景下,我们还强调将流体力学的领域知识融入学习算法中的益处。我们预见到,流体力学界可以为机器学习的进步做出贡献,正如上世纪数值方法的进步一样。


1.1 历史概述

机器学习(ML)与流体动力学的交汇历史悠久,甚至可能让人感到惊讶。早在20世纪40年代,统计学习理论的奠基人之一柯尔莫哥洛夫(Kolmogorov)就将湍流视为其主要应用领域之一(Kolmogorov 1941)。在20世纪50年代和60年代,机器学习的进展表现为两种截然不同的发展。一方面,我们可以区分控制论(Wiener 1965)和旨在模拟人脑思维过程的专家系统,另一方面,像感知器[感知器:第一台学习机器;用于分类的二元决策单元网络](Rosenblatt 1958)这样的机器旨在自动化分类和回归等过程。感知器在分类方面的应用引起了极大的兴奋。然而,这种兴奋很快被发现其能力具有严重限制的研究结果所遏制(Minsky & Papert 1969):单层感知器只能学习线性可分的函数,无法学习XOR函数。尽管当时已经知道多层感知器可以学习XOR函数,但由于当时的计算资源有限(这是机器学习研究中反复出现的主题),其发展可能受到了限制。对感知器的兴趣下降也很快导致了对人工智能(AI)整体兴趣的减少。

机器学习的另一个分支与20世纪60年代早期控制论的萌芽思想密切相关,由两位研究生——柏林工业大学的英戈·雷申贝格(Ingo Rechenberg)和汉斯-保罗·施韦费尔(Hans-Paul Schwefel)开创。他们在风洞中对由五块相连板组成的波纹结构进行了实验,目标是找到能够减少阻力的最佳角度(见图2)。他们的突破是在这些角度上加入随机变化,其中随机性是通过加尔顿板(一个模拟随机数发生器)生成的。最重要的是,方差的大小根据实验的成功率(正面/负面)进行了学习(增大/减小)。尽管其工作极具创新性,但雷申贝格和施韦费尔的工作在流体力学界很少得到认可,尽管许多流体力学和空气动力学中的应用都可以追溯到他们的研究。对人工智能在空气动力学应用潜力的重新兴趣几乎与20世纪80年代初计算流体动力学的早期发展同时出现。当时,专家系统在辅助空气动力学设计和开发过程中的作用得到了重视(Mehta & Kutler 1984)。

图2 流体力学实验中第一个学习和自动化的实例:雷申贝格使用加尔顿板(Galtonbrett)作为模拟随机数发生器进行的实验,旨在找到波纹板的最佳角度以减少阻力。

1974年,流体力学与机器学习之间的间接联系是著名的Lighthill报告,该报告批评了英国的人工智能(AI)项目未能实现其宏大承诺。该报告在英国,随后在美国引发了对人工智能的资金削减和兴趣下降,这一现象被称为人工智能寒冬。Lighthill的主要论点基于他认为人工智能永远无法解决参数空间中可能配置的组合爆炸问题。他以当时语言处理系统的局限性作为人工智能失败的一个关键例证。为Lighthill辩护的是,40年前,很难想象今天我们所知的现代计算机的强大性能。事实上,今天人们可以在互联网上观看Lighthill的演讲,与他的演讲配套的是一个由机器学习算法自动生成字幕。

对机器学习(尤其是神经网络,NN,神经网络:一种基于神经元生物网络的计算架构,用于非线性回归)的兴趣重新燃起是在20世纪80年代末,伴随着反向传播算法的发展(Rumelhart等,1986)。这一算法使得多层神经网络的训练成为可能,尽管早期大多数网络至多只有两层。其他刺 激来源还包括Hopfield(1982)、Gardner(1988)以及Hinton & Sejnowski(1986)的工作,他们将机器学习算法与统计力学建立了联系。然而,这些发展并未吸引许多流体力学研究人员。20世纪90年代初,神经网络在与流动相关的问题中的应用开始出现,主要是在粒子追踪测速(PTV)和粒子图像测速(PIV)的轨迹分析和分类中(Teo等,1991;Grant & Pan,1995),以及在多相流中的相位配置识别中(Bishop & James,1993)。同时,还利用了主正交分解(POD)与线性神经网络之间的联系(Baldi & Hornik,1989),以仅使用壁面信息重构湍流流场和通道流的近壁区域流动(Milano & Koumoutsakos,2002)。这一应用是首次使用多层神经元来提高压缩结果,标志着今天所谓的深度学习(多层神经网络;用于在不同抽象级别创建强大的层次表示)在流体力学领域的首次应用。

近年来,我们经历了机器学习在流体力学应用中的再度繁荣。这种兴趣的大部分归因于深度学习架构的卓越性能,它们能够分层地从数据中提取有用的特征。这导致了在数据丰富但模型有限的领域(如社会科学)以及预测能力为关键财务因素的公司中的许多进展。流体力学并不是一个模型有限的领域,但它正迅速变得数据丰富。我们相信,第一性原理与数据驱动方法的这种交汇是独特的,具有变革流体力学和机器学习的潜力。


1.2 流体动力学中机器学习的挑战与机遇

流体动力学所面临的挑战与许多机器学习应用(如图像识别和广告)中的问题有所不同。在流体流动中,通常需要精确量化潜在的物理机制,以便进行分析。此外,流体流动表现出复杂的、多尺度现象,而这些现象的理解和控制在很大程度上仍未得到解决。非定常流场需要能够应对非线性和多重时空尺度的算法,而这些特性在流行的机器学习算法中可能并不存在。此外,许多机器学习的重要应用(如围棋游戏)依赖于廉价的系统评估和对必须学习过程的详尽分类。但在流体力学中情况并非如此,实验可能难以重复或自动化,模拟可能需要大规模超级计算机长时间运行。

机器学习在机器人技术中也变得至关重要,像强化学习(RL:代理通过与环境交互来学习策略,以最大化其长期回报)这样的算法在自动驾驶和飞行中经常被使用。尽管许多机器人在流体环境中运行,流体动力学的细微差别目前似乎并未成为其设计中的主要关注点。类似于飞行技术的早期发展,模仿自然形态和过程的解决方案通常是常态。我们相信,当能量消耗和复杂流动环境中的可靠性成为设计中的关键问题时,更深入地理解和利用流体力学将变得至关重要。

在流动控制的背景下,为了实现工程目标主动或被动地控制流体动力学,可能会改变系统的性质,使得基于非控制系统数据的预测变得不可能。尽管流动数据在某些维度(如空间分辨率)上是巨大的,但在其他维度上可能是稀疏的;例如,执行参数化研究可能会非常昂贵。此外,流动数据可能高度异质化,因此在选择学习机器(LM)类型时需要特别小心。此外,许多流体系统是非稳态的,即使对于稳态流动,获得统计收敛的结果也可能代价高昂。

流体动力学是交通、健康和国防系统的核心,因此机器学习解决方案的可解释性、可说明性和通用性至关重要。此外,通常需要对性能提供保证,而这在当前是罕见的。事实上,许多机器学习算法中严重缺乏收敛性结果、分析和保证。还需要考虑模型是用于参数范围内的插值还是外推,后者的挑战性要大得多。最后,我们强调在独立数据集上进行交叉验证以防止机器学习中过拟合的重要性。


学习流体力学:从生物体到机器

鸟类、蝙蝠、昆虫、鱼类、鲸鱼以及其他水生和空中生物能够进行惊人的流体操控,它们通过优化和控制自身的形态和运动,利用非定常流体动力来实现敏捷的推进、高效的迁徙和其他精妙的动作。在生物界中观察到的流体流动优化和控制范围令人叹为观止,数千年来一直激发着人类的灵感。这些生物是如何学会操控流动环境的呢?

迄今为止,我们只知道有一个物种通过了解纳维-斯托克斯方程来控制流体,那就是人类。自有记录历史之前,人类就已经在通过创新和工程手段来利用流体,从水坝和灌溉到磨坊和航行。早期的努力主要依赖直观设计,而最近的定量分析和基于物理的设计则在过去一百年中引发了性能上的革命。实际上,基于物理学的流体系统工程是人类成就的一个顶峰。然而,基于方程的流体分析面临着严峻挑战,包括高维性和非线性,这些问题难以用封闭形式解出,并限制了实时优化和控制的能力。在新千年的开端,随着机器学习和数据驱动优化工具的日益强大,我们正在再次学习如何从经验中学习。

我们认为,这份不完全的挑战清单不应成为障碍;相反,它应为开发更有效的机器学习技术提供强有力的动力。如果这些技术能够解决流体力学问题,它们很可能会对多个学科产生影响。将机器学习应用于具有已知物理规律的系统(如流体力学)可能会为算法提供更深层次的理论见解。我们还相信,结合机器学习和第一性原理模型的混合方法将成为一个富有发展潜力的领域。

本综述的结构如下:第二部分概述了机器学习的基本算法,随后讨论了这些算法在流动建模(第三部分)以及优化和控制(第四部分)中的应用。第五部分对该领域进行了总结并展望。

2. 机器学习基础    

学习问题可以被表述为使用有限数量的观测值来估计系统的输入、输出和参数之间关联的过程(Cherkassky & Mulier,2007)。我们区分样本生成器、研究中的系统和学习机器(LM),如图3所示。我们强调,LM的逼近本质上是随机的,其学习过程可以总结为一个风险泛函的最小化:

其中,数据x输入和y输出是从概率分布p(x,y)中采样的,f(x;θ)定义了学习机器的结构,θ是学习机器的参数,损失函数L平衡了不同的学习目标(例如,准确性、简单性、光滑性等)。我们强调,风险泛函由概率分布p(x,y)加权,它也限制了学习机器的预测能力。各种类型的学习算法可以分为三大类:监督学习、无监督学习和半监督学习,如图1所示。这些区分代表了学习机器可以获得的外部专家监督信息的程度。

图3 学习问题。学习机器使用来自样本生成器的输入和系统的观测值生成其输出的近似。图基于Cherkassky & Mulier(2007)。


2.1 监督学习

监督学习意味着学习机器(LM)可以获得纠正性信息。其最简单和最常见的形式是带有标签的训练数据,这些标签对应于LM的输出。通过最小化与训练数据相关的成本函数,可以确定LM的未知参数。在这种情况下,监督学习可以追溯到几个世纪前由高斯提出的回归和插值方法(Meijering 2002)。常用的损失函数之一为:

替代的损失函数可能反映对LM的不同约束条件,如稀疏性(Hastie et al. 2009;Brunton & Kutz 2019)。逼近函数的选择反映了对数据的先验知识,线性和非线性方法之间的选择直接影响学习方法的计算成本。

1)神经网络

神经网络(NNs)可以说是监督学习中最著名的方法。它们是基本的非线性函数逼近器,近年来,许多工作致力于理解其有效性。通用逼近定理(Hornik等,1989)表明,任何函数都可以通过一个足够大且深的网络逼近。最近的研究表明,稀疏连接的深层神经网络在信息论方面是广泛函数和系统的最优非线性逼近器(Bölcskei等,2019)。

神经网络的强大和灵活性来自于其基于神经元的模块化结构,神经元是其核心构件,类似于人脑中的神经元。每个神经元接收输入,经过激活函数处理后产生输出。多个神经元可以组合成不同的结构,以反映对问题和数据类型的知识。前馈网络是最常见的结构之一,它由多层神经元组成,一层的加权输出是下一层的输入。神经网络的架构包括接收数据的输入层和产生预测的输出层。通过非线性优化方法(如反向传播,Rumelhart等,1986),可以识别网络权重,以最小化预测与标记训练数据之间的误差。深层神经网络涉及多个层次和各种非线性激活函数。当激活函数以卷积核的形式表达时,一类强大的网络出现了,即卷积神经网络(CNNs),在图像和模式识别中取得了巨大成功(Krizhevsky等,2012;Goodfellow等,2016)。

递归神经网络(RNNs)如图4所示,特别受到流体力学的关注。它们作用于数据序列(如视频中的图像、时间序列等),其权重通过时间反向传播获得。RNN在自然语言处理和语音识别中非常成功。其架构考虑到了数据的固有顺序,从而扩展了经典神经网络在信号处理中的先驱应用(Rico-Martinez等,1992)。然而,在训练过程中,RNN的有效性受到梯度消失或爆炸问题的阻碍。对RNN的重新关注主要归功于长短期记忆(LSTM)算法的发展(Hochreiter & Schmidhuber,1997),该算法使用单元状态和门机制来存储和遗忘过去输入的信息,从而缓解了标准RNN在传递长期信息时所遇到的梯度问题。一个扩展的架构——多维LSTM网络(Graves等,2007)被提出以有效处理高维时空数据。近年来,几种强大的RNN替代方法相继出现;例如,回声状态网络在预测多个动力系统的输出时取得了成功(Pathak等,2018)。

图4 用于时间序列预测的递归神经网络(RNNs)及长短期记忆(LSTM)正则化。

2)分类:支持向量机和随机森林

分类是一个监督学习任务,它可以根据预先标记的训练数据确定一组测量值的标签或类别。分类可能是最古老的学习方法,最早可以追溯到感知器(Rosenblatt 1958),该方法可以对两类线性可分的数据进行分类。两种基本的分类算法是支持向量机(SVMs)(Schölkopf & Smola 2002)和随机森林(Breiman 2001),它们已在工业界广泛采用。问题可以通过以下损失泛函来描述,这里以两个类别为例:

LM的输出是数据所属类别的指示器。风险泛函量化了误分类的概率,任务是通过合适的选择最小化基于训练数据的风险。随机森林基于一组决策树,它们通过简单的条件语句层次化地将数据分割开来;这些决策是可解释的,且在大规模应用中计算快速。在分类的背景下,SVM将数据映射到一个高维特征空间,在这个空间上可以进行线性分类。


2.2 无监督学习

无监督学习任务意味着通过指定某些全局标准,从数据中提取特征,而不需要监督或对结果的真实标签。涉及的问题类型包括降维、量化和聚类。

1)降维I:适当正交分解(POD)、主成分分析(PCA)和自编码器

从实验数据和大规模模拟中提取流动特征是流动建模的基石。此外,确定高维数据的低维表示可以作为监督学习算法中所有任务的预处理。降维还可以被视为一个信息过滤瓶颈,其中数据在映射回高维空间之前通过低维表示进行处理。经典的POD算法属于这一类学习,在第三节中将进一步讨论。POD,也被广泛称为线性主成分分析(PCA),可以被表述为一个两层神经网络(自编码器:一种用于压缩和解压缩高维数据的神经网络架构;正交分解的线性和非线性替代),其线性加权输入具有线性激活函数,可以通过随机梯度下降进行训练(见图5)。这一表述是神经网络中线性特征值/特征向量问题的算法替代方案,并通过添加更多层和非线性激活函数为进入非线性领域和深度学习提供了直接途径。无监督学习算法在流体力学社区中应用较少,但我们认为它们值得进一步探索。近年来,机器学习社区开发了许多自编码器,当这些自编码器与流场的潜在特征合理匹配时,可以为静态和时间依赖数据的降阶建模带来重要的见解。

图5 PCA/POD(左)与浅层自编码器(中)和深层自编码器(右)。

如果浅层自编码器中的节点激活函数是线性的,则u和v是最小化损失函数的矩阵。节点激活函数可以是非线性的,从而最小化损失函数。输入数据x被降维为z,其中z=f(x)。请注意,PCA/POD 需要解决特定问题的特征值方程,而神经元模块可以扩展到非线性激活函数以及多个节点和层。缩写:PCA,主成分分析;POD,适当正交分解;C,均值去除数据的协方差矩阵;U,线性编码器;v,特征向量;V,线性解码器;x,输入向量;xn,第n个输入向量;mu,输入数据的均值;hat{x},自编码器重构;z,潜在变量;lambda,特征值;phi,深层编码器;psi,深层解码器。

2)降维 II:离散主曲线和自组织映射

高维数据与低维表示之间的映射可以通过显式构造低维空间来实现,这可能反映了关于该子空间的先验知识。这些技术可以视为线性自编码器的扩展,其中编码器和解码器可以是非线性函数。然而,这种非线性可能会以牺牲编码器和解码器之间的逆关系为代价,而这种逆关系是线性PCA的优势之一。另一种方法是将解码器定义为编码器逆函数的近似,从而得出主曲线方法。主曲线是在学习算法的编码步骤中对数据进行投影的结构。解码步骤则通过对主曲线进行平滑处理等方法,近似该映射的逆映射。该过程的一个重要版本是由Grossberg(1976)和Kohonen(1995)提出的自组织映射(SOM)。在SOM中,投影子空间由具有特定连接架构和距离度量的有限值集描述。编码步骤相当于为每个数据点识别SOM中最近的节点点,而解码步骤则是使用加权回归估计,例如,利用核函数来利用映射节点之间的距离度量。这将修改节点中心,并可以迭代进行该过程,直到自编码器的经验风险最小化。SOM的能力可以通过与线性PCA进行比较来示例,对于二维点集,线性PCA将提供点之间最小二乘直线的近似,而SOM则会将点映射到更好地逼近数据的曲线上。值得注意的是,SOM可以扩展到浮点数据之外的领域,它们为基于流场特征创建数据库提供了一种有趣的方法。


2.3 聚类和矢量量化

聚类是一种无监督学习技术,用于识别数据中的相似组。最常见的算法是k-means聚类,它将数据划分为k个簇;一个观测值属于最近质心的簇,从而将数据空间划分为沃罗诺伊(Voronoi)单元。

矢量量化器用于识别可分为预定数量簇的数据的代表性点。这些点可以代替整个数据集使用,以便未来的样本可以通过这些点进行近似。矢量量化器Q提供了数据x与簇中心坐标之间的映射。损失函数通常是数据相对于簇中心的平方失真,它必须最小化以确定量化器的参数:

需要注意的是,矢量量化是一种数据压缩方法,而不一定用于降维。在降维过程中,学习问题旨在识别高维数据中的低维特征,而量化则是寻找数据的代表性簇。矢量量化也必须与聚类区分开来,因为在量化中所需的中心数是预先确定的,而聚类的目标是识别数据中的有意义分组。当这些分组由一些原型表示时,聚类和量化具有很强的相似性。


2.4 随机优化:从学习算法的角度

优化是学习的内在部分,因为通过最小化风险泛函来确定学习机器(LM)的参数。然而,我们希望在这篇综述中强调另一层联系:优化(和搜索)算法可以被视为学习算法的一部分,特别是学习一个包含能够最大化某个目标的设计点的概率分布的过程。这一联系由Rechenberg(1973)和Schwefel(1977)率先提出,他们引入了进化策略(ES),并基于实验的成功率调整其搜索空间的方差。这一过程类似于选择和变异操作,它们是遗传算法(GAs)(Holland 1975)和遗传编程(Koza 1992)的关键组成部分。ES和GAs可以看作是梯度搜索策略和拉丁超立方体或蒙特卡罗采样方法的混合体,前者有效地朝向最小值前进,而后者则最大限度地探索搜索空间。遗传编程由J.R. Koza于20世纪80年代末开发,他是John Holland的博士生。遗传编程将参数优化推广到函数优化,最初以操作树的形式编码(Koza 1992)。这些算法的一个关键方面是它们依赖于基于目标函数数据值的概率分布的迭代构建。对于需要昂贵的目标函数评估的问题,这种迭代构建可能耗时且几乎不可能实现。

在过去的20年中,ES和GAs逐渐融合为分布估计算法(EDAs)。协方差矩阵自适应进化策略(CMA-ES)算法(Ostermeier等,1994;Hansen等,2003)是使用高斯概率分布的协方差矩阵自适应估计来引导最佳参数搜索的ES的一个著名例子。该协方差矩阵在每次迭代中使用最优点进行更新。CMA-ES与其他几种算法密切相关,例如混合贝叶斯优化算法(Pelikan等,2004),有关比较综述可参考Kern等(2004)。近年来,这一研究演变为更加广泛的信息几何优化(IGO)框架(Ollivier等,2017)。IGO算法允许在优化过程中学习概率分布的参数,并保持成本函数不变性作为主要设计原则。该算法不对要优化的目标函数做任何假设,其流程等效于随机梯度下降。这些技术在一些简化的基准问题上已经被证明是有效的,但它们的扩展性仍不明确,且在复杂流体动力学问题中遇到的成本函数景观上,几乎没有收敛性保证。同时,我们还注意到越来越多人希望将这些优化方法应用于最小化与经典机器学习任务相关的成本函数(Salimans等,2017)。


2.5 我们未涵盖的重要话题:贝叶斯推理和高斯过程

有几种学习算法本文未涉及,但它们值得流体力学领域特别关注。首先是贝叶斯推理,它旨在在概率框架下利用数据为模型结构及其参数提供信息。贝叶斯推理对于不确定性量化至关重要,它本质上也是一种学习方法,因为它使用数据来调整模型。事实上,另一种观点是,每个机器学习框架都可以被放在贝叶斯框架中进行讨论(Barber 2012;Theodoridis 2015)。本文所概述的优化算法直接与此相关。虽然优化算法旨在为给定数据以随机方式提供模型的最佳参数,贝叶斯推理则旨在提供完整的概率分布。可以说,贝叶斯推理甚至比机器学习更强大,因为它为所有参数提供了概率分布,从而实现更具鲁棒性的预测,而不是像经典机器学习算法通常那样仅提供单个值。然而,贝叶斯推理的一个关键缺点是其计算成本高昂,因为它涉及高维空间中的采样和积分,这对于昂贵的函数评估(例如风洞实验或大规模直接数值模拟)来说可能是不可承受的。同样需要提到的是高斯过程(GPs),它类似于基于核的回归方法。然而,GPs根据可用数据自适应地构建这些核函数。它们还为相应的模型参数提供概率分布。GPs已经广泛用于与时间相关的问题,并且可以被视为递归神经网络(RNNs)的竞争者,尽管GPs的计算成本更高。最后,我们还注意到GPs在使用ES和GAs的优化问题中被用作昂贵成本函数的代理模型。

3. 基于机器学习的流动建模    

数个世纪以来,基于守恒定律等第一性原理一直是流动建模的主要基础。然而,对于高雷诺数,使用流体力学中最著名的模型——纳维-斯托克斯方程——进行尺度解析模拟超出了我们当前的计算资源。另一种方法是基于这些方程的近似进行模拟(如湍流建模中经常使用的做法)或针对特定配置进行实验室实验。然而,对于迭代优化来说,模拟和实验成本高昂,且模拟往往过于缓慢,无法实现实时控制(Brunton & Noack 2015)。因此,人们进行了大量努力,以获得准确且高效的降阶模型[降阶模型:用低维系统表示高维系统,平衡精度和效率],能够以较低成本捕捉关键流动机制(Rowley & Dawson 2016)。机器学习通过提供一种简洁的框架,为流体力学中的降维和降阶建模提供了新的途径,补充并扩展了现有的方法。

我们在此区分两类互补的工作:降维和降阶建模。降维指的是提取关键特征和主导模式,这些模式可以作为降维坐标,用于紧凑而高效地描述流体(Taira等,2017)。降阶建模则描述了流动的时空演化,将其作为参数化的动力系统,尽管它也可能涉及从参数到平均量(如阻力)的统计映射。

为了简化动力学并捕捉关键流体物理,人们付出了巨大努力来识别坐标变换和降维方法,POD(适当正交分解)就是一个著名的例子(Lumley 1970)。模型降阶,例如将纳维-斯托克斯方程通过Galerkin投影投影到POD模式的正交基上,受益于与控制方程的紧密联系;然而,这种方法具有侵入性,需要人类专家从正在运行的模拟中开发模型。机器学习提供了模块化算法,可用于数据驱动的系统识别和建模。流体流动数据驱动建模的独特之处在于能够使用部分已知的控制方程、约束和对称性。随着模拟能力和实验技术的进步,流体力学正逐渐成为一个数据丰富的领域,从而适合使用机器学习算法。 

在本文综述中,我们区分了用于建模流动的机器学习算法:(a)通过提取流动特征进行运动学建模;(b)通过采用各种学习架构进行动力学建模。


3.1 流动特征提取

模式识别和数据挖掘是机器学习的核心优势。机器学习社区开发了许多技术,可以直接应用于时空流体数据。我们将讨论线性和非线性降维技术,随后介绍聚类和分类方法。此外,我们还考虑了加速测量和计算的策略,以及处理实验流场数据的方法。

1)降维:线性和非线性嵌入

在流体动力学模拟和建模中,常见的方法是从物理坐标定义到模态基的正交线性变换。POD(适当正交分解)为复杂几何形状提供了基于经验测量的正交基。Sirovich(1987)引入了快照POD,它将计算简化为一个涉及奇异值分解的简单数据驱动过程。有趣的是,同年,Sirovich使用POD生成了一个低维特征空间用于人脸分类,这是现代计算机视觉许多技术的基础(Sirovich & Kirby,1987)。

POD与PCA(主成分分析)算法密切相关,PCA是应用统计学和机器学习的基本算法之一,用于描述高维数据中的相关性。我们回顾一下,PCA可以表达为一个两层神经网络,称为自编码器,用于压缩高维数据以便紧凑表示,如图5所示。该网络将高维数据嵌入低维潜在空间,然后从潜在空间解码回原始高维空间。当网络节点为线性且编码器和解码器被约束为彼此的转置时,自编码器与标准的POD/PCA分解密切相关(Baldi & Hornik,1989)(见图6)。然而,神经网络自编码器的结构是模块化的,通过使用节点的非线性激活单元,可以开发非线性嵌入,从而可能提供更紧凑的坐标。这一发现促使开发了深层神经网络的早期应用之一,用壁面压力和剪切来重建湍流通道流中的近壁速度场(Milano & Koumoutsakos,2002)。如今,机器学习社区拥有更强大的自编码器,这种联系值得进一步探索。

图6 无监督学习示例:两个涡合并(顶部)、适当正交分解(POD)模式(中间)以及线性自编码器的相应模式(底部)。请注意,与POD模式不同,自编码器模式不是正交的,也没有排序。

2)聚类和分类

聚类和分类是机器学习的基石。根据数据的大小和所需的类别数量,有数十种成熟的算法可供选择。Kaiser等人(2014)成功地使用了k-means算法,开发了一种基于数据的高维相空间离散化,用于流体混合层。通过少量聚类来表示低维空间,这使得可以构建流动随时间从一种状态演化到另一种状态的可处理的马尔可夫转换模型。由于聚类质心存在于数据空间中,可以将每个聚类质心与物理流场相关联,增加了可解释性。Amsallem等人(2012)使用k-means聚类将相空间划分为不同区域,在这些区域中构建局部降阶基,从而提高了对参数变化的稳定性和鲁棒性。

分类在流体力学中也被广泛用于区分各种典型行为和动态模式。分类是一种监督学习方法,使用带标签的数据来开发模型,将新数据分类到多个类别之一。最近,Colvert等人(2018)研究了利用神经网络从局部涡量测量中分类摆动翼后方尾迹拓扑(如2S、2P+2S、2P+4S);扩展研究比较了不同类型传感器的性能(Alsalman等,2018)。Wang & Hemati(2017)使用k最近邻算法检测特殊尾迹。类似地,神经网络与动力系统模型相结合用于检测流动扰动并估计其参数(Hou等,2019)。Nair & Taira(2015)在流体领域的相关图与网络方法被用于尾迹流中的群体检测(Meena等,2018)。最后,Bright等人(2013)早期的流体动力学机器学习分类示例基于稀疏表示(Wright等,2009)。

3)稀疏和随机化方法

与机器学习并行发展的是稀疏优化和随机化线性代数的巨大进展。机器学习和稀疏算法具有协同作用,因为潜在的低维表示有助于稀疏测量(Manohar等,2018)和快速随机计算(Halko等,2011)。在需要快速决策的情况下(如控制中),减少用于训练和执行模型的数据量非常重要。在此背景下,已利用高效获取和重构稀疏信号的算法(如压缩感知,Donoho 2006)实现对壁面湍流的紧凑表示(Bourguignon等,2014)以及基于POD的流动重构(Bai等,2014)。

数据中的低维结构也通过随机化线性代数(Halko等,2011;Mahoney,2011)加速了计算。如果矩阵具有低秩结构,那么基于随机采样的高效矩阵分解算法可以用于该情况,这与稀疏性和稀疏向量的高维几何密切相关。其基本思想是,如果一个大矩阵具有低维结构,那么高概率情况下这种结构将在将列或行投影到随机低维子空间后得以保留,从而促进后续的高效计算。这些所谓的随机化数值方法有潜力改变计算线性代数,以较低的成本提供准确的矩阵分解。例如,随机化线性代数可以高效计算奇异值分解(SVD),这被用于计算PCA(Rokhlin等,2009;Halko等,2011)。

4)超分辨率与流动净化

机器学习的许多应用集中在成像科学中,提供基于统计推断的强大方法来提高分辨率并去除噪声和数据损坏。这些超分辨率和去噪算法有潜力提升流体力学中的模拟和实验数据的质量。

超分辨率通过利用高分辨率训练数据的统计结构,从低分辨率测量中推断出高分辨率图像。已经开发了多种超分辨率方法,例如基于示例库的(Freeman等,2002)、基于稀疏表示的(Yang等,2010)以及最新基于卷积神经网络(CNNs)的(Dong等,2014)。来自粒子图像测速(PIV,Adrian 1991;Willert & Gharib 1991)的实验流场测量为此提供了一个有说服力的应用场景,在该场景中局部流动分辨率与成像域的大小之间存在冲突。超分辨率可以利用在较小区域上获得的昂贵高分辨率数据,来提高更大成像域的分辨率。大涡模拟(LES,Germano等,1991;Meneveau & Katz 2000)也可以通过超分辨率受益,从而推断低分辨率单元内部的高分辨率结构,这对于计算边界条件至关重要。最近,Fukami等(2018)开发了一个基于CNN的超分辨率算法,并在湍流重构中展示了其有效性,表明能量谱得到了精确的保持。超分辨率的一个缺点是其计算代价通常极高,因此在高分辨率成像代价过高的应用中才会有用;然而,改进的基于神经网络的方法可能会显著降低成本。此外,Xie等(2018)最近使用生成对抗网络(GANs)进行了超分辨率研究。

实验PIV和粒子跟踪数据的处理也是机器学习的早期应用之一。神经网络已经被用于快速PIV(Knaak等,1997)和粒子跟踪测速(PTV,Labonté 1999),并在三维拉格朗日粒子跟踪方面有令人印象深刻的应用(Ouellette等,2006)。最近,深度CNNs已被用于从PIV图像对中构建速度场(Lee等,2017)。相关方法还用于检测PIV数据中的伪向量,以去除异常值并填充损坏的像素(Liang等,2003)。


3.2 流动动力学建模

建模的核心目标是平衡效率与精度。在物理系统建模中,可解释性和通用性也是关键的考量因素。

1)通过非线性嵌入实现线性模型:动态模态分解与Koopman分析

许多经典的系统识别技术可以视为机器学习方法,因为它们是数据驱动的模型,可以超越训练数据进行泛化(泛化能力:模型泛化到包括看不见的数据在内的新例子的能力;牛顿第二定律F=ma是高度可推广的)。动态模态分解(DMD,Schmid 2010;Kutz等,2016)是一种现代方法,用于从流体流动的时间序列数据中提取时空相干结构,从而得到这些主导相干结构演化的低维线性模型。DMD基于数据驱动的回归方法,同样适用于时间分辨实验和数值数据。DMD与Koopman算子(Rowley等,2009;Mezic 2013)密切相关,后者是一个无限维线性算子,描述系统所有测量函数如何随时间演化。由于DMD算法基于线性流场测量(即流体速度或涡量场的直接测量),所得模型可能无法捕捉非线性瞬态。

最近,研究人员进行了大量努力,试图识别一种坐标系统,在该系统中非线性动力学看起来是线性的。扩展的DMD(Williams等,2015)和构象动力学的变分方法(Noé & Nüske 2013;Nüske等,2016)通过非线性测量(利用核方法,Williams等,2015;字典学习,Li等,2017)丰富了模型。这些特殊的非线性测量通常难以表示,现在使用深度学习架构来识别动态表现为线性的Koopman坐标系统(Takeishi等,2017;Lusch等,2018;Mardt等,2018;Wehmeyer & Noé 2018)。VAMPnet架构(Mardt等,2018;Wehmeyer & Noé 2018)使用时滞自编码器和自定义变分评分,在蛋白质折叠的示例中识别了Koopman坐标。基于VAMPnet的表现,流体动力学可以从分子动力学等邻近领域中受益,这些领域有着类似的建模问题,包括随机性、粗粒化动力学和时间尺度的分离。

2)神经网络建模

在过去的三十年里,神经网络(NNs)被广泛用于建模动力系统和流体力学问题。早期的例子包括使用神经网络学习常微分方程和偏微分方程的解(Dissanayake & Phan-Thien 1994;Gonzalez-Garcia等,1998;Lagaris等,1998)。这些工作的潜力尚未被充分发掘,近年来取得了进一步的进展(Chen等,2018;Raissi & Karniadakis 2018),包括离散和连续时间的网络。也有可能使用这些方法揭示潜在变量,并减少与偏微分方程相关的参数研究数量(Raissi等,2019)。神经网络还经常用于非线性系统识别技术,如NARMAX,这些技术常用于建模流体系统(Glaz等,2010;Semeraro等,2016)。在流体力学中,神经网络广泛用于建模传热(Jambunathan等,1996)、透平机械(Pierret & Van den Braembussche,1999)、湍流(Milano & Koumoutsakos 2002)以及航空领域的其他问题(Faller & Schreck 1996)。

具有长短期记忆(LSTM)的递归神经网络(RNNs,Hochreiter & Schmidhuber 1997)在语音识别领域取得了革命性进展,被认为是人工智能的标志性成功之一。目前,它们被用于建模动力系统以及极端事件的数据驱动预测(Vlachas等,2018;Wan等,2018)。这些研究的一个有趣发现是,将数据驱动模型与降阶模型结合起来是一种强大的方法,能够在多个研究中优于每个单独的组件。生成对抗网络(GANs,Goodfellow等,2014)也被用于捕捉物理现象(Wu等,2018)。GANs在湍流建模与模拟中有潜力发挥作用(Kim等,2018),尽管这一领域还处于起步阶段。

尽管神经网络在动力系统中的应用前景广阔且广泛,仍然存在一些挑战。神经网络本质上是插值的,因此只有在训练数据的分布范围内(或概率分布下),才能很好地逼近函数。因此,在将神经网络用于外推任务时应谨慎行事。在许多计算机视觉和语音识别的例子中,训练数据量如此之大,以至于几乎所有未来的任务都可以视为训练数据的插值,尽管这种训练规模在流体力学中尚未实现。同样,神经网络模型容易过拟合,因此必须小心选择测试集以进行交叉验证;最佳实践由Goodfellow等(2016)讨论。最后,显式地将部分已知的物理知识(如对称性、约束和守恒量)纳入模型中也至关重要。

3)简约非线性模型

简约性是数学物理中的一个反复出现的主题,从哈密顿的最小作用原理到许多控制方程的表面简洁性。与神经网络的强大表示能力相比,机器学习算法还被用于识别最小模型,平衡预测准确性与模型复杂性,防止过拟合并促进可解释性和通用性。遗传编程最近被用于发现守恒定律和控制方程(Schmidt & Lipson 2009)。还提出了在候选模型库中进行稀疏回归,以识别动力系统(Brunton等,2016)和偏微分方程(Rudy等,2017;Schaeffer 2017)。Loiseau & Brunton(2018)通过强制实施能量守恒作为约束条件,识别了多个流动系统的稀疏降阶模型。在遗传编程和稀疏识别中,使用Pareto分析来识别在模型复杂性(以术语数量衡量)和预测准确性之间最佳折衷的模型。在已知物理学的情况下,这种方法通常能够发现正确的控制方程,提供了与其他领先的机器学习算法相比更强的通用性。

4)基于机器学习的闭合模型

使用机器学习开发湍流闭合模型是一个活跃的研究领域(Duraisamy等,2019)。湍流中的时空尺度极度分离,使得在模拟中解析所有尺度的成本非常高昂,即使有摩尔定律的推动,我们离在相关配置(如飞机、潜艇等)中解析所有尺度还有几十年的时间。通常做法是截断小尺度,并使用闭合模型来模拟它们对大尺度的影响。常见的方法包括雷诺平均纳维-斯托克斯(RANS)和大涡模拟(LES)。然而,这些模型可能需要仔细调整以匹配完全解析的模拟或实验数据。

机器学习已被用于识别和建模RANS模型与高保真模拟之间的雷诺应力张量中的差异(Ling & Templeton 2015;Parish & Duraisamy 2016;Ling等,2016b;Xiao等,2016;Singh等,2017;Wang等,2017)。Ling & Templeton(2015)比较了支持向量机(SVM)、Adaboost决策树和随机森林,以分类和预测雷诺应力张量中不确定性较高的区域。Wang等(2017)使用随机森林构建了一个监督模型,用于雷诺应力张量差异的预测。Xiao等(2016)在贝叶斯框架下利用稀疏在线速度测量推断这些差异。在相关工作中,Parish & Duraisamy(2016)开发了场反演和机器学习建模框架,基于逆向建模构建校正模型。该框架后来被Singh等(2017)用于开发增强神经网络的Spalart-Allmaras RANS模型校正,表现出优异的性能。Ling等(2016b)的一个关键成果是首次使用具有多个隐藏层的深度网络架构来建模各向异性雷诺应力张量,如图7所示。他们的新颖架构引入了一个乘法层,将伽利略不变性嵌入张量预测中。这为将已知物理对称性和不变性嵌入学习架构提供了一种创新且简单的方法(Ling等,2016a),我们相信这将在未来将学习与物理学结合的研究中至关重要。对于LES闭合模型,Maulik等(2019)使用人工神经网络从粗分辨率量预测湍流源项。

图7 标准神经网络架构(a)与修改后的识别伽利略不变性雷诺应力模型的神经网络(b)的比较

5)机器学习在动力系统中的挑战

将机器学习(ML)应用于物理动力系统建模提出了多个独特的挑战和机遇。模型的可解释性(对模型的理解或解释程度)和通用性是物理学中的基本基石。一个精心设计的模型可以为尚未观察到的现象提供假设。例如,这一原则体现在经典力学的简约表述中,如牛顿第二定律。

对于高维系统,例如那些在非定常流体动力学中遇到的系统,存在多尺度动力学、对噪声和扰动的敏感性、潜在变量和瞬态现象的挑战,所有这些在应用机器学习技术时都需要特别注意。在动力学中的机器学习,我们区分了两个任务:发现未知物理和通过结合已知物理来改进模型。许多学习架构不能轻松地将物理约束(如对称性、边界条件和全局守恒定律)融入模型中。这是一个关键的持续发展领域,最近的一些工作已经提出了具有通用性的物理模型(Battaglia等,2018)。

这些挑战包括:

1. 多尺度动力学:流体动力学中广泛存在的现象涵盖不同的时间和空间尺度,难以在一个统一的框架中进行建模。

2. 噪声和扰动:实际系统中的噪声和扰动对机器学习模型的鲁棒性提出了挑战,尤其在流动的瞬态阶段。

3. 潜在变量:物理系统中一些未观测到的变量(例如流动中的隐含过程)需要通过机器学习来推断。

4. 瞬态行为:非定常流动中的短暂现象很难通过传统的模型进行精确捕捉,而这些现象往往决定系统的关键行为。

在这些背景下,机器学习方法的潜力不仅在于提高现有模型的准确性,还在于帮助发现新的物理现象,尤其是在物理学的已知约束与数据驱动模型相结合时。这种整合是未来发展的重要方向,旨在为流体动力学等复杂系统提供可解释且通用的预测模型。

4. 利用机器学习进行流动优化和控制    

机器学习算法非常适合处理涉及黑箱或多模态目标函数的流动优化和控制问题。这些算法是迭代的,通常需要比基于梯度的算法(如伴随方法)更多数量级的目标函数评估(Bewley等,2001)。此外,它们不提供收敛保证,因此我们建议在适用伴随方法等技术时避免使用这些算法。尽管如此,强化学习(RL)等技术已经显示出即使是最优流动控制策略也难以匹敌的性能(Novati等,2019)。实际上,有几类流动控制和优化问题,学习算法可能成为首选方法,具体如以下描述。


4.1. 学习算法的优势

黑箱优化:当流动控制问题中无法明确获取目标函数的解析表达式时,学习算法尤其适用。多模态优化:对于多模态目标函数(即具有多个局部极值的函数),学习算法在搜索全局最优解方面表现出色。


4.2. 学习算法的挑战

计算开销:相对于基于梯度的算法,学习算法在计算量上非常昂贵,通常需要更长时间进行收敛。收敛性:学习算法缺乏理论上的收敛保证,特别是在存在高维搜索空间时,这一问题更加明显。尽管如此,随着强化学习等技术的成熟,流动优化和控制中的学习算法 正逐渐展现出优势,尤其在难以通过传统方法解决的复杂流动控制问题上。

与流动建模不同,优化和控制中的学习算法与数据采样过程有多种交互方式。首先,正如前文描述的建模工作那样,机器学习可以用于开发明确的代理模型,这些模型将目标函数与控制/优化参数联系起来。代理模型(例如神经网络)随后可以应用于基于梯度的方法,尽管它们常常陷入局部最小值。多保真度算法(Perdikaris等,2016)也可用于将代理模型与完整问题的目标函数结合使用。随着学习过程的进展,优化结果会引导请求新的数据。

另外,优化或控制问题可以通过学习参数的概率分布来描述,这些参数是为了最小化目标函数而构建的。这些概率分布是通过优化过程中获得的目标函数样本构建的。此外,目前用于训练非线性学习机器(LMs)的高维和非凸优化过程非常适合于流动控制中的高维、非线性优化问题。

值得注意的是,随着强大计算机的普及,优化与控制之间的界限正在变得模糊(参见侧栏“优化与控制:快速计算机消除的界限”)。然而,流动控制中涉及的时空尺度范围的复杂性以及底层过程的非线性,可能会使实时优化在未来几十年内仍然面临巨大挑战。

1)随机流动优化:学习概率分布

随机优化包括进化策略(ES)和遗传算法(GAs),它们最初基于生物启发原则开发。然而,近年来这些算法已被置于学习框架内(Kern等,2004)。

随机优化已广泛应用于工程设计,尤其是许多工程问题涉及黑箱类型的目标函数。应用的简短列表包括空气动力学形状优化(Giannakoglou等,2006)、无人飞行器(UAVs,Hamdaoui等,2010)、人工游泳器的形状和运动优化(Gazzola等,2012;Van Rees等,2015),以及提高横流涡轮的功率提取效率(Strom等,2017)。有关梯度优化和随机优化算法在空气动力学中的广泛比较,读者可参考Skinner & Zare-Behtash(2018)的综述文章。

这些算法涉及大量迭代,因此可以从大规模并行计算架构中受益。自动化的进展还促进了它们在实验(Strom等,2017;Martin & Gharib,2018)和工业环境中的应用(Bueche等,2002)。我们注意到,随机优化算法非常适合应对实验和工业中与不确定性相关的挑战,例如系统行为的意外变化、系统及其环境的不完全描述以及外部扰动。Hansen等(2009)提出了一种方法,用于增强进化算法在燃烧测试平台在线优化中的能力。

随机流动优化将继续受益于计算硬件和实验技术的进步。与此同时,在将这些算法应用于流体力学问题时,收敛性证明、可解释性和可靠性仍然是需要考虑的关键问题。结合随机技术和基于梯度的方法的混合算法,根据具体问题选择可能是解决流动控制问题的最佳策略。

2)机器学习在流动控制中的应用

反馈流动控制通过传感器测量的信息进行致动,来改变流体动力系统的行为。反馈对于稳定不稳定系统、衰减传感器噪声以及补偿外部扰动和模型不确定性是必要的。流动控制的挑战包括高维状态、非线性、潜在变量和时间延迟。机器学习算法已广泛用于控制、系统识别和传感器布置。

  • 用于控制的神经网络

神经网络(NNs)在系统识别(参见第3节)和控制中受到极大关注,包括在空气动力学中的应用(Phan等,1995)。Lee等(1997)率先将神经网络应用于湍流控制。在该研究中,利用局部壁法向吹吸和少量摩擦传感器,减少了湍流边界层的摩擦阻力。通过从已知的最优全信息控制器学习传感器控制规律,几乎没有性能损失。此外,在没有预先了解致动命令的情况下,还优化了单层网络以减少摩擦阻力。两种策略都导致了概念上简单的局部对抗控制。

许多其他研究也使用神经网络进行控制,例如用于相位控制(Rabault等,2019)或频率串扰的控制。这些方法的理论优势在于能够逼近任意非线性控制规律,但其代价是需要优化大量参数。对于具有复杂高维非线性以及多个传感器和执行器的配置,神经网络控制可能需要巨大的计算或实验资源。然而,自这些早期应用以来,神经网络的训练时间已提高了几个数量级,这为进一步探索其在流动控制中的潜力提供了理由。

  • 控制中的关键挑战

神经网络在流动控制中的应用潜力巨大,特别是在应对复杂、高维的非线性问题时。然而,仍有一些关键挑战需要克服:计算成本:在复杂流体系统中,优化多个传感器和执行器的神经网络控制器的成本可能非常高。非线性控制规律:虽然神经网络理论上能够逼近任意非线性控制规律,但在实际应用中,如何有效优化这些非线性规则仍是一个难题。传感器与执行器的数量和布置:多传感器和多执行器系统中的数据处理和控制决策变得更加复杂。尽管这些挑战存在,随着神经网络计算效率的提高,它们在流动控制中的应用前景广阔,尤其是在解决传统方法难以应对的非线性控制问题上。

  • 遗传算法用于控制

遗传算法(GAs)已被用于解决多个流动控制问题。遗传算法要求控制律的结构事先指定,并且只包含少量可调参数。一个使用遗传算法进行控制设计的例子是应用于后向台阶流动的实验混合优化(Benard等,2016)。与神经网络控制类似,随着参数数量的增加,学习时间也会增加,这使得对非线性控制器(例如常数-线性-二次律)、信号历史(如卡尔曼滤波器)或多个传感器和执行器的控制变得具有挑战性甚至无法实现。

遗传编程已广泛用于工程应用中的主动控制(Dracopoulos 1997;Fleming & Purshouse 2002),近年来也应用于多个流动控制系统。这包括多频开环致动、多输入传感器反馈和分布式控制的学习。读者可以参考Duriez等(2016)对该方法的详细描述,以及Noack(2018)对相关控制系统的概述。值得注意的是,大多数控制律是在1,000次测试评估内获得的,每次评估在风洞中仅需几秒钟。


4.3 通过强化学习进行流动控制

近年来,强化学习(RL)已超越了游戏领域,成为越来越多领域中解决问题的基本方法,包括重现水文系统的动力学(Loucks等,2005)、主动控制钝体周围的振荡层流(Guéniat等,2016)、研究鱼类的单体(Gazzola等,2014)或群体运动(Gazzola等,2016;Novati等,2017;Verma等,2018)、最大化模拟滑翔器(Reddy等,2016)和机器人滑翔器(Reddy等,2018)的运动范围,优化无人机(UAVs)的运动学运动(Kim等,2004;Tedrake等,2009),以及优化微型游动器的运动(Colabrese等,2017,2018)。图8展示了强化学习的示意图,并提供了与流体力学相关的引人注目的应用实例。

图8 深度强化学习的示意图(a)及其通过Navier-Stokes方程研究鱼类群体运动的应用(b)。图b改编自Verma等(2018)。

强化学习在流体控制领域展现出巨大的潜力,能够优化复杂动力学系统中的控制策略。这些方法特别适用于非线性、多尺度和多变量的流动控制问题。

在强化学习(RL)应用于流体力学中,流体力学知识至关重要,因为成功与否取决于是否正确选择反映流动问题控制机制的状态、动作和奖励。自然界中的生物及其传感器(如鸟类的视觉系统或鱼类的侧线系统)可以为状态的选择提供指导。随着传感器技术的快速进步,算法上的挑战可能是最佳传感器位置的选择(Papadimitriou & Papadimitriou 2015;Manohar等,2018)。动作反映了流动致动装置,可能涉及身体变形或翅膀拍动。奖励可能包括能量因素,例如运输成本或为了避免捕食而靠近鱼群中心。

尽管强化学习的计算成本仍然是其广泛应用的一个挑战,但这种缺点可以通过RL固有的并行性来缓解。越来越多的研究关注如何将方法从低精度(例如二维)转移到高精度(例如三维)模拟(Verma等,2018),或从模拟转移到相关的现实应用(Richter等,2016;Bousmalis等,2017)。这种跨精度或跨环境的迁移能力为RL在流体力学中的实际应用提供了更大的可能性。

强化学习在流体力学中的应用有望通过创新的传感器部署、动态的流动控制机制以及高度并行的算法优化,进一步推动流动优化和控制领域的发展。

5. 讨论与展望    

本综述介绍了从流体力学角度应用的机器学习(ML)算法。两者的交叉有着悠久的历史,近年来重新引起了人们的兴趣。本文探讨了ML在流动建模、优化和实验与模拟中的控制问题上的应用,突出了一些ML在关键流体力学任务中的成功,例如降维、特征提取、PIV处理、超分辨率、降阶建模、湍流闭合、形状优化和流动控制。它讨论了从这些应用中学到的经验,并通过当今技术进步的视角解释了当前对ML的兴趣。我们的目标是提供对ML在流体力学背景下的更深入理解。ML包括数据驱动的优化和应用回归技术,非常适合处理高维非线性问题,正如流体动力学中遇到的那样;将需要流体力学的专业知识来构建这些优化和回归问题。

ML算法提供了一套工具库,在流体力学研究中仍有许多尚未开发的潜力,可以增强现有的研究模式。即使在大数据时代,流体力学知识和几百年来的守恒定律仍然具有重要意义。这些知识可以帮助提出更精准的问题,并协助减少ML算法在流动控制和优化中经常伴随的大量计算成本。ML和日益丰富的高性能计算资源可以简化高维搜索空间的探索和可视化。

在不久的将来,ML算法的应用经验将帮助流体力学领域提出新的问题,扩展几十年来的线性化模型和线性方法进入非线性领域。由于开源软件和方法的普及以及ML社区的开放性,ML向非线性领域的过渡变得更加顺畅。从长远来看,ML无疑将为流体力学中的老问题带来新的视角,特别是在数据的推动下。但对ML解的解释和问题陈述的细化仍然需要流体力学的专业知识。

我们需要对当前关于数据驱动研究和ML几乎“神奇”能力的热情保持谨慎。毕竟,ML算法总会基于训练数据给出某种答案——这些数据可能与手头的问题无关。正确地提出问题、选择数据、学习模型以及其训练过程,都是学习过程的关键组成部分。ML算法在流体力学中的应用面临许多挑战(同时也带来了机遇)。尽管ML领域的许多研究都关注于预测性能,流体力学应用通常要求模型具备可解释性、通用性以及具有收敛性保证。

尽管深度学习无疑会在流动建模的多个方面成为关键工具,但并不是所有的ML方法都属于深度学习。在选择方法时需要考虑多个因素,包括数据的质量和数量、所需的输入和输出、需要优化的成本函数、任务是否涉及插值或外推,以及模型的可解释性是否重要。交叉验证ML模型也至关重要,否则结果可能容易过拟合。此外,还需要开发和调整不仅是物理启发的,而且是物理一致的ML算法,这也是AI中的一个重大挑战。

本综述以呼吁流体力学社区进一步拥抱开放和可重复的研究成果与标准作为结尾。可重复性(记录程序和归档代码和数据的过程,以便其他人能够完全再现科学成果)是科学的基石,目前已有多个框架被开发出来,以系统化这一科学过程(Barber 2015)。现在越来越有可能记录程序、存档代码并托管数据,以便其他研究人员可以重现结果。数据对ML至关重要,因此创建和策划基准数据集和软件将激发相关领域研究人员的兴趣,推动进步。这些流体基准比ML中的传统图像数据集更具挑战性:流体数据是多模态和多保真度的,它们在某些维度上具有高分辨率,而在其他维度上则稀疏;许多任务需要平衡多个目标,最重要的是,数据来自动力系统,其中许多任务不允许事后分析。

我们正进入一个激动人心的流体力学研究新时代。基于第一性原理的几百年的理论发展如今正与数据驱动分析融合。这一融合将为许多长期以来未解的流体动力学问题提供解决方案,最重要的是增强对其控制机制的理解。


主要要点

1. 机器学习(ML)提供了强大的信息处理算法,适用于流体建模、优化和控制。要成为有效的问题解决者,既需要掌握ML的专业知识,也需要深入了解流体力学。

2. 流体力学一直关注大数据。几十年来,它已经使用ML来理解、预测、优化和控制流动。当前,ML的能力正以惊人的速度进步,流体力学也开始充分利用这些强大的方法。

3. 流体力学中的许多任务,例如降阶建模、形状优化和反馈控制,都可以被表述为优化和回归任务。ML可以提高优化性能并缩短收敛时间。ML还用于降维和识别低维流动流形和离散流动状态,这有助于理解流动现象。

4. 流动控制策略传统上基于从理解到建模再到控制的精确顺序。ML范式提供了更大的灵活性,在数据驱动和第一性原理方法之间进行迭代。

未来问题

1. ML算法通常没有性能、鲁棒性或收敛性的保证,即使对于定义明确的任务也是如此。如何实现结果的可解释性、通用性和可解释性?

2. 将已知的流体物理整合和强化到ML算法中是一个挑战,同时也是一个机遇。我们能否在流体力学中将数据驱动和第一性原理的方法进行混合?

3. 存在许多可能性可以从流体数据中发现新的物理机制、对称性、约束和不变性。

4. 数据驱动建模可能是重新审视流体力学现有经验定律的有力替代方法。

5. ML鼓励开放共享数据和软件。这能否有助于开发可重复和开放的科学框架用于流体力学?

6. 流体力学研究人员将从与ML社区的交流中受益,在同行评审会议上报告最新进展。


翻译转载自《Annual Review of Fluid Mechanics》杂志文章 Machine Learning forFluid Mechanics




来源:多相流在线
非线性多相流燃烧化学湍流形状优化通用航空UMLMS参数优化理论自动驾驶机器人游戏人工智能无人机
著作权归作者所有,欢迎分享,未经许可,不得转载
首次发布时间:2024-11-03
最近编辑:20天前
积鼎科技
联系我们13162025768
获赞 108粉丝 110文章 302课程 0
点赞
收藏
作者推荐

LMFD应用 | 基于LBM-DEM耦合浸入运动边界法的高固含率含颗粒湍流模拟

摘要:基于格子Boltzmann方法和离散元方法,成功地对含颗粒湍流进行了GPU加速的直接数值模拟,并采用一系列算例验证了模拟方法的准确性。系统地研究了颗粒尺寸dp = 30.1η(Kolmogorov尺度)、固体体积分数ϕv = 2%-20%和颗粒斯托克斯数St = 503.87-50387下的含颗粒均匀各向同性湍流并定量计算了颗粒引起的附加能量耗散率εaddi。提出了一种基于能量守恒的湍流调制判据,并成功地应用于不同体积分数和斯托克斯数的含颗粒湍流中。流固耦合率ψ和颗粒诱导耗散εaddi的相对大小是决定湍流调制效应的直接因素。高固含率的含颗粒湍流从增强迅速转变为衰减,这归因于在自由演化的湍流中ψ相对于εaddi的衰减更快,使得能量判据快速转变为负值。SIMPOP研究背景 颗粒对湍流的调制作用在自然界和工业界中广泛存在。在工业生产中,不同粒径和浓度的催化剂颗粒引起的湍流衰减会改变鼓泡床气液接触面的大小,影响其传递过程。在气象领域,依据大气边界层湍流观测数据修正的模型大大提高了沙尘暴预报的精度。研究颗粒湍流系统中颗粒对湍流的调制作用具有重要意义。根据研究中考虑颗粒流体以及颗粒颗粒相互作用的方式,可进行单向、双向、四向耦合的分类。图1 颗粒与流体的耦合方式示意 当前,对含颗粒湍流的实验研究以壁湍流为主,它更贴近工程实际,但大规模实验的成本较高,难以得出可普遍应用的结论。均匀各向同性湍流具有与一般湍流系统相同的基本属性,对其进行颗粒调制作用的研究更具理论普适性。为此需采用数值模拟方法进行研究,根据模拟时的颗粒解析度,可以分为点颗粒模型和颗粒解析模型。目前,可得到流场细节信息的直接数值模拟方法已经在颗粒湍流的研究中得到广泛应用。目前采用传统CFD方法进行四向耦合高固含率含颗粒湍流直接数值模拟尚不多见。 图2 点颗粒模型与颗粒解析模型示意示意图含颗粒均匀各向同性湍流高效直接解析数值模拟方法 本研究基于中国科学院过程工程研究所EMMS团队自研的格子多相流体力学软件LMFD(Lattice-based Multi-Fluids Dynamics)平台的PR-DNS模块,采用LBM-DEM耦合浸入运动边界法进行模拟。流体演化采用多松弛时间格式的LBM以增强数值稳定性,颗粒碰撞采用了软球模型,流固耦合采用浸入运动边界法,边界过渡平滑且便于并行计算。为了不引入额外能量,本文采用给定初始湍流速度场的方法生成均匀各向同性湍流场。流场发展一段时间后,颗粒被随机布置在流场中,并由当地的流动速度进行初始化,结果显示得到的湍动能及其粘性耗散率演化曲线与文献结果符合良好。同时进行了相同算例计算速度的对比,由于采用了高效的GPU并行算法,基于LMFD软件平台相较于32 CPUs并行计算相同算例,其加速比达到了100以上。这一对比验证了我们方法的准确性和高效性。图3 含颗粒湍流湍动能及其粘性耗散率演化曲线与文献值的对比图4 GPU加速方法与现有研究计算耗时的对比基于能量守恒的湍流调制判据 湍流的强弱可以由平均湍动能的大小来衡量,为了定量描述颗粒的引入对湍流的调制作用,本文提出了一种基于能量守恒的湍流调制判据。将湍动能演化方程(式I)的粘性耗散项分解为颗粒引入的额外耗散和参考值。以相同湍动能下单相湍流的粘性耗散率εsingle为参照,计算加入颗粒引起的额外耗散εaddi。流固耦合项ψ和额外耗散项εaddi的相对大小决定了湍流的增强或削弱。在不同颗粒固含率和颗粒惯性下这一判据的有效性得到了充分验证,如图红圈处所示,能量判据转为负值时,湍动能也开始下降。式1 湍动能演化方程图5 计算颗粒引入的额外耗散εaddi的方法(以ρp/ρf = 10工况为例)图6 不同算例对判据有效性的验证高固含率高惯性颗粒的特殊调制现象 模拟发现,随着的固含率增大,湍流在初始增强后迅速减弱。对这一调制趋势转变现象的分析可以从两个角度进行。从流体角度出发,由截面云图,随着固含率升高颗粒更多地分布在尾迹中,流固耦合作用被削弱,湍动能增强区缩减,与此同时,流体内部高应变区增多,粘性耗散增强。 图7 不同算例流场截面上湍动能和应变大小的演化 式2 颗粒相能量守恒 分析颗粒相的能量守恒可知,除了颗粒做功传递给流体的能量外,还有因碰撞变形导致的损耗。统计所有时刻这两个项占比的平均值,可以看出,随着固含率升高,颗粒相的能量从约60%传递给流体变为仅15%传递给流体。高固含率下颗粒碰撞损耗εaddi加剧,颗粒迅速减速,流固耦合项ψ减少。两相的综合作用导致了高固含率下,湍流迅速由增强转为削弱。创新点总结 1.基于LMFD软件平台实现了含颗粒湍流的高性能直接数值模拟。2.提出了一种基于能量守恒的含颗粒湍流调制判据。3.发现了高体积固含率(20%)下颗粒对湍流的特殊调制现象,并进行了机理分析。 来源:多相流在线

未登录
还没有评论
课程
培训
服务
行家
VIP会员 学习 福利任务 兑换礼品
下载APP
联系我们
帮助与反馈