联邦学习论文阅读:Private Semi-Supervised Federated Learning


论文简介

论文简介

FSSL场景设置:少数数据源(support agents,S-Agents)拥有完全标记数据,大部分数据源(query agents,Q-Agents)拥有完全未标记数据。
文章提出了FedSSL,基于生成网络的方法,充分利用大量的无标签数据协助训练。在所有客户端上建立统一的数据空间,使得每个代理都能生成混合数据样本,在保持数据本地的情况下提高半监督学习准确率。作者还说明了FedSSL可以集成不同的隐私保护技术。

问题:

  • 如何在不传输数据的情况下,实现同时利用不同数据源上的有标签、无标签数据;
  • 如何通过联邦学习框架来实现上述过程,即通过模型的传递和聚合(model fusion) 来联合学习一个分类能力更强的模型;
  • 如何保障数据隐私。

动机:如何利用稀缺和偏态分布的标记数据和丰富的未标记数据使FL有效?



论文方法

提出了一种基于生成模型的数据混合增强方法。
分类模型(Classifier)F,用于实际的半监督分类任务。
生成模型(generative)G,用于数据的生成任务
判别模型(Discriminator)D,用于G的联合训练。

训练目标:通过各客户端的F和G相互提高,来迭代提高分类模型F的任务精度以及生成模型G的数据真实性。

全局FL目标函数如下:



L-MixUp

L-MixUp直接在本地的S-Agent和Q-Agent上应用(Q-Agent上用MixMatch打伪标签),来合成混合数据特征和标签,进行局部训练,作用是增强数据集。




$(x', p')$是合成数据,$\alpha$是控制两个输入之间插值强度的混合超参。

L-MixUp对局部数据集进行了增强,并将模型正则化,

G-MixUp

G-MixUp跨客户端运行,允许在没有数据交换的情况下进行数据推断。用生成学习的方案构建一个全局的数据空间,来生成和混合任意类的数据。设计一个条件生成器G来合成混合数据样本,该样本同时作用于局部数据标签对以及全局的样本数据类中。

S-agent的G-MixUp
对于一个有标签数据$(x_1, p_1)$,一个随机采样的类$c_2$及其独热标签$p_2$,混合因子$\lambda$,一个噪声向量$z$
G的目标为生成一个合成向量: 和预测标签$\hat{p} = F(\hat{x})$。

而且应该跟$\hat{x}$跟L-MixUp一样,有$\lambda$的比例像$x_1$的类,有$(1-\lambda)$的比例像$x_2$的类,即:$p' = \lambda p_1 + (1-\lambda )p_2$。这里用CE进行评估。

在形式上,F和G的联合培训目标是:




上图第二行:抽样有标签数据,得到x1和真实标签$p1$,然后选取一个类别标签$p_2$,和一个随机噪声向量$z$。

上图第三行:通过G函数,根据噪声$z$、输入数据$x_1$,标签$p_2$及混合程度$\lambda$,学习生成混合数据图片,该数据具有$\lambda$份额的数据类别$p_1$,$(1-\lambda)$份额的$p_2$数据类别。

第四行:使用F对$\hat{x}$进行分类,得到$\hat{p}$应当满足$\lambda p_1 + (1-\lambda) p_2$。以此为优化目标,用CE进行模型端到端的优化。

在迭代过程中,G生成更真实的数据,F生成对G生成的数据进行更准确的估计。

Q-agent的G-MixUp
首先对一个未标记数据$u_1$进行采样,然后用MixMatch里的数据锐化来产生其未标记$q_1$:



然后对一个新类$c_2$的独热标签$p_2$进行采样,加入噪声向量$z$,训练G生成一个合成数据: 和预测标签$\hat{p} = F(\hat{x})$。



模型G的设计

模型G的设计如下:



G模型包括3部分:
G1:对真实数据$x_1$进行编码和解码,同时用重构损失(reconstruction)来正则化模型。
G1的重构损失如下:



G2:实现图片的生成,从随机噪声$z$和类别标签$p$来生成图片。
生成模型G和判别器D的对抗学习优化过程:




好像是经典的G,D轮流迭代方法(GAN的这一块我也不太懂),提高G的生成水平和D的鉴别水平,优化G生成的数据,进一步为F的混合数据增强提供优质数据,达到优化分类模型F的目的。

G3:实现G1,G2的图像混合,通过对其中间对特征图谱的叠加来完成。如上图中G3对鸟和马,按照$\lambda$和$(1-\lambda)$的比例进行混合,得到第三行的混合图片,既有鸟类特征也有马的特征。

对于无标签的客户端来说,优化方法跟有标签的客户端差不多,区别就是无标签源的数据没有真实标签,所以需要用现有的F生成伪标签,再进行图像生成与混合增强。

算法的流程如下:



  1. 训练D和G来正则化模型,最小化$l^{reg} = l^{real} + l^{rec}$(G-Reg)
  2. 用G-MixUp训练F和G,产生混合数据样本,提高精度(G-MixUp)

隐私保护

这篇论文由于用到了GAN,所以可能会出现数据泄露问题。比如G模型可能会重建出来训练样本和与其相对应的标签,导致标记数据泄露。

为此,作者专门提出了差分隐私(Differential Privacy)学习方式:引入了$(\epsilon, \delta)-DP$,建立一个隐私损失总体值,然后顺序的在有标签源上进行训练,之后再并行的在无标签源上训练。用有标签数据训练的时候,对数据加入高斯噪声$N(0,\sigma ^2)$。有噪声的训练过程可以提供隐私损失的upper bound。在训练过程中,达到隐私损失的总体值以后,就立刻停止继续使用有标签数据进行训练。

图片如下:



在有标签数据源上进行顺序训练的意义是,差分隐私损失具有可叠加性,通过牺牲一定的并行度而采用顺序训练,可以更准确的计算隐私损失的上界。

实验设置

数据集
CIFAR-10:5000(10%)、2500(5%)、500(1%)
MNIST:300(0.5%)、150(0.25%)、100(0.17%)
Sent140:3000(5%)、600(1%)、300(0.5%)

Sent140是NLP的二分类情感分析任务。

客户端数量

  • $N_S = 2, N_Q = 6$
  • $N_S = 3, N_Q = 9$;

CIFAR-10




关于baseline的几点说明:
Supervise指的是只使用标记数据进行FL;
Pseudo指的是在Q-Agents上用伪标签执行额外的SSL;
MixMatch在所有客户端上都进行训练。

MNIST




可以看到,基线因为每个客户端的模型都对本地数据过拟合了(如果含有噪声标签的话会更糟),导致聚合的全局模型无法收敛。相比之下,FedSSL依然能够收敛且效果非常好。

Sent-140




依然表现是最佳的。

Non-iid设置

在MNIST数据集上,把[0,3,6,9],[1,4,7],[2,5,8]分配给三个S-Agents,然后把[0,9],[1],...,[8]的未标记实例分配给9个Q-Agents。这样就在S-agents和Q-agents上创建了不重叠的训练头。




可以看到,只有FedSSL可以在极端设置中表现良好。

partially labeled data

FedSSL可以扩展到“每个客户端都含有标记数据和未标记数据”的情况。在常规设定下,FedSSL比FedMatch高出5.9% (85.1%。79.2%),因为FedSSL的G-MixUp可以同时执行局部和全局数据计算,而FedMatch只能进行全局的MixUp。

消融实验

模型关于$l^{real}$和$l^{rec}$,在标注比例分别为0.25%,0.17%时候的消融:




两个损失函数都是至关重要的,特别是标注比例为0.17%的时候,去掉两个模块以后性能直接下降了29.3%,侧面说明了这个模型是针对稀缺数据的情况来的。

声明:奋斗小刘|版权所有,违者必究|如未注明,均为原创|本网站采用BY-NC-SA协议进行授权

转载:转载请注明原文链接 - 联邦学习论文阅读:Private Semi-Supervised Federated Learning


Make Everyday Count