基于生成式对抗网络的联邦学习贡献度评估算法
基本信息
标题 | Incentive mechanism for federated learning based on generative adversarial network |
---|---|
作者 | YU Sunjie,ZENG Hui,XIONG Shiyu,SHI Hongzhou |
期刊 | Journal of Computer Applications |
发表日期 | 2024年 |
关键词 | 联邦学习;生成式对抗网络;激励机制;数据共享 |
背景
针对当前难以衡量不同数据量、不同数据质量、不同数据分布的参与节点的联邦学习贡献度等问题,提出一种基于生成式对抗网(GAN)的联邦学习贡献度评估算法,该算法通过联合模型筛选样本并生成数据标签,引入参与节点的本地数据标签分布平衡非独立同分布数据标签对贡献度评估的影响。
方案设计
出于联邦学习对数据隐私的保护,中心节点难以大量采样来自各参与节点的数据,该文章采用 GAN在保证数据隐私安全的同时生成大量高质量测试数据,该过程透明、可审计,为参与联邦学习任务的节点提供公平的贡献度评估方法。实现步骤如下:
-
中央节点训练GANT(生成器G和判别器D)模型,得到训练好的生成器G。
-
生成器G接受随机噪声z作为输入,生成仿真特征样本g(z)。
-
使用联合模型M对生成的样本g(z)进行筛选。
-
对于满足筛选条件的样本g(z),取argminc∈Ce{‖M(g(z)) - c‖}作为该样本的标签,形成测试数据集 D ‾ \overline{D} D,Ce 为数据标签的独热编码集合,c 为数据标签的独热编码
-
D ‾ i \overline{D}_i Di表示数据标签为第 i 类数据标签的数据。参与节点 k 的贡献度计算如下:
C o n t k = n ⋅ ∑ i F k , i ⋅ a c c ( M k , D ‾ i ) Cont_k = \sqrt{n} ⋅\sum_iF_{k,i} ⋅ acc(M_k,\overline{D}_i ) Contk=n⋅i∑Fk,i⋅acc(Mk,Di)
其中, M k M_k Mk 表示参与节点 k 的本地模型,acc( M k M_k Mk , D ‾ i \overline{D}_i Di) 表示 M k M_k Mk 使用数据集 D ‾ i \overline{D}_i Di的精度, F k , i F_{k,i} Fk,i 表示参与节点 k 本地数据集中数据标签为第 i 类数据标签的数据所占百分比,n 表示参与节点 k本地数据集中所拥有的数据标签关于总标签的百分比。
那么,中央节点是如何训练GANT模型的呢?大概的流程如下:
1.固定生成器G,优化判别器D:
- 对于任意输入x,使用联合模型M计算其为伪造样本的评估值Y(x) = min{‖M(x) - c‖}, c∈Ce
- 采样自真实数据分布 p d a t a p_{data} pdata(x)的数据x,标注为1-αY(x),其中α∈[0,1]为联合模型对真实样本的影响因子
- 采样自生成器数据分布 p g ( x ) p_{g(x)} pg(x)的数据g(z),标注为μ-βY(g(z)),其中β∈[0,1]为联合模型对伪造样本的影响因子,μ∈[0,1]为伪造样本的上界
- 采用均方误差作为判别器D的损失函数,优化D
2.固定判别器D,优化生成器G:
- 生成器G的目标是最大化判别器D的损失函数,即 L G ( D , G ) = m a x { L D ( D , G ) } L_G(D,G) = max\{{L_D(D,G)}\} LG(D,G)=max{LD(D,G)}
知道了大概的方案,下面,我们将具体介绍一下GAN以及本文提出的融合训练模型的生成式对抗网络GANT是如何实现的。
生成式对抗网络(GAN)
GAN 由 1 个 生 成 器(Generator, G)和 1 个 判 别 器(Discriminator, D)构成:生成器以学习真实数据分布为目标,输入随机噪声 z,输出生成图片 g (z);判别器以正确识别是否真实数据为目标,输入服从真实数据分布的采样数据x,输出是真实数据的概率 D( x)。生成器 G 和判别器 D 共同训练达到纳什均衡。GAN目标函数为:
GAN结构图如下:
以生成图片作为例子具体说明,我们有两个网络,G(Generator)和D(Discriminator)。Generator是一个生成图片的网络,它接收一个随机的噪声z,通过这个噪声生成图片,记做G(z)。Discriminator是一个判别网络,判别一张图片是不是“真实的”。它的输入是x,x代表一张图片,输出D(x)代表x为真实图片的概率,如果为1,就代表100%是真实的图片,而输出为0,就代表不可能是真实的图片。在训练过程中,生成网络的目标就是尽量生成真实的图片去欺骗判别网络D,而网络D的目标就是尽量把网络G生成的图片和真实的图片分别开来,即D使得最大概率地分对训练样本的标签(最大化log D(x)和 𝑙𝑜𝑔(1−𝐷(𝐺(𝑧)))),G最小化log(1 – D(G(z))),即最大化D的损失。
融合训练模型的生成式对抗网络(GANT)
联合模型通过真实数据训练得到,将联合模型作为影响判别器的一个重要因素,可以缓解由于采样特征数据的数据量不足带来的生成器难收敛和精度不足的问题。与 GAN 算法的训练机制类似,GANT算法的训练机制同样分为两个部分:固定生成器 G 优化判别器 D和固定判别器 D优化生成器 G。
GANT 结构如下图所示:
GANR大致流程如下:
1.固定生成器G,优化判别器D:
-
对于任意输入x,使用联合模型M计算其为伪造样本的评估值Y(x) = min{‖M(x) - c‖}, c∈Ce
-
采样自真实数据分布 p d a t a p_{data} pdata(x)的数据x,标注为1-αY(x),其中α∈[0,1]为联合模型对真实样本的影响因子
-
采样自生成器数据分布 p g ( x ) p_{g(x)} pg(x)的数据g(z),标注为μ-βY(g(z)),其中β∈[0,1]为联合模型对伪造样本的影响因子,μ∈[0,1]为伪造样本的上界
-
采用均方误差作为判别器D的损失函数,优化D,其目标函数描述为:
m i n { L D ( D , G ) = E x − p d a t a ( x ) [ ( 1 − α Y ( x ) − D ( x ) 2 ) ] + E x − p z ( x ) [ ( μ − β Y ( g ( z ) ) − D ( g ( z ) ) ) 2 ] } \mathop{min}\{L_D(D,G)=E_{x-p_{data}(x)}[(1-\alpha Y(x)-D(x)^2)]+E_{x-p_{z}(x)}[(\mu-\beta Y(g(z))-D(g(z)))^2]\} min{LD(D,G)=Ex−pdata(x)[(1−αY(x)−D(x)2)]+Ex−pz(x)[(μ−βY(g(z))−D(g(z)))2]}
2.固定判别器D,优化生成器G:
- 生成器G的目标是最大化判别器D的损失函数,即$ L_G(D,G) = max{{L_D(D,G)}}$
通过这样的对抗训练过程,生成器G学习生成接近真实数据分布的样本,而判别器D则学习识别真实样本和生成样本的能力。联合模型M作为一个重要因素参与到了判别器D的训练中,能够帮助缓解生成器G收敛困难和精度不足的问题。
这种基于GANT的训练机制,能够在保护参与节点隐私的前提下,生成高质量的测试数据样本,为后续的贡献度评估提供有力支撑。
总结
该方案中,中央节点需要从各个参与节点获取某些输入数据来训练GANT模型,这涉及到了参与节点数据的共享问题。具体来说,中央节点训练GANT模型所需的输入包括:
1.联合(聚合)模型M:通过聚合各参与节点提交的本地模型得到的,需要各参与节点提供自己的本地模型
2.真实数据分布pdata(x):这部分数据来自各参与节点的本地数据集,需要各参与节点提供部分数据样本
可以看出,虽然GANT算法本身不需要直接访问参与节点的全部数据,但仍需要参与节点提供一定的数据样本和模型参数。这就涉及到了如何在保护参与节点隐私的前提下,安全地共享这些必要的数据输入。论文中并没有详细说明这部分的实现机制,需要采用一些隐私保护技术,来确保在数据共享过程中参与节点的隐私不会被泄露,这也是论文中还需要完善的方面。
护参与节点隐私的前提下,安全地共享这些必要的数据输入。论文中并没有详细说明这部分的实现机制,需要采用一些隐私保护技术,来确保在数据共享过程中参与节点的隐私不会被泄露,这也是论文中还需要完善的方面。
参考论文:http://www.joca.cn/CN/10.11772/j.issn.1001-9081.2023020244