当前位置: 首页 > article >正文

第五十九周周报 IAGNN

文章目录

  • week 59 IAGNN
  • 摘要
  • Abstract
  • 一、大数据相关
    • 1. 磁盘扩容以及数据恢复
    • 2. 单机hbase
  • 二、文献阅读
    • 1. 题目
    • 2. Abstract
    • 3. 网络结构
      • 3.1 问题定义
      • 3.2 IAGNN
    • 4. 文献解读
      • 4.1 Introduction
      • 4.2 创新点
      • 4.3 实验过程
      • 4.4 实验结果
    • 5. 结论
      • 参考文献

week 59 IAGNN

摘要

本周阅读了题为Interaction-Aware Graph Neural Networks for Fault Diagnosis of Complex Industrial Processes的论文。该文提出了一种考虑传感器网络中多重交互的 IAGNN 模型,并将复杂工业的故障诊断问题转化为图分类任务。 IAGNN 通过注意力机制学习不同表示空间中节点之间的复杂交互,并引入独立的 GNN 块来提取基于交互的子图表示,并通过聚合模块融合它们以反映故障特征。 TFF 和 PS 数据集上的经验表明,所提出的 IAGNN 在每个故障类别上都取得了优异的结果。此外,还研究了自适应学习图的有效性以及边缘类型数量、GNN 块的深度、隐藏单元维度和 IAGNN-AT 聚合函数的嵌入维度的参数敏感性。

Abstract

This week’s weekly newspaper decodes the paper entitled Interaction-Aware Graph Neural Networks for Fault Diagnosis of Complex Industrial Processes. This paper proposes an IAGNN model that considers multiple interactions in sensor networks and transforms the fault diagnosis problem in complex industries into a graph classification task. IAGNN learns the complex interactions between nodes in different representation spaces through an attention mechanism and introduces independent GNN blocks to extract subgraph representations based on these interactions, which are then fused through an aggregation module to reflect fault characteristics. Empirical results on the TFF and PS datasets demonstrate that the proposed IAGNN achieves outstanding results for each fault category. Additionally, the study investigates the effectiveness of adaptive learning graphs and the parameter sensitivity of the number of edge types, the depth of GNN blocks, the dimension of hidden units, and the embedding dimension of the IAGNN-AT aggregation function.

一、大数据相关

1. 磁盘扩容以及数据恢复

  1. 在配置hbase,磁盘空间已满导致虚拟机无法启动,重新配置虚拟机

  2. 尝试扩容磁盘但无效

  3. 将原vmdk删除

    1. 先写在目录sudo umount /dev/shm
    2. 删除目录本身sudo rmdir /dev/shm(慎重)
      • 存储一些设备文件。这个目录中的文件都是保存在内存中,而不是磁盘上。其大小是非固定的,即不是预先分配好的内存来存储的。
    3. 验证df -hT | grep /dev/shm
    4. 重新挂载sudo mount -t tmpfs -o defaults none /dev/shm
  4. 按照剩余容量扩容

    1. sudo lvextend -L +<size> /dev/mapper/ubuntu--vg-ubuntu--lv
  5. 如果还是无效,那么可以调整文件系统的大小以利用新增的空间

    1. sudo resize2fs /dev/mapper/ubuntu--vg-ubuntu--lv
  6. 数据恢复:由于各机器内容大致相同,因此采用克隆方式进行,以下主要记录克隆后操作

  7. 使用vmware,右键点击完全克隆

  8. 配置静态ip

    1. cd /etc/netplan
    2. sudo vim xxx.yaml
    3. 将ip修改为172.16.227.130
    4. source netplan
  9. 配置主机名

    1. (临时)sudo hostnamectl set-hostname new_hostname
    2. (永久)sudo nano /etc/hostname
    3. 更新ip中的代称sudo nano /etc/hosts,修改本机即可
  10. 修改zookeeper的workid

    1. cd /usr/local/zookeeper/zkdata
    2. sudo vim workid

主从节点允许的最大时间误差

2. 单机hbase

这部分不基于zookeeper部署,仅使用hbase自带的zookeeper;后续完全分布式部署时,使用zookeeper

  1. 下载hbase基于清华镜像

    • tar -zxvf hbase-2.4.18-bin.tar.gz
      sudo mv -i hbase-2.4.18 hbase
      
  2. 设置环境变量

    • sudo vim ~/.bashrc
      export HBASE_HOME=/path/to/hbase
      export PATH=$PATH:$HBASE_HOME/bin
      source ~/.bashrc
      
  3. 配置hbase

    • <configuration>
        <property>
          <name>hbase.rootdir</name>
          <value>hdfs://localhost:9000/hbase</value>
        </property>
        <!--zookeeper数据路径:注意创建目录-->
        <property>
          <name>hbase.zookeeper.property.dataDir</name>
          <value>/path/to/hbase/zookeeper</value>
        </property>
        <property>
          <name>hbase.zookeeper.quorum</name>
          <value>localhost</value>
        </property>
        <property>
          <name>hbase.cluster.distributed</name>
          <value>false</value>
        </property>
      </configuration>
      
  4. 创建存储目录mkdir -p /path/to/hbase/zookeeper

  5. 格式化hbase

    • cd $HBASE_HOME/bin
      ./hbase-daemon.sh format
      
  6. 启动hbasestart-hbase.sh

二、文献阅读

1. 题目

标题:Interaction-Aware Graph Neural Networks for Fault Diagnosis of Complex Industrial Processes

作者:Dongyue Chen , Ruonan Liu , Qinghua Hu, and Steven X. Ding

发布:IEEE TRANSACTIONS ON NEURAL NETWORKS AND LEARNING SYSTEMS, VOL. 34, NO. 9, SEPTEMBER 2023

链接:https://doi.org/10.1109/TNNLS.2021.3132376

代码链接:https://github.com/strawhatboy/IAGNN

2. Abstract

考虑到工业过程中传感器信号及其相互作用可以以节点和边的形式表示为图,该文提出了一种用于复杂工业过程故障诊断的新型交互感知和数据融合方法,称为交互感知图神经网络(IAGNN)。首先,为了描述工业过程中的复杂交互,传感器信号被转换为具有多种边缘类型的异构图,并且通过注意力机制自适应地学习边缘权重。然后,采用多个独立的图神经网络(GNN)块来提取具有一种边缘类型的每个子图的故障特征。最后,每个子图特征通过加权求和函数连接或融合以生成最终的图嵌入。因此,所提出的方法可以学习传感器信号之间的多重交互,并通过 GNN 的消息传递操作从每个子图中提取故障特征。最终的故障特征包含来自原始数据的信息和传感器信号之间的隐式交互。三相流设施和电力系统(PS)的实验结果证明了所提出的复杂工业过程故障诊断方法的可靠和优越性能。

3. 网络结构

image-20240715184644464

3.1 问题定义

image-20240715185817142

多元传感器信号被转换为图结构数据,图1显示了图构建过程的示例。

  • 从工业过程中收集的多变量传感器信号将被分割成多个片段并形成 FC 图,图中每条边都有可学习的关系分数 e。
  • 之后,FC图被导入交互感知层以学习与特征提取器联合训练的参数化关系分数。
  • 最后,删除关系分数为零的边以获得稀疏图结构,这有利于GNN的训练效率和区分不同故障图的拓扑。
  1. 时间序列段:多个传感器的读数形成 n 个原始测量变量,这些长度为 t 的时间序列可以表示为 s i = ( s i 1 , . . . , s i t ) ∈ S s_i = (s^1_i , ... , s^t_i) ∈ S si=(si1,...,sit)S。时间序列可以被分割为段 ω j = ( s i t , . . . , s i t − m + 1 ) ∈ Ω ω_j = (s^t_i , ... , s^{t−m+1}_i)\in \Omega ωj=(sit,...,sitm+1)Ω 通过大小为 m 的滑动窗口。窗口大小m根据时间序列的平稳性确定。由于传感器信号的短期平稳性,时间序列段作为输入来对图结构进行建模。
  2. 图:图被定义为 G = (V, E),顶点 v i ∈ V v_i ∈ V viV,边 e i , j ∈ E e_{i, j} ∈ E ei,jE,其中节点和边都可以具有属性,记为 X ∈ R n × d n \mathbf X ∈ \mathbb R^{n×d_n} XRn×dn X e ∈ R c × d c \mathbf X^e ∈ \mathbb R^{c×d_c} XeRc×dc ,分别。采用邻接矩阵 A ∈ R n × n \mathbf A ∈ \mathbb R^{n×n} ARn×n 记录 G 的拓扑结构。假设变量之间存在多种交互关系,将多元时间序列转换为图。本文将传感器网络设计为异构图 G = ( V , E , R E ) G=(V,E,R_E) G=(V,E,RE),其中 R E R_E RE表示边类型的集合,仅考虑一种类型的节点。将每个时间序列段 ω j ω_j ωj 的属性作为图中每个节点的特征向量 x j x_j xj 。值得注意的是,边缘属性 X e \mathbf X_e Xe是通过学习获得的。

GNN 将图 G 作为输入,其中节点和边分别与特征向量 xi 和 xe (i, j) 相关联。 L 层 GNN 中的消息传递操作有两个基本阶段:消息聚合和节点嵌入更新,可以定义如下:

image-20240715190149810

消息函数fmeassage和更新函数fupdate是参数函数并且分别在所有节点之间共享。每个节点嵌入包含来自其相邻节点的信息。

读出函数为
h G = f r e a d o u t ( { h i L ∣ v ∈ G } ) (3) h_G=f_{readout}(\{h_i^L|v\in G\}) \tag{3} hG=freadout({hiLvG})(3)
读出函数freadout可以是简单的排列不变函数,例如均值函数、求和函数等。

3.2 IAGNN

该框架是一个端到端的有监督的GNN模型,由三个基本部分组成并联合训练:

  1. 学习节点之间的成对关系,自动构建异构图;
  2. 针对异构图的不同边类型利用独立的GNN来获得统一的节点表示;
  3. 通过读出节点嵌入来获得图表示并对各种故障进行分类。

多层交互感知层

多层交互感知层实际上是一种构图方法。纵观全文,最重要的部分就是多层交互感知层,它为后面的GNN输入提供了初始数据——传感器异质图。具体做法如下:

  1. 基于传感器信号的平稳不变性,可以通过滑动窗口将多传感器信号截取成时间序列,滑动窗口大小基于信号的平稳性。所得时间序列,用于作为传感器异质图中的节点。

  2. 将(1)中所得节点,构成全连接图。

  3. 将全连接图输入至多层交互感知层中,进行边的筛减。多层交互感知层,是由注意力机制和特定的筛选函数Sparsemax组成的。

    1. 首先,各个全连接图中各节点之间使用注意力机制计算,得到连边的分数。

    2. 再通过筛选函数将低于一定分数阈值的边断开,从而形成第一种边类型的子图。以此类推,得到第二种边类型子图、第三种边类型子图等。

      这种多视角的方法,是比较常见的,在Graph Transformer Network 中也有相似的处理。多视角是为了得到多种情况下的关联。

      此处为超参,这里作者做了相关实验,多层交互感知层的层数控制在3-5层效果较好。

  4. 多层交互感知层最终得到的是多种边类型的子图。

因为这是一种自适应的构图方法,边是自动取筛选的。这也是性能提升的关键,因为对于复杂工程的故障诊断而言,故障是牵涉到多个传感器数据之间的相互作用的,简单的依靠先验知识构图,存在粒度不够,对于某些相似故障的区分度不够。全连接图冗余边信息过多,极大的影响了模型性能。KNN(K-nearest neighbor)只关注据局部特征,对于节点之间的复杂相互作用并没有考虑到。论文中还提到了MINE(Max Information Nonparametric Explore),这种手段,可以与KNN图进行互补。

该文使用sparsemax(·)函数[42]对所有节点之间的注意力系数进行归一化。SparseMax 变换返回输入到概率单纯形上的欧几里德投影,其具有与 SoftMax 函数类似的属性,但它可以返回稀疏概率分布。归一化关系分数$ e ∈ \mathbb R_n $定义为
e = sparsemax ( r ) sparsemax ( r i , j p ) = max ⁡ { 0 , r i , j p − τ ( r i , j p ) } (5) e=\text{sparsemax}(\mathbf r)\\ \text{sparsemax}(r^p_{i,j})=\max\{0,r^p_{i,j}-\tau(r^p_{i,j})\} \tag{5} e=sparsemax(r)sparsemax(ri,jp)=max{0,ri,jpτ(ri,jp)}(5)
算法 1 显示了稀疏最大变换过程。 SparseMax 变换保留了一些与 SoftMax 相同的属性

image-20240715191824129

嵌入层

该模型使用的是最基础的GCN,因为,这个模型主要针对的是构图方法的改变,所以不注重特征提取的手段,使用其他的图神经网络模型,例如GAT,HAN都是可以的。在通过图神经网络更新完节点特征后,需要通过融合方法将各个节点的特征融合成最终的子图特征。这里的融合方法是,对整张子图做最大池化和平均池化,然后将两个池化向量做拼接,作为子图的特征向量。

GCN 是一个基于图的神经网络,具有消息传递操作,数学定义如下:
h i ( l + 1 ) = σ ( ∑ j ∈ N ( i ) c j i h j ( l ) W ( l ) + b ( l ) ) (6) \mathbf h^{(l+1)}_i=\sigma(\sum_{j\in \mathcal N(i)}c_{ji}\mathbf h^{(l)}_j\mathbf W^{(l)}+\mathbf b^{(l)})\tag{6} hi(l+1)=σ(jN(i)cjihj(l)W(l)+b(l))(6)
对于每组时间序列片段,交互感知层提供一个带有边权重值的邻接矩阵 A,用于 GCN 特征提取。边权重 ei,j 揭示了节点 x j 对节点 xi 的重要性,尤其是在不同故障类别下。因此,边权重应该参与到GCN的消息传递过程中。如果提供每条边上的权重向量,则归一化常数 c j i c_{ji} cji 可以定义如下:
c j i = e j i D i , i D j , j (7) c_{ji}=\frac{e_{ji}}{\sqrt{D_{i,i}D_{j,j}}}\tag{7} cji=Di,iDj,j eji(7)
GCN消息传递操作的矩阵形式如下:
H ( l + 1 ) = σ ( D ~ − 1 2 A ~ D ~ − 1 2 H ( l ) W ( l ) + b ( l ) ) (8) \mathbf H^{(l+1)}=\sigma(\mathbf{\tilde D}^{-\frac12}\mathbf{\tilde A}\mathbf{\tilde D}^{-\frac12}\mathbf H^{(l)}\mathbf W^{(l)}+\mathbf b^{(l)})\tag{8} H(l+1)=σ(D~21A~D~21H(l)W(l)+b(l))(8)

聚合向量层

这里融合方法讨论了两种,一种是直接拼接的方法,但“由于故障差异并不明显”,得到的最终特征表示会加入很多冗余信息,所以考虑采用基于注意力的加权求和办法,这个不是重点,可以参看原文。最终得到的即为多传感器异质图向量,应用于故障诊断。

将上述方法组合有算法2

image-20240715192746685

4. 文献解读

4.1 Introduction

基于上述分析,提出了一种智能流程工业故障诊断方法,称为交互感知图神经网络(IAGNN),该方法考虑图中传感器节点之间的多重交互,并使用GNN融合每个传感器测量的信息。具体来说,利用注意力机制来学习不同表示空间中的节点之间的关系分数,从而构建异构传感器网络。由于节点之间的实际关系很难建模,因此使用关系分数来指示节点之间交互的重要性。这些学习到的关系分数构成了图的边缘属性,为各种故障图提供了差异。异构图可以根据边类型划分为多个子图。然后,应用并行 GNN 块分别更新不同交互边类型的节点特征,并联合训练。读出更新的基于边类型的节点嵌入以获得子图表示。这些子图特征通过聚合函数传递以生成最终的图嵌入。因此,可以融合过程工业中测量的多变量时间序列以进行故障识别。

4.2 创新点

该文的主要贡献有四个方面:

  1. 本文将复杂工业过程的故障诊断问题表述为图分类问题。其关键思想是将多元传感器信号转化为具有各种边缘类型的异构图,并通过 GNN 的消息传递机制利用融合信号嵌入来对故障类型进行分类。
  2. 所提出的IAGNN框架提供了两个阶段:图构建阶段和判别特征提取阶段。在第一阶段,利用注意力机制构建考虑边类型多样性的图,并为各种故障类别提供区分的图拓扑。在第二阶段,通过融合多个独立 GNN 块的子图嵌入来获得判别特征。所提出的框架可以用作工业过程故障诊断的通用平台。
  3. 对两个工业过程进行了大量实验:三相流设施和 PS。实验结果表明,与最先进的方法相比,所提出的 IAGNN 框架可以提供更好的诊断结果。

4.3 实验过程

数据集:三相流设施模拟数据集和 PS 模拟数据集

image-20240715193119475

三相流设施数据:克兰菲尔德大学的三相流设施(TFF)[44]设计用于控制加压系统并测量水流量、油流量和空气流量,如图3所示。为了获得各种正常运行条件下的数据,在模拟中引入了20组过程输入,并获得了三个数据集。对于故障数据集,模拟了六种故障以指示实际中可能发生的典型故障。故障是在正常状态一定时间后引入的,当故障达到一定的严重程度时,故障状态被暂停,并恢复到正常状态。因此,每个故障情况都包含从弱状态到系列故障状态的数据。同时,在模拟过程中同时考虑了稳定条件和变化条件,并在一种故障类型下产生了多个数据集。采样频率为1Hz。通过最大-最小归一化来预处理每个传感器输出,其中 x = (x − xmin)/(xmax − xmin)。我们从故障数据集中去除正常数据,并取一段包含 50 s 信息的片段作为一个样本。然后我们混合故障状态和正常状态的所有样本,随机取70%的样本作为训练集,30%的样本作为测试集。表1显示了重新划分的数据集的故障类型和相应的样本数。

image-20240715193230769

电力系统仿真数据:选择了53个典型故障案例和正常状态数据来评估所提方法的有效性。采样频率为4Hz。我们取一段包含 80 s 信息的片段作为一个样本。然后我们将不同类别的数据混合并分为分别包含70%样本和30%样本的训练集和测试集。表二分别显示了训练集和测试集的样本数量。

image-20240715193324778

进行了大量的实验和分析来证明以下问题:

  1. 与其他最先进的方法相比,所提出的过程工业故障诊断方法的有效性;
  2. 学习到的异构图与固定图结构相比的有效性;
  3. 要学习的边缘类型数量、GNN块的深度、GNN块的隐藏单元维度以及加权求和聚合函数的嵌入维度的参数敏感性分析

比较方法:为了验证所提出的 IAGNN 方法的性能,我们将我们的 IAGNN 方法与最先进的基线方法进行比较,包括故障诊断方法和基于图的方法。基线方法的详细信息如下。

  • 1)PCA+LDA:PCA+LDA[45]-[47]是一种两阶段方法,其中第一阶段,原始数据的PCA降维,用于解决LDA的奇异性问题。
  • 2)SR-CNN:SR-CNN[6]采用SR相关图像来反映故障特征的方差,并应用CNN分类器进行故障分类。
  • 3)PTCN:PTCN[16]通过过程系统的物理连接构建图结构,并使用GCN来提取故障特征。
  • 4)GAT:GAT根据节点特征学习边权重。如果我们没有将结构化数据转换成FC图,则可以直接应用GAT。
  • 5)PKT-MCNN:PKT-MCNN[48]引入了一种用于大规模故障诊断的从粗到细的框架,其中使用故障类别的层次结构来指导多任务CNN模型的知识迁移。

实现细节:为了评估所提出方法的性能,本文采用微观F1分数和宏观F1分数。我们对所有基线方法和 IAGNN 模型进行了大量的实验,并选择可以获得最佳结果的超参数。 IAGNN 的学习率在 {0.0001, 0.0005, 0.001} 集合中调整,要学习的边缘类型数量从 1 到 8 进行采样。TFF 和 PS 的 IAGNN 模型都有两层 GNN 块。并且,对于TFF数据集,图有24个节点,初始特征大小为50,最大epoch为350,GCN和加权求和模块的隐藏大小为128,结构为{256, 128, 7}.对于PS数据集,图有76个节点,初始特征大小为20,最大epoch为300,GCN和加权求和模块的隐藏大小为512,结构为{1024, 512, 54}。所提出的 IAGNN 模型的超参数是根据性能和训练效率来选择的,这些设置用于将性能与基线方法进行比较。 V-E 节给出了更详细的参数敏感性实验。此外,所提出的方法是在配备 NVIDIA RTX 2080Ti 和 Xeon Silver 4214 CPU 的 PC 服务器上使用 PyTorch 几何实现的。

4.4 实验结果

故障分类性能 TFF和PS数据集的故障诊断结果如表3所示。

image-20240715193621348

首先,与基线方法相比,IAGNN模型在TFF数据集上取得了最佳性能。最先进的结果表明,IAGNN 学习的多元时间序列嵌入可以有效地揭示流程工业的故障特征。

其次,通过与 SR-CNN 的性能比较,我们可以观察到 IAGNN 模型通过利用原始数据信息和节点之间的交互信息表现得更好。这表明有必要考虑不同传感器之间的复杂相互作用并将其嵌入到故障特征中。同时,可以观察到GAT优于PCA+LDA和SR-CNN方法,这表明GNN可以更有效地融合多个传感器信号的信息。

第三,IAGNN模型获得了比GAT和PTCN更好的性能,其原因可以从两个方面来说明:1)带有边权重而不进行稀疏操作的FC图会将边缘噪声引入到故障特征中,并获得固定的图结构通过系统物理连接无法从拓扑角度说明故障的差异;2)最终的故障特征包含来自不同表示空间的子图的信息,提高了故障诊断的性能。

PS的混淆矩阵如图8所示。可以看出,IAGNN方法比基线方法具有更有效的故障诊断结果,这表明消息传递操作有利于具有多种交互作用的多个传感器信号的融合。大规模故障诊断任务的竞争结果进一步证实了所提方法的鲁棒性和有效性。

image-20240715195246053

5. 结论

该文提出了一种考虑传感器网络中多重交互的 IAGNN 模型,并将复杂工业的故障诊断问题转化为图分类任务。 IAGNN 通过注意力机制学习不同表示空间中节点之间的复杂交互,并引入独立的 GNN 块来提取基于交互的子图表示,并通过聚合模块融合它们以反映故障特征。 TFF 和 PS 数据集上的经验表明,所提出的 IAGNN 在每个故障类别上都取得了优异的结果。此外,还研究了自适应学习图的有效性以及边缘类型数量、GNN 块的深度、隐藏单元维度和 IAGNN-AT 聚合函数的嵌入维度的参数敏感性。

参考文献

[1] Dongyue Chen , Ruonan Liu , Qinghua Hu, and Steven X. Ding. Interaction-Aware Graph Neural Networks for Fault Diagnosis of Complex Industrial Processes. [J] IEEE TRANSACTIONS ON NEURAL NETWORKS AND LEARNING SYSTEMS, VOL. 34, NO. 9, SEPTEMBER 2023 DOI:10.1109/TNNLS.2021.3132376


http://www.kler.cn/news/335806.html

相关文章:

  • AI学习指南深度学习篇-Python实践
  • Linux之实战命令27:apropos应用实例(六十一)
  • SQL第12课——联结表
  • dockertop提示Failed to fetch extensions
  • SQL专项练习第四天
  • 数据结构 ——— 单链表oj题:链表中倒数第K个节点
  • idea2024设置中文
  • 什么是大语言模型的输入和输出限制
  • 昊辰创投注资众见科技,共筑智能眼镜未来:新一轮融资加速技术创新与市场扩张
  • SQL进阶技巧:统计各时段观看直播的人数
  • vim/vi常用命令大全
  • 为什么营业执照显示经营异常
  • 无法加载响应数据: No data found for resourcewith given identifier
  • C++面试速通宝典——8
  • 3D网格顶点颜色转纹理
  • ✨ComfyUI workflow加密工具节点ComfyUI_CryptoCat
  • JDBC 概述
  • Vue入门-Node.js安装
  • 教育领域的技术突破:SpringBoot系统实现
  • SVN版本回退