首页/文章/ 详情

仿真实验数据堆积不会用?让CFD机器学习实现特征提取、模型训练与智能预测

精品
作者优秀平台推荐
详细信息
文章亮点
作者优秀
优秀教师/意见领袖/博士学历/特邀专家/独家讲师
平台推荐
内容稀缺
2月前浏览859
 
作者 | 力学AI有限元  仿真秀专栏作者
首发 | 仿真秀App
图片
很多人第一次听神经网络,容易卡在一堆名词上:输入层、隐藏层、权重、偏置、激活函数、多层感知机……听起来都懂,真正让自己搭一个模型时,又不知道从哪一步开始
这在我的仿真秀官网的视频课程《OpenFoam和AI机器学习14讲:使用人工智能建立流体力学中的数据驱动模型》中就有详细讲解。这节内容的价值就在这里:它不是把神经网络讲成玄学,也不是一上来就堆公式,而是先用生活化例子解释神经网络的工作逻辑,再逐步过渡到感知机、多层感知机以及深度学习中的距离与相似度概念。
下面这篇推文按“案例建模流程”重新整理:从输入怎么定义、网络结构怎么搭、权重和偏置怎么理解,到 MLP 如何用于流体力学数据预测,尽量让读者看完之后知道这门课到底能学到什么、怎么跟着做。
图1 用“烘焙蛋糕”的生活例子解释神经网络:输入层、隐藏层、输出层和反馈学习过程
01    

这节课到底讲了什么?    

视频内容主要围绕三个层次展开。
  • 第一层是神经网络的直观理解。用厨师烘焙蛋糕的例子说明:五感接收信息类似输入层,大脑综合判断类似隐藏层,最终做出蛋糕类似输出层;如果结果不理想,再调整配方和烤箱参数,这个过程就对应模型训练中的反馈和学习。
  • 第二层是感知机与多层感知机。单层感知机通过输入、权重、偏置和激活函数完成二分类判断;多层感知机则在输入层和输出层之间加入隐藏层,使模型能够学习更复杂的非线性关系。
  • 第三层是深度学习基础概念。视频后半部分引入向量距离与相似度,包括欧氏距离、余弦相似度和曼哈顿距离,用于理解样本之间“像不像”“差多少”,这对分类、聚类、检索和特征分析都很重要。
如果把这节课放到工程仿真的学习体系里,它的意义不是替代有限元,而是帮助学习者理解:当我们有大量仿真或实验数据时,如何把数据变成特征,把特征送入模型,再通过训练得到一个可以预测、分类或辅助判断的机器学习模型。
02    

建模第一步:先把“输入层、隐藏层、输出层”说清楚    

做神经网络建模,第一步不是急着写代码,而是先把问题拆清楚。模型到底接收什么?中间要学习什么?最后输出什么?这三个问题对应的就是输入层、隐藏层和输出层。
以视频里的烘焙例子来看:配料数量、温度、时间、口感反馈等信息,就是输入层;厨师基于经验做出的综合判断,就是隐藏层;最后得到蛋糕是否满意,就是输出层。
迁移到工程数据里也是一样。比如要做一个流体力学预测模型,可以把速度、压力、坐标、雷诺数、边界条件、几何参数等作为输入,把流场类别、阻力系数、升力系数、局部速度或压力预测值作为输出。隐藏层则负责学习这些输入变量与输出目标之间的复杂关系。
图2 猫狗识别示意:输入特征经过隐藏层逐级处理,最终输出分类结果
03    

案例建模流程:从一个最小神经网络开始搭    

如果要让初学者真正上手,建议先不要一开始就搭很深的网络,而是先完成一个“最小闭环”:输入数据 - 线性加权 - 激活函数 - 输出结果 - 根据误差调整参数。
这个最小闭环,其实就是感知机。视频中给出的单层感知机结构非常适合入门:左侧是多个输入变量 x1、x2、x3……xn,每个输入对应一个权重 w1、w2、w3……wn,再加上偏置 b,经过线性加权求和之后,送入激活函数,最后输出分类结果。
实际建模时可以按下面这个顺序做:
  • 确定输入变量:例如流体问题中的速度、压力、密度、黏度、坐标位置、边界条件参数等。
  • 确定输出目标:如果是分类问题,可以输出“层流/湍流”“稳定/不稳定”;如果是回归问题,可以输出阻力系数、升力系数或某个位置的压力值。
  • 建立输入矩阵:每一行是一个样本,每一列是一个特征,保证所有样本的单位和量纲一致。
  • 进行归一化处理:速度、压力、长度尺度如果数量级差别太大,模型训练会很不稳定。
  • 设置权重和偏置:初始值可以随机给定,训练过程会不断更新。
  • 选择激活函数:二分类可先理解为阶跃函数或 sign 函数,后续实际训练常用 Sigmoid、Tanh 或 ReLU。
图3 单层感知机:输入向量经过线性加权求和,再通过激活函数输出分类结果
04    

从感知机升级到 MLP:隐藏层不是摆设,是用来学非线性的    

单层感知机可以理解为一个线性分类器,它能解决简单的二分类问题,但面对真实工程数据时通常不够用。流体力学、结构响应、材料参数识别这类问题,输入和输出之间大多不是简单直线关系。
这时候就需要多层感知机,也就是 MLP。MLP 的核心变化是:在输入层和输出层之间增加一个或多个隐藏层,每一层由多个神经元组成,相邻层之间通常采用全连接。
视频中给出的 MLP 例子中,输入层有 4 个输入,输出层有 3 个输出,中间隐藏层包含 5 个隐藏单元。它的建模逻辑可以拆成三步:
  • 输入层只负责接收数据,不做复杂计算。比如 x1 到 x4 可以对应不同的流体力学特征量。
  • 隐藏层负责提取组合特征。每个隐藏单元都接收上一层全部输入,通过“权重 - 偏置 - 激活函数”得到新的特征表达。
  • 输出层负责给出最终预测。根据任务不同,输出可以是类别概率,也可以是连续物理量。
这里最容易踩的坑是:不要觉得隐藏层越多越好。对于初学案例,先用 1 到 2 个隐藏层跑通流程更稳。模型复杂度应该跟数据量、特征质量和任务难度匹配。数据很少时盲目加深网络,往往不是提升精度,而是把模型训练成“背答案”。
图4 多层感知机结构:输入层、隐藏层、输出层之间形成全连接,用于学习更复杂的非线性关系。
05    

训练过程怎么讲清楚:别只说“模型会自己学习”    

推文里如果只写“神经网络可以自动学习”,读者其实不容易信服。更好的写法是把训练过程讲成几个可操作环节。
  • 前向传播:把输入数据送进网络,逐层计算,得到预测值。
  • 计算误差:预测值和真实标签之间会有差距,分类任务常用交叉熵,回归任务常用均方误差。
  • 反向传播:根据误差反推每个权重和偏置应该怎么调整。
  • 参数更新:通过优化器更新网络参数,常见方法有梯度下降、Adam 等。
  • 重复迭代:多轮训练之后,模型逐渐学到输入和输出之间的关系。
对于工程学习者来说,训练过程最重要的不是记住术语,而是知道每一步对应什么操作:数据送进去,结果算出来,误差算出来,参数改一轮,再继续。这个闭环跑通之后,再去理解更复杂的网络结构就会轻松很多。
06    

深度学习基础:向量距离和相似度为什么要讲?    

视频后半部分讲到欧氏距离、余弦相似度和曼哈顿距离。很多人觉得这部分和神经网络关系不大,其实它是理解特征空间的基础。
模型训练前,我们通常会把一个样本表示成一个向量。例如一个流体样本可以写成:速度、压力、温度、坐标、雷诺数等特征组成的向量。两个样本之间是否相似,就可以通过距离或相似度来衡量。
  • 欧氏距离关注两个点之间的直线距离,适合衡量数值差异。
  • 余弦相似度关注方向是否一致,不太受向量长度影响,常用于高维特征比较。
  • 曼哈顿距离关注各维度绝对差值之和,适合某些网格路径或分量差异累计问题。
在实际建模中,这些概念可以帮助我们判断数据分布、样本差异、特征是否有效,也能帮助解释为什么某些样本容易被模型分错。
图5 深度学习基础:欧氏距离、余弦相似度和曼哈顿距离,用于衡量样本向量之间的差异或相似程度。
07    

如果把这节课变成一个实操案例,可以怎么做?    

为了让课程更像“能跟着做”的实操内容,可以把神经网络讲解落到一个小案例上。比如:基于流体力学数据的状态分类或参数预测。
一个完整案例可以这样设计:
  • 准备数据:整理若干组流体仿真或实验数据,每组数据包含输入特征和对应结果。
  • 定义输入层:例如输入 4 个特征,分别是流速、压力、几何尺寸和雷诺数。
  • 定义输出层:如果做分类,输出层可以对应不同流动状态;如果做回归,输出层可以输出阻力系数或压力响应。
  • 搭建 MLP:先用一层隐藏层,设置 5 到 20 个神经元,跑通训练流程后再调结构。
  • 训练模型:划分训练集和验证集,设置学习率、训练轮数和批量大小。
  • 查看结果:不仅看最终准确率或误差,也要看训练曲线、验证曲线和典型样本预测情况。
  • 调整模型:如果训练集很好、验证集很差,说明可能过拟合;如果两者都很差,可能是特征不足、模型太弱或数据质量有问题。
08    

建模注意事项:这几个坑一定要提前讲    

这类课程最能打动读者的地方,不是说“神经网络很强”,而是把真实建模中容易出错的地方讲出来。
  • 输入特征必须先整理干净。缺失值、异常值、单位混乱、量纲差异过大,都会直接影响训练结果。
  • 数据集划分不能随便。训练集、验证集和测试集要分开,不能把测试数据提前泄漏到训练过程里。
  • 不要盲目堆网络层数。MLP 的隐藏层和神经元数量需要逐步调整,先小模型,再大模型。
  • 激活函数要匹配任务。隐藏层常用 ReLU 或 Tanh;输出层则要根据分类或回归任务选择。
  • 归一化非常关键。工程数据中不同变量的数量级差别很大,不归一化会导致训练慢、震荡甚至不收敛。
  • 结果不能只看一张指标表。需要结合误差曲线、预测散点图、典型样本和物理合理性一起判断。
  • 工程问题要有物理意识。机器学习可以拟合数据,但不能替代基本力学判断。预测结果如果违背基本物理规律,就要回头检查数据、特征和模型设置。
09    

这门课真正能学到什么?    

这节内容适合放在“机器学习与工程仿真结合”的入门位置。它不是直接把人带进复杂代码,而是先让学习者明白神经网络的结构逻辑,再知道如何把一个工程问题拆成输入、隐藏计算和输出。
学完之后,至少能建立三个基本能力:
  • 能看懂神经网络结构图,知道输入层、隐藏层、输出层分别承担什么作用。
  • 能理解感知机的基本计算流程,知道权重、偏置、激活函数和输出结果之间的关系。
  • 能把一个简单工程问题整理成 MLP 建模流程,知道数据准备、结构搭建、训练验证和结果判断应该怎么走。
对于后续学习 PINN、代理模型、流体预测、结构参数识别、材料性能预测等内容来说,这一节相当于打地基。地基清楚了,后面再学复杂网络、调参方法和工程应用,就不会只是照着代码跑,而是知道每一步为什么这么做。
强烈推荐朋友订阅我的课程《OpenFoam和AI机器学习14讲:使用人工智能建立流体力学中的数据驱动模型》
限时特价(限10名)
券后价499元价值:699 
可回放,开发票,奖学金加餐
讲师提供vip交流群/答疑/相关学习资料
【Ai+CAE好课】OpenFoam和AI机器学习14讲:使用人工智能建立流体力学中的数据驱动模型_OpenFOAM_化学-仿真秀视频课程
以下是课程大纲
其中机器学习的过程分为五个阶段:
(1)确定和形成模型的问题,
(2)收集和管理训练数据以训练模型
(3)选择表示模型的架构
(4)设计损失函数以评估模型的性能
(5)选择和实现优化算法以训练模型。
在每个阶段,我们都会讨论如何将先验物理知识嵌入到过程中,并举例说明流体力学领域的具体例子。以下是我课程安排:
第一部分、经典流体力学与OPENFOAM入门
(1)经典流体力学
核心要点:
  • 回顾经典流体力学理论,掌握NS方程的基本求解方法和模型
  • 探索流体力学在工业领域的多元应用
  • 运用开源软件OpenFOAM进行流体计算模拟的基本操作
  • 流体力学求解模型认知(RNAS, LES)
实操环节:
  • OpenFOAM学习:
  • 掌握OpenFOAM后处理操作
  • 通过OpenFOAM获取流动信息
  • OpenFOAM多种功能使用教程:网络生成,模拟设置
  • 基于OpenFOAM的矩形柱体LES模拟案例(提供数据与代码)
  • OpenFOAM模拟信息的后处理获取流场与压力信息(提供数据与代码)
第二部分:计算流体动力学与人工智能
(1)机器学习基础与应用
核心要点
  • 了解Python语言的特征,熟悉常见的机器学习算法
  • 掌握使用python语言用于数据后处理
  • 了解计算流体动力学与AI的结合
实操环节
  • 基于Python语言的CFD数据后处理
  • 计算流体动力学与AI的结合案例讲解
如果你正在学有限元、流体力学仿真,或者想把机器学习方法引入工程问题,这节“神经网络讲解与多层感知机介绍”很适合作为第一步。
它不会一上来就把你扔进复杂代码里,而是从生活化例子开始,把输入层、隐藏层、输出层、感知机、MLP 和相似度这些基础概念讲顺,再进一步引导你思考:工程数据该怎么组织,模型结构该怎么搭,训练结果该怎么判断。
真正有价值的课程,不是让你听完觉得“神经网络很厉害”,而是让你知道:我手里有一组数据时,下一步该怎么建模、怎么训练、怎么检查结果。
(完)
声明:本文首发仿真秀App,部分图片和内容转自网络,如有不当请联系我们,欢迎分享,禁止私自转载,转载请联系我们。欢迎投稿,投稿与技术交流请联系杨老师18610516616(微同)
图片
喜欢作者,请点赞在看

来源:仿真秀App
OpenFOAM非线性湍流船舶python理论材料人工智能SmartUQ
著作权归作者所有,欢迎分享,未经许可,不得转载
首次发布时间:2026-06-22
最近编辑:2月前
仿真圈
技术圈粉 知识付费 学习强国
获赞 12081粉丝 23462文章 4579课程 276
点赞
收藏
作者推荐
未登录
还没有评论
课程
培训
服务
行家
VIP会员 学习计划 福利任务
下载APP
联系我们
帮助与反馈