【KAN+双向LSTM】基于Kolmogorov-Arnold和双向长短期记忆的航空发动机剩余寿命预测(PyTorch)

作品简介

获取完整数据和代码,请直接加

kang20224

不要在面包多直接拍

在航空发动机等关键设备的预测性维护中,准确估计剩余使用寿命(RUL)对于保障飞行安全、降低维护成本至关重要。C-MAPSS数据集由NASA提供,记录了多台涡扇发动机从正常运行到失效的全寿命周期传感器数据,是RUL预测研究的基准。传统方法多采用LSTM、CNN等深度学习模型,但纯数据驱动模型往往难以充分捕捉传感器间的非线性耦合关系,且对噪声敏感。近年来,KAN(Kolmogorov-Arnold Network)作为一种新型神经网络,通过可学习的样条函数替代固定激活函数,能够自适应地拟合复杂非线性关系,理论上比MLP更高效。结合BiLSTM提取双向时序特征,并引入跳跃连接保留原始信息,同时采用R-drop正则化增强模型鲁棒性,可以构建一个兼具强拟合能力和泛化性能的RUL预测模型,在标签数据有限的工业场景下具有实际应用价值。

这个算法将KAN的强非线性拟合能力与BiLSTM的时序建模优势相结合,构建了一个端到端的RUL预测模型。KAN模块通过自适应样条基函数替代传统固定激活,能够更灵活地学习传感器间的复杂耦合;BiLSTM则捕捉退化过程的双向时间依赖;跳跃连接缓解了深层网络的梯度消失问题。训练中引入R-drop正则化,通过强制同一输入两次预测的一致性,提升了模型的泛化性和抗噪能力。

算法步骤:

第一步:数据加载与预处理。从C-MAPSS数据集中读取训练集、测试集和真实RUL文件,为每个发动机添加RUL标签,并限制RUL上限为125。去除部分冗余传感器和运行条件,对传感器数据进行指数平滑降噪,再用MinMaxScaler归一化。最后通过滑动窗口(窗口长度60,步长1)将时序数据切分成样本,并划分训练集、验证集和测试集。

第二步:构建KAN-BiLSTM混合模型。模型包含三部分:首先用KAN模块对输入序列进行非线性特征变换,KAN内部由多个KANLinear层堆叠,每层用可学习B样条基函数拟合输入输出关系;然后将KAN输出投影到LSTM隐藏维度,并加入时间位置编码后送入双向LSTM层提取时序依赖;同时从KAN输出引出跳跃连接,经过线性变换后与LSTM最后一个时间步的输出相加,再经过层归一化和全连接层得到RUL预测值。

第三步:定义损失函数与训练策略。采用加权MSE损失作为基础回归损失,并引入R-drop正则化:对同一输入进行两次前向传播,计算两次输出的KL散度作为一致性损失,与MSE损失加权求和。使用AdamW优化器,StepLR学习率调度,批量训练50个epoch。

第四步:模型评估与可视化。在测试集上对每个发动机最后一个窗口的RUL进行预测,计算RMSE和评分函数(Score)。绘制所有发动机真实RUL与预测RUL的对比图,以及单个发动机全寿命周期的RUL预测曲线,直观评估模型性能。


创作时间: