2. 西安交通大学 机械结构强度与振动国家重点实验室, 西安 710049
2. State Key Laboratory of Strength and Vibration of Mechanical Structures, Xi'an Jiaotong University, Xi'an 710049, China
在航空领域中进行与气动相关的设计或优化时,经常使用CFD数值模拟。但CFD往往需要消耗大量的计算资源与时间,在日益追求效率的现今时代,许多学者都对如何节省计算成本进行了大量研究。例如借助降阶模型[1],提取流场主要特征来降低计算时间。但降阶模型对流场参数变化非常敏感[2], 缺乏足够的鲁棒性,即使是参数微小的变化,也容易导致降阶模型精度降低。近年来,深度学习技术强大的学习隐藏特征的能力,使其在图像识别[3]等领域得到广泛应用与发展。这也为如何进行流场计算提供了新的思路。
目前,深度学习在流体力学中的相关应用仍不多见。2016年,美国Sandia国家实验室Ling等, 通过将伽利略不变量嵌入深度神经网络结构,构建了对雷诺平均(Reynolds Averaged Navier-Stokes,RANS)湍流模型的深度学习,对雷诺应力的进行了预测,并以此为结果对管道流和速度场进行了预测[4]。Miyanawala等人(2017)首次实现了深度卷积网络通过二维柱体尾迹区流场变量对气动载荷的准确预测。他们仅采用3组不同几何外形柱体的全阶模拟数据来训练卷积神经网络(Convolutional Neural Networks,CNN)[5],就成功预测了其他10组不同几何外形柱体的流体载荷[6]。Lee等人(2017)采用生成对抗网络,来学习全阶N-S方程(Navier-Stokes Equations)的非定常数值解,通过对两个雷诺数下二维圆柱绕流全阶数值解的学习,就能够准确预测出介于两个训练雷诺数之间的二维圆柱尾流融合的非定常过程[7]。2018年,Lee通过雷诺数100~400的流场样本集,成功预测了未参与训练的雷诺数为500与3000的流场[8]。上述例子充分说明深度学习具有学习和预测复杂流动现象的强大潜力。然而,现有的研究结果仍然存在一定的局限性,例如Miyanawala[6]提出的卷积神经网络框架仅仅预测了圆柱绕流的气动力系数但并未直接预测非定常流场,Lee [7-8]提出的生成对抗网络框架必须将预测时刻的前几个时刻的流场作为输入信息,在事先没有初始流场结果时,很难开展相应的流场预测工作。
本文旨在实现仅需给出时间条件,即可基于深度学习预测对应非定常流场。以非定常流场数值仿真结果作为训练样本,将条件生成对抗网络与卷积神经网络相结合,改进条件约束方式。建立了回归生成对抗网络,并比较了本文的约束方式与传统方式的效果。
1 回归生成对抗网络为了能够生成考虑时间条件约束的非定常流场预测结果,基于条件生成对抗网络(Conditional Generative Adversarial Nets,CGAN)[9],提出了改进的回归生成对抗网络(Regression GAN),并将常规的条件生成对抗网络与改进的回归生成对抗网络分别用于二维圆柱的非定常流场预测,进行了结果对比。
1.1 条件生成对抗网络条件生成对抗网络是一种考虑条件约束的生成对抗网络模型。相比于传统的“无控型”生成对抗网络,条件生成对抗网络可以生成给定条件约束下的预测结果。
条件生成对抗网络与传统生成对抗网络[10]的区别是在生成器和判别器中均引入了条件y。将输入噪声z与条件y组合,作为生成器新的输入,组合方式多种多样,可选方式很多[11];同样的,将原本的输入x和y作为判别器的新输入。这样我们可以通过改变y来指定输出信息,其数学表达式为:
$ \begin{array} [c]{c} \min\limits _{G} \max\limits _{D} V(D, G)=E_{x \sim p \operatorname{data}(x)}[\ln D(\boldsymbol{x} | \boldsymbol{y})]+\\ E_{x \sim p_{z}(z)}[\ln (1-D(G(\boldsymbol{z} | \boldsymbol{y})))] \end{array} $ | (1) |
其中,G(z|y)、D(G(z|y))分别为生成器、判别器输出数据,pdata表示训练样本分布,pz表示噪声分布,E代表期望值。
1.2 回归生成对抗网络训练流程回归生成对抗网络对条件生成对抗网络进行了改进,增加回归器对生成器的优化方向进行约束,其训练流程如图 1所示,主要分为三部分:
![]() |
图 1 回归生成对抗网络训练流程图 Fig.1 Training process of regression GAN |
1) 生成器生成流场变量G(z|y)。为了学习流场变量x的分布px,我们定义噪声z的先验分布pz(z),与条件生成对抗网络相同,生成器将z|y映射至G(z|y),即为预测得到的流场变量。
2) 判别器判别数据真假与自动编码。本文的判别器采用自动编码器[11]的网络结构,该方法在基于能量的生成对抗网络[12]中首次提出,主要作用是判断生成数据的真实性,以及自动编码真实数据与生成数据。以G(z|y)与x分别作为判别器的输入,在训练过程中,D(G(z|y))越小,代表G(z|y)与真实数据x越接近,判别器自动编码数据的能力越强;同理,D(x)越小,判别器自动编码数据的能力越强。
3) 回归生成对抗网络在条件生成对抗网络的基础上增加回归器,用于回归时间标签R(G(z|y))。对于回归器来说,只有G(z|y)足够准确,才能够正确预测出对应的时间R(G(z|y))。为了将回归器的效果反馈加入训练,以R(G(z|y))与y之间的误差作为损失函数,作为生成器损失函数的一部分,用于约束生成器的优化方向。
训练过程中不断重复上述三部分工作,最终可以得到有良好预测能力的生成器。测试过程仅需进行第一部分,直接输入对应的时间标签y,即可得到需要预测时刻的流场。
1.3 样本集采用CFD求解器对Re=1×104、Ma=0.2[13]、圆柱直径D=1 m的圆柱绕流进行了数值模拟。通过RANS方程求解,求解器为NASA CFL3D[14]。计算网格如图 2所示,网格尺寸为128×128(周向×法向),附面层第一层高度设置为5×10-4,y+=0.3,远场高度为50倍特征长度(圆柱直径)。
![]() |
图 2 计算与训练网格 Fig.2 Sketch of computation/training grid |
圆柱绕流是以时间T为一周期的周期性流动,本文以T/40作为一个时间间隔,去除t=0、t=T时刻的流场数据,以剩余的39个时刻的流场变量u、v、p作为训练数据。标签y是该样本在T中对应的时间t。因为神经网络参数通过梯度下降方法[15]进行优化,为了令参数优化更加准确、加速梯度收敛,训练前对数据进行标准化处理。设共有m个训练样本,以流场变量u为例:
$ \overline{u}=\frac{u-\mu_{u}}{\sigma_{u}} $ | (2) |
$ \mu_{u}=\frac{1}{m} \sum_{i=1}^{m} u_{i} $ | (3) |
$ \sigma_{u}=\sqrt{\frac{1}{m} \sum_{i=1}^{m}\left(u_{i}-\mu_{u}\right)^{2}} $ | (4) |
v、p与u的标准化方法相同。即训练样本集由38个尺寸为128×128×3(周向点数×法向点数×流场变量个数)的数据集组成:
$ \boldsymbol{x}=\{\overline{u}, \overline{v}, \overline{p}\} $ | (5) |
$ \mathit{\boldsymbol{y}}=\{t\} $ | (6) |
回归生成对抗网络的损失函数为:
$ \left\{\begin{array}{l}{L_{D}=D(\boldsymbol{x})-k_{t} D(G( \mathit{\boldsymbol{z}} | \boldsymbol{y}))} \\ {L_{G}({z})=\vartheta D(G( \mathit{\boldsymbol{z}} | \boldsymbol{y}))+(1-\vartheta) L_{R}} \\ {k_{t+1}=k_{t}+\lambda_{k}[\gamma D(\boldsymbol{x})-D(G( \mathit{\boldsymbol{z}} | \boldsymbol{y}))]}\end{array}\right. $ | (7) |
$ \begin{aligned} L_{R} &=\delta_{\mathrm{MSE}}(\boldsymbol{y}, R(G( \mathit{\boldsymbol{z}} | \boldsymbol{y}))) \\ &=\frac{1}{n} \sum\nolimits_{{i=1}}^{{n}}\left|y_{i}-R(G( \mathit{\boldsymbol{z}} | \boldsymbol{y}))_{i}\right| \end{aligned} $ | (8) |
其中:λk为一固定比例,取λk=0.001;初始kt=0,权重ϑ=0.97;γ=0.5为平衡超参数,其值越小表示生成样本的多样性越低;t为训练步数。kt决定D(G(z|y))所占权重,防止D或G相较另一方能力太强,出现过拟合或模型坍塌。
1.5 网络结构参数使用的回归生成对抗网络结构设计参数为:生成器以隐变量(随机噪声z =128×1)与真实标签(y =1×1)叠加作为输入,即输入数据尺寸为129×1。使用的生成器结构为多层反向卷积神经网络,其框架如图 3所示。训练过程中,生成器生成尺寸为128×128×3(周向点数×法向点数×流场变量个数)的生成样本G(z|y)。生成器模型结构参数见表 1。
![]() |
图 3 自动编码器网络结构 Fig.3 Designed autoencoder network architecture |
表 1 生成器/解码器网络结构与参数设置 Table 1 Generator/decoder network used in experiments |
![]() |
判别器结构为自动编码器,分为编码器和解码器两部分,两部分的结构均可视为卷积神经网络,如图 3所示。判别器的输入为生成器预测的流场变量G(z|y)和真实流场变量x,输出为重构的流场变量D(G(z|y))与D(x)。判别器模型结构参数见表 2。
表 2 编码器网络结构与参数设置 Table 2 Encoder network used in experiments |
![]() |
使用的回归器结构为卷积神经网络,如图 4所示。生成器生成的流场变量作为输入,提取与映射输入数据的特征回归标签R(G(z|y))。回归器模型结构参数见表 3。
![]() |
图 4 本文中使用的回归器网络结构 Fig.4 Designed regressor network architecture |
表 3 回归器网络结构与参数设置 Table 3 Regressor network used in experiments |
![]() |
一般卷积神经网络主要由卷积层、激活函数、上采样、降采样、池化层和全连接层等组成。
1) 卷积层。卷积层是卷积神经网络的核心组成部分,每个卷积层由若干个卷积核组成,使用卷积核的目的是提取数据的不同特征。
2) 激活函数。神经网络本质是线性函数的叠加,无法解决非线性问题。激活函数给神经元引入了非线性因素,使得神经网络可以逼近任意非线性函数。本文在自动编码器中的卷积层后都增加了指数线性单元(Exponential Linear Units,ELU)[16]激活函数,在回归器中使用了修正线性单元(Rectified Linear Unit,ReLU)[17]和双切正切函数[18]。
3) 上采样。上采样的目的是放大数据尺寸,一般采用内插方法。插值方法有多种,本文采用最邻近插值——在待求点的四个相邻点中,将距离待求点最近的点上的值直接赋予待求点。
4) 降采样。降采样的目的是缩小数据尺寸,获取不同尺度信息。例如对于尺寸为H×W的数据,对其进行n倍降采样,即得到(H/n)×(W/n)尺寸的数据。本文通过卷积层直接对数据进行降采样。
5) 池化层。池化层与降采样的作用相似,主要用于特征降维,减少运算数据量,在一定程度上防止过拟合。池化分为最大池化和平均池化。本文使用最大池化。
6) 全连接层。全连接层是由许多神经元组成的,起到将学习到的“分布式特征表示”映射到样本标记空间的作用。这样做的目的是高度提纯数据特征,减少特征位置带来的影响。
2 结果讨论生成的训练样本集总数为39个,搭配对应的周期性时间进行训练。优化器选择Adam[19]最速下降法,β1=0.5,β2=0.999,学习率设置为0.0001,每批输入2个样本进行训练,训练步数为180 000步。训练完成后,将隐变量与未参与训练的39个标签(随机选取如t=50/T、t=6/T等时刻)进行叠加,输入回归生成对抗网络、条件生成对抗网络中的生成器进行流场预测,并挑选t=0、t=T/3、t=2T/3、t=T时刻作为算例展示,如图 5~图 8所示。
![]() |
图 5 非定常周期性流动t=0流场变量预测结果对比 Fig.5 Comparison between the predicted and ground truth flow fields at t=0 |
![]() |
图 6 非定常周期性流动t=T/3流场变量预测结果对比 Fig.6 Comparison between the predicted and ground truth flow fields at t=T/3 |
![]() |
图 7 非定常周期性流动t=2T/3流场变量预测结果对比 Fig.7 Comparison between the predicted and ground truth flow fields at t=2T/3 |
![]() |
图 8 非定常周期性流动t=T Fig.8 Comparison between the predicted and ground truth flow fields at t=T during test |
图 5~图 8,将回归生成对抗网络与条件生成对抗网络与真实样本进行比较,可见回归生成对抗网络预测效果较为准确,虽然在一些小尺度结构上仍有差别,但已经能够捕捉三个流场变量u、v、p的绝大部分特征;t=0、t=T/3与t=T时刻比t=2T/3时刻的预测效果更好,t=2T/3时刻可以明显观察到等值线略微抖动,而不是像真实样本中光滑连续。条件生成对抗网络出现模型坍塌现象,不同时刻的流场预测结果几乎完全一致,仅能够捕捉到单一时刻的流场特征。以上两项实验均表明,深度学习具有模拟复杂流动的潜力。
此时N-S方程已经封闭,可通过u、v、p计算涡量。涡量图相较速度云图与压力云图可以更加清晰地反映各个时刻不同的流动状态和旋涡的强度及方向,从涡量图中可以直接观察到涡在一个周期内的变化情况。图 9展示了计算得到的涡量图。与预测流场变量u、v、p类似,回归生成对抗网络成功地捕捉到流场特征,与真实样本吻合良好。由于t=2T/3时刻的预测效果相对较差,造成涡量虽能够反映流动特征,但涡的边界抖动,出现不符合实际的流动现象。
![]() |
图 9 非定常周期性流动涡量图 Fig.9 Predicted vorticity from regression GAN, conditional GAN and true value |
边界层信息对于计算气动力至关重要。本文收集了位于x=0、x=0.18D、x=0.36D处通过真实样本与回归生成对抗网络预测样本计算的边界层速度型(图 10)。将真实样本与回归生成对抗网络预测结果计算的速度型作差,得到相对误差曲线,如图 11。从图 11中可以明显观察到,t=2T/3时刻的相对误差较其余3个时刻的误差更大,与前文的u、v、p预测效果相符。速度型预测的相对误差维持在4%以内,大部分误差不超过0.5%,反映出本文预测方法效果良好,可以正确捕捉边界层特征。
![]() |
图 10 真实样本与回归生成对抗网络预测结果计算速度型 Fig.10 Velocity profile of regression GAN and true value |
![]() |
图 11 真实样本与回归生成对抗网络预测结果速度型的相对误差 Fig.11 Relative error of velocity profile from regression GAN and true value |
本文统计了CFD计算时长、回归生成对抗网络训练与测试时长如表 4(CPU·h表示CPU单核计算1 h,GPU·h表示GPU单核计算1 h)。可以发现,经过GPU加速,训练完成后,只须运行数秒即可生成所求流场变量,相比于CFD数值模拟,其计算时间至少减少一个量级,且可以非常方便地预测任意时刻的流场变量,大大降低了计算时间与成本,缩短计算周期。
表 4 CFD计算时长与回归生成对抗网络训练与预测时长 Table 4 Time comparison between presented model on GPU and CFD calculation |
![]() |
本文基于深度学习对非定常流场进行预测,将条件生成对抗网络与卷积神经网络相结合,改进条件生成对抗网络对生成样本的约束方法,得到回归生成对抗网络。以条件生成对抗网络与回归生成对抗网络作为流场预测框架,将两种方法的效果进行对比,得到以下结论:
1) 深度学习具有预测复杂非线性非定常流动的潜力。本文使用的两种生成对抗网络框架均较为准确捕捉到了流场特征,虽然预测结果与真实结果仍存在细微差距,但已初步反映出深度学习对于复杂非线性问题的强大的预测能力。
2) 提出的改进的回归生成对抗网络相比于常规的条件生成对抗网络,其预测结果更加鲁棒可靠。回归生成对抗网络成功预测出不同时刻的流场变量。而条件生成对抗网络出现模型坍塌问题,所有预测结果高度相似,没能达到最初预期的目标。
3) 通过预测流场结果计算了不同时刻、圆柱不同位置的速度型。经过比较,两者相对误差在5%以内,证明了深度学习具有学习非线性特征的强大潜力。
4) 基于深度学习策略的非定常流场预测方法,其花费在样本训练和预测的总时间相比于CFD数值模拟至少减少一个量级,可以节省CFD计算所需的大量计算时间与成本,构造标签与流场变量之间的映射关系,达到快速输出期望流场变量的目标。
[1] |
赵松原, 黄明恪. 模拟退火算法和POD降阶模态计算在翼型反设计中的应用[J]. 空气动力学学报, 2007, 25(2): 236-240. ZHAO S Y, HUANG M K. Application of simulated annealing method and reduced order models based on POD to airfoil inverse design problems[J]. ACTA Aerodynamica Sinica, 2007, 25(2): 236-240. DOI:10.3969/j.issn.0258-1825.2007.02.018 (in Chinese) |
[2] |
刘浩, 徐敏, 叶茂. 基于特征正交分解的跨声速流场重构和翼型反设计方法研究[J]. 空气动力学学报, 2012, 30(4): 539-545. LIU H, XU M, YE M. Investigations of transonic flow field reconstruction and inverse airfoil design based on proper orthogonal decomposition ROM[J]. Acta Aerodynamica Sinica, 2012, 30(4): 539-545. DOI:10.3969/j.issn.0258-1825.2012.04.019 (in Chinese) |
[3] |
WAIBEL A, HANAZAWA T, HINTON G E, et al. Phoneme recognition using time-delay neural networks[J]. IEEE Transaction on Acoustics Speech and Signal Processing, 1989, 37(3): 328-339. DOI:10.1109/29.21701 |
[4] |
LING J, KURZAWSKI A, TEMPLETON J. Reynolds averaged turbulence modelling using deep neural networks with embedded invariance[J]. Journal of Fluid Mechanics, 2016, 807: 155-166. DOI:10.1017/jfm.2016.615 |
[5] |
LECUN Y, LENET-5, convolutional neural networks[EB/OL]. http://yann.lecuu.com/exdb/lenet/index.html
|
[6] |
MIYANAWALA T P, JAIMAN R K. An efficient deep learning technique for the Navier-Stokes equations: Application to unsteady wake flow dynamics[J]. arXiv preprint arXiv: 1710.09099, 2017.
|
[7] |
LEE S, YOU D. Prediction of laminar vortex shedding over a cylinder using deep learning[J]. Journal of Fluid Mechanics, 2017. |
[8] |
LEE S, YOU D. Data-driven prediction of unsteady flow fields over a circular cylinder using deep learning[J]. Journal of Computational Physics, 2018. |
[9] |
BAZRAFKAN S, CORCORAN P. Versatile auxiliary regressor with generative adversarial network (VAR+ GAN)[J]. arXiv preprint arXiv: 1805.10864, 2018.
|
[10] |
GOODFELLOW I, POUGET-ABADIE J, MIRZA M, et al. Generative adversarial nets[C]//Advances in Neural Information Processing Systems, 2014: 2672-2680. https://arxiv.org/pdf/1406.2661v1.pdf
|
[11] |
VINCENT P, LAROCHELLE H, LAJOIE I, et al. Stacked denoising autoencoders:Learning useful representations in a deep network with a local denoising criterion[J]. Journal of Machine Learning Research, 2010, 11: 3371-3408. |
[12] |
ZHAO J, MATHIEU M, LECUN Y. Energy-based generative adversarial network[C]//ICLR 2017. https://arxiv.org/abs/1609.03126
|
[13] |
COX J S, BRENTNER K S, RUMSEY C L. Computation of vortex shedding and radiated sound for a circular cylinder:Subcritical to transcritical Reynolds numbers[J]. Theoretical and Computational Fluid Dynamics, 1998, 12(4): 233-253. DOI:10.1007/s001620050108 |
[14] |
RUMSEY C L, BIEDRON R T, THOMAS J L. CFL3D: Its history and some recent applications[R]. NASA TM-112861. https://wenku.baidu.com/view/a9f51590daef5ef7ba0d3c0c.html
|
[15] |
BOTTOU L. Large-scale machine learning with stochastic gradient descent[C]//Proceedings of COMPSTAT, 2010: 177-186. https://leon.bottou.org/publications/pdf/compstat-2010.pdf
|
[16] |
CLEVERT D A, UNTERTHINER T, HOCHREITER S. Fast and accurate deep network learning by exponential linear units (elus)[C]//ICLR 2016. http://cn.bing.com/academic/profile?id=36d4578c9486573f8c1258e76415f479&encoded=0&v=paper_preview&mkt=zh-cn
|
[17] |
NAIR V, HINTON G E. Rectified linear units improve restricted Boltzmann machines[C]//Proceedings of the 27th International Conference on Machine Learning (ICML-10). 2010: 807-814. http://cn.bing.com/academic/profile?id=7f99eedf12261db6bd18e10816fd00c6&encoded=0&v=paper_preview&mkt=zh-cn
|
[18] |
FAN E. Extended tanh-function method and its applications tononlinear equations[J]. Physics Letters A, 2000, 277(4-5): 212-218. DOI:10.1016/S0375-9601(00)00725-8 |
[19] |
KINGMA D P, BA J. A method for stochastic optimization[C]//Proceedings of the 3rd Inernational Conference on Learning Representatims. https://arxiv.org/abs/1412.6980
|