数据驱动建模实战:从FFNN、LSTM到SINDy的涡轴发动机扭矩预测
1. 项目概述与核心价值在直升机涡轴发动机的研发与运维中构建一个高精度、实时性强的发动机模型一直是工程师们面临的巨大挑战。传统的物理模型或基于传递函数的线性化模型虽然在设计阶段功不可没但一旦面对复杂多变的真实飞行环境——从悬停到高速前飞从爬升到紧急机动——其局限性便暴露无遗。这些模型要么计算量巨大难以用于实时控制要么需要海量的、昂贵的特定飞行测试数据来标定且一旦发动机性能因老化或环境变化而发生漂移模型就可能失效需要重新进行数据采集和调参成本高昂。近年来随着传感器技术的普及和计算能力的飞跃我们得以获取并处理发动机在完整飞行包线内产生的高维、时序性运行数据。这催生了一个新的思路数据驱动建模。简单来说就是不再完全依赖第一性原理去推导复杂的微分方程而是让机器学习算法从历史数据中“学习”发动机的行为规律建立一个从输入如操纵指令、环境参数到输出如发动机扭矩的“黑箱”或“灰箱”映射模型。这种方法的核心魅力在于它能捕捉那些难以用简洁物理公式描述的复杂非线性动态和耦合关系。我最近深度参与了一个项目正是基于这个思路利用莱昂纳多公司AW189直升机原型机的大量真实飞行测试数据系统性地探索了多种数据驱动方法在涡轴发动机扭矩TRQ预测上的应用。我们不仅对比了经典的前馈神经网络FFNN和擅长处理时序的长短期记忆网络LSTM还尝试了颇具潜力的稀疏辨识非线性动力学SINDy方法旨在从数据中直接“发现”可解释的物理方程。本文将详细拆解我们的技术路线、实操细节、踩过的坑以及最终的发现希望能为同行在类似复杂动力系统的数据驱动建模上提供一份扎实的参考。2. 核心思路与技术选型解析面对“基于飞行数据预测发动机扭矩”这个具体问题我们首先要明确技术路径。我们的目标不是构建一个包罗万象的数字孪生而是一个服务于控制、诊断或仿真的动态性能预测模型。这意味着模型必须能准确反映扭矩随时间变化的动态过程而不仅仅是静态映射。2.1 问题定义从MISO到SISO根据对发动机工作原理和飞行员操纵逻辑的分析我们将问题定义为两类多输入单输出模型这是最符合工程直觉的建模方式。飞行员通过总距杆COL等操纵装置间接控制燃油流量WF进而影响发动机扭矩TRQ。同时主旋翼转速NR由调速器保持相对稳定进气温度T1、压力P0、空速等环境参数也深刻影响着发动机的工作状态。因此一个理想的模型应该以这些可观测或可控制的参数作为输入预测扭矩输出。我们称之为MISO模型。这对应着工程上“给我操纵量和环境状态我告诉你发动机会输出多大扭矩”的需求。单输入单输出模型为了探索数据驱动方法挖掘物理本质的能力我们也聚焦于一个更本质、更核心的关系燃油流量WF到发动机扭矩TRQ的动态关系。WF是直接的能量输入TRQ是核心的性能输出二者之间存在明确的物理关联通常可用一阶惯性环节近似。构建这个SISO模型有助于我们验证数据驱动方法能否从数据中重新“发现”已知的物理规律甚至找到更优的表达形式。2.2 算法选型为什么是FFNN、LSTM和SINDy针对上述问题我们选择了三种具有代表性的算法进行对比研究每种选择背后都有其明确的工程考量前馈神经网络这是最基础、最经典的神经网络架构。我们选择它作为基线模型。FFNN结构简单训练速度快擅长学习复杂的静态非线性映射。如果发动机的动态特性不明显或者我们只关心“准静态”工况下的输入输出关系FFNN可能就足够了。它的局限性在于其“无记忆性”——处理每个时刻的数据点时完全独立不考虑历史状态。这对于涡轴发动机这种具有明显惯性、延迟的动态系统来说是一个先天不足。我们想看看这个不足在实际预测中会带来多大误差。长短期记忆网络这是专门为处理序列数据而设计的循环神经网络变体。LSTM内部的门控机制遗忘门、输入门、输出门使其能够选择性地记住或忘记长期历史信息。这对于建模发动机扭矩这种与过去时刻的燃油指令、转速状态强相关的时序信号来说是理论上的“完美匹配”。我们预期LSTM能在动态跟踪、平滑预测方面显著优于FFNN。当然其代价是模型更复杂、训练时间更长、超参数更多。稀疏辨识非线性动力学这是一种与众不同的“白箱”或“灰箱”思路。SINDy不直接学习输入到输出的黑箱映射而是假设系统的动力学可以由一个稀疏的即只有少数几项非零微分方程来描述。它通过构建一个包含多项式、三角函数等可能项的庞大“候选函数库”然后利用稀疏回归技术从数据中自动筛选出最重要的几项从而“发现”潜在的动力学方程。选择SINDy是因为我们不仅仅满足于高精度的预测还希望获得可解释的模型。如果SINDy能从WF-TRQ数据中自动推导出一个类似一阶微分方程的形式那将极具说服力并能与传统的传递函数模型直接对话为模型物理意义的注入打开一扇门。注意在工业级应用中模型的可解释性、可靠性和认证可能性是至关重要的。黑箱模型如深度神经网络即使精度再高也可能因为其不可解释性而在关键安全系统中受阻。SINDy这类方法提供了一条通往“可解释AI”的路径这是其超越预测精度的独特价值。2.3 数据基石AW189飞行测试数据集任何数据驱动项目的成败一半取决于数据质量。本项目使用的是莱昂纳多AW189双发直升机原型机在大量飞行测试中采集的真实数据。这个数据集的价值在于真实性全部来自真实飞行而非仿真包含了所有传感器噪声、环境扰动和系统非线性。完备性涵盖了超过35小时的飞行时间196个架次包括巡航、悬停、起飞、转弯、爬升、下降、自转等丰富的机动动作基本覆盖了直升机的整个飞行包线。多维性记录了包括TRQ, COL, T1, P0, NR, WF, 空速等在内的十多个关键参数为MISO建模提供了丰富的特征。在实操中我们对数据进行了严格的预处理数据清洗剔除了地面滑行、关车等无意义的机动阶段数据。相关性分析计算了所有特征间的相关系数矩阵。这是特征工程的关键一步。我们发现例如T45涡轮温度、NG燃气涡轮转速等参数与TRQ高度相关但它们属于发动机内部参数在真实控制或健康管理系统中通常不可直接获取。因此在构建最终MISO模型时我们有意识地排除了这些“理想但不现实”的特征只选用COL, T1, P0, NR, AIRSPEED这五个在实际中易于获取的参数作为输入以确保模型的工程实用性。数据集划分将180个架次用于模型开发其中162个训练18个验证剩余的16个包含高频扫频操纵的架次作为独立的测试集于最终评估模型的泛化能力。必须确保测试集完全不被用于训练过程中的任何决策如早停、超参调优这是评估模型真实性能的铁律。3. 模型实现、训练与核心技巧有了清晰的思路和高质量的数据接下来就是具体的实现。我们使用PyTorch框架构建神经网络使用PySINDy包进行稀疏辨识。3.1 MISO神经网络模型的构建与调优FFNN模型构建 我们构建了一个包含4个隐藏层每层24个神经元的全连接网络。激活函数使用ReLU。这是一个比较常规的深度网络结构旨在有足够容量拟合非线性关系。输入层5个节点对应5个输入特征COL, T1, P0, NR, AIRSPEED。输出层1个节点输出预测的扭矩值TRQ。训练细节使用RMSprop优化器学习率设为1e-4批量大小为64训练500轮。损失函数为均方误差MSE。LSTM模型构建 LSTM的核心在于其能处理序列。因此我们需要将数据组织成时间窗口的形式。Lookback Window我们设置回溯窗口长度为20。这意味着对于任意时刻t模型的输入是[t-19, t]这个时间窗口内所有特征的历史序列形状为[batch_size, lookback20, input_features5]而输出是时刻t的扭矩值。也可以输出一个序列这里我们采用前者即多步输入、单步预测这在实时预测中更常见。网络结构我们使用了3层LSTM隐藏状态维度为6。最后接一个全连接层将LSTM的最终隐藏状态映射到扭矩输出。训练细节使用Adam优化器学习率5e-4批量大小64训练100轮。同样使用MSE损失。超参数调优实战心得 我们采用了网格搜索来确定最佳的网络结构如层数、神经元数、LSTM隐藏维度和超参数如学习率、回溯窗口长度。这个过程计算量巨大但至关重要。学习率对于LSTMAdam优化器配合稍大的初始学习率5e-4通常收敛更快。我们同时使用了学习率调度器在验证损失平台期时进行衰减。回溯窗口20这个值不是拍脑袋定的。我们尝试了从5到50的不同长度。太短如5无法捕捉完整的动态过程预测结果噪声大太长如50不仅增加计算量还可能引入无关的早期噪声信息且容易导致过拟合。通过观察验证集损失我们确定了20是一个在捕捉动态和计算效率间的良好平衡点。批归一化与Dropout在FFNN的隐藏层后我们尝试添加了批归一化层发现对稳定训练有一定帮助。对于LSTM我们在最后一层后添加了Dropout比例0.2以防止过拟合特别是在网络容量较大时。3.2 SINDy模型的实现与“升阶”策略对于SISO的WF-TRQ建模我们使用PySINDy库。其核心是构建一个庞大的候选函数库Θ(X, U)例如[1, TRQ, WF, TRQ^2, WF^2, TRQ*WF, sin(TRQ), ...]然后求解d(TRQ)/dt Ξ * Θ(TRQ, WF)寻找稀疏系数矩阵Ξ。第一轮尝试一阶模型 我们直接将TRQ作为状态WF作为控制输入使用多项式库进行拟合。PySINDy自动给出了一个非常简洁的方程d(TRQ)/dt -a - b*TRQ c*WF这个形式令人振奋因为它与传统发动机控制中常用的WF到TRQ的一阶传递函数K/(1τs)在时域上的形式完全一致d(TRQ)/dt - (1/τ)*TRQ (K/τ)*WF。这证明了SINDy确实有能力从数据中发现正确的物理结构。然而问题来了当我们用这个一阶方程在测试集上进行积分仿真时给定初始TRQ输入WF时间序列预测精度并不理想整体相对平均绝对误差rMAE高达13.7%。这比神经网络差很多。关键突破强制二阶模型 我们分析可能的原因在于真实系统的动态可能比一阶更复杂或者数据中的噪声和未建模动态使得一阶近似不够精确。于是我们做了一个大胆的尝试将系统强制升维到二阶。 具体做法是将状态向量扩展为X [TRQ, d(TRQ)/dt] 输入向量扩展为U [WF, d(WF)/dt]。然后让SINDy去寻找一个关于这个新状态的二阶微分方程组。得到的系统是d(TRQ)/dt a * TRQ d²(TRQ)/dt² b * d(TRQ)/dt c * d(WF)/dt第一个方程是平凡的a实际上就是1关键在第二个方程。虽然对这个二阶方程积分一次形式上又能得到一个类似一阶的方程d(TRQ)/dt -b*TRQ c*WF constant但通过这种“升阶”训练过程学到的系数b和c与直接一阶训练学到的b和c完全不同且性能有质的飞跃。为什么“升阶”有效我们的分析是在二阶框架下燃油流量的变化率d(WF)/dt作为一个显式的控制输入被引入了模型。在发动机动态中燃油流量的变化速率本身就是一个非常重要的物理量它直接影响扭矩的响应速度。一阶模型隐含地假设这个影响已被包含在WF的瞬时值中但或许数据表明显式地考虑其导数能更好地描述动态。此外求解二阶系统需要两个初始条件TRQ和d(TRQ)/dt这为模型提供了更多的“启动”信息可能有助于更好地匹配初始瞬态。实操心得这个“升阶”技巧是本次SINDy应用中最有价值的经验之一。它告诉我们当SINDy直接给出的简单模型性能不佳时不要轻易放弃。通过有物理洞察力地重构状态空间例如引入导数项可能引导算法发现更精确的模型结构。这体现了“数据驱动”与“物理引导”结合的魅力。4. 结果对比分析与问题深度排查训练完成后我们在完全独立的16个测试架次上评估了所有模型。评估指标是相对平均绝对误差rMAE即预测误差与该架次平均扭矩的比值更能反映误差的相对大小。4.1 MISO神经网络LSTM全面胜出精度对比FFNN整体测试rMAE~13.5%LSTM整体测试rMAE~8.3%经过将部分困难测试集加入训练后的重训练FFNN整体测试rMAE~5.8%LSTM整体测试rMAE~4.1%从数字上看LSTM显著优于FFNN。但更重要的是看图说话。波形分析揭示的本质差异动态跟踪能力在飞行员进行高频的“总距扫频”操纵时发动机扭矩会产生快速的波动。从预测曲线可以清晰看到LSTM的预测红色虚线能够紧密地跟随真实扭矩蓝色实线的起伏变化。而FFNN的预测绿色虚线则显得非常“嘈杂”和“迟钝”它像是一个低通滤波器把高频动态都平滑掉了并且完全错过了那些突然的尖峰。这是因为FFNN没有记忆每个时刻的预测只依赖于当前时刻的输入无法理解“当前扭矩很高是因为前一时刻燃油正在猛增”这样的时序因果关系。预测平滑度LSTM的预测曲线非常光滑接近真实信号的品质。而FFNN的预测则充满了高频毛刺这种输出如果直接用于发动机控制律可能会引发不必要的振荡甚至不稳定。对于控制应用预测输出的平滑性与准确性同等重要。一个严重的泛化问题及其诊断 在测试集中有部分架次ID10-ID15的预测出现了灾难性的失败表现为预测曲线与真实曲线形状相似但存在一个巨大的恒定偏差。这显然是模型泛化失败。根本原因排查我们首先怀疑是数据问题。经查这些表现差的架次数据来自2018年的测试而训练数据主要来自2016年。这中间可能存在传感器校准漂移、发动机性能衰减、甚至测试仪器更换等情况导致数据分布发生了偏移。模型在2016年的数据分布上学到的规律无法推广到2018年的数据。数据分布可视化验证我们绘制了所有架次的“平均总距COL vs 平均扭矩TRQ”散点图。发现一个关键现象那些预测误差大的测试架次其COL, TRQ点落在了训练数据分布区域之外这意味着模型在训练时从未“见过”这种操纵量对应这种扭矩水平的模式它只能根据已有知识进行外推结果自然不准。工程启示这个坑非常典型。它警示我们数据驱动模型的性能严重依赖于训练数据的代表性和一致性。如果未来发动机的工况、状态或传感器特性发生了变化模型必须用新数据重新训练或进行在线适应。这也引出了“持续学习”或“领域自适应”在工业应用中的必要性。4.2 SINDy模型可解释性与精度的平衡强制二阶后的SINDy模型取得了惊人的效果其在测试集上的整体rMAE降至1.6%甚至优于重训练后的LSTM模型。优势极高的精度预测曲线与真实曲线几乎重合对动态的捕捉非常精准。极强的可解释性模型最终是一个简洁的微分方程组尽管是二阶形式。工程师可以直观地看到扭矩的加速度d²(TRQ)/dt²与扭矩的变化率d(TRQ)/dt和燃油流量变化率d(WF)/dt成线性关系。这比神经网络数百万个不可解读的权重要有意义得多。计算高效仿真时只需要数值积分一个简单的微分方程速度极快非常适合嵌入式实时系统。局限性当前是SISO模型我们目前只建立了WF到TRQ的模型。而一个完整的发动机模型需要从飞行员操纵COL等开始。SINDy能否成功扩展到多输入MISO场景处理COL, NR, P0等多个变量并依然保持稀疏性和可解释性是一个待验证的挑战。对数据质量和预处理敏感SINDy需要计算状态变量的时间导数d(TRQ)/dt,d(WF)/dt。真实数据难免有噪声数值微分会放大噪声。我们使用了PySINDy内置的全变分正则化微分方法它能有效平滑噪声并获得合理的导数估计但这本身就是一个需要仔细调参的步骤。稀疏性参数的选择SINDy中的阈值参数λ决定了方程的稀疏程度。λ太大方程过于简单可能漏掉关键项λ太小方程会包含很多冗余项失去可解释性。这个参数需要根据具体问题通过交叉验证来确定。5. 工程实践总结与未来展望通过这个完整的项目实践我们可以得出一些对工程应用有直接指导意义的结论对于涡轴发动机扭矩动态预测这类强时序问题LSTM是比FFNN更优的选择。它不仅能提供更低的预测误差更能产生平滑、物理上更合理的输出这对于后续的控制器设计至关重要。FFNN更适合静态或准静态映射问题。数据质量与一致性是模型的“生命线”。必须对训练数据和未来应用场景的数据分布进行严格分析。如果存在概念漂移必须建立模型更新机制。特征工程时要优先选择在实际应用场景中可靠可测的参数而不是单纯追求与输出相关性最高的参数。SINDy为代表的可解释性方法展现出巨大潜力。它不仅能达到甚至超越黑箱模型的精度还能提供人类可理解的微分方程模型。这极大地增强了工程师对模型的信任也便于与现有的基于物理的模型框架进行集成和对比。将SINDy扩展为多输入模型是下一步极具价值的研究方向。混合建模是未来趋势。完全的数据驱动模型可能在数据稀缺或极端工况下失效而纯粹的物理模型又难以刻画所有复杂非线性。一个可行的路径是物理信息神经网络或将SINDy发现的低维方程嵌入到更大的机理模型中形成优势互补。最后一点个人体会在工业界推进AI和数据驱动方法最大的障碍往往不是算法本身而是如何将算法与现有的工程流程、验证体系以及工程师的思维习惯相结合。像本项目这样用真实数据说话清晰展示每种方法的优势、局限和适用场景并始终将“可解释性”和“工程可实现性”放在重要位置是获得团队认可、推动技术落地的关键。从这个项目看数据驱动建模不再是学术玩具它已经是一门能够为复杂动力系统设计与运维带来切实价值的工程学科。