1.一种融合多图神经网络的工业系统异常数据流检测与诊断方法,其特征在于,所述融合多图神经网络的工业系统异常数据流检测与诊断方法,包括:步骤1、工业系统的拓扑结构图构建:基于工业系统中各设备之间的直接连接关系建立拓扑结构图;
步骤2、工业系统的功能结构图构建:基于工业系统中各设备之间的功能相似度建立功能结构图;
步骤3、融合多图神经网络的异常检测:融合多个图神经网络建立工业系统数据流预测模型,并根据预测数据与真实数据的差异实现异常检测;
步骤4、基于注意力机制的异常诊断:通过注意力权重的反向计算,得到影响异常产生的时间因素、语义因素和设备因素;
步骤4‑1、诊断异常的时间因素:取工业系统数据流预测模型的循环层所计算的注意力权重向量γt,选择注意力权重最大的历史时刻K作为对异常产生影响最大的时间因素;
步骤4‑2、诊断异常的语义因素:取工业系统数据流预测模型的融合层所计算的历史时刻K的注意力权重TatK和FatK,记注意力权重最大的语义因素对应的结构图为MG;
步骤4‑2、诊断异常的设备因素:取工业系统数据流预测模型的图注意力层所计算的历史时刻K的注意力权重矩阵TGAtK和 FGAtK,如果结构图MG为工业系统的拓扑结构图,则计算使得TGAtK[n][I]最大的n的值,n取1到N;如果MG为工业系统的功能结构图,则计算使得FGAtK[n][I]最大的n的值,其中,I为在异常检测中检测出存在异常的设备标号,则Rn为对异常产生影响最大的设备因素;
其中,所述融合多个图神经网络建立工业系统数据流预测模型包括:融合图注意力网络、注意力机制、循环神经网络构建工业系统数据流预测模型,所述工业系统数据流预测模型的网络结构如下:输入层:对输入数据Dt,采用大小为w的滑动窗口将数据Dt分割成M个N × w维的小矩阵Dt1, Dt2, ..., DtM,N表示设备个数;
图注意力层:对每个小矩阵Dtk,k表示时刻且k=1,2, ...,M,将Dtk和拓扑结构图TG,以及Dtk和功能结构图FG分别输入两个图注意力网络,输出两个N × d1维的特征矩阵TGMtk和FGMtk以及两个N × N维的注意力权重矩阵TGAtk和FGAtk;
融合层:基于注意力机制对特征矩阵TGMtk和FGMtk进行加权求和,得到一个N × d1维的矩阵GMtk,以及特征矩阵TGMtk的注意力权重Tatk和特征矩阵FGMtk的注意力权重Fatk;
循环层:采用循环神经网络对融合层的输出进行处理,即将所有小矩阵Dt1, Dt2, ..., DtM经过图注意力层后和融合层的输出矩阵GMt1, GMt2, ..., GMtM按顺序分别输入一个LSTM单元,生成M个N × d2维的隐状态矩阵HMt1, HMt2, ..., HMtM;采用注意力机制对所有隐状态矩阵进行加权求和,得到一个N × d2维的输出状态矩阵HMt,以及一个M维的注意力权重向量γt;
输出层:将输出状态矩阵HMt输入一个全连接层,然后将全连接层的输出输入一个softmax层,最终softmax层的输出为一个N维向量Yt。
2.如权利要求1所述的融合多图神经网络的工业系统异常数据流检测与诊断方法,其特征在于,所述基于工业系统中各设备之间的直接连接关系建立拓扑结构图,包括:步骤1‑1、将工业系统中每个设备Ri创建为一个节点,若设备Ri与设备Rj之间存在直接连接关系,则在节点Ri和节点Rj之间创建一条边,记建立的无向图为TG;
步骤1‑2、采用一个邻接矩阵TM表示无向图TG,完成拓扑结构图的构建。
3.如权利要求1所述的融合多图神经网络的工业系统异常数据流检测与诊断方法,其特征在于,所述直接连接关系为物理连接或处于同一局域网。
4.如权利要求1所述的融合多图神经网络的工业系统异常数据流检测与诊断方法,其特征在于,所述基于工业系统中各设备之间的功能相似度建立功能结构图,包括:步骤2‑1、将工业系统中各设备按照功能进行分类,若设备Ri与设备Rj属于同一类型,则在节点Ri和节点Rj之间创建一条边,记建立的无向图为FG;
步骤2‑2、采用一个邻接矩阵FM表示无向图FG,完成功能结构图的构建。
5.如权利要求1所述的融合多图神经网络的工业系统异常数据流检测与诊断方法,其特征在于,所述工业系统数据流预测模型的训练如下:步骤3‑1、令训练样本St为当前时刻为t且跨度为W个时刻的数据,则St = (WDt, Xt);其中,WDt为St的数据部分,代表工业系统在[t – W, t ‑ 1]时间内的数据流,表示为一个N × W维的矩阵,WDt[i]代表设备Ri在[t – W, t ‑ 1]时间内的数据流,表示为一个W维的向量,N表示设备个数,Xt为St的标注部分,代表工业系统在t时刻的真实数据,表示为一个N维向量,Xt[i]为设备Ri在t时刻的真实数据,对工业系统的历史数据流进行分割得到大量训练样本,从而建立训练样本集;
步骤3‑2、取训练样本中的数据部分WDt输入至工业系统数据流预测模型,得到工业系统数据流预测模型输出的N维向量Yt;
步骤3‑3、根据工业系统数据流预测模型输出的N维向量Yt,以及训练样本集中的标注部分Xt计算损失函数,并通过反向传播更新工业系统数据流预测模型的参数;
步骤3‑4、若达到训练结束条件,则输出加载最新参数的工业系统数据流预测模型,并接收训练;否则返回步骤3‑2继续训练。