罗 良,邓 梨,钱 坤,金佳鸿
(湖南理工学院 物理与电子科学学院,湖南 岳阳 414006)
机器学习是人工智能的一个重要分支,它的目标是通过预处理数据、构建模型、评估优化等步骤,让计算机从数据中学习出有效信息并做出预测或决策.机器学习技术在流体动力学中的应用涵盖了许多方面,如在流场预测中,通过对历史流场数据进行学习,机器学习算法可以预测未来的流场状态,该技术被应用于气象预报、航空航天等领域[1,2];在流场控制中,机器学习可用于设计流场控制策略,通过学习控制器的输入输出关系,优化控制器参数,达到更好的控制效果[3,4];在流动特征提取中,机器学习可自动从流场数据中提取有用的特征,例如涡旋、湍流等,并将这些特征用于流场分析、流动控制等[5,6].传统的流体力学实验通常需要昂贵的设备和大量的时间、物力和人力资源,成本高昂.采用机器学习方法预测流场已成为当前机器学习在流体动力学领域的重要研究方向之一.基于几何结构直接预测流场的想法很有吸引力,但其准确度或应用范围存在局限性,这是因为几何结构不能完全反映流体流动的复杂行为[7,8].基于流场前期数据预测流场的准确度已有所提高[9],但由于需要大量的前期数据和计算资源,成本也相应地提升不少.本文提出一种流场预测方法,即采用有限随机行走获得数据矩阵作为输入来预测流场.相较于几何结构,随机行走数据矩阵能够更多地反映流体的流动行为,同时不需要前期流场数据,以较小的计算成本即可获得较高流场预测准确度.该方法将为机器学习在流体动力学中的应用提供更加高效、低成本的解决方案.
研究对象为表示成100×100矩阵的二维多孔介质,其内部有十个矩形障碍物,障碍物的大小和位置均在一定范围内随机取值(图1).分别采用有限随机行走算法和格子玻尔兹曼方法(LBM)[10]获得训练集的输入部分和输出部分.根据有限随机行走算法[11],粒子从介质上方孔隙(图1 中白色部分,用1 表示)开始出发,向下方边缘移动.如果粒子前进方向不是孔隙,而是障碍物(图1 中橙色部分,用0 表示),则随机选择某个水平方向作为下一步,然后再试图往下方边缘移动,如此反复,不走回头路,直到粒子移动到下方边缘.粒子的路径被记录为流线.在不存在障碍物的情况下,所有流线均为直线,所有位置均只被一条流线经过;在有障碍物情况下,部分地方没有流线经过,部分地方有多条流线经过.如图2 所示,深色区域即代表有多条流线经过,颜色越深,表示经过的流线越多.
图1 二维多孔介质(深色为障碍物)
图2 有限随机行走矩阵数据(输入)
格子玻尔兹曼算法(LBM)是一种介观尺度计算流体动力学方法,通过求解玻尔兹曼方程来模拟流体的流动过程.LBM 算法广泛应用于各种工程和科学领域,其具有易于并行计算和处理复杂几何边界的优势.针对图1 所示二维多孔介质,采用D2Q9 模型以及压力进出口边界条件和反弹边界条件,计算出流场.计算结果如图3 所示,颜色越深代表流动速率越大.
图3 LBM 计算所得流场(输出)
一共产生了5000 组二维多孔介质的有限随机行走数据以及对应流场分布作为训练集,另外产生100组数据作为验证集.
为减少计算量,加快计算速度,将100×100的流场数据预处理为20×20 的流场矩阵(图4),单个二维多孔介质的有限随机行走矩阵数据分别对应20×20 流场矩阵中的400 个数据点.使用大小为5000 的训练集,在训练过程中经过多种方法对比,最终选定随机森林方法开展训练,训练结束后获得400 个预测函数,每个函数分别用于预测20×20 流场矩阵中的一个速率值.
图4 预处理后的流场
根据训练获得的400 个预测函数,采用含100 组数据的验证集开展验证.图5 展示了随机挑选的第70 组(上)和第80 组(下)数据中预测流场与LBM 算法计算所得流场的对比图.图中左侧为预测流场,右侧为LBM 算法流场.从图中可以看出预测结果与LBM 算法计算结果高度吻合.为进一步证明使用有限随机行走算法获得的矩阵可以用于准确预测流场,从而替代复杂的流体动力学计算,需要分析全部100 组数据的验证集验证结果.在分析预测值与结果之间的相对误差时,因为障碍物所在处的速率值为0,导致不便分析每个点的速率相对误差,因此定义了全局相对误差式:
图5 预测结果(左)与实际结果(右)对比
其中Pij为预测结果中第i行第j列速率值,Tij为验证集结果中第i行第j列速率值,Tij均为非负数.该全局相对误差反映了预测结果与正确值的整体偏离情况.
图6 展示了包含100 组数据的验证集验证结果.从图6 中可以发现,100 个验证集相对误差均小于10%,其中74%的验证集数据相对误差小于4%,99%的验证集数据相对误差小于7.5%.验证结果充分证明了训练所得预测函数的预测准确性,也证明了利用有限随机行走算法获得数据矩阵来预测流场数据的可行性.
图6 验证集预测结果相对误差
此项研究中所有训练集和验证集的运算均在个人电脑(主要配置: AMD 5900X 处理器、64G 内存、英伟达P6000 显卡)上完成;使用5000 个数据集训练400 个预测函数总时长约为800 min;采用400 个预测函数预测20×20 流场所需时间约为4.8 s;采用有限随机行走算法产生100×100数据矩阵的时间不到1 s.综上所述,本研究所提出的方法具有高效性和高准确性,为机器学习在多孔介质流场预测中的应用提供了新思路.
基于机器学习结合有限随机行走算法预测二维多孔介质流场是一个结合人工智能和多孔介质流动的交叉学科研究领域,其基本思想是根据高效的有限随机行走算法获得多孔介质流场基础数据,然后通过训练好的预测函数预测真实流场.训练数据集中的输入和输出分别由有限随机行走算法和LBM 算法获得,并利用GPU 开展训练.本方法具有成本低、效率高的特点,有效解决了直接通过几何结构预测流场不够准确以及通过前期流场数据预测后期流场算力和时间成本均偏高的问题,为机器学习在流体动力学流场预测方面的应用提供了新思路和新方法.后续研究将围绕进一步提高预测准确性和预测速度开展.