论文题目: Diffusion model-assisted cross-domain fault diagnosis for rotating machinery under limited data(有限数据条件下扩散模型辅助的旋转机械跨域故障诊断)
期刊: Reliability Engineering & System Safety,2025
摘要: 在工业场景中,由于数据获取困难且标注成本较高,跨域故障诊断面临数据稀缺问题。为解决这一问题,本文提出一种扩散模型辅助的数据生成方法,通过生成目标域数据来增强模型的跨域诊断能力。具体而言,本文构建了一种扩散模型辅助的跨域故障诊断方法:首先利用扩散模型扩充目标域数据,然后联合源域数据、少量目标域数据以及生成的目标域数据训练深度学习模型,从而学习并迁移诊断知识。为实现全局特征分布对齐,首先采用最大均值差异(Maximum Mean Discrepancy,MMD)损失,同时对齐源域与真实目标域数据以及源域与生成目标域数据。除此之外,构建跨域三元组损失,实现类别层面的对齐与分离,使相同类别相互靠近、不同类别彼此区分。最后,设计深层一致性正则化,在目标域真实数据及其增强版本之间施加一致性约束,从而提高模型的鲁棒性。在两套旋转机械系统上的大量实验表明,该方法能够有效处理有限数据条件下的跨域故障诊断问题,并显示出其在旋转机械智能健康监测实际应用中的潜力。
一、研究背景与核心问题
这篇论文关注的是一个非常典型、但在很多跨域故障诊断工作中容易被弱化的问题:
目标域不仅和源域存在分布偏移,而且目标域本身的数据还非常少。
传统深度学习故障诊断通常默认训练数据与测试数据来自相同分布。但实际旋转机械运行时,转速、负载、环境噪声以及设备配置都会变化,因此不同工况下采集的数据很容易形成明显的域偏移。
Domain Adaptation(DA)的基本解决思路,是利用具有充足标签的源域:

去帮助标签不足甚至无标签的目标域:

学习尽可能域不变的特征表示。
问题在于,很多域适应方法虽然允许目标域无标签,但仍然默认目标域能够提供足够数量的数据参与分布对齐。
工业现场却未必满足这个条件。
设备出现故障后通常会立即停机检修,不可能为了采集数据而让机械长期处于故障状态。因此,真实目标域中的故障样本本身就非常少。作者指出,当目标域数据极度有限时,传统跨域诊断方法的性能会明显下降。
所以,这篇论文真正要同时解决两个问题。
1.1 问题一:目标域样本太少,怎么做域适应?
只有十几个或者几十个目标域样本时,即使使用 MMD、DANN 等方法,估计出来的目标域分布也可能并不可靠。
作者的思路很直接:
既然真实目标域数据不够,就先生成更多“目标域数据”。
因此引入扩散模型,根据少量目标域样本生成额外的目标域振动信号:
![]()
最终不再只是使用 (
),而是联合:
进行跨域学习。
1.2 问题二:生成了数据,就一定能解决跨域问题吗?
不能。
数据生成解决的是“目标域数据量不足”,但域适应真正需要解决的仍然是“源域与目标域之间的特征分布差异”。
而且只对齐总体分布也不够。
例如两个域整体的特征云已经靠近,但不同故障类别混在一起,分类器仍然无法正确诊断。
因此作者实际上用了两层策略:
-
数据层面: 用扩散模型补充目标域样本;
-
特征层面: 用 MMD、跨域 Triplet Loss 和一致性正则化进行多层次特征约束。
这也是整篇论文最值得关注的地方:
扩散模型不是独立的数据增强模块,而是直接参与后续跨域特征对齐。
二、方法整体框架:先“补目标域”,再做跨域对齐

论文 Figure 4:整体网络框架
Figure 4 是理解全文最重要的一张图。
这张图重点看三条数据流:
Source domain data;
Target domain data;
Generated target domain data。
三类数据统一进入一个 Shared Feature Extractor,之后分别形成源域、真实目标域和生成目标域的特征,再通过不同损失进行约束。论文的特征提取器由 1D-CNN 和全连接层构成。
可以把整个方法压缩成两步。
第一步:利用改进 DDPM 扩充目标域
原始目标域只有少量数据
,作者首先训练扩散模型,并生成新的目标域样本
,这样目标域就从“小样本域”变成了:

第二步:三路数据联合训练诊断网络
训练阶段同时输入:

优化目标则包括四部分:

最终总损失为:
![]()
其中:
-
(
):保证源域基本分类能力; -
(
):完成全局域分布对齐; -
(
):完成类别级对齐; -
(
):约束真实目标样本与生成/增强样本的一致性; -
(
):MMD 权重; -
(
):动态控制 Triplet 和 Consistency 两项损失的影响。
因此,这篇论文并不是简单的:
DDPM → 生成数据 → 丢进分类器。
而是:
少量目标数据 → DDPM 扩增 → 真实/生成目标域共同参与跨域特征学习 → 全局对齐 + 类别对齐 + 一致性约束。
三、核心模块一:为什么作者要改进 DDPM?
DDPM 本身并不是本文提出的新模型。
标准 DDPM 的思路仍然是两个过程:
-
Forward diffusion:逐步给真实信号加入噪声;
-
Reverse diffusion:学习逐步去噪,从高斯噪声恢复数据。

论文 Figure 1:Diffusion model schematic
Figure 1 展示的就是这一标准过程。
如果原始振动信号为 (x_0),正向过程中逐渐加入噪声:

最后 (
) 接近高斯噪声。
反向过程中,再利用参数化神经网络逐步预测噪声并恢复 (
)。
真正与本文有关的是:
作者修改了 DDPM 中负责预测噪声的 U-Net。
3.1 为什么普通 U-Net 还不够?
旋转机械振动信号具有明显的:
-
周期性;
-
长时间依赖;
-
特征频率结构。
普通卷积擅长局部模式提取,但对于较长时间范围内的依赖关系,其建模能力有限。
因此作者把 Multi-Head Self-Attention(MHSA) 加入 U-Net 的编码器和解码器。

论文 Figure 2:MHSA Block
MHSA 的核心仍然是:

然后计算:

多个注意力头再进行拼接。
直观理解就是:
CNN 先观察局部振动模式,Attention 再决定“整段信号中哪些时刻与当前特征最相关”。
这样 U-Net 在预测噪声时,不只是局部地判断信号,还可以捕获更长距离的时序依赖和周期关系。论文明确指出,引入 MHSA 的目的就是改善复杂信号重构能力以及长期依赖建模能力。
3.2 Improved U-Net 到底改了什么?

论文 Table 1:Improved U-Net detailed network
Table 1 给出了完整结构。
同时作者还加入了两个设计:
-
RMSNorm
-
SiLU
RMSNorm 不依赖均值计算,作者认为这样可以降低数值不稳定风险并减少计算复杂度,尤其适合较长序列。
SiLU 定义为:

与:

相比,SiLU 在零附近更加平滑,因此可以提供更加连续的梯度。

论文 Figure 3:SiLU 与 ReLU 对比
Figure 3 的作用主要是辅助解释激活函数选择,并不是论文最终性能结论的核心证据。
四、核心模块二:生成数据以后,如何真正完成跨域学习?
如果说上一部分解决的是:
“目标域数据不够怎么办?”
这一部分解决的就是:
“有了真实 + 生成目标域数据以后,怎么让源域知识真正迁移过去?”
作者设计了三层跨域约束。
4.1 第一层:双 MMD 做全局分布对齐
普通 MMD 一般只比较源域到目标域,本文多了一套生成目标域,所以作者计算两个 MMD:

其中 (
) 表示到 RKHS 的特征映射。
这里真正值得注意的是:
生成样本并不是单纯增加训练数量,而是被正式纳入域分布对齐目标。
换句话说,模型需要让源域同时接近:
-
真实目标域;
-
扩散模型生成的目标域。
4.2 第二层:Triplet Loss 做类别级对齐
只做 MMD 有一个问题:
它只关心整体分布有没有靠近,却不一定保证同类样本聚在一起。
因此作者又加入跨域三元组损失:
![]()
这里:
-
(a):Anchor;
-
(p):与 Anchor 同类别;
-
(n):与 Anchor 不同类别;
-
(
):特征表示; -
(
):类别间至少需要保持的 margin。
而且 anchor、positive、negative 可以来自不同域。
它在做的事情可以概括成一句话:
同故障跨域拉近,不同故障跨域推远。
因此:
-
MMD 负责 global alignment;
-
Triplet Loss 负责 category-level alignment。
这是本文所谓多层次特征对齐最关键的逻辑。
4.3 第三层:Consistency Loss 防止生成样本“带偏”模型
作者进一步约束真实目标域样本 (
) 与对应增强样本 (
) 的特征:
![]()
也就是说,即使信号经过扩散模型增强,诊断网络仍应提取出稳定、接近的故障表示。
直观理解就是:
生成数据可以改变信号表现形式,但不能改变它应该表达的故障语义。
4.4 为什么还需要动态 (
)?
Triplet Loss 和 Consistency Loss 会使用目标域伪标签。
问题是模型训练初期的伪标签并不可靠。
如果一开始就强行赋予这两个损失较大权重,错误伪标签反而可能把特征空间拉错方向。
因此作者使用:

其中:
-
(i):当前 epoch;
-
(E):总 epoch;
-
(
=10)。
训练早期 (
) 较小,随着模型逐渐稳定,(
) 慢慢接近 1。
这个设计的逻辑很清楚:
模型还不会分类时,少相信伪标签;模型逐渐可靠以后,再加强类别和一致性约束。
五、实验结果与证据链:扩散模型真的生成得更好吗?诊断又提升多少?
这一部分是全文证据最集中的地方。
作者使用两套旋转机械平台:
Bearing test rig
DDS planetary gearbox test rig


论文 Figure 5:Bearing test rig
论文 Figure 6:DDS test rig
论文 Figure 7:实际故障齿轮
Bearing 数据包含 5 种状态:
-
BF:Ball Fault
-
IF:Inner-race Fault
-
OF:Outer-race Fault
-
OF-BF:Compound Fault
-
H:Healthy
采样频率为 20 kHz,使用 1200 r/min 与 1800 r/min 两个转速构造不同域。
Gearbox 数据包含 8 种状态,包括行星轮缺齿、断齿、裂纹以及太阳轮缺齿、断齿、磨损、裂纹和健康状态;采样频率为 30 720 Hz,并使用 1800 r/min 与 2400 r/min 两种速度构造域。
5.1 最关键的 Few-Data 设定:20 个真实目标样本 + 280 个生成样本

论文 Table 2:四个跨域诊断任务
Table 2 是理解实验设定的关键。
四个任务分别为:
| T1 | Bearing 1800 | Bearing 1200 | 300 | 20 | 280 |
| T2 | Bearing 1200 | Bearing 1800 | 300 | 20 | 280 |
| T3 | Gearbox 2400 | Gearbox 1800 | 300 | 20 | 280 |
| T4 | Gearbox 1800 | Gearbox 2400 | 300 | 20 | 280 |
也就是说,每个类别的真实目标域训练样本只有 20 个,扩散模型再生成 280 个目标域样本。
这基本就是整篇论文的实验核心:
作者不是证明“大量目标域数据下扩散模型有效”,而是在每类仅 20 个真实目标域样本下验证扩散增强。
训练方面,每个信号长度为 (1×2048),诊断网络采用五层卷积结构,训练 200 epochs,初始学习率 0.01,SGD,batch size 为 32,所有实验重复 6 次。
5.2 生成信号到底像不像真实信号?




Figures 8–11:真实信号与生成信号对比
作者没有直接拿生成数据去做分类后就结束,而是先单独验证了扩散模型的生成质量。
Figures 8–11 分别展示:
-
Ball fault
-
Inner race fault
-
Outer race fault
-
Normal
其中:
-
蓝色:真实信号;
-
红色:生成信号;
-
第一列:时域;
-
第二列:频谱;
-
第三列:包络谱。
作者指出,生成信号不仅在时域波形上与真实信号相似,而且关键频率成分能够较好保留。对于 Bearing 数据,理论故障特征频率包括:



生成信号中同样能够观察到相应谐波以及故障频率成分。
这几张图非常重要,因为对于机械故障信号而言:
“波形看起来像”还不够,关键故障频率有没有被生成模型保存下来才更重要。
作者试图通过这些频谱和包络谱说明,DDPM 学到的并不只是随机的时域形状,而包含一定的故障特征结构。
5.3 Table 3:改进 DDPM 的生成质量是否真的优于普通 DDPM?
仅靠图片仍然比较主观,因此论文进一步使用:
-
RMSE:越低越好;
-
PSNR:越高越好。

论文 Table 3:生成信号定量评价
最值得记住的是平均结果:
| Proposed | 0.054 | 25.670 |
| DDPM | 0.064 | 24.543 |
| DA-GAN | 0.121 | 13.562 |
同时,对 BF、IF、OF、OF-BF 和 Healthy 五种状态,Proposed 在 Table 3 中的 RMSE 和 PSNR 均优于另外两种生成方式。
这张表证明的是:
改进 U-Net 不只是结构上加了 MHSA/RMSNorm/SiLU,在作者采用的两个信号质量指标上也确实优于原始 DDPM。
而 DA-GAN 与扩散模型之间的差距更加明显。
5.4 主实验 Table 4:最终跨域诊断到底提升了多少?
比较方法包括:
Non-DA
只使用源域分类损失,不进行域适应。
Non-AU
使用少量真实目标数据,但没有生成数据,主要通过 Classification + MMD 做域适应。
DA-GAN
利用 GAN 生成目标域数据,再进行跨域学习。
Proposed
扩散模型生成目标域数据 + 完整多层次对齐方法。


论文 Figure 12 与 Table 4:四个任务的诊断结果
Table 4 给出的结果为:
| Non-DA | 72.12±4.32 | 64.89±5.48 | 64.09±4.47 | 61.25±4.82 |
| Non-AU | 82.86±3.21 | 75.24±3.87 | 73.15±3.44 | 74.56±3.84 |
| DA-GAN | 89.25±1.87 | 83.56±2.47 | 83.03±2.74 | 80.38±3.39 |
| Proposed | 93.83±1.64 | 90.07±1.83 | 89.57±1.76 | 87.74±2.05 |
这组结果可以分三层来看。
第一层:不做 DA,域偏移确实很严重
Non-DA 在四项任务上只有:
-
72.12%
-
64.89%
-
64.09%
-
61.25%
说明仅使用一个工况训练,再直接测试另一个工况,泛化明显不足。
第二层:20 个目标域样本能改善结果,但还不够
Non-AU 提升至:
-
82.86%
-
75.24%
-
73.15%
-
74.56%
说明少量目标域数据确实能帮助域适应。
但问题还是那一个:
20 个样本不足以完整描述目标域分布。
第三层:生成目标域数据带来了进一步提升
DA-GAN 又明显优于 Non-AU:
-
T1:89.25%
-
T2:83.56%
-
T3:83.03%
-
T4:80.38%
说明在这个实验设定中:
“补充目标域样本”本身就是有效的。
而 Proposed 则进一步达到:
-
93.83%
-
90.07%
-
89.57%
-
87.74%
相比 DA-GAN 分别提高约:
-
+4.58 个百分点
-
+6.51 个百分点
-
+6.54 个百分点
-
+7.36 个百分点
因此 Table 4 支撑的是两个结论:
生成目标域数据确实能够缓解小样本域适应问题;
在本文实验中,扩散生成 + 多层特征对齐优于 GAN 生成方案。
Figure 12 则把这个趋势画得非常直观:从 Non-DA → Non-AU → DA-GAN → Proposed,四个任务基本呈现逐级提高。
5.5 Figures 13–14:到底哪些类别最容易错?
总体 Accuracy 有一个问题:
它看不到模型到底在什么故障类别上失败。
因此作者进一步画了两组混淆矩阵。

论文 Figure 13:T1 混淆矩阵
在 Bearing 的 T1 中,Non-DA 和 Non-AU 对 BF 等状态的识别能力较弱,而引入数据增强后有所改善。Proposed 在不同健康状态之间的整体分类表现更加稳定。

论文 Figure 14:T3 混淆矩阵
对于 Gearbox 的 T3,作者特别指出:
-
STM
-
PTM
-
PC
是 Non-DA 和 Non-AU 更容易混淆的状态。
DA-GAN 能够改善这些状态的识别,而 Proposed 又进一步提高了不同状态上的诊断准确率。
因此 Figures 13–14 给 Table 4 增加了一层类别级证据:
提升并不是只来自某个简单类别把平均 Accuracy 拉高,而是在原本较困难的故障类别上也出现了改善。
5.6 这篇论文的“消融”应该怎么看?
论文没有单独给出一张经典形式的:
-
w/o MMD
-
w/o Triplet
-
w/o Consistency
-
w/o MHSA
完整模块消融表。
但现有比较仍然可以看成一个逐层验证链。
Non-DA → Non-AU
验证:
少量目标域信息 + 域对齐,比只用 Source 更有效。
Non-AU → DA-GAN
验证:
在目标域样本有限的情况下,生成数据能够进一步提升诊断性能。
DA-GAN → Proposed
则同时包含两类变化:
-
GAN → Improved DDPM;
-
以及 Proposed 中完整的多损失优化机制。
所以这里需要注意一个边界:
Table 4 可以证明完整 Proposed 框架最好,但不能仅凭 DA-GAN → Proposed 的差值,把提升精确归因到 MHSA、Dual-MMD、Triplet 或 Consistency 中任何单一模块。
从实验设计上看,论文并没有分别移除 (
)、(
)、(
) 后量化各模块的独立贡献。
这是阅读这篇论文时需要区分清楚的一点:整体框架的有效性证据很完整,但内部各损失项的独立增益没有通过逐项消融完全拆开。
六、总结与思考
如果把这篇论文压缩成一句话:
当跨域故障诊断中的目标域数据少到不足以支撑域适应时,作者先用扩散模型补充目标域,再让真实目标域和生成目标域共同参与全局、类别和一致性三个层面的特征对齐。
这篇论文值得记住的并不是“把 DDPM 用到机械故障诊断”这一点本身,因为此前已经有不少扩散模型故障数据增强工作。
真正值得注意的是以下三个思路。
1. 把“数据稀缺”和“域偏移”当成同一个系统问题处理
2. 生成数据不是越多越好,而是需要进入域对齐机制
3. 生成质量和最终诊断结果形成了一条比较完整的证据链
最后,作者也明确指出,目前实验只考虑了两个离散转速条件,无法完全描述现实工业环境中的连续工况变化。后续计划引入 angular-domain transformation,提高模型在连续工况变化下的泛化能力。
所以从工程应用角度看,这篇工作的下一步问题也很明确:
当目标域不再只是“1200 rpm → 1800 rpm”这种离散工况迁移,而是转速连续变化、负载同步变化甚至多种运行条件同时漂移时,扩散生成的数据还能否准确覆盖动态目标域分布?
它最大的启发不是“用生成模型造更多数据”,而是:
当目标域数据不足以支持可靠的 Domain Adaptation 时,可以先利用生成模型建立目标域的补充分布,再把生成数据放进域适应目标中共同优化。
这也是这篇论文最值得记住的核心思路。
