核心内容摘要
泪眼婆娑的露娜:纯真与炼狱的蚀骨相遇
算法特点将旋转机械系统建模为图结构传感器作为节点物理连接作为边通过图神经网络显式建模传感器间的物理相互作用采用混合负载训练策略在训练时融合多种工况数据使模型学习负载不变特征显著提升对未知工况的适应能力设计LSTMGAT的时空双流架构LSTM捕获时间演化模式GAT建模空间关联关系实现时空特征联合优化算法步骤信号预处理原始振动信号分窗1024点窗口50%重叠混合负载数据标准化0,1,2 HP训练3 HP测试特征自动提取时域特征均值、RMS、偏度、峰度等6维统计量频域特征FFT能量谱5个频带均值形成11维融合特征向量图结构构建节点DE和FE两个物理传感器边传感器间的物理连接可通过相关性加权重节点特征11维特征向量时空联合学习LSTM层学习每个传感器信号的时间演化模式GAT层通过注意力机制融合双传感器信息建模物理耦合故障分类决策全局池化获得图级表示全连接层输出4类故障概率交叉熵损失优化端到端# 时空图神经网络融合模型 class FusionGraphNet(torch.nn.Module): 时空图神经网络融合模型 - 核心创新架构 def __init__(self, num_nodes, feature_dim, rnn_hidden, gnn_hidden, num_classes, dropout_rate, heads
: super(FusionGraphNet, self).__init__() self.num_nodes num_nodes # 传感器节点数DE和FE两个 self.feature_dim feature_dim # 输入特征维度11维特征 self.rnn_hidden rnn_hidden # LSTM隐藏层大小 self.gnn_heads heads # 图注意力头数 self.gnn_out_dim gnn_hidden * self.gnn_heads #
输入归一化层 - 稳定特征分布 self.input_bn BatchNorm1d(num_nodes) #
时域特征提取模块LSTM - 捕获时间依赖性 self.temporal_extractor LSTM( input_sizeself.feature_dim, hidden_sizernn_hidden, num_layers1, batch_firstTrue ) self.temporal_dropout Dropout(dropout_rate) #
空域特征融合模块GAT - 物理关系建模 # 关键创新使用图注意力机制显式建模传感器间的物理连接 self.spatial_fusion GATConv( in_channelsrnn_hidden, out_channelsgnn_hidden, headsself.gnn_heads, concatTrue, edge_dim1 # 支持边权重输入 ) self.spatial_bn BatchNorm1d(self.gnn_out_dim) self.spatial_dropout Dropout(dropout_rate) #
分类器 - 故障类型识别 self.classifier Linear(self.gnn_out_dim, num_classes) def forward(self, data): 前向传播过程时空特征联合学习 # 提取图数据要素 x, edge_index, batch, edge_weight data.x, data.edge_index, data.batch, data.edge_weight batch_size data.num_graphs # 阶段1输入特征归一化 x_reshaped x.view(batch_size, self.num_nodes, self.feature_dim) x_norm self.input_bn(x_reshaped) # 阶段2时域特征学习每个传感器独立 x_norm_flat x_norm.view(-1, self.feature_dim) x_temporal x_norm_flat.unsqueeze(
# 增加序列维度 _, (h_n, _) self.temporal_extractor(x_temporal) x_spatial_input h_n.squeeze(
x_spatial_input self.temporal_dropout(x_spatial_input) # 阶段3空域特征融合传感器间交互 # 关键创新点利用图注意力机制融合双传感器信息 x_spatial self.spatial_fusion(x_spatial_input, edge_index, edge_attredge_weight) x_spatial self.spatial_bn(x_spatial) x_spatial F.relu(x_spatial) x_spatial self.spatial_dropout(x_spatial) # 阶段4图级特征池化与分类 x_graph global_mean_pool(x_spatial, batch) out self.classifier(x_graph) return F.log_softmax(out, dim
# 输出故障概率分布参考文章FusionGraphNet-Pro基于时空图神经网络的工业设备故障诊断Python - 哥廷根数学学派的文章https://zhuanlan.zhihu.com/p/2000833977028739150工学博士担任《Mechanical System and Signal Processing》审稿专家担任《中国电机工程学报》优秀审稿专家《控制与决策》《系统工程与电子技术》《电力系统保护与控制》《宇航学报》等EI期刊审稿专家。
擅长领域现代信号处理机器学习深度学习数字孪生时间序列分析设备缺陷检测、设备异常检测、设备智能故障诊断与健康管理PHM等。