Page 203 - 《软件学报》2024年第4期
P. 203

管泽礼  等:  基于强化联邦 GNN 的个性化公共安全突发事件检测                                               1781


         包含源客户端梯度和本地梯度的信息,  采用拼接或差值的方式构造状态 s.  采用梯度状态的差值作为状态 s,
         可以减小 DDPG 参数量,  增加联邦模型的稳定性;
             动作设计.  定义动作空间,  即 Actor 网络的输出为一维,  代表源客户端梯度聚合到本地的动作,  如式(10):
                                                    (
                                            a m→  , j e  =  fs g m ,e  − s g , j e )         (10)
                                                   a
         其中, a m→j,e 是第 e 轮聚合客户端 m 聚合到客户端 j 的动作.  将所有客户端的动作归一化后,  就得到了梯度聚合
         的权重;
             奖励设计.  如果模型的准确率提升,  那么奖励值就是准确率提升的数值,  得到积极的反馈;  相反,  如果模
         型的准确率下降,  奖励值就是准确率下降的负值,  得到负面的反馈.  如公式(11):
                                                        −
                                            −
                                          acc acc pre ,      (acc acc pre ) >  0
                                     r =                                                    (11)
                                                               <
                                             −
                                                        −
                                          −  (acc acc pre ),  (acc acc pre ) 0
             梯度请求与量化指令,  支持用户选择参与聚合的客户端比例 p c 和被选中的客户端梯度量化的比例 p q ,  将
         梯度聚合的权重从大到小排序,  选择权重大的前n*p c 个客户端参与下一轮聚合.  前n*p c *(1−p q )个客户端的
         梯度不需要量化,  其他被选中客户端的梯度在传输到本地前需要进行量化.
         2.5   训练过程
             各个客户端在初始化参数之后,  执行本地突发事件检测模型的训练,  获取初始的梯度信息和客户端状态.
         接收其他客户端传输的梯度、状态以及量化指令信息,  然后根据这些客户端的 DDPG 梯度,  采用 FedAvg 方法
         对本地 DDPG 参数进行更新.  本地 DDPG 根据各个客户端的状态信息,  决定梯度的聚合权重和量化策略.  将
         经过量化并传输到本地的梯度进行反量化处理后,  再根据梯度聚合权重来聚合梯度,  从而更新本地突发事件
         的参数.  计算出强化学习的奖励,  并将奖励、状态和动作信息存储到本地的经验缓冲区中.  利用这些状态、动
         作和奖励信息,  进一步训练本地的 DDPG.  在新一轮的本地突发事件检测模型训练结束后,  根据其他客户端的
         参数请求和量化指令,  向其他客户端传输梯度信息,  同时也发送出本地的梯度请求和量化指令.
             在传统的联邦训练过程中,  数据被安全地保存在客户端本地,  只有模型参数被传输至中央服务器.  此方
         式保证了原始数据不会离开其所在的客户端,  显著降低了隐私泄漏的风险                         [26] .  有部分方法共享数据分布信息,
         提高模型性能     [66] .  同理, PPSED 也仅共享模型参数与少量分布信息,  而从这些信息中推断出准确的训练数据
         是极为困难的.  在需要严格保护隐私的场景下,  差分隐私                  [67,68] 技术可以有效地保护客户端数据隐私,  进一步
         减轻数据泄露的风险,  从而提升整个过程的安全性. PPSED 同样可以在本地训练阶段融入差分隐私技术,  以
         适应对隐私保护要求更为严格的用户需求.
             PPSED 客户端训练的过程见算法 1.
             算法 1. PPSED 中客户端 m 的训练过程.
                                 1
                                     n
                                                  1
                                                       n
             Input:  客户端集合 C={C ,…,C },  数据集合{G ,…,G },  标签集合,  通信轮次 E,  客户端总数 n;
             Output:  本轮模型梯度、状态.
             1    初始化各客户端突发事件检测模型参数: w input ,  w , w s 和 DDPG 模型参数: w a , w c , w a′ , w c′ 的参数.
                                                         l c
             2    根据公式(1)~公式(5)训练本地突发事件检测模型,  得到准确率 acc,  梯度 grad              m,0 .
             3    根据公式(5)、公式(6)得到状态 s       m g  ,0  .
             4    for  轮次 e←0,1,2…,E−1 do
                                                                                    , ne
             5       接收其他客户端的梯度与本地梯度的集合 {grad             1,e ,...,grad  , ne }, {grad 1,e  ,...,grad DDPG }、其他客户
                                                                          DDPG
                   端的状态与本地状态的集合 {s         1,e ,...,s g , ne }以及本轮梯度在传往其他客户端时是否需要量化的指令.
                                            g
                                      , ne
             6       根据 {grad 1,e  ,...,grad DDPG },  采用 FedAvg 更新本地 DDPG 参数.
                            DDPG
             7       for  客户端 i←1,2…,n−1 do
             8          s′ i→ m ,e  = s i g ,e  − s m g  ,e
             9          a i→m,e =f a (s′ i→m,e )
   198   199   200   201   202   203   204   205   206   207   208