论文笔记:arXiv'19 Peer-to-Peer Federated Learning on Graphs

论文笔记:arXiv'19 Peer-to-Peer Federated Learning on Graphs

前言

本文提出了一种分布式学习算法,通过将来自其本地观测数据的信息与其单跳邻居的模型进行聚合来以集合地形式学习最适合整个全局数据的模型。考虑不需要一个中心服务器的情况,一般情况下中心服务器通过聚集所有节点的信息来维护多个本地客户端所构成的分布图上的全局模型。而本文考虑的情况是节点(本地客户端)分布在一个图上,它们只与单跳邻居通信(多个本地客户端构成通信拓扑图)。

如果大家对大图数据上高效可扩展的 GNN 和基于图的隐私计算感兴趣,欢迎关注我的 Github,之后会不断更新相关的论文和代码的学习笔记。

1. Motivation

本文假定单个节点(单个本地客户端)可用的训练数据不足以学习共享的全局模型。节点必须与下一跳邻居协同学习最佳模型,尽管出于隐私考虑,本地客户端不与其邻居节点共享本地隐私训练数据。在数学上,本文把联邦机器学习问题作为图上的 social learning 问题的一个特例。本文提出了一种对等的 social learning 方法,节点采取类似贝叶斯的方法,通过引入对未知全局模型的参数空间的信念,全局模型的学习通过两步实现。首先,每个节点根据基于本地数据的贝叶斯推理过程来更新其 local belief,然后汇总来自一跳邻居的共识信息。在对图结构连通性和图的全局可学习性的一定约束下,本文方法对所需的训练样本数量提供了高概率的保证,从而使各节点(本地客户端)能学到最适合整个图机构的全局最优模型。

本文提出的 social learning 算法及其理论分析依赖于局部贝叶斯后验更新,但是在基于 DNN 的计算过程上是难以实现的。本文基于变分推断用优化取代贝叶斯建模的边缘化。作者在一个由两个节点(两个本地客户端)合作训练共享 DNN 的网络上的实验表明,相对于可以获得所有训练数据的中心学习,完全分散的联邦学习可以做到准确度几乎没有下降。

2. Model

算法的目标是学习得到一个分布 \mathbf{p}_i\in\mathcal{P(X_i)} ,将模型对每个节点 i 所生成的标签结果看作是一个概率分布可以表示为: f_i(y|x),\forall y\in\mathcal{Y},\forall x\in\mathcal{X} ,基于有限的参数集 \Theta ,假设每个节点都能获得一组标签的局部似然函数 \{l_i(y;\theta,x):y\in\mathcal Y,\theta\in\Theta,x\in\mathcal X_i\} ,其中 l_i(y:\theta,x) 表示基于标签 y ,确定的参数 \theta 和输入 x 所得到的局部似然函数,基于此对于每一个实例 i 可以定义:

\overline{\Theta_i}:=\arg\min_{\theta\in\Theta}\mathbb{E}_{\mathbf{P}_i}[D_{\mathbf{KL}}(f_i(\cdot|X_i)||l_i(\cdot|\theta,X_i))]\\

定义 \Theta^*:=\cap_{i=1}^N\overline{\Theta}_i ,说明任何满足此条件的参数 \theta^*\in\Theta^* 式全局可学习的。

2.1 The Communication Network

本地客户端所构成的通信拓扑图中,节点的互动(边权表示)由一个随机矩阵 W 来表示。W 中元素取值为 W_{ij}\in[0,1],j\in\mathcal N(i),W_{ii} = 1-\sum_{j=1}^NW_{ij} 。权重 W_{ij} 表示节点 i 对它从节点 j 那里收到的信息的置信值。

2.2 The Learning Criterion

算法以分布方式在整个网络中学习一个全局可学习参数 \theta^*\in\Theta^* ,如果对于任何置信值 \delta\in(0,1) 有:

\mathbf{P}( \exist{i} \in[N]\;s.t.\hat{\theta}_i^{(n)}\notin\Theta^*)\le \delta\\

\hat{\theta}_i^{(n)}\in\Theta^* 表示节点 i 在观察了 n 个实例-标签对后的估计值,学习标准要求网络中的每个节点都同意一个最适合分布在整个网络中数据集的参数。

2.3 Peer-to-peer Federated Learning Algorithm

在每个时刻 k ,每个节点 i 都持有一个私人 belief \mathbf{\rho}_i^{(k)}\in\mathcal P(\Theta) 和一个公共 belief \mathbf{b}_i^{(k)}\in\mathcal P(\Theta) 。在每个时刻 k\in[n] ,每个节点 i 执行算法 1。 (N 表示本地客户端的数量, n 表示本地隐私数据的实例个数)

上述过程可以总结为:

  1. 绘制样本满足 i.i.d 的概率分布基于贝叶斯定理得到 conditional i.i.d sample label。
  2. 在本地执行 local Bayesian update 得到全局 belief
  3. 基于通信拓扑将全局 belief 在由本地客户端组成的图上传播
  4. 每个节点(本地客户端)基于收到的全局 belief 更新 private belief

分析算法 1,首先给出假设 3

对于每一个本地客户端 i\in[N] ,假设如下:

  • 先验 belief 对于所有参数 \theta\in\Theta 满足 \rho_i^{(0)}(\theta)>0
  • \exist{\alpha} > 0, \exist{L} >0 ,对所有 y \in \mathcal Y,\theta\in\Theta,x\in\mathcal X_i 满足 \alpha<l_i(y;\theta,x)<L

基于此得到定理 1

给出一个具有 M 个参数的有限集合 \Theta ,使用算法 1,对于任意给出的置信参数 \delta\in(0,1) 有:

\mathbf{P}( \exist{i} \in[N]\;s.t.\hat{\theta}_i^{(n)}\notin\Theta^{*})\le\delta\\

当训练实例的数量满足 n\ge\frac{16C\log\frac{NM}{\delta}}{K(\Theta)^2(1-\lambda_{\max}(W))}\tag{4}

定义

K(\Theta):=\min_{\theta\in\Theta^*,\psi\in\Theta\backslash\Theta^*}\sum_{j=1}^Nv_jI_j(\theta,\psi)\\

I_j(\theta,\psi):=\mathbb{E}_{\mathbf{P}_j}[D_{KL}(f_j(\cdot|X_j)||l_j(\cdot;\psi,X_j))-D_{KL}(f_j(\cdot|X_j)||l_j(\cdot,\theta,X_j))]\\

其中 \theta\in\Theta^*,\psi\in\Theta\backslash\Theta^* 分别代表满足是否属于全局可学习参数。 \mathbf{v} = [v_1,v_2,\dots,v_N] 是与 W 相关的 unique stationary distribution 并且满足 strictly positive components。 \lambda_i(W) 代表对矩阵 W 进行特征分解,\lambda_\max(W) = \max_{1\le i\le N-1}\lambda_i(W) 并且满足 \lambda_0(W) = 1,C:=|\log\frac{L}{\alpha}| (证明可见附件 A)

训练样本数的下限在网络中的节点数和要区分的参数中呈对数增长。下限也反过来取决于 K(\Theta)K(\Theta) 决定了节点将最适合数据的参数与整个网络的其他参数区分开来的最小速率。此外,它还反过来取决于 W 收敛到其静止分布的速度。

Upper Bound on True Risk 和 Experiments(略)

编辑于 2021-12-16 10:01