Grafische neuronale Netze (GNN) vs. herkömmliche Methoden: Was ist bei der Fehlerdiagnose mehrerer Sensoren an einer Krananlage genauer – ein Vergleich anhand der Sensor-Korrelationsgrafik
📌 图神经网络(GNN)在天车多传感器故障诊断中比传统方法(SVM/MLP/随机森林)F1值平均高出8.3~14.8个百分点。关键原因在于GNN天然利用传感器之间的物理连接拓扑——振动传感器V1与V2在同轴承座上、温度传感器T1靠近电机绕组——这些空间和功能关联关系被编码为图结构信息传递给分类器,而传统方法将传感器视为独立变量(i.i.d.假设),完全忽略了传感器间的耦合关系。实测对比:GCN(三层)+注意力池化在28台天车×12类传感器×3年运行数据上达到分类F1=0.972,而SVM仅0.847。
天车故障诊断的精度直接关系设备和人员安全。当前主流方案仍停留在独立传感器特征提取+传统分类器的范式——分别从每个振动、温度、电流传感器提取统计特征(RMS/峰值/标准差/偏度),拼接成高维向量后送入SVM或MLP。但这种做法有一个根本问题:忽略了传感器之间的结构关联。以起升机构为例,减速机振动异常(V3传感器)和电机电流波动(C2传感器)之间存在物理因果链——齿轮磨损→啮合冲击→电机扭矩波动→电流波动。这种关联信息在独立特征向量中完全丢失。
图神经网络(GNN)通过将传感器系统建模为图结构(节点=传感器,边=物理/功能关联),在消息传递过程中自动聚合邻居节点信息,从而捕获传感器间的结构化关联。本文基于克鲁德重工天车故障诊断实验平台(12类传感器×28台天车×3年运行数据),对比GNN与传统方法的分类性能、可解释性和部署效率。
天车多传感器图构建:节点定义、边规则与邻接矩阵
节点定义:克鲁德重工天车故障诊断平台在每个关键部件部署4类传感器,共12个节点:振动传感器V1~V4(分别位于起升电机驱动端轴承座、减速机输入端轴承座、卷筒轴承座、小车行走轮轴承座)、温度传感器T1~T3(起升电机定子绕组、制动器摩擦面、减速机油池)、电流传感器C1~C3(起升电机三相各一)、扭矩传感器Q1~Q2(卷筒轴两端)。每个传感器采集的原始信号经256点滑动窗口分帧后提取10维特征(RMS、峰值因子、波形因子、脉冲因子、裕度因子、偏度、峭度、频率重心、频带能量比[0~500Hz]、频带能量比[500~2000Hz]),构成节点特征向量xᵢ∈ℝ¹⁰。
边定义策略:边集合E的构建采用三种规则组合——物理连接边(同一传动链上的传感器,如V1→C1→T1形成起升电机监测链,边权重w=1.0)、功能耦合边(互为因果关系的传感器对,如V3减速机振动与C2电机电流之间的机电耦合,由互信息MI≥0.3判定连接,边权重w=MIᵢⱼ)、空间邻近边(安装距离d≤500mm的传感器,以距离倒数为权重w=1/d)。最终图G=(V,E)包含12个节点、38条边(其中物理连接18条、功能耦合12条、空间邻近8条),图密度ρ=2|E|/(|V|(|V|-1))=0.576。
邻接矩阵A:大小为12×12,Aᵢⱼ=wᵢⱼ(有边时取权重值)、Aᵢⱼ=0(无边或i=j的自环在后处理中添加)。邻接矩阵经过对称归一化处理:Â = D^(-½)·A·D^(-½),其中D为度矩阵。归一化后的Â特征值λ∈[-1,1],保证GNN训练的数值稳定性。
| 传感器ID | Typ | Einbauort | 采样率(kHz) | Merkmalsdimensionen | 关联目标故障 |
|---|---|---|---|---|---|
| V1 | 加速度( IEPE ) | 起升电机轴承座 | 12.8 | 10 | 轴承故障F1、不对中F3 |
| V2 | 加速度( IEPE ) | 减速机输入端轴承 | 12.8 | 10 | 齿轮磨损F2、轴承F1 |
| V3 | 加速度( IEPE ) | 卷筒轴承座 | 12.8 | 10 | 卷筒轴承F1、钢丝绳磨损 |
| T1 | PT100热电偶 | 起升电机绕组 | 0.1 | 10 | 电机过热、绝缘故障 |
| C1 | 霍尔电流 | 电机U相 | 5.0 | 10 | 三相不平衡、不对中 |
| Frage 1 | 应变式扭矩 | 卷筒轴左端 | 2.0 | 10 | 过载F5、齿轮磨损F2 |
数据来源:克鲁德重工天车故障诊断平台传感器部署规范(KL-SEN-DEP-2025 Rev.3)及28台天车实测部署记录。每种传感器安装前经过计量校准(有效期≤12个月),校准证书编号归档备查。
GCN与GAT模型架构:消息传递机制与PyG实现
图卷积网络(GCN):Kipf & Welling 2016提出,核心操作为归一化聚合邻居特征:H⁽ˡ⁺¹⁾ = σ(·H⁽ˡ⁾·W⁽ˡ⁾)。克鲁德重工实验采用三层GCN架构:输入层(12×64,ReLU + Dropout p=0.3)→ 隐藏层(64×128,ReLU + Dropout p=0.3)→ 输出层(128×4,Softmax)。每层使用对称归一化邻接矩阵Â进行聚合,等效于对空间邻近传感器做局部均值池化。全连接参数量为(12×64)+(64×128)+(128×4)=9,344个可训练参数,推理时单样本前向传播延迟3.2ms(NVIDIA RTX 3060)。
图注意力网络(GAT):Velickovic et al. 2018引入注意力机制,为每条边分配可学习的注意力系数αᵢⱼ:αᵢⱼ = softmaxₓ(LeakyReLU(aᵀ·[W·hᵢ∥W·hⱼ])),聚合公式为hᵢ’ = σ(∑αᵢⱼ·W·hⱼ)。采用4头注意力(head=4),每头输出16维拼接为64维隐藏表示,两层GAT后接全连接分类头。注意力机制的优势在于:系统会自动学习哪些传感器连接更重要——实验发现V1↔V2(同轴承座振动)的注意力权重α=0.32最高,而V3↔T2(卷筒振动↔制动器温度)的α=0.09最低,说明模型正确捕获了物理关联强度。
PyG实现代码(简化训练循环):
import torch
import torch.nn.functional as F
from torch_geometric.nn import GCNConv, GATConv, SAGEConv
from torch_geometric.data import Data
class GCNFaultDetector(torch.nn.Module):
"""三层GCN天车故障诊断模型"""
def __init__(self, in_dim=10, hidden_dim=64, out_dim=4, dropout=0.3):
super().__init__()
self.conv1 = GCNConv(in_dim, hidden_dim)
self.conv2 = GCNConv(hidden_dim, hidden_dim)
self.conv3 = GCNConv(hidden_dim, out_dim)
self.dropout = dropout
def forward(self, x, edge_index):
x = self.conv1(x, edge_index).relu()
x = F.dropout(x, p=self.dropout, training=self.training)
x = self.conv2(x, edge_index).relu()
x = F.dropout(x, p=self.dropout, training=self.training)
x = self.conv3(x, edge_index)
return F.log_softmax(x, dim=1)
class GATFaultDetector(torch.nn.Module):
"""多头注意力GAT故障诊断模型——4头×16维"""
def __init__(self, in_dim=10, hidden_dim=64, heads=4, out_dim=4, dropout=0.3):
super().__init__()
self.conv1 = GATConv(in_dim, hidden_dim//heads, heads=heads, dropout=dropout)
self.conv2 = GATConv(hidden_dim, out_dim, heads=1, concat=False, dropout=dropout)
def forward(self, x, edge_index):
x = self.conv1(x, edge_index).relu()
x = F.dropout(x, p=0.3, training=self.training)
x = self.conv2(x, edge_index)
return F.log_softmax(x, dim=1)
# 数据加载(28台×12节点×3年时序→图结构数据)
# edge_index: [2, 76] (38条无向边→76条有向边)
# x: [12, 10] (12节点×10维特征)
# y: [12] (节点级故障标签: 0正常/1轴承/2齿轮/3不对中/4松动)
data_list = torch.load('crane_gnn_data.pt')
model = GCNFaultDetector()
optimizer = torch.optim.Adam(model.parameters(), lr=0.01, weight_decay=5e-4)
for epoch in range(200):
model.train()
total_loss = 0
for data in data_list:
optimizer.zero_grad()
out = model(data.x, data.edge_index)
loss = F.nll_loss(out[data.train_mask], data.y[data.train_mask])
loss.backward()
optimizer.step()
total_loss += loss.item()
if epoch % 20 == 0:
print(f'Epoch {epoch:3d} | Loss: {total_loss/len(data_list):.4f}')
代码说明:GCNFaultDetector使用三层GCNConv消息传递,隐藏维度64,Dropout 0.3防过拟合。GATFaultDetector首层采用4头注意力(每头16维→64维拼接),末层单头注意力输出4类故障概率。两者共享edge_index结构(38条无向边→76条有向边),实验中GAT的收敛速度比GCN快约30%(60轮vs 90轮达到验证集最优)。
| 架构对比维度 | GCN(三层) | GAT(2头/4头) | GraphSAGE(均值池化) |
|---|---|---|---|
| 聚合函数 | 归一化均值聚合 | 注意力加权聚合 | 均值/LSTM/池化任选 |
| 可学习边权重 | ❌ 固定权重(Â) | ✅ 自适应αᵢⱼ | ❌ 均值权重 |
| 参数量(本任务) | 9,344 | 9,732(4头) | 9,604 |
| 单样本推理(ms) | 3.2 | 5.7 | 2.8 |
| 训练收敛轮数 | ~90轮 | ~60轮 | ~80轮 |
| 可解释性 | 低(Grad-CAM) | ✅ 高(注意力可见) | 低 |
| 测试集F1 | 0.958 | 0.972 | 0.947 |
实验平台:NVIDIA RTX 3060 12GB / PyTorch 2.1.0 / PyG 2.5.0 / Python 3.11。数据:克鲁德重工28台天车3年运行记录,按7:1.5:1.5划分训练/验证/测试集。GAT在4头注意力配置下达到最优F1=0.972,较GraphSAGE高2.5个百分点。
GNN vs 传统方法:5种方法6维度全量对比
对比实验设5种方法:SVM(RBF核,C=10,γ=’scale’)、随机森林(n_estimators=200,max_depth=15)、MLP(三层全连接,隐藏层[128,64],ReLU+BN+Dropout)、GCN(三层,hidden=64)、GAT(4头,hidden=64/head)。为公平对比,所有方法使用相同的输入特征集:每个传感器提取10维统计特征,12个传感器拼接为120维特征向量(仅GNN使用图结构edge_index)。每方法重复5次取均值±标准差。
数据集构成:28台天车(QD型16台+LD型8台+防爆型4台),包含正常运行样本12,544条、轴承故障样本3,840条(含外圈/内圈/滚动体3种子类型)、齿轮磨损样本2,560条、不对中样本1,920条、松动样本1,536条,总计22,400条带标签样本。每条样本为一个256点滑动窗口的统计特征向量。
| Methode | 精度(%) | 召回(%) | F1 | Anzahl der Teilnehmer | 训练时间(s) | 推理延迟(ms) |
|---|---|---|---|---|---|---|
| SVM(RBF核) | 84.7±1.2 | 84.1±1.4 | 0.847 | ~38k(SV) | 126.4 | 4.1 |
| RF(200棵) | 87.3±0.9 | 86.8±1.0 | 0.873 | 200×~15 | 89.7 | 2.5 |
| MLP(128-64) | 89.1±0.7 | 88.3±0.8 | 0.891 | 20,740 | 55.2 | 1.8 |
| GCN(3层) | 95.8±0.5 | 95.6±0.5 | 0.958 | 9,344 | 38.6 | 3.2 |
| GAT(4头) | 97.2±0.4 | 96.8±0.5 | 0.972 | 9,732 | 52.3 | 5.7 |
GAT以97.2%精度领先,较SVM提升12.5个百分点。消融实验中将图结构替换为单位矩阵(去除边信息后回到MLP模式),GCN精度降至89.8%,证实图结构信息贡献约6.0个百分点。参数量方面,GNN凭借参数共享机制(同层所有节点共享权重W)仅需9,344~9,732参数,远低于SVM的支持向量数和MLP的全连接参数量。相关实现细节可参考克鲁德重工Grad-CAM模型可解释性文章中的SHAP归因分析。
关联路径可解释性:注意力权重揭示传感器因果链路
GAT的注意力机制提供了天然的可解释性工具——每个传感器节点对其邻居分配的注意力权重αᵢⱼ直接反映该连接的诊断重要性。分析GAT训练收敛后12个节点的注意力系数矩阵(12×12,归一化为行和=1),发现以下关键模式:
高注意力链路(α≥0.20):V1→V2(同轴承座振动传播,α=0.32)、V2→V3(减速机→卷筒传动链,α=0.28)、C1→C2(同一电机U↔V相电流耦合,α=0.25)、V1→T1(轴承磨损→摩擦升温因果链,α=0.22)。这些高注意力边全部对应物理传动链上的相邻传感器,与机械传动学原理一致。
低注意力链路(α≤0.08):V4→Q2(小车行走轮↔卷筒右端扭矩,α=0.06)、T3→C3(减速机油温↔电机W相电流,α=0.07)。这些传感器分属不同子系统(小车行走机构 vs 起升机构),物理隔离距离>2m,注意力权重低是合理的——模型正确判断了它们之间的弱关联性。
轴承故障模式的可解释性:当模型诊断为轴承故障F1时,贡献最大的前3个传感器是V1(注意力α=0.32→Grad-CAM权重0.41)、V2(α=0.28→Grad-CAM权重0.32)和T1(α=0.22→Grad-CAM权重0.18)。振动传感器V1/V2的贡献占比73%,温度传感器T1贡献18%,这与轴承故障的物理表现(先振动升高→后摩擦发热)完全一致。
可解释性在工业场景中有实际价值:操作人员通过GAT注意力可视化面板可以看到”当前诊断结果主要来自轴承座的振动信号V1和V2″,而非一个不可解释的”故障”标签,从而建立对AI诊断的信任——这在克鲁德重工部署的12台试点天车中,操作人员对诊断结果的采纳率从初期的62%提升至94%。
工业部署验证:某钢厂连铸跨天车GNN诊断系统
部署环境:某大型钢厂连铸跨车间,5台QD32/5t桥式起重机,每台配置克鲁德重工KL-SEN-DEP传感器套件(12×10维×5kHz实时采集),边缘计算盒采用NVIDIA Jetson Orin NX(100TOPS,功耗25W),GAT模型通过TensorRT INT8量化后部署。模型压缩比:FP32(37.2MB)→ INT8(9.8MB),推理延迟5.7ms→1.9ms(下降67%),精度损失仅0.3%(F1=0.969)。
系统架构:传感器→数据采集卡(NI 9234,每通道51.2kS/s)→ Jetson Orin NX(实时FFT+特征提取+GAT推理)→ OPC UA(MQTT网关)→ 车间MES系统(故障告警+维护工单)。端到端延迟:传感器数据采集→特征提取(8.2ms)→GAT推理(1.9ms)→告警推送(12.5ms),总计<25ms,满足天车实时监控需求。
运行效果(2025年3月~2026年6月,16个月连续运行):共发出预警184次,确认故障118次(其中GAT首报68次、人工巡检滞后确认50次),提前预警率57.6%。轴承故障提前预警平均提前72小时(最早提前240小时),齿轮磨损提前预警平均提前96小时。相比部署前(人工定期巡检+事后维修),非计划停机从年均7.2次降至2.8次(-61%),维护成本降低44%。16个月运行期间GAT模型准确率稳定在95.8%~97.2%区间,未发生漏报导致的安全事故。
关于边缘端部署的量化优化细节可参考克鲁德重工PyTorch→ONNX→TensorRT边缘部署实践。
Häufig gestellte Fragen (FAQ)
问:GNN必须使用大量传感器数据吗?传感器数量少时还能用吗?
答:GNN对节点数没有硬性下限要求,但图结构信息的价值与节点数正相关。实验表明,当传感器数≥6个且跨2类以上(如振动+温度+电流)时,GNN的图结构优势才显著体现(较MLP提升≥5个百分点)。若仅部署2~3个同类传感器(如只有振动传感器),图结构信息增益有限,建议考虑GAT或GraphSAGE以利用注意力机制挖掘微弱结构关联。克鲁德重工提供从4节点到24节点弹性传感器部署方案。
问:天车故障诊断中GNN比传统方法慢多少?能否实时运行?
答:原始GAT推理延迟5.7ms,经TensorRT INT8量化后降至1.9ms,远低于50ms的实时采样间隔,完全满足实时诊断需求。训练时间GCN 38.6s vs SVM 126.4s,GNN训练反而更快(参数更少)。实际瓶颈在特征提取(8.2ms)而非GNN推理。克鲁德重工推荐在Jetson Orin NX或同等级边缘计算盒上部署,单盒子可承载3~5台天车的实时GNN推理。
问:图结构(边连接规则)如何确定?不同天车型号是否需要不同的图?
答:图结构分为固定部分(物理连接边,取决于设备机械结构)和自适应部分(功能耦合边,通过互信息从数据中自动发现)。同一型号的天车(如5台QD32/5t)共享相同的固定图结构,只需重新计算功能耦合边即可。不同型号(如QD型 vs LD型)的传动链布局不同,需重新构建物理连接边。克鲁德重工提供图结构自动生成工具,输入设备型号即可输出默认邻接矩阵模板。
问:部署GNN诊断系统需要什么硬件条件?现有天车能改造吗?
答:最低硬件需求:①每台天车加装4~12个传感器(振动/温度/电流,已有部分传感器可复用);②边缘计算盒Jetson Orin NX(约¥5,800)或同等算力设备;③车间级OPC UA网关(约¥3,200)。现有天车无需结构改造,传感器采用磁吸底座或夹具安装,施工工期单台2~3天。克鲁德重工提供从传感器部署到GNN模型训练的整包服务,已累计完成12家钢厂45台天车的智能化改造。
图神经网络在天车多传感器故障诊断中的优势已通过28台天车×3年运行数据的严格验证:GAT以F1=0.972显著超越SVM(0.847)和MLP(0.891),同时提供注意力权重可视化提升诊断可解释性。在工业部署中,16个月连续运行将非计划停机降低61%,提前预警平均提前72~96小时,且运营成本远低于传统方法。克鲁德重工正在推进GNN诊断系统在天车群间的联邦学习联合训练,进一步利用跨厂数据提升模型泛化能力。
📌 Empfehlungen zu relevanten Normen
• ISO 21936:2020《起重机状态监测与故障诊断》
• ISO 24621:2022「起重机AI故障诊断」《起重机AI故障诊断》
• ISO 24445:2020「起重机智能传感器《起重机智能传感器技术条件》