Graph Neural Network图神经网络
A.Mathematical Notations
图表示:
V、E表示节点和边
𝑣𝑖∈𝑉是一个节点,𝑒𝑖𝑗=𝑣𝑖,𝑣𝑗∈𝐸表示Vi和Vj之间的一条边
节点V的邻域可以定义为𝒩(𝑣)={𝑢∈𝑉∣(𝑣,𝑢)∈𝐸}
图的邻接矩阵用𝐀∈ℛ𝑁×𝑁来描述,N是节点数,N=|V|
𝐀𝑖𝑗=1 if 𝑣𝑖,𝑣𝑗∈𝐸 and 𝑖≠𝑗;𝐀𝑖𝑗=1
在无向图中,Aij表示节点Vi和Vj之间的边连接
在有向图中,Aij表示从Vi指向Vj的边
实际应用中,图可能具有节点特征(属性),𝐗∈ℛ𝑁×𝑐其中C是节点特征向量的维度
度矩阵𝐃∈ℛ𝑁×𝑁是一个对角矩阵,可得到𝐃𝑖𝑖=𝑗=1𝑁𝐀𝑖𝑗
图用拉普拉斯矩阵表示:
三个矩阵间的关系如图6
B. GNN Architectures
GNN的接收两个贡献的输出,特征矩阵X和邻接矩阵A
GNN的输出可以通过一般的前向传播方程(3)获得
gnn表示GNN的一个操作,𝑙是架构中的层数
(1)Graph Convolutional Networks(GCNs)
GNN可视为CNN体系结构的扩展,从图结构输入中提取关系/空间特征
GCN计算方法:
,𝐈𝑁是N阶单位矩阵
𝐷是对角矩阵,对角元素是
σ是激活函数,ReLU函数
Θ∈ℛ𝑐×𝑐′要学习的网络的参数矩阵
𝑐′表示输出的维度
𝐙∈ℛ𝑁×𝑐′是输出矩阵
交叉熵损失函数:
𝑁𝑡𝑟表示训练点的数量,M是类别的数量,Z是从公式(4)中获得,Y是训练集的对应标签
在分类问题中,输出的维度等于类别的数量,𝑐′=𝑀
GCN显示出w.r.t重大改进,在非关系型架构之前还有需要改进的方面:
(1)浅层GCN网络无法大规模传播标签信息,限制了感受野
(2)深度GCN网络过度平滑,多层GCN会十数据在前向传输过程变得高度相似,无法正确区分,降低性能
(3)GCN属于转导学习模型。处理新数据时,必须引入新的节点来修改原来的关联图,必须重新训练整个GCN模型以适应新的图
(4)对于给定的节点,GCN任务它的所有邻居都同等重要,而不是选择性关注特殊的邻居;这就限制了性能
2)Graph Attention Networks
GAT架构使用注意力机制为节点邻居分配不同的权重,是一个归纳模型,GAT在训练后执行在线(故障诊断)任务
GAT架构比GCN更复杂。
特征矩阵𝐗=𝒙1,𝒙2,…,𝒙𝑁∈ℛ𝑁×𝑐,𝒙𝑖∈ℛ𝑐,𝑖=1,2,…,𝑁
对节点的向量𝒙𝑖进行线性变换,得到特征向量𝒙𝑖′∈ℛ𝑐′,W为线性映射矩阵:
GAT中,给定𝒙𝑖,邻居𝒙𝑗的注意力权值由𝒂𝑖𝑗反映,线性映射后的节点i和j 的𝒙𝑖′和𝒙𝑗′连接在一起,用a计算内积向量𝑎的长度为2𝑐′。
激活函数使用Leaky_ReLU,最终的softmax层对权重值进行归一化
||表示连接运算符,第(l+1)个隐藏层的输出变为
σ表示激活函数,hl是第l个隐藏层的输出,h0 = X。GAT中可学习的参数包括向量a和参数矩阵W。
3)Graph Sample and Aggregate
GraphSage 属于归纳学习模型
GraphSage 学习了一个聚合函数,该函数可以聚合特定节点及其邻居的特征以获得其高阶特征 [56]。
将输入特征矩阵表示为 X。GraphSage 模型中第 l 个隐藏层的前向传播公式为:
其中Concat表示连接操作,Aggre对特征进行聚合操作,hl为第l个隐藏层的输出,h0 = X。
Graphsage使用四种类型的特征聚合操作,包括mean aggregator、GCN aggregator、Long Short-Term Memory(LSTM)聚合器和池化聚合器。 GraphSage不涉及注意力机制,因此它对所有邻居节点一视同仁。
由于归纳学习的特性,GraphSage 可用于在线故障诊断任务,与 GCN 相比,计算复杂度较低。
4)Graph auto-encoder(GAE)
GAE是一种无监督学习模型,类似于auto-encoder [57] [58] [59]。
GAE GCN层使用的编码器,其输入包括协会图和特征矩阵,并输出编码值的𝐀节点图。
𝐙=gcn(𝐗,𝐀);均方误差函数用作损失函数
5) Spatial temporal graph convolutional network(STGCN)
STGCN 已被广泛用于解决交通预测问题 [60]。 通常,STGCN 由 GCN 和 CNN 架构组成,其中 GCN 负责在空间维度上聚合节点特征,而 CNN 在时间维度上执行时间卷积。
根据图分析任务的不同,上述网络分为三类,即节点级 GNN、边缘级 GNN 和图级 GNN [53]。
GCN、GAT和GraphSage属于节点级GNN,对关联图中的节点进行分类。
边缘级 GNN 与 GAE 类似,可用于矩阵补全,预测输入邻接矩阵中不存在的相关边缘。
在图级 GNN 中,例如 STGNN,每个图对应一个特征。 图 7 总结了 III.B 小节中上述 GNN 模型的特征和分类。
C. Visualization of GNN's data classification capability
图8说明了图神经网络利用来自邻居的信息的效率,图8(a)显示了经过归一化和降维后的电机运行状态的原始数据。
使用主成分分析(PCA)将原始数据从48维减少到2维进行可视化。
不同颜色的节点显示不同类别的电机运行状态。
图中有8个方形节点(训练集的数量);测试集由290个节点组成。
图8(b)表示图卷积层之后的电机运行状态数据。数据已归一化,维度也降低了。
两个子图中节点的含义相同,GCN处理的数据显示可操作集群
如图8(a),使用不足的8个节点的训练集无法获得较高的模型性能。
图8(b),由于属于同一类别的节点更集中,属于不同类别的节点相距较远,GCN层之后的训练集更具代表性。
基于GNN的方法可以获得更好的分类性能。
考虑到故障诊断的数据集总是由很大一部分未标记数据(无故障数据)和一小部分(故障数据)组成,GNN获取邻居信息的能力变得至关重要。