通过激励机制实现公平的图联邦学习
综述
- 待解决的问题:参与联邦学习的代理(agents)通常是自私的,如果没有公平且满意的激励机制,它们可能不愿意分享数据
- 背景:多个代理(agent)希望在保护数据隐私的前提下,共同训练一个图神经网络模型,以获得更好的模型性能
- 过程:每个参与者都有自己的图数据,它们在本地的模型进行训练,并将模型更新传回服务器,服务器整合这些更新,更新全局模型,并将新模型传回每个参与者
- 识别了一个特殊的现象:
- 有些代理可能会对联邦学习过程造成伤害
- 在贡献上有延迟
- 以前假设所有代理都积极的,及时的进行贡献——这篇文献发现了与这个假设相反的现象
- 创新点:
- 提出了一种针对图联邦学习的激励机制,综合了模型梯度和回报(payoff)的分配
- 引入“模体原型”的概念,用于在服务器和代理之间进行信息交换,可以帮助代理优化本地模型,在提高全局模型质量的同时,实现代理之间的公平性
1. 引言
- 一个理想的图联邦激励机制应该同时满足两个条件:
- 奖励拥有贡献的代理,惩罚造成伤害的代理
- 对贡献具有延迟的代理提供事后(post-hoc)补偿
- 推进了一个先进的激励机制
- 引入一个代理估值函数:
- 为了解决:选择一个能被所有代理访问并且接受的测试集是一个挑战
- 两个标准:梯度对齐和图多样性
- 引入新概念——motif protocols模体原型
2. 预备知识
传统图联邦学习(Vanilla Graph Federated Learning)
- 图联邦学习的场景设定:
- 考虑有 N N N个诚实代理者,每个代理 i i i有一个本地的图数据集 D i D_i Di,该数据集包含一组图。
- 目标:跨所有参与者学习一个共享的全局模型,通常是一个图神经网络,学习过程可以化为一个优化问题 m i n ω 1 , ω 2 , . . . , ω N ∑ i = 1 N ∣ D i ∣ ∣ D ∣ L ( ω i ; D i ) \underset{\omega_1,\omega_2,...,\omega_N}{min}\sum^{N}_{i=1}\frac{\vert D_i\vert}{\vert D\vert}L(\omega_i;D_i) ω1,ω2,...,ωNmini=1∑N∣D∣∣Di∣L(ωi;Di)其中, ω i \omega_i ωi是代理 i i i的模型参数, L ( ω i ; D i ) L(\omega_i;D_i) L(ωi;Di)是代理 i i i在其本地数据集 D i D_i Di上的训练损失, ∣ D i ∣ \vert D_i\vert ∣Di∣是代理 i i i的数据集大小, ∣ D ∣ \vert D\vert ∣D∣是所有代理数据集的总大小
- 联邦学习的两个步骤:聚合和分发
Shapley值
- 用于单个玩家在不同合作联盟中对整体绩效的边际贡献
- 这个值回答了“在一个团队里面,每个参与者到底做了多少贡献?”
- ϕ i = 1 N ! ∑ π ∈ Π N [ v ( S π , i ∪ { i } ) − v ( S π , i ) ] \phi_i=\frac{1}{N!}\sum_{\pi\in \Pi_N}[v(S_{\pi,i}\cup \{i\})-v(S_{\pi,i})] ϕi=N!1π∈ΠN∑[v(Sπ,i∪{i})−v(Sπ,i)]其中, Π N \Pi_N ΠN是所有可能的玩家排列的集合, S π , i S_{\pi,i} Sπ,i表示在排列 π \pi π中在玩家 i i i之前的玩家组成的联盟, v ( S ) v(S) v(S)是联盟 S S S的价值函数
3. Methodology
- 定义每个代理的价值为 r i t r_i^t rit,表示代理 i i i在第 t t t次的交流轮次中作出的贡献
3.1 Overview Framework
- 模型梯度分配:
-
采用了一种稀疏梯度方法
-
用更稠密的梯度来奖励贡献多的代理,稀疏一点的梯度则分配给贡献不那么多的代理
-
通过一个掩码操作(mask operation):但一个代理的值(贡献)更高时,这个方法将更少的全局梯度中的小组件归零,从而获得更高质量的奖励
-
代理 i i i在第 t t t次沟通轮次下载的权重可表示为 g r a d i e n t i t = mask ( u N t , [ D t a n h ( β r i t ) / m a x j ∈ N tanh ( β r j t ) ] gradient_i^t=\text{mask}(u^t_{N},[Dtanh(\beta r_i^t)/\underset{j\in N}{max}\text{tanh}(\beta r_j^t)] gradientit=mask(uNt,[Dtanh(βrit)/j∈Nmaxtanh(βrjt)]其中 mask ( u N t , x ) \text{mask}(u^t_N,x) mask(uNt,x)表示返回 u N t u_N^t uNt前 x x x个最大的组件, D D D是全局地图的总共的组件数量,这个 β \beta β越小,返回的组件数就越少;在极端情况下,当 β = ∞ \beta =\infty β=∞是,新的模型梯度分配与传统模型梯度分配相同
-
如果一个代理没用贡献或者对联邦学习会造成伤害,那么就不会给它分配梯度
-
- 回报分配:
- 一方面: r i t < 0 r_i^t<0 rit<0就说明这个代理在对联邦学习造成伤害
- 另一方面:代理的贡献具有延迟,对这个代理进行补偿
- 通过查看在之前几轮的值,可以估计这个代理延迟的贡献
- 在第 t t t轮次对代理 i i i进行补偿,补偿的值为当前轮次贡献的值减去前几轮次贡献的值的平均值的差 μ i t = m a x ( r i t − 1 t − 1 ∑ m = 1 t − 1 r i m , 0 ) \mu_i^t=max(r_i^t-\frac{1}{t-1}\sum^{t-1}_{m=1}r_i^m,0) μit=max(rit−t−11m=1∑t−1rim,0)
- 代理 i i i在轮次 t t t中获得回报是 payoff i t = { r i t if r i t < 0 r i t + μ i t o t h e r w i s e , \text{payoff}_i^t = \begin{cases} r_i^t & \text{if } r_i^t < 0 \\ r_i^t+\mu_i^t & otherwise \end{cases}, payoffit={ritrit+μitif rit<0otherwise, payoff i t ← payoff i t ∑ i = 1 N payoff i t \text{payoff}_i^t\leftarrow\frac{\text{payoff}_i^t}{\sum^{N}_{i=1}\text{payoff}_i^t} payoffit←∑i=1Npayoffitpayoffit
3.2 Agent Valuation Function
- 一个代理的价值通常是由它们在辅助验证集上的准确性决定的
- 为了将代理的价值评估和验证过程分离,引入了两个标准:
- 梯度对齐
- 使用梯度信息来作为计算Shapley值的值函数,起名为gradient-based Shapley value
- 公式为 v ( S ) = c o s ( u S , u N ) = < u S , u N > / ( ∣ ∣ u S ∣ ∣ , ∣ ∣ u N ∣ ∣ ) v(S)=cos(u_S,u_N)=<u_S,u_N>/(\vert \vert u_S\vert \vert,\vert \vert u_N\vert \vert) v(S)=cos(uS,uN)=<uS,uN>/(∣∣uS∣∣,∣∣uN∣∣)其中 u s u_s us是一部分代理的梯度, u N u_N uN是全局梯度
- 但是计算真的gradient-based shapley value,需要耗费大量时间,所以在 t t t轮次代理 i i i的gradient-based shapley value为: ϕ i t ≈ c o s ( u S t , u N t ) \phi^t_i\approx cos(u^t_S,u^t_N) ϕit≈cos(uSt,uNt)
- 使用梯度信息来作为计算Shapley值的值函数,起名为gradient-based Shapley value
- 图复杂度
- 考虑图复杂度的两个原因:
- 如果评价紧紧依靠梯度评估,那么具有传输延迟的代理可能就会被低估
- 复杂的图包含复杂结构模式,导致更好的泛化
- 采用模体(motif)来代表图数据的多样性
- 定义1:对于每个代理,将其本地图数据中模体的容量定义为图多样性;对于代理 i i i的图多样性 d i d_i di可以被定义为 d i = k i K d_i=\frac{k_i}{K} di=Kki其中, k i k_i ki表示代理 i i i本地图数据中独特的模体的数量, K K K表示所有代理贡献的总数据中独特的模体的类别
- 考虑图复杂度的好处还有防止参与训练的代理最终收敛的相似模型中
- 考虑图复杂度的两个原因:
- 梯度对齐
- 代理价值的更新:
- 综合考虑两方面因素:
- 结合图对接和图多样性
- 同时考虑当前轮次的评估和历史评估
- 公式可表示为: r i t = r i t − 1 + α 1 ( ϕ i t + α 2 d i ) , r i t ← r i t / ∑ j ∈ N r j t r_i^t=r^{t-1}_i+\alpha_1(\phi_i^t+\alpha_2d_i),r_i^t\leftarrow r_i^t/\sum_{j\in N}r_j^t rit=rit−1+α1(ϕit+α2di),rit←rit/j∈N∑rjt其中 α 1 \alpha_1 α1作为当前轮次和历史轮次之间的平衡, α 2 \alpha_2 α2视为图对齐和图多样性之间的平衡,初始化 r i 0 = 1 r_i^0=1 ri0=1
- 综合考虑两方面因素:
3.3 Model Quality Enhancement
- Motif Prototypes
- 在结构化数据中富含的子结构,能够在不同图之间代表相似的结构模式
- 定义:对于第 k k k模体,我们将模体原型(motif prototype)定义为属于这个模体的所有图的嵌入向量的均值,公式为: c i , k t = 1 ∣ D i , k ∣ ∑ G ∈ D i , k f w i t ( G ) c^t_{i,k}=\frac{1}{\vert D_{i,k}\vert}\sum_{G\in D_{i,k}}f_{w_i^t}(G) ci,kt=∣Di,k∣1G∈Di,k∑fwit(G)其中 D i , k D_{i,k} Di,k是 D i D_{i} Di是由包含第 k k k个模体的图实例构成的, f w i t ( G ) f_{w_i^t}(G) fwit(G)是图实例 G G G的嵌入向量, w i t w_i^t wit是代理 i i i在轮次 t t t的嵌入层的参数
- 嵌入向量(embedding vectors):在机器学习中,嵌入向量是一种将图或子图映射到一个连续向量空间的方法。它们通常用于表示数据的某些特征,使得图数据可以被机器学习模型处理。
- 在服务器与本地代理间进行原型的交流不会造成太多的隐私泄露,这是因为模体原型(motif prototypes)是通过计算图实例的低维表示的平均数据的1维向量,这个过程是不可逆的
- 基于价值的全局模型聚合(Value-based global model aggregation)
- 模体原型在服务器端聚合的过程:第 k k k个模体在轮次 t t t的全局原型可以被定义为: c N , k t = ∑ i ∈ N k ReLU ( r i t ) ⋅ c i , k t ∑ i ∈ N k ReLU c_{N,k}^t=\frac{\sum_{i\in N_k}\text{ReLU}(r_i^t)\cdot c_{i,k}^t}{\sum_{i\in N_k}\text{ReLU}} cN,kt=∑i∈NkReLU∑i∈NkReLU(rit)⋅ci,kt其中 N k N_k Nk表示包含模体 k k k的代理集
- 全局模型梯度的聚合:在服务器中轮次 t t t的全局梯度模型记作 u N t u_N^t uNt,按照下列公式进行聚合: u N t = ∑ n = 1 m ReLU ( r i t ) ⋅ u i t ∑ i = 1 m ReLU ( r i t ) u_N^t=\frac{\sum^m_{n=1}\text{ReLU}(r_i^t)\cdot u_i^t}{\sum_{i=1}^m\text{ReLU}(r_i^t)} uNt=∑i=1mReLU(rit)∑n=1mReLU(rit)⋅uit其中 ReLU \text{ReLU} ReLU起到了在联邦学习过程中将有负面影响的代理排除在外的作用
- ReLU ( ) \text{ReLU}() ReLU()函数: f ( x ) = m a x ( 0 , x ) f(x)=max(0,x) f(x)=max(0,x)
- 本地模型训练Local model training
- 全局模体原型作为代理朝着它们期望的方向训练模型的一个指导
- 为了鼓励本地模型 c i , k t c_{i,k}^t ci,kt向全局模型 c N , k t c_{N,k}^t cN,kt靠近,代理 i i i的本地损失函数被定义为: L ( ω i , D i ) = L S ( F ( D i ) , Y ) + λ ∑ k d ( c i , k t , c N , k t ) L(\omega_i,D_i)=L_S(F(D_i),Y)+\lambda\sum_{k}d(c_{i,k}^t,c_{N,k}^t) L(ωi,Di)=LS(F(Di),Y)+λk∑d(ci,kt,cN,kt)其中, L S L_S LS是度量模型预测 F ( D i ) F(D_i) F(Di)与实际标签 Y Y Y之间差异的监督损失函数, λ \lambda λ是一个权衡参数,介于监督损失 L S L_S LS和基于模体原型的正则化之间。