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 )