Simulation+AI ?
企业的仿真工程师大部分时间都是在面对相似的模型。例如空调管路CFD,汽车保险杠CAE的仿真工作,通过DOE设计迭代,不断的优化尺寸参数,产品外形,从而使得管路流动阻力减小,风速均匀性提高,或者结构的轻量化、安全性和耐久性的提高。
通常项目完成后,计算服务器上的大量结果文件会被删除,即使做了备份,也很少有机会被再次利用。而每次来了一个新项目,仿真工程师从几何清理,网格划分,求解分析这个流程又会做一遍。
有没有可能,当设计部门给出一个新的设计,仿真工程师立刻预测结果?
physicsAI利用仿真的历史数据作为机器学习的训练样本,每当输入新的CAD数据或面网格,快速预测出压力、温度、应力、变形等场值结果。
physicsAI 的价值
基于几何深度学习,无需手工参数化。(许多CAE模型参数化很困难,而且手工制作的参数集可能不是最佳的)。
无需用户编程或编辑脚本。
可以在面网格或 CAD 上直接预测,省略了复杂的建模流程。
比仿真求解器快得多的预测速度,并支持设计探索。
可以基于任意物理场的仿真预测(结构、流体、电磁等)。
physicsAI 的使用
安装HyperWorks Desktop v2023 版本。
支持Nvidia GPU训练,至少8G以上的显存。
训练时间和样本的数量以及每个样本的网格数量有关,小模型训练半小时,大的模型可能超过一天。
支持本地或远程HPC训练样本。
训练样本需要.h3d .fem .rad仿真结果格式, 预测可以用 parasolid 或面网格。
接下来通过一个空调管路的模型演示如何使用physicsAI,基本操作共分为 4 步:
创建数据集
模型训练
模型测试
模型预测
最后,求解器验证步骤是可选的。
演示模型采用 Inspire 造型,HyperStudy 驱动5个CAD参数创建DOE设计空间,流体求解器 AcuSolve 计算流场,产生7个训练样本,2个测试样本,并用2个新设计模型用于预测。
Inspire 设计参数
physicsAI 运行在笔记本电脑(Intel CPU i7-10850H, 32GB RAM),对流场的预测速度比CFD求解器快了7~8倍:
Epochs=300,训练时间18 min, 15 sec
Epochs=100,训练时间6 min, 18 sec
在进行预测时,physicsAI将以置信度分数(confidence score)的形式量化输入设计与训练数据的相似程度,并显示在窗口右上角。
置信度得分为1.0表示输入设计与其中一个训练点相同。这是可能的最大值。
置信分数为0.0表示输入设计与最近的训练点的差异与两个最远的训练点的差异相同。
负置信度分数表示输入设计与训练数据非常不同。除非用类似的设计训练新模型,否则预测的质量可能很低。
确定性 Determinism:近确定性可以通过在规范文件中设置随机种子来实现。然而即使在这样做之后,通常也会观察到使用相同设置和数据训练的两个模型之间的细微差异,这是正常现象。
更多的样本数量且样本包含更多的设计概念,可以提高预测的泛化能力。
为了保证在实际场景中的效果,对演示模型进行扩展训练,共280个样本点(7种管路类型,每种管路40个尺寸组合),在GPU服务器上训练3小时。
训练集: 280个样本
(7 concepts x 40 variations)
测试集:56 个样本
(7 concepts x 8 variations)
AcuSolve(上)和 physicsAI 预测(下)的压力场对比
训练集: 280个样本
(7 concepts x 40 variations)
测试集:56 个样本
(7 concepts x 8 variations)
AcuSolve(上)和 physicsAI 预测(下)的速度场对比
常见仿真模型的训练时间
▼显式动力学:小球撞击
样本数量: 20
网格数量: 3k nodes
笔记本训练时间: 2 min
▼流体力学:空调管路
样本数量: 7
网格数量: 19k nodes
笔记本训练时间: 10min
▼固体力学:支架静力
样本数量: 38
网格数量: 6k nodes
笔记本训练时间: 21 min
physicsAI 的一些基本概念
欧几里得数据包括图像、文本、音频等:
欧几里得数据
非欧几里得数据可以比一维或二维表达更复杂的结构,比如分子结构,神经网络,费曼图,宇宙图等等:
非欧几里得数据
physicsAI 的训练参数
Epochs:模型训练的迭代次数
Early Stopping / Patience:如果模型在迭代后没有改进,提前停止训练
Learning Rate:训练中每次迭代的步长(越大越快,但可能无法收敛)
Width:控制可学习模式的复杂性
Depth:控制可学习的模式的复杂性以及信息在本地传播的距离。(对训练时间影响较大)
设置合理的 Learning rate
较大的Learning rate会迅速向最佳方向发展,但如果太大,则会在收敛之前卡住
小Learning rate更有可能收敛,但可能需要很长时间才能达到收敛。
一个好的Learning rate应该足够大,可以快速收敛,但又不能太大,以至于优化在收敛之前就卡住了。日志中的Noisy Loss表明Learning rate可能过大。从默认值 1e-3开始,如果Noisy尝试1e-4
不同的 Learning rate 对比:
宽度和深度Width and Depth:
宽度控制 physicsAI 可以看到的细节。深度控制 physicsAI 一次可以看到多少。
模型的训练时间基本符合如下公式:
过拟合(Overfitting)和欠拟合(Underfitting)
过拟合指的是模型在训练集上表现非常好,但在测试集或未知数据上表现较差的现象。过拟合的主要原因是模型过于复杂,过多地学习了训练集中的噪声和细节,导致对未知数据的泛化能力较差。过拟合的特点是模型对训练集中的每一个样本都能够很好地拟合,但在新的数据上表现不佳。
欠拟合指的是模型在训练集和测试集上都表现较差的现象。欠拟合的主要原因是模型过于简单,无法很好地拟合数据的复杂性和特征。欠拟合的特点是模型无法很好地拟合训练集中的样本,导致模型在训练集和测试集上的表现都不佳。