电子书

第 3 章

将人工智能用于复杂系统的降阶建模


如今的系统日趋复杂。自主系统让车辆能够在不可预测的环境中自主行驶。风力发电机可通过数字孪生进行自我监控来满足维护需求。个人智能设备可以衡量睡眠活动,给照片加标签,甚至制定锻炼计划。医疗设备可以监测患者身体状况,诊断疾病,并预测个性化结果。

在这些应用中,基于人工智能的算法通常是一个大型复杂系统的一部分。

有时,人工智能模型将部署为该系统的一部分,但是也可以用于降阶建模 (ROM)。ROM 有助于降低系统虚拟模型的复杂度或存储要求,同时将预期保真度保持在可控误差范围内。

工程师通常依据第一性原理开始对系统组件进行建模。第一性原理模型的真正价值在于,其结果通常具有明确、可解释的物理意义。此外,行为通常可以参数化。

然而,在许多情况下,高保真模型的计算量太大,无法将其用于系统级设计,特别是使用需要模型实时运行的 HIL 或 PIL 测试时更是如此。获得高保真模型可能还非常耗时。

在这些情况下,不妨考虑创建一个基于人工智能的降阶模型。

汽车的高保真模型是仿真的一部分,该仿真包括控制器、环境和驱动模块,它们组成了一个缓慢运行的复杂仿真。图中还显示了一个基于人工智能的降阶模型,用于替代汽车。

创建一个 ROM,方法是用基于人工智能的快速算法替代汽车发动机的第一性原理模型。ROM 仿真将以更快的速度运行,同时仍然可为控制算法的系统级测试提供可接受的准确度。

节

开发基于人工智能的降阶模型

创建 ROM 的方法有很多,包括人工智能:

  • 基于物理的降阶模型
  • 基于模型的方法
  • 在某些工况点处线性化的非线性 Simulink 模型
  • 数据驱动的方法,包括:
    • 静态方法,例如曲线拟合和查找表
    • 动态方法,例如基于人工智能的模型

ROM 是一款有价值的工具。它具有以下用途:

  • 加速受第三方高保真模型影响的 Simulink 桌面仿真。
  • 通过降低高保真模型的复杂度实现硬件在环 (HIL) 测试。
  • 使用 Simulink 将其他工具中的二维和三维模型引入系统级仿真模型中。
  • 开发基于人工智能的虚拟传感器模型,以用于控制软件、故障检测或预测性维护。
  • 执行控制设计。
  • 加速有限元分析 (FEA) 或计算流体力学 (CFD) 软件计算或优化。

基于人工智能的 ROM 有诸多设计考量。创建准确的人工智能模型需要大量高质量的数据。人工智能模型即使准确,也往往被比作“黑盒”,或在某些情况下被比作“灰盒”。换而言之,模型的输出可能不一定可解释或可参数化。人工智能模型也无法让工程师将机器的物理信息轻松整合到模型中。

模型可以具有各种不同程度的可解释性,从对输出完全无迹可循的所谓黑盒模型,到有一定踪迹的灰盒模型,再到完全透明的第一性原理模型。

模型可以具有各种不同程度的可解释性,从对输出完全无迹可循的所谓黑盒模型,到有一定踪迹的灰盒模型,再到完全透明的第一性原理模型。

节

用基于人工智能的 ROM 替代第三方第一性原理发动机模型

假设您是新车设计团队的一员。您需要根据多项输入和条件来仿真车辆的速度。您想要创建一个模型,其中包括表示驾驶员、路况、控制器和汽车发动机的组件。

一位同事提供了一个使用第三方工具建模的车辆发动机子系统。由此产生的仿真将以高保真度契合真实系统。但其运行速度比预期的要慢。

高保真模型包括驾驶员、环境和控制器,以及具有复杂发动机模型的汽车。

如果发动机模型是基于第一性原理的复杂模型,那么车辆速度的仿真将缓慢运行。

为了在开发和完善其他系统组件的同时加快仿真速度,您可以用替代模型或降阶模型替换高成本的第三方发动机模型。该模型可以使用各种方法来开发,包括基于物理的方法(例如使用 Simulink 和 Simscape)或基于人工智能的方法。对于人工智能模型,输入将包括发动机转速、点火正时、节气门位置和废气旁通阀值,而输出将表示发动机扭矩。

您可以使用变体在通过不同方法构建的组件之间轻松切换。使用变体,您可以比较设计选项,以在准确度与性能之间取得平衡,而不必注释掉模型的某些部分。这有助于您了解差异,并获得参考信息,以便于在选择组件时做出明智的决策。

节

生成数据并训练人工智能模型

要创建人工智能模型,您需要使用一个数据集来训练它,该数据集可以改变相关输入并生成所需的输出。您可以使用公共数据集,也可以使用来自您自己的物理系统环境的试验数据。

此外,您还可以使用高保真仿真来生成数据。为此,请先通过选择模型参数并改变其范围来设计一组试验。例如,速度、点火正时和节气门位置将拥有各自不同的范围。使用试验设计 (DoE) 创建一个列出可能的参数组合的表,然后运行仿真并收集数据。

系统仿真中的复杂发动机模型替代为人工智能模型。人工智能模型采用相同的发动机转速、点火正时、节气门位置和废气旁通阀输入,并生成相同的发动机扭矩输出。

使用人工智能模型替代高保真模型。

您可以使用各种方法来创建人工智能模型。例如,您可以在 MATLAB 中应用机器学习或深度学习方法,如 LSTM(长短期记忆网络,能够在序列预测问题中学习顺序依赖关系的循环神经网络)、神经 ODE(由常微分方程的解定义的深度学习操作)或非线性 ARX 模型(使用小波和 S 型网络等灵活的非线性函数对复杂的非线性行为建模)。

此外,还可以与用于训练人工智能模型的其他开源框架进行互操作。

节

部署人工智能 ROM 进行系统级测试

在创建了基于人工智能的 ROM 后,便可部署它以进行系统级测试。

如果您的目标是测试系统中其他组件的设计和性能,则您可能需要在目标硬件上运行正在设计的组件,并在桌面端运行人工智能模型。潜在的硬件在环 (HIL) 设置包括:

  • 将组件部署到目标硬件平台
  • 在实时计算机系统上运行人工智能模型
  • 将系统关联到一起,运行仿真,监控信号,并调整参数

在开发完成后,人工智能模型将以模块化呈现,且可重复使用。此外,无论您的同事是在本地还是其他地方,都可以在他们的仿真和组件测试中使用您的人工智能模型,这可能会加速系统的并行设计和开发。

嵌入式系统部署到目标硬件。基于人工智能的 R O M 部署到实时计算机。系统在 Simulink 中互操作,以进行系统级测试。

使用正在测试且在目标硬件上运行的控制器,以及支持被控对象模型(在本例中为汽车)且在计算机上运行的基于人工智能的 ROM,执行系统级测试和仿真。

节

选择人工智能方法

如果时间允许的话,您可以使用不同方法创建多个人工智能模型,并使用 Simulink 来完善这些模型。例如,您可以使用 Simulink 探查器查看每个模型在台式计算机上的运行速度。您还可以将高保真模型的输出与人工智能模型进行比较,以衡量准确度。

为了确定最适合您的应用的模型,您需要部署这些模型并收集所有指标。

选择模型时,可能不只要考虑准确度,还需要考虑训练速度、可解释性、推断速度或模型大小。不同的方法会带来不同的结果。也就是说,每个特定的 ROM 将各有利弊。

图中比较了 L S T M、神经 O D E 以及两个非线性 A R X 模型的性能。与其他模型相比,非线性 A R X 模型具有出色的推断速度、模型大小和准确度,以及良好的可解释性,但其训练速度较慢。

不同的车辆发动机 ROM 人工智能模型具有不同的性能分析。

知识测试