工业设备正在快速进入“数据驱动运维”阶段。振动、电流、温度、压力、转速、声音、位移等运行数据可以被持续采集,设备故障识别也由过去主要依赖阈值判断、频谱分析和专家经验,逐渐发展为“信号处理 + AI模型”的智能诊断方式。
但在实际项目中,一个非常现实的问题是:究竟应该采用什么AI模型?
LightGBM、XGBoost、CNN、LSTM、TCN、Transformer、Autoencoder等模型都可以用于设备故障识别,但它们解决问题的方式并不相同。并不存在一个在所有设备、所有数据条件下都最优的模型。真正合理的选型,需要同时考虑数据形态、样本规模、故障类型、实时性、可解释性以及部署硬件。

一、先明确:所谓“设备故障识别”,实际上包含几类不同问题
设备智能诊断首先可以分为异常检测和故障分类。
异常检测回答的是:
设备现在是否偏离正常运行状态?
输出通常只有“正常”和“异常”,或者给出一个异常分数。
故障分类则进一步回答:
如果设备异常,到底是哪一种故障?
例如旋转机械可能需要识别正常、不平衡、不对中、轴承损伤、机械松动、齿轮损伤等状态。
再往后,还可以进行故障严重程度识别和剩余寿命预测,也就是预测设备还能运行多长时间。
因此,在选择AI模型之前,首先应该明确一个问题:
模型究竟是在发现异常,还是在识别已经知道的故障类型?
这会直接决定模型路线。
二、LightGBM:工业故障识别中非常重要的基线模型
很多人一谈到AI故障诊断,就会首先想到神经网络。
但如果设备已经进行了比较成熟的信号处理和特征提取,那么工程上非常值得首先尝试的模型其实是:
LightGBM。
LightGBM属于梯度提升决策树模型,它特别擅长处理结构化数据。
例如,从一段振动信号中,可以计算均方根、峰值、峰峰值、峭度、偏度、波峰因子、频谱峰值和不同频带能量;从电流信号中可以计算RMS、波动率、谐波能量;再结合温度、压力、转速和负载等运行参数。
最终,一次设备运行周期可能被转换为几十个或者几百个特征,例如:
这里并不是说有100个时间点,而是表示一次设备运行状态由100个特征共同描述。例如第1个特征可能是振动RMS,第2个是振动峭度,第3个是电流RMS,第100个可能是某个频带的能量。
这样的数据结构正是LightGBM非常擅长处理的形式。
LightGBM最大的优势之一,是对样本规模要求相对较低。如果只有几百到几千个标注样本,它往往已经可以取得不错的效果,而大型深度学习模型可能还处于明显的数据不足状态。
另外,LightGBM训练速度快,对GPU没有强依赖,而且可解释性较好。通过Feature Importance或者SHAP,可以进一步分析:
模型为什么判断这次运行存在故障?
例如模型可能发现,某类故障主要与轴向振动RMS、特定频率能量和电流波动幅度有关。
这在工业设备中非常重要,因为工程人员不仅希望知道“AI认为设备坏了”,还希望知道“为什么认为它坏了”。
LightGBM的主要缺点同样明显:
它不会自动理解原始波形。
如果直接把数千甚至数万个振动采样点输入LightGBM,效果通常并不理想。因此它往往依赖传统信号处理。
典型架构是:
传感器数据 → 信号处理 → 特征提取 → LightGBM → 故障类别
对于大量中小型工业AI项目,这仍然是一条非常成熟、可靠的技术路线。
三、CNN:原始振动、电流和声音信号的主力模型
如果希望减少人工特征设计,让AI直接从原始信号中自动学习故障模式,那么CNN是非常值得优先考虑的模型。
设备故障诊断中最常见的是:
1D CNN,也就是一维卷积神经网络。
假设一段振动信号包含5000个采样点,可以表示为:
这里的 到 分别表示连续采集到的5000个振动测量值。
CNN会利用一个较短的“卷积窗口”在整个信号上滑动。例如,一个卷积核可能观察相邻几十个采样点,并学习其中是否存在某种局部模式。
这些模式可能对应:
冲击、振荡、高频毛刺、周期性变化或者波形突变。
因此可以把CNN理解为:
由AI自动学习出来的一组数字滤波器。
传统方法需要工程人员决定“应该分析哪些频率、计算哪些特征”,而CNN可以从数据中自动寻找最有利于区分故障的局部特征。
这也是为什么CNN特别适合振动、电流、声音、超声和声发射等高采样率信号。
四、1D CNN还是2D CNN?
工业设备诊断中,两种方式都非常常见。
第一种是直接处理原始时间序列:
原始振动 → 1D CNN → 故障识别
这种方法结构简单,计算效率较高,也比较适合边缘设备部署。
第二种方法是首先进行STFT、小波变换等时频分析,把一维信号转换成时频图:
原始振动 → STFT → 时频图 → 2D CNN → 故障识别
例如一个时频图可以表示为:
其中, 表示时间, 表示频率,而 表示某一时刻、某一频率附近的信号能量。
通俗地说,它回答的是:
设备在什么时候,出现了什么频率成分?
对于轴承冲击、齿轮啮合异常或者转速变化明显的设备,这种时频信息往往非常重要。
不过,STFT + 2D CNN也意味着更多的数据预处理和计算开销。因此,如果原始1D信号已经能够很好地区分故障,没有必要为了“图像化”而强行转换成时频图。
五、ResNet和InceptionTime:比普通CNN更值得测试的升级方案
工业项目中不应该把CNN简单理解成几个卷积层。
对于时间序列,ResNet和InceptionTime都非常值得考虑。
ResNet通过残差连接解决深层网络训练困难的问题。简单表示就是:
其中, 是原始输入, 是卷积网络学习到的新特征,最后把两者相加。
它的通俗含义是:
网络不需要把原来的信息全部推翻,而只需要学习“在原有信息基础上应该增加什么变化”。
这种结构使得模型可以构建得更深,同时保持比较稳定的训练过程。
InceptionTime则采用多个不同长度的卷积核并行分析同一段时间序列。
这非常符合工业信号特点。
因为设备故障可能同时包含:
短时间冲击、中时间尺度振荡以及较长周期变化。
不同长度的卷积核可以分别观察不同时间尺度的特征。
因此,如果数据量已经比较充足,在普通1D CNN之后,非常值得继续测试:
1D ResNet和InceptionTime。
六、LSTM:重点不是“看到了什么”,而是“怎么变化过来的”
LSTM是循环神经网络的一种,它的优势在于分析时间序列之间的前后依赖关系。
假设系统每秒计算一次设备状态特征,那么连续100秒可能产生:
其中每一个 都表示第 秒的设备状态,例如可能同时包含振动、电流、温度和压力等几十个指标。
LSTM关注的并不仅仅是第100秒发生了什么,而是:
设备从第1秒到第100秒是怎样变化到当前状态的。
例如:
温度逐渐升高 → 振动逐渐增大 → 电流开始波动 → 最后出现异常。
这种“状态演化过程”正是LSTM比较擅长识别的模式。
因此,LSTM比较适合具有明确过程性的设备。
例如一次完整运行过程可能包含:
启动 → 加速 → 稳态运行 → 减速 → 停止
这时候,只判断某一个瞬间的振动值可能不足以判断故障,而分析整个过程更加重要。
七、为什么不建议直接把超长振动波形全部送入LSTM?
假设振动采样频率为10 kHz,连续采集10秒。
总采样点数量为:
其中, 是采样频率, 是采样时间。
代入:
也就是说,一次采集就包含10万个时间点。
如果让LSTM一步一步处理10万个采样点,不但计算量很大,而且训练也比较困难。
因此,更常见的工程方法是:
CNN + LSTM。
CNN首先把原始高频信号压缩成一系列高层特征,然后LSTM再分析这些特征如何随时间变化。
也就是:
原始信号 → CNN提取局部特征 → 特征序列 → LSTM分析时间演化 → 故障识别
这种结构往往比单独使用LSTM更加合理。
八、TCN:非常适合工业时间序列的“高性价比模型”
除了LSTM,还有一个值得特别关注的模型:
TCN,Temporal Convolutional Network,时间卷积网络。
TCN虽然本质上仍然采用卷积,但它通过扩张卷积逐渐扩大观察范围。
例如卷积之间的间隔可以依次扩大为:
意思是,网络越往后,就可以跨越越来越长的时间距离观察数据。
因此TCN既能够捕捉短时间局部变化,又能够学习比较长时间尺度上的依赖关系。
与LSTM相比,TCN具有一个明显优势:
卷积计算更容易并行。
因此训练速度和推理效率通常比较友好。
在很多设备故障识别项目中,我会建议把:
CNN-LSTM
和:
CNN-TCN
放在一起进行对照实验。
实际结果有时会发现,TCN可以用更简单的结构获得与LSTM相当甚至更好的结果。
九、Transformer:能力很强,但并不意味着所有设备都应该使用
Transformer近年来成为时间序列研究中的重要模型。
它最大的特点是Attention,也就是注意力机制。
一个简化的注意力计算可以表示为:
这个公式看起来比较复杂,但它表达的核心思想其实非常简单:
模型自动判断“当前这个时刻,应该重点关注历史上的哪些信息”。
例如设备在第2秒出现了一次振动冲击,第20秒电流发生变化,第35秒温度开始持续上升。
Transformer可以直接学习:
第35秒的异常,与第2秒和第20秒发生的事情是否有关。
这种机制非常适合长时间序列。
十、Transformer真正有优势的场景是什么?
Transformer尤其适合三类情况。
第一类是长时间序列。
例如希望分析设备过去几分钟、几小时甚至更长时间中的关联关系。
第二类是多传感器融合。
例如同时拥有:
振动、电流、温度、压力、转速、流量、声音、负载等几十路信号。
不同信号之间并不是相互独立的。
Transformer可以尝试学习:
振动与转速有什么关系、电流与负载有什么关系、温度变化是否与之前的振动异常有关。
第三类是大规模设备数据平台。
如果企业拥有几百、几千甚至几万台设备,并且积累了多年的运行数据,那么Transformer和自监督预训练的优势会越来越明显。
但是,如果只有:
几百个故障样本、一台设备和几个传感器,
那么Transformer未必优于LightGBM或者CNN。
甚至很可能出现:
模型更加复杂,但实际效果并没有提高。
所以设备故障诊断不能简单地认为:
Transformer > LSTM > CNN > LightGBM。
这种排列并不存在。
十一、Autoencoder:当“正常数据很多、故障数据很少”时尤其重要
工业现场最普遍的数据问题之一是:
正常数据很多,真正的故障数据很少。
一台可靠设备可能连续运行几年,只出现过几次严重故障。
这意味着很难收集足够的数据去训练:
正常、故障A、故障B、故障C……
这种多分类模型。
此时可以先使用Autoencoder,也就是自动编码器。
它的结构可以写成:
其中:
是原始正常数据;
是模型压缩得到的低维特征;
是模型重新构造出来的数据。
训练目标就是让:
也就是:
让模型尽可能把正常数据还原出来。
随后可以计算重构误差:
这里的 就是原始数据和重建数据之间的平均差异。
通俗地说:
正常数据因为模型见过很多,所以通常能够很好地还原,误差比较小;
异常数据的模式模型没有学过,因此通常还原得比较差,误差变大。
于是可以设定:
其中 是异常阈值。
其含义就是:
如果重构误差超过某个阈值,就认为设备状态可能发生异常。
这是一种典型的“只学习正常状态”的异常检测方法。
类似方法还包括Isolation Forest、One-Class SVM、Deep SVDD和Variational Autoencoder等。
十二、工业AI真正困难的地方,往往不是模型,而是故障样本不足
在实验室中,可以人为制造轴承损伤、不平衡、不对中或者齿轮缺陷,因此可以获得大量故障数据。
但真实工厂完全不同。
对于关键设备而言:
严重故障本身就是低概率事件。
这就导致一个非常典型的问题:
正常数据可能有几百万条,而某一种真实故障只有几十次。
因此,一个模型即使在实验室测试集上达到99%的准确率,也不意味着到了真实工厂仍然能够保持同样性能。
更麻烦的是,设备运行工况还会变化:
不同转速、不同负载、不同温度、不同设备型号、不同安装条件,甚至传感器安装位置变化,都可能改变数据分布。
这种现象通常被称为:
Domain Shift,也就是数据域发生了变化。
因此,实际工业项目越来越需要:
迁移学习、领域自适应和自监督学习。
十三、自监督学习可能比“直接上Transformer”更加重要
工业企业真正拥有的大量数据往往是:
没有标签的运行数据。
例如一台设备可能已经连续采集了一年振动数据,但真正经过工程师确认并标注的故障样本非常有限。
如果只采用传统监督学习,大量正常运行数据实际上没有被充分利用。
自监督学习的基本思路是:
先不给数据贴故障标签,而让模型通过其他任务学习设备运行规律。
例如随机遮掉一部分信号:
然后让模型预测被遮挡的那个位置。
这个任务看起来简单,但模型为了预测缺失数据,就必须逐渐理解:
设备正常运行信号内部到底存在什么规律。
完成大量无监督预训练以后,再使用少量有标签故障数据进行微调。
于是形成:
大量无标签数据预训练 → 少量标注数据微调 → 故障识别
这与今天大语言模型的“预训练 + 微调”思想非常相似。
十四、不同AI模型如何比较?
下面给出一个更偏工程应用的综合比较。
| 模型 | 适合的数据 | 小样本能力 | 时间建模 | 原始信号能力 | 可解释性 | 计算量 | 边缘部署 |
|---|---|---|---|---|---|---|---|
| LightGBM | 人工提取特征 | 很强 | 较弱 | 较弱 | 很强 | 很低 | 很适合 |
| XGBoost | 人工提取特征 | 很强 | 较弱 | 较弱 | 很强 | 低 | 很适合 |
| SVM | 中小规模特征 | 很强 | 较弱 | 一般 | 中等 | 低 | 适合 |
| 1D CNN | 振动、电流、声音 | 中等 | 中等 | 很强 | 中等 | 中等 | 很适合 |
| ResNet | 原始时间序列 | 中等 | 中等 | 很强 | 中等 | 中等 | 适合 |
| InceptionTime | 多尺度时间序列 | 中等 | 较强 | 很强 | 中等 | 中等 | 适合 |
| LSTM | 状态演化序列 | 中等 | 很强 | 一般 | 较弱 | 中等 | 一般 |
| CNN-LSTM | 高频信号+过程变化 | 中等 | 很强 | 很强 | 较弱 | 较高 | 一般 |
| TCN | 长时间序列 | 中等 | 很强 | 很强 | 中等 | 中等 | 很适合 |
| Transformer | 大规模多变量序列 | 较弱 | 很强 | 很强 | 较弱 | 高 | 较难 |
| Autoencoder | 正常数据为主 | 很强 | 中等 | 很强 | 中等 | 中等 | 适合 |
这个表并不是理论排名,而是从一般工业设备项目的工程角度进行比较。
十五、什么情况下应该优先选择LightGBM?
如果已经有成熟的信号处理方法,并且数据规模有限,那么优先选择:
LightGBM或XGBoost。
例如系统已经能够提取:
振动RMS、峭度、峰值、频带能量、电流RMS、温度变化率、压力波动等特征。
那么使用LightGBM进行分类往往可以很快建立一个高质量基准模型。
它还有一个非常大的工程优势:
模型效果不好时,很容易分析原因。
如果发现某些特征贡献极低,可以重新设计特征;如果模型过度依赖某个转速参数,也可以及时发现。
因此,LightGBM特别适合项目早期。
十六、什么情况下应该选择CNN?
如果拥有大量原始振动、电流或者声音数据,而且希望减少人工特征工程,那么:
1D CNN / ResNet / InceptionTime
通常应该成为主力模型。
尤其对于轴承、齿轮、电机、泵、风机、压缩机等旋转设备,高频振动信号中的冲击和周期特征非常适合卷积网络提取。
如果时频结构特别重要,则可以进一步考虑:
STFT / 小波变换 + 2D CNN。
十七、什么情况下应该选择LSTM或TCN?
如果故障不是由某一个瞬间决定,而与整个动作过程有关,那么需要加强时间建模能力。
例如:
阀门开启过程、电梯门开闭过程、机械臂一次动作过程、电机启动过程、泵启动到稳定运行过程。
这种情况下推荐比较:
CNN-LSTM和CNN-TCN。
其中CNN负责回答:
当前信号里出现了什么特征?
LSTM或TCN负责回答:
这些特征在整个运行过程中是怎样演变的?
从工业边缘部署角度看,TCN尤其值得重点测试。
十八、什么时候才应该认真考虑Transformer?
如果企业已经进入比较成熟的数据阶段,例如拥有:
大量设备、多种传感器、大量历史运行数据、比较完整的标签体系,并且希望建立跨设备、跨工况的统一模型,
那么Transformer会越来越值得考虑。
更加进一步的方向甚至不是训练一个“故障分类Transformer”,而是建立:
设备运行基础模型。
让模型首先学习大量设备正常与异常运行数据,再针对具体任务进行微调。
这种模式可能逐渐发展成为工业领域的:
Equipment Foundation Model。
但对于只有一台设备、几千个样本的项目,没有必要为了使用Transformer而使用Transformer。
十九、实际工业项目推荐采用“双路线甚至三路线”
如果从产品化和可靠性角度考虑,我更推荐同时保留不同类型模型。
第一条路线是:
人工特征 → LightGBM
它代表工程知识路线。
第二条路线是:
原始信号 → CNN / ResNet / TCN
它代表自动特征学习路线。
如果存在明显的动作周期或者长期状态变化,再增加:
CNN → LSTM / TCN
最后可以融合不同模型的输出。
这种架构的最大意义在于:
人工经验和AI自动学习并不是二选一。
工程人员已经知道的故障机理,可以通过人工特征明确提供给LightGBM;
工程人员尚未发现的复杂波形模式,可以让CNN自动学习。
两者结合,通常比完全依赖一个黑箱模型更加可靠。
二十、评价模型时,Accuracy远远不够
假设一个设备10000次运行中只有100次真正故障。
如果模型把所有数据都预测成“正常”,那么准确率仍然可以达到:
但这个模型实际上一个故障都没有识别出来。
因此,在设备故障识别中,单看Accuracy非常危险。
更加应该关注Recall,也就是故障召回率:
其中, 表示正确识别出的故障数量, 表示实际发生了故障但模型没有发现的数量。
通俗地说:
真正发生的100次故障,模型到底找出了多少次?
还需要关注Precision:
其中 是模型误报的故障。
它回答的是:
模型报告100次故障,其中到底有多少次真的发生了故障?
工业系统尤其需要同时关注两类错误:
漏报和误报。
漏报可能导致设备损坏;
误报过多则可能导致人员逐渐不再相信系统。
所以一个真正成熟的模型评估体系,还应该同时比较F1、误报率、漏报率、推理时间、模型大小以及跨工况和跨设备泛化能力。
二十一、工程上推荐的模型演进路线
如果一个设备智能诊断项目从零开始,我更建议采用下面的技术路线:
第一阶段:LightGBM建立基线。
先利用已有工程知识完成特征提取,然后使用LightGBM验证:
数据本身到底能不能区分这些故障?
如果LightGBM都只有60%的准确率,就不应该立即认为换成Transformer可以解决问题。首先应该检查传感器、数据质量、故障定义和样本标签。
第二阶段:引入CNN自动学习原始信号。
建立:
1D CNN、ResNet或者InceptionTime。
然后比较:
人工特征模型 vs 原始信号模型。
只有当深度模型真正带来稳定提升时,复杂度增加才是值得的。
第三阶段:增加时间建模。
如果设备存在完整运行周期,可以进一步测试:
CNN-LSTM和CNN-TCN。
第四阶段:解决数据稀缺和跨工况问题。
引入:
Autoencoder、自监督学习、迁移学习和Domain Adaptation。
第五阶段:Transformer和设备基础模型。
只有当数据规模、多设备规模和任务复杂度真正达到一定水平之后,再考虑建设大型统一时序模型。
二十二、最终建议:设备故障识别不应“唯模型论”
如果必须给出一个比较明确的模型选择建议,那么可以概括为:
LightGBM是最值得建立的工程Baseline;CNN仍然是振动、电流、声音等原始信号故障识别的主力模型;LSTM适合描述设备状态随时间的发展过程;TCN在很多工业时间序列任务中具有很高的性能与计算效率平衡;Transformer更加适合大规模、多传感器、长时间序列和预训练场景;Autoencoder则特别适合“正常数据很多、故障数据很少”的工业现实。
因此,对于多数设备故障识别项目,第一轮真正值得进行的模型对照实验不是:
CNN vs LSTM vs Transformer,谁最先进?
而应该是:
LightGBM vs 1D CNN / ResNet vs CNN-TCN。
如果设备具有明显的连续运行过程,再增加CNN-LSTM。
如果只有大量正常数据,则同时增加Autoencoder异常检测路线。
如果未来积累了大量多设备、多工况、长周期运行数据,再进一步进入Transformer、自监督学习和设备基础模型。
归根到底,设备故障识别真正决定效果的,往往并不是模型名字,而是:
传感器是否采到了真正反映故障的信息、数据是否覆盖真实工况、故障标签是否可靠、训练集与现场数据是否存在分布差异,以及模型在半年、一年以后还能不能保持稳定效果。
因此,工业AI模型选型的核心原则可以概括成一句话:
先用简单模型证明数据有效,再用深度模型减少人工特征;先解决跨工况泛化,再考虑更大的模型。
这通常比一开始直接采用Transformer,更符合设备故障诊断的工程规律。