卷积神经网络在流场结构检测中的应用研究

2023-11-06 09:03秦绪国刘文伶
导弹与航天运载技术 2023年4期
关键词:流场神经元卷积

苏 伟,秦绪国,王 薇,李 强,刘文伶

(1.北京航天长征飞行器研究所,北京,100076;2.火箭军装备部驻北京地区第一军代表室,北京,100076)

0 引 言

飞行器气动设计的一个重要环节是对飞行器在不同飞行条件下的流场进行预示,并对流场进行快速分析。流场分析首先需要准确检测出流场中存在的典型流场结构,这些流场结构会对气动特性产生较大的影响,例如气流分离、激波边界层干扰等流场结构,会导致飞行器阻力增加、力矩非线性增强或者局部加热严重等问题,因此,在气动布局设计和气动外形优化时,应通过外形参数调整尽量避免出现这些流动特征,以提升飞行器的性能指标。此外,在边界转捩、气动光学、气动噪声等气动问题的研究中,需要对局部流场结构进行分析,总结流动参数不均匀分布、非定常脉动等规律,为环境评估提供依据。

当前CFD计算数据的流场结构分析工作主要依靠设计人员手动完成,需要借助流场后处理软件对计算流场进行处理并获得流场图像,然后人为判断流场结构的位置和大小。因此在对大量的数据进行分析时,该方法存在效率低的问题,因此,需要发展自动化的流场结构检测方法。

通常的流场结构检测依据的是基于物理规律形成的判别准则。流场由大量定义于空间流场离散点上的流场参数组成,空间中不同位置的不同流场参数相互之间存在非线性依赖关系,即流场结构同时具有局部性和全局性特征。对于如涡、激波边界层干扰这类复杂结构,具有高维度高度非线性的特点,建立准确有效的判别准则非常困难。人工智能是研究、开发用于模拟、延伸和扩展人的智能的理论、方法、技术及应用系统的一门新的技术科学,不仅在图像处理等领域得到了广泛的应用[1-2],并且在流体力学中也得到越来越多的研究[3-6]。由于人工智能技术在处理高维度非线性复杂问题上的能力和效率具有巨大的优势,通过人工智能方法对复杂流场结构特征进行学习,并应用于流场结构的自动检测,是流场分析效率提升的途径之一。

针对飞行器气动设计中现有的流场结构分析手段效率低的问题,本文提出了一种基于卷积神经网络的流场结构自动检测的方法,并进一步尝试利用金字塔结构方法对待检测流场进行预处理,以期训练后的模型可以用于大范围流场结构的快速准确检测。

1 卷积神经网络

卷积神经网络(Convolutional Neural Networks,CNN)是由多个卷积层和池化层构成的特征抽取器[7],结构见图1。在卷积神经网络的卷积层中,一个神经元只与部分邻层神经元连接。在CNN 的一个卷积层中,通常包含若干个特征平面(Feature Map),每个特征平面由一些按照矩形规则排列的神经元组成,同一特征平面的神经元共享权值,这里共享的权值就是卷积核(Kernel)[8]。卷积核一般以随机小数矩阵的形式初始化,在网络的训练过程中卷积核将学习得到合理的权值。共享权值(卷积核)带来的直接好处是减少网络各层之间的连接,同时又降低了过拟合的风险。池化(Pooling)也叫作下采样,通常有均值子采样(Mean Pooling)和最大值子采样(Max Pooling)两种形式。子采样可以看作一种特殊的卷积过程。卷积和池化大大简化了模型复杂度,减少了模型的参数。

图1 卷积神经网络结构示意Fig.1 The schematic of convolutional neural networks

典型的神经元结构如图2所示。

图2 典型的神经元结构[9]Fig.2 The structure of a typical neuron

神经元的输入和输出之间的关系可以表示为

式中xj(j= 1,2,…,n)为神经元的输入;λji为神经元j到神经元i的权值;θi为偏置值;f(⋅)为激励函数或传递函数,通常为阈值函数、Sigmoid 函数、tanh 双曲正切函数。

2 流场结构检测算法

本文采用卷积神经网络自主学习不同流场结构特征,创新性地使用金字塔结构方法对大范围流场进行预处理,解决训练与预测的流动特征不匹配问题,从而更加准确地从大范围的流场数据中快速自动检测出包含典型流场结构的区域并确定其类别。该方法用机器学习取代了以往人工提取流场特征的过程,使流场结构检测的难度大大降低,其实现途径与图像检测方法类似,步骤如图3所示。

图3 流场结构检测算法流程示意Fig.3 Flow chart of flow field structure detection algorithm

a)根据需要选择并构建卷积神经网络。根据计算需求从常用的网络模型中选择合适的网络结构,常用 的 网 络 模 型 有LeNet 模 型[9]、AlexNet 模 型[10]、ResNet 模型[11]等。网络的输入通道个数需要与流场参数的个数保持一致。

b)流场数据集的构建。根据需要检测的流场结构类型进行构建。采用计算仿真获得足够数量的流场数据并从中采样。样本包含两类:一类是正样本,即包含了该类型流场结构的数据;另一类是负样本,即不包含该类型流场结构的数据。

c)为了能够在不增加样本数量的前提下尽量提高网络的泛化能力,采用交叉验证(Cross-validation)技术[12],将样本集分为训练集和验证集两个集合。训练集用来训练网络参数,在验证集上计算模型的预测误差用于模型验证。常用的交叉验证方式是k-fold交叉验证方法,该方法是将样本集分为k个大小相等但不相交的集合S,每次从S中选取不同的集合作为验证集,剩余的k-1个集合作为训练集,这样一共进行k次,然后将得到的k个预测误差取平均值即为神经网络的无偏预测误差估计。

d)训练卷积神经网络。基于已有的训练样本,首先对网络结构进行微调,然后采用监督学习策略开展卷积神经网络的训练,优化确定权值,基于验证集对检测正确率进行判断,如不能满足要求,则重新进行新一轮训练,直至验证集上的正确率满足要求。

e)流场结构检测。利用训练好的神经网络,遍历需要检测的流场测试数据,开展不同区域的流场结构检测任务。在检测过程中,存在需要检测的流场结构尺度可能与样本存在较大差异的问题,表现为训练好的神经网络对流场数据的分辨率与待检测流场的分辨率不匹配。针对该问题,采用金字塔方法对待检测流场数据进行预处理。金字塔数据结构分为两种:高斯金字塔和拉普拉斯金字塔[13]。其中高斯金字塔结构相对简单,底层为原始流场,通过高斯滤波和1/2采样依次向上得到不同层级数据。在进行流场数据处理后,以训练好的神经网络输入作为检测窗口,对不同金字塔结构中不同层级的数据进行扫描,标记每层数据上的潜在区域,保存区域左上角的坐标和尺寸。所有金字塔中的数据处理完成后,将保存的所有区域反向映射到最底层的原始流场数据中,最后将所有重叠的潜在区域进行融合,得到最终检测结果。

3 流场涡结构检测

漩涡是流场中最主要的结构形式之一,特别是分离涡,对飞行器局部流场和气动特性产生非常大的影响,也是气动设计关注的重点。以二维流场中的涡结构检测为例,对上文提出的基于卷积神经网络的流场结构检测方法进行验证。

3.1 流场数据集生成

为了提升模型在结构实际检测中的准确性,构建的训练数据集应该保证结构特征的多样性和代表性。在二维流动的情况下,点涡模型用一个点来表示涡旋,计算中可对涡旋强度等自由控制,描述了涡旋的大部分行为规律。故二维涡结构的训练样本采用点涡模型计算生成,计算公式如下:

式中vφ为诱导速度;Γ为涡强;r为当前位置到涡核的距离。

通过随机选取不同来流速度方向、点涡位置和涡强,共生成样本(正样本)1 500个,每个样本的网格数量均为32×32,包含流场参数为u、v,如图4 所示,同时生成不包含点涡的流场样本(负样本)500个。

图4 样本数据示意Fig.4 Ⅰllustration of the sample set

3.2 卷积神经网络构建和训练

基于TensorFlow 平台搭建所需的卷积神经网络。网络结构采用了经典的LeNet[7]网络,其包含:卷积层3 个,池化层2 个,全连接层2 个。为适应样本网格数量,将输入层的大小调整为32×32,通道数为2。

采用k-fold交叉验证方法对网络进行训练,k取为10,即选取样本数据集中的1 800 个样本为训练集,剩余200个样本为验证集。经过训练,网络在验证集上的检测准确率达到99.6%。

3.3 涡结构检测结果及分析

在模型离线训练完成后,针对大量的实时二维大范围流场,即可实现实时的涡结构在线检测,快速准确标定出涡结构的位置及大小。该流场从绕平板流动尾流场中截取部分区域得到,如图5所示。

图5 计算模型Fig.5 The computional model

平板绕流的来流马赫数为0.1,攻角为0°,采用数值求解N-S 方程方法得到。在N-S 方程求解过程中,采用LU-SGS 时间推进,空间离散格式采用Roe格式,湍流模型采用S-A模型,采用多重网格加速收敛。网格数量为193×513。

计算得到的某时刻的待检测流场如图6 所示。从图6 中可见,涡结构主要集中在流场左右两侧区域。

图6 待检测区域流场Fig.6 Flow field region to be detected

建立3 层金字塔数据结构,以网格大小32×32 为检测窗口依次对不同层级的待检测区域进行检测。检测方法为沿流向和法向两个方向依次滑动扫描,检测结果如图6中方框所示。结果基本涵盖了涡结构的大部分区域,完成了模型对涡结构位置和大小进行准确检测的预期目标,表明该方法是有效的。

4 结束语

本文针对CFD计算数据流场结构自动检测问题进行了研究,利用神经网络髙维度非线性数据分析能力,提出了一种基于卷积神经网络的流场结构检测方法。

该方法采用深度学习和交叉验证方法对网络进行了训练和验证,提高了有限样本条件下的检测正确率。

采用金字塔结构方法对待检测流场进行处理,解决了神经网络输入流场和待检测流场尺度不匹配的问题。在此基础上进行窗口式扫描,可检测流场中设计人员关心的流场结构。

为验证方法的有效性,采用该方法对二维流场中的涡结构进行了检测,取得了较高的正确率,表明该方法是有效的。

该方法可以进一步拓展应用到三维分离涡、激波边界层干扰等复杂流场结构的检测和识别中。

猜你喜欢
流场神经元卷积
《从光子到神经元》书评
基于3D-Winograd的快速卷积算法设计及FPGA实现
大型空冷汽轮发电机转子三维流场计算
从滤波器理解卷积
转杯纺排杂区流场与排杂性能
跃动的神经元——波兰Brain Embassy联合办公
基于傅里叶域卷积表示的目标跟踪算法
基于HYCOM的斯里兰卡南部海域温、盐、流场统计分析
基于瞬态流场计算的滑动轴承静平衡位置求解
基于二次型单神经元PID的MPPT控制