摘要
从传感器、可穿戴设备和物联网设备网络中产生的大量数据突出表明,由于需要边缘计算和许可(数据访问)问题,需要利用分散数据的时空结构的先进建模技术。虽然联合学习(FL)已经成为一个不需要直接数据共享和交换的模型训练框架,但有效地对复杂的时空依赖关系进行建模以提高预测能力仍然是一个开放的问题。另一方面,最先进的时空预测模型假设了对数据的不受约束的访问,忽视了对数据共享的约束。为了弥补这一差距,我们提出了一个联合时空模型--跨节点联合图神经网络(CNFGNN),该模型在跨节点联邦学习的约束下,使用基于图神经网络(GNN)的架构对底层图结构进行明确编码,这要求节点网络中的数据在每个节点上本地生成,并保持分散性。CNFGNN通过分解设备上的时间动态建模和服务器上的空间动态来运作,利用交替优化来降低通信成本,促进边缘设备上的计算。在交通流预测任务上的实验表明,CNFGNN在过渡性和归纳性学习设置中都能实现最佳的预测性能,而且边缘设备上没有额外的计算成本,同时产生适度的通信成本
INTRODUCTION
具体来说,我们的架构--跨节点联邦图神经网络(CNFGNN),旨在有效地模拟跨节点联合学习约束下的复杂时空依赖关系。为此,CNFGNN对时间和空间依赖关系的建模进行了分解,在每个设备上使用编码器-解码器模型来提取本地数据的时间特征,在服务器上使用基于图神经网络(GNN)的模型来捕捉设备间的空间依赖关系。
与现有的依靠正则化纳入空间关系的联合学习技术相比,CN-FGNN利用基于图神经网络(GNNs)架构的显式图结构,从而带来了性能的提升。然而,联合学习(数据共享)的约束意味着GNN不能以集中的方式进行训练,因为每个节点只能访问存储在自己身上的数据。为了解决这个问题,CNFGNN采用了分割学习[25]来训练空间和时间模块。此外,为了减轻分割学习所产生的相关高通信成本,我们提出了一个基于交替优化的这些模块的训练程序,与可比的分割学习架构相比,它只产生了一半的通信开销。在这里,我们还使用联合平均法(FedAvg)[21]来训练所有节点的共享时间特征提取器,这导致了经验性能的提高
时空依赖性:时空依赖性一方面是指区域的交通情况会受到当天前一时刻交通情况的影响,比如在某地上一时刻是拥堵的,当前时刻一定也会受到上一个时刻累积的这些车辆的影响,依旧处于拥堵的状态。另外,周边的路段对当前路段也会有影响。比如拥堵的累计,当遇到一个红绿灯没有通过之后,拥堵的队伍会越来越长,可能会影响下一个红绿灯
主要贡献
- 我们提出了跨节点联合图式神经网络(CNFGNN),这是一个基于GNN的联合学习架构,可以捕捉到多个节点之间复杂的时空关系,同时确保本地产生的数据保持分散性,在边缘设备上没有额外的计算成本。
- 我们的建模和训练程序使基于GNN的架构能够在联合学习环境中使用。我们通过分解边缘设备上的本地时间动态和中央服务器上的空间动态的建模来实现这一点,并利用一个基于交替优化的程序来更新空间和时间模块,使用分割学习和联合平均法来实现有效的基于GNN的联合学习。
- 我们证明,与相关技术相比,CNFGNN在交通流预测任务中,在没有额外计算成本的情况下,在边缘设备上实现了最佳的预测性能(包括传导性和感应性设置),通信成本不高。
CROSS-NODE FEDERATED GRAPH NEURAL NETWORK
Problem Formulation
给定一个图的数据集,特征张量和标记张量,任务定义在以为输入,为预测目标的数据集上。我们考虑在跨节点联邦学习约束下学习一个模型:节点特征节点标签以及模型输出仅对节点可见
一个需要跨节点联邦学习约束的典型任务是对传感器网络产生的时空数据进行预测。在这种情况下,是传感器的集合,描述了传感器之间的关系(例如,,当且仅当和之间的距离低于某些阈值)。特征张量代表第个传感器在过去个时间步的期间在𝐷-dim空间中的记录,而标签代表第i个传感器在未来𝑛时间步骤中的记录。由于不同用户/组织所拥有的不同传感器上收集的记录可能由于边缘计算的需要或数据访问的许可问题而不允许共享,因此有必要设计一种算法来模拟时空关系,而不需要直接交换节点级数据。
Proposed Method
我们现在介绍我们提出的跨节点联邦图神经网络(CNFGNN)模型。在这里,我们首先将节点级的时间动态和服务器级的空间动态的建模拆开,具体如下。
1.(图1c)在每个节点上,一个编码器-解码器模型从节点上的数据中提取时间特征并进行预测;
2.(图1b)在中央服务器上,一个图网络(GN)[6]传播提取的节点时间特征并输出节点嵌入,其中包括节点之间的关系信息。
1.可以访问不可共享的节点数据,并在每个节点上本地执行。
2.只涉及上传和下载打碎的特征和梯度,而不是节点上的原始数据。这种分解能够在跨节点联合学习的约束下实现节点信息的交换和聚合。
跨节点的联邦图神经网络。
- (a) 在每一轮的训练中,我们交替训练节点上的模型和服务器上的模型。更具体地说,我们依次执行:(1)节点上模型的联合学习。(2) 时间编码的更新。(3) GN的分割学习。 (4) 节点上图形嵌入的更新。
- (b) 服务器端GN模型的详细视图,用于为数据中的空间依赖关系建模。
- (c) 第𝑖个节点上的编码器-解码器模型的详细视图。
节点级时间动态的建模
我们修改了[7]中基于门控递归单元(GRU)的编码器-解码器架构,以在每个节点上建立节点级的时间动态模型。给定一个输入序列在第𝑖节点上,编码器按顺序读取整个序列并输出隐藏状态作为输入序列的总结,根据公式1。
其中,是一个零值的初始隐藏状态向量。
为了将空间动态纳入每个节点的预测模型,我们将与3.2.2所述程序产生的包含空间信息的节点嵌入连接起来,作为解码器的初始状态向量。解码器从输入序列的最后一帧开始,以自动回归的方式生成预测,并将隐藏状态向量串联起来。
我们选择预测值和地面真实值之间的平均平方误差(MSE)作为损失函数,对每个节点进行局部评估。
空间动态模型
为了捕捉复杂的空间动态,我们采用[6]中提出的图网络(GNs)来生成包含所有节点关系信息的节点嵌入。中央服务器收集所有节点的隐藏状态{}作为GN的输入。GN的每一层对输入特征的更新如下:
其中分别是边缘特征、节点特征和全局特征。,,是神经网络。,,是聚合函数,如求和。如图1b所示,我们在所有的实验中都选择了一个具有剩余连接的2层GN。我们设,(为邻接矩阵),并将空矢量分配给作为第一个GN层的输入。
服务器端的GN为所有节点输出嵌入{},并相应地发送每个节点的嵌入。
节点级模型与空间模型的交替训练
跨节点联合学习要求和服务器端的GN模型带来的一个挑战是训练阶段的高通信成本。由于我们将模型的不同部分分布在不同的设备上,由[25]提出的分割学习是一个潜在的训练解决方案,其中隐藏向量和梯度在设备之间进行交流。然而,当我们通过分割学习简单地训练模型时,中心服务器需要从所有节点接收隐藏状态,并在前向传播中向所有节点发送节点嵌入,然后它必须从所有节点接收节点嵌入的梯度,并在后向传播中向所有节点发送隐藏状态的梯度。假设所有隐藏状态和节点嵌入都有相同的大小𝑆,则GN模型的每一轮训练中传输的数据总量为。
为了减轻训练阶段的高通信成本,我们改为交替训练节点上的模型和服务器上的GN模型。更具体地说,在每一轮训练中,我们(1)固定节点嵌入𝒉𝐺,𝑐,𝑖并优化𝑅𝑐轮的编码器-解码器模型,然后(2)我们在固定节点上的所有模型的同时优化GN模型。由于节点上的模型是固定的,𝒉𝑐,𝑖在GN模型训练期间保持不变,服务器只需要在GN训练开始前从节点上获取𝒉𝑐,𝑖,而且只需要交流节点嵌入和梯度。因此,在GN模型的𝑅𝑠轮训练中,每轮传输的平均数据量减少到
。我们在算法1和算法2中提供了训练程序的更多细节。
为了更有效地从每个节点上提取时间特征,我们还用FedAvg算法[21]在节点上训练编码-解码器模型。这使得所有节点共享相同的特征提取器,从而共享时间特征的联合隐藏空间,这避免了模型在节点上可能出现的过度拟合,并通过经验证明了更快的收敛和更好的预测性能。