Page 201 - 《软件学报》2024年第4期
P. 201
管泽礼 等: 基于强化联邦 GNN 的个性化公共安全突发事件检测 1779
图 1 PPSED 模型的结构
在图神经网络中, 节点特征的维度对模型的性能有直接影响. 在 GraphSage 中, 如果节点特征的维度过
大, 导致模型难以学习到有效的节点表示. 这是因为在图中一个节点的特征不仅仅取决于自身的特征, 还取
决于其周围邻居节点的特征. 如果特征维度过大, 在聚合周围邻居节点的特征时会产生噪声. 在 GraphSage 之
前, 先通过全连接层将节点特征维度降低. 这个全连接层可以看作是非线性的映射, 将高维的节点特征映射
到低维的空间. 在这个低维空间中, 原本的高维特征中的冗余信息被剔除, 保留了更加关键的信息.在后续的
GraphSage 中, 模型只需要处理低维的特征, 从而提高模型的性能. 降维过程如公式(1)所示:
h = 0 i v σ (w input h ⋅ i v + b input ) (1)
其中, w input 和 b input 是特征降维隐层的参数; h 是节点 v i 的初始特征; σ是一个非线性激活函数, 通常是 ReLU.
i v
得到降维后的特征后, 对于每个节点 v i , GraphSage 首先从其邻居节点 N 中收集特征, 通过聚合函数得到邻居
i v
节点特征的聚合表示. 通过一个非线性映射, 融合节点 v i 自身的特征与邻居节点的聚合表示, 得到新的节点
表示, 如公式(2)所示:
h ( )k = σ (w ()k ⋅ CONCAT (h (k − 1) , AGG ({h (k − ) 1 , u∀∈ N ( )} )))v (2)
i v s i v u i
其中, h () k 表示在第 k 层的节点 v i 的特征, w ()k 是第 k 层 GraphSage 的可学习参数, CONCAT 表示特征向量的
i v s
拼接, AGG 是平均池化聚合函数.
在节点分类任务中, 在 GraphSage 的输出层后接一个分类器来进行分类任务. 经过 GraphSage 的学习
后, 得到新的节点表示 h () k i v . 通过一个全连接层和一个 softmax 函数得到节点 v i 的分类概率分布, 如公式(3):
p = softmax (w h ⋅ () k + b ) (3)
i v l c i v l c
其中, w 和 b 是分类器的可训练参数. 采用交叉熵构造分类损失, 如公式(4)所示:
l c l c
L = −∑ log(p , y ) (4)
l c i vV i v i v
∈
其中, y 是节点 v i 的真实标签. 在获得了分类损失后, 使用反向传播算法计算 GraphSage 和分类器的梯度
i v
∂ L ∂ L
l c 和 l c , grad 表示来自客户端 m 的梯度数.
m
∂ w ∂ w
l c
采用梯度量化 [63,64] 的方式对梯度进行压缩. 梯度量化需要遍历所有的梯度, 找到梯度的最大和最小值,
确定量化范围, 根据梯度的范围与量化范围计算缩放因子和零点. 缩放因子表示浮点值和量化值之间的比例
关系. 在梯度传到其他客户端后需要进行聚合计算. 使用量化过程中计算出的缩放因子和零点, 将量化的梯
度值恢复回浮点数. 在不显著损失模型性能的前提下, 大幅降低了梯度所需的存储空间和传输带宽.