论文简介
- 论文名称:Private Semi-Supervised Federated Learning
- 作者:Chenyou Fan,华南师范大学
- 论文链接:https://www.ijcai.org/proceedings/2022/279
- 论文来源:IJCAI 2022
论文简介
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生成伪标签,再进行图像生成与混合增强。
算法的流程如下:

- 训练D和G来正则化模型,最小化$l^{reg} = l^{real} + l^{rec}$(G-Reg)
- 用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%,侧面说明了这个模型是针对稀缺数据的情况来的。
Comments | NOTHING