【论文阅读33】-FR-LLM:采用信号到文本编码和自适应优化的用于联合故障诊断和 RUL 预测的多任务大型语言模型

😊文章背景

题目:FR-LLM: Multi-task large language model with signal-to-text encoding and adaptive optimization for joint fault diagnosis and RUL prediction

期刊:Reliability Engineering and System Safety

检索情况:11.0

作者:Yuming Lai a,b, Zhangjun Wu a,b, Mengyao Chen a,c, Chao Liu d, Haidong Shao

单位:合肥工业大学

发表年份:2025.12

DOI:https://doi.org/10.1016/j.ress.2025.112091

网址:https://linkinghub.elsevier.com/retrieve/pii/S0951832025012906

❓ 研究问题

当前工业预测性维护(PHM)领域存在的三个主要瓶颈:

  • 任务割裂问题:现有的深度学习方法通常将故障诊断(FD)和剩余使用寿命预测(RUL)作为独立任务处理,忽略了故障演变与寿命衰退之间的自然依赖关系,导致模型开发重复且缺乏协同效应 。

  • 泛化能力差:传统深度学习模型(如CNN、LSTM)高度依赖特定工况下的标注数据,当工作环境、负载或转速变化时,模型鲁棒性显著下降 。

  • LLM应用受限:虽然LLM具有强大的推理能力,但难以直接处理非语义的时间序列振动数据(模态鸿沟)。现有的"数值序列直接Token化"方式不符合振动信号的时频物理特性 。此外,简单的多任务微调容易导致任务干扰和收敛不平衡 。

📌 研究目标

🧠 所用方法

一、数据预处理与特征工程

在将数据喂给 LLM 之前,必须先将原始的高频振动信号转化为 LLM 能理解的形式,并剔除无效数据。

1. 故障起始点确定 (FPT Determination)
  • 目的: 轴承在早期大部分时间是健康的,直接预测寿命没有意义且会引入噪声。必须找到"退化开始"的那一刻。

  • 方法: 采用3\sigma 准则。计算信号均方根(RMS)的均值和标准差。当连续一段时间的 RMS 值超过 u + 3sigma 时,判定故障发生(FPT),此后的数据才用于 RUL 预测。

2. 差异化的特征提取

论文认为,诊断和预测需要关注的物理特性不同,因此使用了两套不同的提取逻辑:

  • 针对故障诊断 (FD):看频域

    • 工具: 快速傅里叶变换 (FFT)

    • 逻辑: 故障通常表现为频谱上的特定频率峰值。FFT 能将时域波形转换为频域幅度谱,直接暴露故障特征。

    • 处理: 截取信号片段 -> FFT 变换 -> 得到幅度向量。

  • 针对 RUL 预测:看趋势

    • 工具: 滑动窗口 + 经验模态分解 (EMD)

    • 逻辑: 寿命衰退是一个渐进过程,且包含非线性趋势。EMD 将信号分解为高频(噪声/冲击)和低频(趋势)分量。

    • 处理: 使用滑动窗口截取历史数据 -> EMD 分解 -> 提取 10 多种统计特征(如 RMS、峭度、波形因子等) -> 形成多维特征矩阵。

二、模态对齐策略

1. 针对故障诊断(FD):FFT频谱文本化

对于故障诊断任务,模型关注的是频域中的特定故障特征(如高频冲击)。

  • 转换过程:

    • 对原始振动信号做 FFT(快速傅里叶变换) 得到幅度谱 。

    • 量化(Quantization): 将连续的浮点数值截断并转换为整数(例如保留3位小数后转为整数),以减少Token长度 。

    • 序列化: 将这些整数用逗号连接,形成一个文本字符串(例如 "8, 28, 99, 125...") 。

  • Prompt形式: 这些数字序列被直接嵌入到自然语言指令中,告诉LLM:"基于以下特征进行故障诊断:8, 28, 99..." 。

2. 针对RUL预测:多域特征表格文本化

对于剩余寿命预测任务,模型关注的是时间维度上的退化趋势

  • 转换过程:

    • 使用滑动窗口 机制,提取多个时间步的多域统计特征(如RMS、均值、峰值等) 。
    • 表格化结构(Table-like Structure): 将这些特征按时间步组织成类似表格的结构。
    • 序列化: 将表格逐行转化为文本描述,明确标记时间步(例如 "Step1: 139, 98... Step2: 124, 78...") 。
  • 目的: 这种显式的时序编码让LLM能够利用其上下文理解能力来推断特征随时间的演变规律(退化轨迹) 。

3. 提示词构建 (Prompt Construction)

将上述数据字符串嵌入到预定义的模板中。模板包含:

  • 角色设定: "你是一个智能维护专家..."

  • 工况上下文: "转速 2100 rpm,负载 12 kN..."

  • 任务指令: "请根据以上数据诊断故障类型" 或 "预测剩余寿命"。

4.优缺点分析

优势:

  • 无需修改模型结构: 不需要设计额外的编码器(Encoder)或适配器层来处理时间序列,直接复用LLM原生的文本输入接口 。
  • 语义融合: 使得数值特征可以与描述设备工况(如"12 hp, 2100 rpm")的自然语言无缝融合,利用LLM的语义推理能力进行跨模态分析 。

缺点:

  • 序列膨胀与内存成本: 将连续的振动数据转换为文本 Token 会导致序列长度急剧增加,这会显著增加显存(Memory Cost)的消耗 。

  • 精度折损: 为了适应 LLM 的上下文窗口限制,必须对数据进行截断(Truncation)量化(Quantization) (如将浮点数截断为整数)。论文承认,这种量化过程可能会导致轻微的信息丢失,从而影响精细特征的捕捉 。

三、多任务指令微调

1.统一的生成式损失函数

  • 传统做法的分歧:

    • 做诊断通常用 Cross-Entropy Loss(交叉熵)。

    • 做预测通常用 MSE Loss(均方误差)。

    • 这会导致模型结构复杂(需要不同的 Head),且优化目标不一致。

  • FR-LLM 的统一做法:

    • 输入: 包含物理特征的 Prompt。

    • 输出: 无论是故障类别(如 "Inner Race Fault")还是寿命数值(如 "0.85"),都被视为文本序列

    • 损失函数: 统一使用 负对数似然损失 (NLL, Negative Log-Likelihood)

    • 意义: 模型不需要理解"0.85"是一个数值,它只需要学会:在生成字符"0"和"."之后,下一个概率最大的字符应该是"8"。这使得两个任务在数学层面实现了完美的统一。

2.LoRA 参数高效微调

3. CoBa 动态平衡策略 (核心难点)

  • 问题:收敛速度不一致 (Convergence Imbalance)

    • 故障诊断(FD): 是一个分类问题,特征明显(FFT 峰值),模型学得很快,Loss 下降迅速。

    • RUL 预测(RUL): 是一个时序回归问题,噪音多、难度大,模型学得很慢,Loss 下降缓慢。

    • 后果: 如果直接把两个 Loss 相加 ,模型会迅速把 FD 任务学完,然后就开始过拟合 FD,而彻底忽视学不动的 RUL 任务(梯度被 FD 主导)。

  • 解决方案:CoBa (Convergence Balancer)

    CoBa 在每一轮训练中观察两个任务的收敛速度,并动态调整权重。

    它引入了三个关键指标:

    1. ACS (绝对收敛分数): 通过计算 Loss 下降的斜率 。如果斜率大(学得太快),CoBa 会降低该任务的权重,防止它主导训练。

    2. RCS (相对收敛分数): 对比两个任务的 Loss 变化率。如果 RUL 任务比 FD 任务慢,CoBa 会增加 RUL 的权重,强迫模型多关注它。

    3. DF (发散因子): 用来平衡 ACS 和 RCS 的调节旋钮。

  • 最终动态损失公式

  • 这个阶段的完整工作流程如下(对应论文 Algorithm 1):

    • 前向传播 (Forward Pass): 数据输入模型,分别计算出 FD 任务的 Loss 和 RUL 任务的 Loss。

    • 权重计算 (Weight Calculation): CoBa 观察当前的 Loss 变化曲线,计算出当前的 ACS 和 RCS,进而得出这一轮的最佳权重 \\lambda_{FD}\\lambda_{RUL}

    • 加权求和 (Weighted Sum): 算出总 Loss。

    • 反向传播 (Backward Pass): 梯度回传,只更新 LoRA 的参数矩阵 A 和 B

    • 迭代: 重复上述过程,直到两个任务都达到最佳平衡点。

🧪 实验设计与结果

1. 单任务 vs. 多任务学习 (Single-task vs. Multi-task)

这一节旨在回答"合并任务是否会拖累性能"的问题。

  • 实验设置: 对比了单独训练的"单任务模型"和联合训练的"多任务模型"(均基于 LLaMA-3.1-8B)。

  • 结果:

    • 故障诊断 (FD): 多任务模型的 F1 分数(如 Dataset 1 的 97.60%)与单任务模型(97.98%)非常接近,甚至在 Dataset 3 上都达到了 100% 1。

    • RUL 预测: 多任务模型的 RMSE 和 R\^2 略逊于单任务模型(例如 Dataset 2 差距约 6%),这是因为回归任务对时序模式极其敏感,容易受到干扰 2。

  • 结论: 尽管多任务模型在某些指标上略有下降,但差异极小。考虑到部署效率(一个模型干两件事),这种微小的精度牺牲是完全可以接受的,证明了 FR-LLM 成功实现了兼顾准确性与效率。

2. 不同骨干模型的对比 (Comparison of Backbones)

这一节验证了 FR-LLM 框架的通用性,并展示了 LLM 相比传统深度学习的优势。

  • 对比对象: 传统多任务基线 MMOE vs. GPT-2 XL vs. DeepSeek (1.5B/7B) vs. LLaMA-3.1-8B vs. Qwen2-7B

  • 结果:

    • 传统 vs. LLM: 所有 LLM 的表现都显著优于 MMOE。MMOE 在 RUL 预测上的误差较大,难以捕捉长期退化趋势 4。

    • LLM 内部对比: 随着模型参数量增加(1.5B \\rightarrow 7B \\rightarrow 8B),性能稳步提升。Qwen2-7BLLaMA-3.1-8B 表现最佳,展现了最强的表征能力 5。

  • 结论: 证明了 FR-LLM 框架具有良好的扩展性,模型越强,效果越好。

3. 消融实验 (Ablation Study)

这一节通过"做减法"来证明每个组件的必要性 6。

  • w/o FFT(去掉 FFT): 故障诊断性能显著下降(F1 跌至 0.9590),说明 FFT 对识别故障频率至关重要 7。

  • w/o EMD(去掉 EMD): RUL 预测误差上升(RMSE 升至 0.1205),说明 EMD 对捕捉非平稳退化趋势很有用 8。

  • w/o Prompt(去掉提示词): 性能全面下降,说明自然语言指令能有效引导模型关注特定特征 9。

  • w/o LoRA(去掉 LoRA): 性能下降,说明全参数微调在小样本下容易过拟合,LoRA 反而泛化更好 10。

  • w/o CoBa(去掉动态平衡): 两个任务性能都变差,证明固定权重无法处理任务间的收敛差异 11。

4. 敏感性分析 (Sensitivity Analysis)

这一节探索了关键超参数的最佳设置。

  • 窗口长度 (P): 实验了 10, 20, 30, 40。发现 P=30 是最佳平衡点。太短信息不足,太长引入冗余且增加计算量 12。

  • 量化精度 (D): 实验了保留 1, 2, 3, 4 位小数。发现 D=3 效果最好。精度太低丢失信息,太高增加 Token 长度但提升微乎其微 13。

  • LoRA 参数: 发现秩 r=16 和缩放因子 \\alpha=32 是最优组合 14。

5. 跨工况评估 (Cross-condition Evaluation)

这一节测试模型的"抗压能力",即在一个工况训练,去另一个工况测试。

  • 设置: 在 Dataset 1 (2100 rpm) 和 Dataset 2 (2250 rpm) 之间互换训练/测试 15。

  • 结果: 虽然性能有所下降(平均 F1 从 ~0.97 降至 0.92),但并未崩塌,依然保持了较高的可信度 16。

    结论: FR-LLM 具有一定的鲁棒性,利用 FFT 和 LoRA 学到了一定的工况不变性特征。

6. 效率分析 (Efficiency Analysis)

这一节关注"好不好用"和"贵不贵"。

  • 推理速度: 小模型(DeepSeek-1.5B)推理速度快(>10 样本/秒),显存占用低(3GB);大模型(LLaMA-8B)速度慢(~6 样本/秒),显存高(16GB) 17。

  • LoRA vs. 全量微调: 对比显示,LoRA 仅需更新 1.2% 的参数,显存占用从 27GB 降至 11GB,且推理吞吐量提升了近 4 倍,而性能几乎没有损失 18。

📕专业名词

概念 类别 核心作用 在本文解决的问题
FFT 信号处理 时域转频域 提取故障特征频率,用于准确识别故障类型(诊断)。
EMD 信号处理 自适应信号分解 分离高频噪声与低频趋势,用于捕捉长期退化规律(预测)。
MTL 学习范式 多任务联合训练 利用故障与寿命的内在联系,提升模型泛化性并简化部署。
CoBa 优化策略 动态调整损失权重 解决分类与回归任务收敛速度不一致导致的训练失衡问题。

1. 快速傅里叶变换 (Fast Fourier Transform, FFT)

  • 基本概念:FFT 是一种高效计算离散傅里叶变换(DFT)的算法。它的核心功能是将信号从时域(Time Domain)(信号随时间变化的波形)转换到频域(Frequency Domain)(信号包含哪些频率成分及其强度)。
  • 原理: 旋转机械(如轴承)在发生故障时,会产生特定的特征频率(例如,内圈故障频率、外圈故障频率)。这些特征在时域波形中很难肉眼看出,但在频域中表现为明显的峰值

处理流程:

  • 变换: 论文对分段的振动信号进行 FFT,得到幅度谱向量。
  • 物理意义: FFT 擅长提取高频冲击和周期性模式,这是识别具体故障类型(如"外圈故障" vs "内圈故障")的关键 。
  • 文本化(关键创新): 为了让 LLM 看懂 FFT 结果,论文对 FFT 幅值进行了量化 ,将连续的浮点数截断并转换为整数序列(如 35, 136...),作为文本 Prompt 输入模型 。

文中是用FFT而不是CWT的原因:

是为了在保留关键诊断信息(故障频率)的前提下,最大程度地压缩数据维度,以便能以文本 Prompt 的形式塞进 LLM 中进行高效训练和推理。如果使用 CWT,论文可能就需要引入视觉模块(变成多模态模型,如 Vision-Language Model),这将改变整个 FR-LLM 纯文本指令微调的架构设计。

2. 经验模态分解 (Empirical Mode Decomposition, EMD)

基本概念: EMD 是一种用于处理非线性非平稳信号的自适应分解方法。与 FFT 不同,EMD 不需要预先设定的基函数(如正弦波),而是根据信号自身的时间尺度特征,将信号分解为若干个本征模态函数(Intrinsic Mode Functions, IMFs)和一个残差项。

  • 原理: 设备寿命的衰退是一个漫长、渐进且非线性的过程(Trend),而原始信号中往往混杂着大量高频噪声和冲击。

  • 处理流程:

    • 分解: 论文使用 EMD 将振动信号分解为不同的 IMF 分量。例如,IMF1 通常代表高频分量,IMF2 及后续分量代表中低频分量 。

    • 特征提取: 模型不仅关注原始信号,还从这些 IMF 分量中提取多域统计特征(如 RMS、能量熵等)。

    • 作用: EMD 帮助模型分离出代表长期退化趋势的低频信息,使得 RUL 预测更加准确和鲁棒,避免被短期的高频噪声干扰 。

3. 多任务学习 (Multi-Task Learning, MTL)

基本概念: MTL 是一种机器学习范式,旨在利用多个相关任务之间的共性信息来提升模型的泛化能力。通过让一个模型同时学习多个任务,模型可以学习到更通用的特征表示,从而在所有任务上都表现更好(或至少在主任务上表现更好)。

  • 动机: 论文认为"故障诊断(FD)"和"剩余寿命预测(RUL)"在物理上是高度相关的------故障的类型和严重程度直接影响寿命的衰退轨迹 。

  • 实现方式:

    • 统一架构: 无论是分类任务(FD)还是回归任务(RUL),都被转化为指令-文本生成任务,由同一个 LLM(如 LLaMA 或 Qwen)处理 。

    • 共享知识: 通过共享同一个 LLM 的参数,模型可以在诊断故障类型的过程中辅助理解退化程度,反之亦然。

    • 优势: 相比于训练两个独立模型,MTL 节省了部署资源,并且通过任务间的相互监督提高了鲁棒性 。

4. CoBa (Convergence Balancer)

基本概念:CoBa 是一种专门用于多任务学习的动态损失加权策略。在多任务训练中,不同任务的难度不同,收敛速度也不一样。如果简单地将损失相加,收敛快的任务可能会主导梯度更新,导致收敛慢的任务训练不足,或者模型过拟合于简单任务。

在论文中的应用:平衡 FD 和 RUL 任务

  • 问题: 故障诊断(分类)通常收敛较快,而 RUL 预测(回归)收敛较慢且难度更大。

  • 机制: CoBa 根据训练过程中的实时表现,动态调整损失函数的权重。它基于三个指标

    • ACS (Absolute Convergence Score): 衡量单个任务当前的收敛斜率。如果一个任务收敛太快(斜率大),CoBa 会降低其权重,防止过拟合。

    • RCS (Relative Convergence Score): 衡量任务间收敛速度的差异。学得慢的任务会获得更高的权重,迫使模型更多地关注它 12。

    • DF (Divergence Factor): 用于平衡 ACS 和 RCS 的调节因子。

  • 结果: 最终的总损失函数为,其中权重是自动变化的,确保了两个任务能"齐头并进"地训练。

5.负对数似然损失NLL

  • LLM 的本质是"序列生成",而非"单次分类",关注的是序列的整体概率。
  • 强行统一"分类"与"回归"任务,通过将回归转化为文本生成,使得 RUL 预测和故障诊断可以使用同一个损失函数公式,彻底消除了 MSE 和 Cross-Entropy 的形式差异。
  • 数学本质上的等价性(PyTorch 实现细节):
    • 从底层实现的角度来看,你提到的"交叉熵"和"NLL"其实往往是一回事,尤其是在 PyTorch 等框架中:

    • CrossEntropyLoss (在 PyTorch 中) = LogSoftmax + NLLLoss

    • LLM(如 LLaMA)的输出层通常已经包含了一个 Softmax 操作来计算词表上的概率分布。

    • 所以,作者写 NLL 是为了理论描述的严谨性(对应最大似然估计 MLE 理论),但在代码实现层面,这实际上就是对每一个生成的 Token 做交叉熵。

相关推荐
人工智能AI技术10 小时前
10亿美元合作启发:AIGC正版IP应用开发,迪士尼+OpenAI技术拆解
人工智能
光羽隹衡10 小时前
深度学习——卷积神经网络实现手写数字识别
人工智能·深度学习·cnn
莫非王土也非王臣10 小时前
深度学习之对比学习
人工智能·深度学习·学习
AI_567810 小时前
Selenium+Python可通过 元素定位→操作模拟→断言验证 三步实现Web自动化测试
服务器·人工智能·python
冰西瓜60010 小时前
国科大高级人工智能期末复习(四)联结主义(下)——深度学习
人工智能·深度学习
檐下翻书17310 小时前
世界模型:AI理解物理空间的关键一步
人工智能
20130924162711 小时前
1968年 Hart, Nilsson, Raphael 《最小成本路径启发式确定的形式基础》A* 算法深度研究报告
人工智能·算法
InterestOriented11 小时前
破解银发学习痛点 兴趣岛 “普惠 + 品质” 模式打造积极老龄化范本
大数据·人工智能·学习
Mark_Aussie11 小时前
ADALog 日志异常检测
人工智能