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] 的方式对梯度进行压缩.  梯度量化需要遍历所有的梯度,  找到梯度的最大和最小值,
         确定量化范围,  根据梯度的范围与量化范围计算缩放因子和零点.  缩放因子表示浮点值和量化值之间的比例
         关系.  在梯度传到其他客户端后需要进行聚合计算.  使用量化过程中计算出的缩放因子和零点,  将量化的梯
         度值恢复回浮点数.  在不显著损失模型性能的前提下,  大幅降低了梯度所需的存储空间和传输带宽.
   196   197   198   199   200   201   202   203   204   205   206