«上一篇 下一篇»
  计算机工程  2022, Vol. 48 Issue (6): 107-114, 123  DOI: 10.19678/j.issn.1000-3428.0061911
0

引用本文  

王树芬, 张哲, 马士尧, 等. 一种鲁棒的半监督联邦学习系统[J]. 计算机工程, 2022, 48(6), 107-114, 123. DOI: 10.19678/j.issn.1000-3428.0061911.
WANG Shufen, ZHANG Zhe, MA Shiyao, et al. A Robust Semi-Supervised Federated Learning System[J]. Computer Engineering, 2022, 48(6), 107-114, 123. DOI: 10.19678/j.issn.1000-3428.0061911.

基金项目

国家自然科学基金“基于DIBR绘制3D图像认证的关键技术研究”(61702224)

通信作者

伍一(通信作者),教授

作者简介

王树芬(1982—),女,副教授、硕士,主研方向为边缘计算、联邦学习;
张哲,硕士研究生;
马士尧,硕士研究生;
陈俞强,教授、博士

文章历史

收稿日期:2021-06-15
修回日期:2021-07-23
一种鲁棒的半监督联邦学习系统
王树芬1 , 张哲2 , 马士尧2 , 陈俞强3 , 伍一2     
1. 哈尔滨石油学院 信息工程学院, 哈尔滨 150028;
2. 黑龙江大学 数据科学与技术学院, 哈尔滨 150080;
3. 广州航海学院 信息与通信工程学院, 广州 510725
摘要:联邦学习允许边缘设备或客户端将数据存储在本地来合作训练共享的全局模型。主流联邦学习系统通常基于客户端本地数据有标签这一假设,然而客户端数据一般没有真实标签,且数据可用性和数据异构性是联邦学习系统面临的主要挑战。针对客户端本地数据无标签的场景,设计一种鲁棒的半监督联邦学习系统。利用FedMix方法分析全局模型迭代之间的隐式关系,将在标签数据和无标签数据上学习到的监督模型和无监督模型进行分离学习。采用FedLoss聚合方法缓解客户端之间数据的非独立同分布(non-IID)对全局模型收敛速度和稳定性的影响,根据客户端模型损失函数值动态调整局部模型在全局模型中所占的权重。在CIFAR-10数据集上的实验结果表明,该系统的分类准确率相比于主流联邦学习系统约提升了3个百分点,并且对不同non-IID水平的客户端数据更具鲁棒性。
关键词联邦学习    半监督联邦学习    数据异构性    一致性损失    鲁棒性    
A Robust Semi-Supervised Federated Learning System
WANG Shufen1 , ZHANG Zhe2 , MA Shiyao2 , CHEN Yuqiang3 , WU Yi2     
1. School of Information Engineering, Harbin Institute of Petroleum, Harbin 150028, China;
2. School of Data Science and Technology, Heilongjiang University, Harbin 150080, China;
3. School of Information and Communication Engineering, Guangzhou Maritime University, Guangzhou 510725, China
Abstract: Federated Learning(FL) allows edge devices or clients to cooperatively train a shared global model by storing data locally.Mainstream FL systems are typically based on the assumption that client-side local data contain labels; however, client-side data generally do not contain abundant real labels.Meanwhile, data availability and heterogeneity are the main challenges encountered by FL systems.A robust Semi-Supervised Federated Learning(SSFL) system is designed for scenarios where client local data are unlabeled.The FedMix method is used to analyze implicit relationships between global model iterations, whereas supervised and unsupervised models are learned separately on labeled and unlabeled data.The FedLoss aggregation method is used to alleviate the effect of not Identically and Independently Distributed(non-IID) data between clients on the convergence speed and stability of the global model, and the weight of the local model in the global model is dynamically adjusted based on the loss function value of the client model.Experimental results on the CIFAR-10 dataset show that the classification accuracy of this system is approximately 3 percentage points higher than that of the mainstream FL system, and that it is more robust to client data of different non-IID levels.
Key words: Federated Learning(FL)    Semi-Supervised Federated Learning(SSFL)    data heterogeneity    consistency loss    robustness    

开放科学(资源服务)标志码(OSID):

0 概述

联邦学习[1-3](Federated Learning,FL)是隐私计算领域的重要技术,允许多个边缘设备或客户端合作训练共享的全局模型。联邦学习[4]的特点是每个客户端只能私有地访问本地数据,而不能与云中心共享数据[5-6]。现有研究多数要求客户端的数据都带有真实的标签,然而在现实场景下客户端的数据多数是没有标签的。这种标签缺失的现象通常是由于标注成本过高或缺少相关领域的专家知识造成的[7]。因此,如何利用本地客户端上的无标签数据来训练高质量的全局模型对联邦学习而言是一个巨大的挑战。

文献[7-10]设计一种可将半监督学习技术有效地整合到FL中的半监督联邦学习(Semi-Supervised Federated Learning,SSFL)系统。文献[7]引入一致性损失和已训练的模型,为无标签数据生成伪标签。目前,伪标签和一致正则化方法已广泛应用于半监督领域,但是伪标签主要利用预测值高于置信度阈值的伪标签来实现高精度模型,一致正则化技术通过在同一个无标签数据中分别注入两种不同噪声应保持相同模型输出来训练模型[11]。因此,亟需设计一个通用的联邦半监督学习框架,但设计该框架存在两个主要问题。第一个是传统SSFL方法[7, 12-13]直接将半监督技术(例如一致性损失和伪标签)引入FL系统,之后使用联邦学习算法来聚合客户端的模型参数。这样将导致模型在利用大量无标签的数据学习后会遗忘从少量标签数据中学习到的知识。文献[10]分解了标签数据和无标签数据的模型参数用于进行分离学习,却忽略了全局模型迭代更新之间的隐式贡献。因此,全局模型将偏向于标签数据(监督模型)或无标签数据(无监督模型)。第二个是统计异质性,即客户端本地的训练数据分布是非独立同分布(not Identically and Independently Distributed,non-IID)的。其主要原因为不同的客户端具有不同的训练数据集,而这些数据集通常没有重叠,甚至是分布不同的。因此,在异构数据的训练过程中,客户端局部最优模型与全局最优模型会出现很大的差异。这将导致标准的联邦学习方法在non-IID设置下全局模型性能出现显著下降和收敛速度慢的问题。目前,研究人员对此进行了大量研究并在一定程度上缓解了non-IID问题。例如文献[14]利用局部批处理归一化来减轻平均聚合模型和局部模型之前的特征偏移。然而,此类方法给服务器或客户端增加了额外的计算和通信开销。

本文针对上述第一个问题,提出FedMix方法,分析全局模型迭代之间的隐式效果,采用对监督模型和无监督模型进行分离学习的模型参数分解策略。针对上述第二个问题,为了缓解客户端之间的non-IID数据分布对全局模型收敛速度和稳定性的影响,提出FedLoss聚合方法,通过记录客户端的模型损失来动态调整相应局部模型的权重。此外,在实验中引入Dirchlet分布函数来模拟客户端数据的non-IID设置。

1 相关工作

半监督联邦学习试图利用无标签数据进一步提高联邦学习中全局模型的性能[9]。根据标签数据所在的位置,半监督联邦学习分为标签在客户端和标签在服务器两种场景[10]。文献[12]提出FedSemi,该系统在联邦学习设置下统一了基于一致性的半监督学习模型[15]、双模型[16]和平均教师模型[17]。文献[8]提出DS-FL系统,旨在解决半监督联邦学习中的通信开销问题。文献[18]提出一种研究non-IID数据分布的方法。该方法引入了一个概率距离测量来评估半监督联邦学习中客户端数据分布的差异。与以上方法不同,本文研究了标签数据在服务器上这一场景,同时也解决了联邦学习中non-IID的问题。

由于每个客户端本地数据集的分布与全局分布相差较大,导致客户端的目标损失函数局部最优与全局最优不一致[19-21],特别是当本地客户端模型参数更新很大时,这种差异会更加明显,因此non-IID的数据分布对FedAvg[1]算法的准确性影响很大。一些研究人员试图设计一种鲁棒的联邦学习算法去解决联邦学习中的non-IID问题。例如,FedProx[22]通过限制本地模型更新的大小,在局部目标函数中引入一个额外的L2正则化项来限制局部模型和全局模型之间的距离。然而,不足之处是每个客户端需要单独调整本地的正则化项,以实现良好的模型性能。FedNova[23]在聚合阶段改进了FedAvg,根据客户端本地的训练批次对模型更新进行规范化处理。尽管已有研究在一定程度上缓解了non-IID问题,但都只是评估了特定non-IID水平的数据分布,缺少对不同non-IID场景下的广泛实验验证。因此,本文提出一个更全面的数据分布和数据分区策略,即在实验中引入Dirchlet分布函数来模拟客户端数据的不同non-IID水平。

2 相关知识 2.1 联邦学习

联邦学习旨在保护用户隐私的前提下解决数据孤岛问题。FL要求每个客户端使用本地数据去合作训练一个共享的全局模型$ {\omega }^{{\rm *}} $。在FL中,本文假设有一个服务器SK个客户端,其中每个客户端都存在一个独立同分布(Independently Identical Distribution,IID)或者non-IID数据集$ {D}_{k} $。具体地,客户端使用损失函数$ l(\omega ;x) $训练样本$ x $,其中$ \omega \in {\mathbb{R}}^{d} $表示模型可训练的参数。本文定义$ L\left(\omega \right)={\mathbb{E}}_{x\in {D}_{k}}\left[l\right(\omega ;x\left)\right] $作为服务器上的损失函数。因此,FL需要在服务器端优化如下目标函数:

$ \underset{\omega }{{\rm m}{\rm i}{\rm n}}L\left(\omega \right), L\left(\omega \right)=\sum\limits_{k=1}^{K}{p}_{k}{l}_{k}(\omega ;x) $ (1)

其中:$ {p}_{k}\ge 0, \sum\limits_{k}{p}_{k}=1 $表示第k个客户端在全局模型中的权重。在FL中,为了最小化上述目标函数,服务器和客户端需要执行以下步骤:

步骤1  初始化。服务器向被选中的客户端发送初始化的全局模型$ {\omega }_{0} $

步骤2  本地训练。客户端在本地数据集$ {D}_{k} $上使用优化器(例如SGD、Adam)对初始化的模型进行训练。在训练后,每个客户端向服务器上传本地模型$ {\omega }_{t}^{k} $

步骤3  聚合。服务器收集客户端上传的模型并使用聚合方法(例如FedAvg)聚合生成一个新的全局模型,即$ {\omega }_{t+1}={\omega }_{t}+\sum\limits_{k=1}^{K}\frac{{D}_{k}}{D}{\omega }_{t}^{k} $。之后服务器将更新后的全局模型$ {\omega }_{t+1} $发送给下一轮被选择参与训练的客户端。

2.2 半监督学习

在现实世界中,例如金融和医疗领域,无标签数据很容易获得而标签数据很难得到。与此同时,标注数据通常耗费大量的人力物力。为此研究人员提出了一种机器学习范式——半监督学习[24-26]。半监督学习可以在混合的数据集(一部分为标签数据,另一部分为无标签数据)上训练得到高精度模型。因此,近些年半监督学习在深度学习领域成为一个热门的研究方向。在本节中,将介绍半监督学习中的一个基本假设和两种常用的半监督学习方法。

假设1(一致性)  在机器学习中存在一个基本假设:如果两个无标签样本u1u2的特征相似,那么相应模型的预测结果y1y2也应该相似[14],即$ f\left({u}_{1}\right)=f\left({u}_{2}\right) $,其中f(∙)是预测函数。

根据假设1,研究人员一般采用如下两种常用的半监督学习方法:

1)一致性正则化。该方法的主要思想是对于无标签的训练样本,无论是否加入噪声,模型预测结果都应该是相同的[19]。通常使用数据增强(如图像翻转和移位)的方式来给无标签样本添加噪声以增加数据集的多样性。假定一个无标签数据集$ u=\{{u}_{i}{\}}_{i=1}^{m} $中的无标签样本$ {u}_{i} $,其扰动形式为$ {\stackrel{⌢}{u}}_{i} $,则目标是最小化未标记数据与其扰动输出两者之间的距离$ d\left({f}_{\theta }\right({u}_{i}), {f}_{\theta }(\stackrel{⌢}{{u}_{i}}\left)\right) $,其中$ {f}_{\theta }\left({u}_{i}\right) $是样本$ {u}_{i} $在模型$ \theta $上的输出。一般地,采用Kullback-Leiber(KL)散度进行距离测量,因此一致性损失计算如下:

$ d({f}_{\theta }{;u)}_{{\rm K}{\rm L}}=\frac{1}{m}{\sum\limits_{i=1}^{m}{f}_{\theta }(u}_{i}){\rm l}{\rm o}{{\rm g}}_{a}\frac{{f}_{\theta }\left({u}_{i}\right)}{{f}_{\theta }\left(\stackrel{⌢}{{u}_{i}}\right)} $ (2)

其中:m表示未标记样本的总数;$ {f}_{\theta }\left({u}_{i}\right) $表示无标签样本在模型$ \theta $上的输出。

2)伪标签[15]。该方法利用一些标签样本来训练模型,从而给无标签样本打上伪标签。一般使用Sharpening[15]和argmax[15]方法来设置伪标签,其中前者使模型输出的分布极端化,后者会将模型输出转变为one-hot。伪标签方法也称为自训练方法,具体步骤如下:

步骤1  使用少量的标签数据训练模型。

步骤2  将无标签数据输入该模型,之后将无标签数据的预测结果进行Sharpening或argmax操作,得到无标签数据的伪标签。

步骤3  标签数据和伪标签数据共同训练模型。

重复步骤2和步骤3,直至模型收敛。

3 问题定义

目前,针对FL的研究多数基于标签数据训练模型。然而,缺少标签数据是现实世界中的一种常见现象。同时,在标签数据不足的情况下,现有方法的实验结果较差。半监督学习可以使用无标签数据和少量的标记数据来达到与监督学习几乎相同的模型性能。因此,本文将半监督学习方法应用于联邦学习框架中。在SSFL系统中,根据标签数据所在的位置,可以分为两种场景:第一种场景是客户端同时具有标签数据和无标签数据的常规情况,即标签在客户端场景;第二种场景是标签数据仅可用在服务器上,即标签在服务器场景。本文针对标签在服务器场景,给出问题定义:当标签数据只在服务器端,客户端仅有无标签数据时,在SSFL中假设有1个服务器SK个客户端。服务器上有1个标签数据集$ {D}_{s}=\{{x}_{i}, {y}_{i}{\}}_{i=1}^{n} $,每个客户端均有1个本地无标签数据集$ {D}_{k}=\{{u}_{i}{\}}_{i=1}^{m} $。因此,在这种情况下,对于无标签的训练样本$ {u}_{i} $,令$ {L}_{u}^{k} $为第k个客户端的损失函数,具体公式如下:

$ \begin{array}{l}{L}_{u}^{k}=\frac{1}{m}\sum\limits_{{u}_{i}\in {D}_{k}}CE({\widehat{y}}_{i}, {f}_{{\theta }_{k}}({u}_{i}\left)\right)+\\ \ \ \ \ \frac{1}{m}\sum\limits_{{u}_{i}\in {D}_{k}}{||{f}_{{\theta }_{k}}\left({u}_{i}\right)-{f}_{{\theta }_{k}}\left(\pi \right({u}_{i}\left)\right)||}^{2}\end{array} $ (3)

其中:m是无标签样本的数量;π(∙)是数据增强函数,例如无标签数据的翻转和平移;$ {\widehat{y}}_{i} $是无标签样本$ {u}_{i} $的伪标签;$ {f}_{{\theta }_{k}}\left({u}_{i}\right) $是样本$ {u}_{i} $在第k个客户端的模型$ {\theta }_{k} $上的输出。对于标签样本$ {x}_{i} $,令$ {L}_{s} $为服务器端的损失函数,具体公式如下:

$ {L}_{s}=\frac{1}{n}\sum\limits_{{x}_{i}, {y}_{i}\in {D}_{s}}CE({y}_{i}, {f}_{\theta }({x}_{i}\left)\right) $ (4)

其中:n是标签样本的数量;$ {f}_{\theta }\left({x}_{i}\right) $是样本$ {x}_{i} $在模型θ上的输出。因此,在SSFL中标签在服务器场景中国的目标是将损失函数最小化,具体公式如下:

$ {\rm m}{\rm i}{\rm n}L, L=\sum\limits_{k=1}^{K}{L}_{u}^{k}+{L}_{s} $ (5)

整个学习过程类似于传统的FL系统,不同之处在于服务器不仅聚合客户端模型参数,而且还使用标签数据训练模型。

4 系统与方法设计 4.1 半监督联邦学习系统设计

在半监督联邦学习系统(如图 1所示)中,①~⑥表示训练过程,服务器S持有一个标记的数据集$ {D}_{s}=\{{x}_{i}, {y}_{i}{\}}_{i=1}^{n} $。对于K个客户端,假设第k个客户端拥有本地无标签的数据集$ {D}_{k}=\{{u}_{i}{\}}_{i=1}^{m} $。与传统FL系统类似,SSFL中的服务器和客户端合作训练高性能的全局模型$ {\omega }^{{\rm *}} $,目标是优化上述目标函数式(5),但是它们忽略了全局模型迭代之间的隐式贡献,从而导致学习的全局模型不是最佳的。

Download:
图 1 半监督联邦学习系统框架 Fig. 1 Framework of semi-supervised federated learning system

受此启发,本文提出一种FedMix方法,该方法以细粒度的方式关注全局模型迭代之间的隐式贡献,将在标记数据集上训练的监督模型定义为σ,在无标签数据集上训练的无监督模型定义为ψ,聚合的全局模型定义为ω。具体而言,本文设计一种参数分解策略,分别将αβγ 3个权重分配给无监督模型ψ、监督模型σ和上一轮的全局模型$ \omega $。FedMix方法可以通过细粒度的方式捕获全局模型的每次迭代之间的隐式关系,具体步骤如下:

步骤1  初始化。服务器从所有本地客户端中随机选择一定比例F(0 < F < 1)的客户端,发送初始化的全局模型$ {\omega }_{0} $,其中全局模型$ {\omega }_{0} $保留在服务器端。

步骤2  服务器训练。与FL不同,在本文SSFL系统中,服务器不仅聚合客户端上传的模型,而且在标签数据集$ {D}_{s} $上训练监督模型$ {\sigma }_{t}({\sigma }_{t}\leftarrow {\omega }_{t}) $。因此,服务器在标记的数据集$ {D}_{s} $上使用本地优化器来训练监督模型$ {\sigma }_{t} $。目标函数的最小化定义如下:

$ \underset{\sigma \in {\mathbb{R}}^{d}}{{\rm m}{\rm i}{\rm n}}{L}_{s}\left({\sigma }_{t}\right), {L}_{s}\left({\sigma }_{t}\right)={\lambda }_{s}{\rm C}{\rm E}(y, {f}_{{\sigma }_{t}}(x\left)\right) $ (6)

其中:$ {\lambda }_{s} $是超参数;xy来自标签数据集$ {D}_{s} $$ {f}_{{\sigma }_{t}}\left(x\right) $表示在第t轮训练中标签样本在监督模型$ {\sigma }_{t} $上的输出。

步骤3  本地训练。第k个客户端使用本地无标签的数据来训练接收到的全局模型$ {\omega }_{t} $$ {\psi }_{t}^{k}\leftarrow {\omega }_{t} $),获得无监督的模型$ {\psi }_{t+1}^{k} $。因此,定义以下目标函数:

$ \begin{array}{l}\underset{\psi \in {\mathbb{R}}^{d}}{{\rm m}{\rm i}{\rm n}}{L}_{u}\left({\psi }_{t}^{k}\right), {L}_{u}\left({\psi }_{t}^{k}\right)={\lambda }_{1}{\rm C}{\rm E}(\widehat{y}, {f}_{{\psi }_{t}^{k}}(u\left)\right)+\\ {\lambda }_{2}\left|\right|{f}_{{\psi }_{t}^{k}}\left({\pi }_{1}\right(u\left)\right)-{f}_{{\psi }_{t}^{k}}\left({\pi }_{2}\right(u\left)\right)|{|}^{2}\end{array} $ (7)

其中:$ {\lambda }_{1} $$ {\lambda }_{2} $是控制损失项之间比率的超参数;$ {\psi }_{t}^{k} $是第k个客户端在第t轮的无监督模型;u来自无标签的数据集Dkπ(∙)是扰动的形式,即$ {\pi }_{1} $是移位数据增强,$ {\pi }_{2} $是翻转数据增强;$ \widehat{y} $是通过使用本文提出的Sharpening方法(如图 2所示)获得的伪标签。

Download:
图 2 Sharpening方法流程 Fig. 2 Procedure of Sharpening method

Sharpening方法的定义如下:

$ \stackrel{-}{y}=\frac{1}{A}\sum\limits_{i=1}^{A}{f}_{{\psi }_{t}^{k}}\left(u\right) $ (8)
$ \widehat{y}=\frac{{\stackrel{-}{y}}_{j}^{\frac{1}{T}}}{\sum\limits_{j=1}^{c}{\stackrel{-}{y}}_{j}^{\frac{1}{T}}} $ (9)

其中:$ \overline{y} $是对无标签样本u进行A次预测得到的标签的平均值;$ {\stackrel{-}{y}}_{j} $是无标签样本u的标签平均值$ \overline{y} $中属于第j类的概率值;c是该数据集的类别总数;A是数据增强次数;T是一个超参数,且T越趋向于0,伪标签的概率分布越极端化;u来自无标签的数据集Dk。本文设置对超过阈值τ=0.80的无标签样本打上伪标签。

步骤4  聚合。首先,服务器使用FedLoss方法来聚合客户端上传的无监督模型,得到全局的无监督模型,即$ {\psi }_{t+1}=\sum\limits_{k=1}^{K}{w}_{t+1}^{k}{\psi }_{t+1}^{k} $,其中$ {\psi }_{t+1}^{k} $是第k个客户端在第t+1次训练轮次中的无监督模型,$ {w}_{t+1}^{k} $是第k个客户端的权重。然后,服务器将第t+1轮的全局无监督模型$ {\psi }_{t+1} $、监督模型$ {\sigma }_{t+1} $和上一轮的全局模型$ {\omega }_{t} $聚合得到新的全局模型$ {{\omega }_{t}}_{+1} $,如式(10)所示:

$ {\omega }_{t+1}=\alpha {\psi }_{t+1}+\beta {\sigma }_{t+1}+\gamma {\omega }_{t} $ (10)

其中:αβγ是这3个模型对应的权重,$ (\alpha , \beta , \gamma )\in \{\alpha +\beta +\gamma =1{\rm 且}\alpha , \beta , \gamma \ge 0\} $

重复上述步骤,直到全局模型收敛。

算法1  FedMix算法

输入  客户端集合K,服务器每轮的训练批次Bserver,服务器每轮的训练次数Eserver,客户端每轮的训练批次Bclient,客户端每轮的训练次数Eclient,学习率$ \eta $

输出  收敛的全局模型$ {\omega }^{{\rm *}} $

1.服务器执行

2.初始化全局模型$ {\rm{ \mathsf{ ω} }}_{0} $

3.for每一轮t=0,1,…,do

4.$ {\sigma }_{{\rm t}}\leftarrow {\omega }_{{\rm t}} $

5.$ {{\rm B}}_{{\rm s}{\rm e}{\rm r}{\rm v}{\rm e}{\rm r}}\leftarrow {\rm 将}{\rm 服}{\rm 务}{\rm 器}{\rm 数}{\rm 据}{\rm 划}{\rm 分}{\rm 为}{{\rm B}}_{{\rm s}{\rm e}{\rm r}{\rm v}{\rm e}{\rm r}}{\rm 大}{\rm 小}{\rm 的}{\rm 批}{\rm 次} $

6.for训练次数e=0 to Eserver do

7.$ {\sigma }_{{\rm t}+1}={\sigma }_{{\rm t}}-{\rm \eta }\nabla {{\rm L}}_{{\rm s}}^{}({\sigma }_{{\rm t}}, {{\rm D}}_{{\rm s}}^{}, {{\rm B}}_{{\rm s}{\rm e}{\rm r}{\rm v}{\rm e}{\rm r}}, {{\rm E}}_{{\rm s}{\rm e}{\rm r}{\rm v}{\rm e}{\rm r}}) $

8.end for

9.$ {{\rm S}}_{{\rm t}}\leftarrow $从K个客户端中随机选择(F∙K)个客户端

10.for每一个被选择的客户端$ {\rm k}\in {{\rm S}}_{{\rm t}} $同步do

11.$ {\rm{ \mathsf{ ψ} }}_{{\rm t}}\leftarrow {\rm{ \mathsf{ ω} }}_{{\rm t}} $

12.$ {\rm{ \mathsf{ ψ} }}_{{\rm t}+1}\leftarrow {\rm 客}{\rm 户}{\rm 端}{\rm 执}{\rm 行}({\rm k}, {\rm{ \mathsf{ ψ} }}_{{\rm t}}^{{\rm k}}) $//FedLoss聚合

13.end for

14.$ {\rm{ \mathsf{ ω} }}_{{\rm t}+1}={\rm{ \mathsf{ α} }}{\rm{ \mathsf{ ψ} }}_{{\rm t}+1}+{\rm{ \mathsf{ βσ} }}_{{\rm t}+1}+{\rm{ \mathsf{ γω} }}_{{\rm t}} $

15.服务器存储$ {\rm{ \mathsf{ ω} }}_{{\rm t}+1} $

16.end for

17.客户端执行$ ({\rm k}, {\rm{ \mathsf{ ψ} }}_{{\rm t}}^{{\rm k}}) $

18.$ {{\rm B}}_{{\rm c}{\rm l}{\rm i}{\rm e}{\rm n}{\rm t}}\leftarrow {\rm 将}{\rm 客}{\rm 户}{\rm 端}{\rm 数}{\rm 据}{\rm 划}{\rm 分}{\rm 为}{{\rm B}}_{{\rm c}{\rm l}{\rm i}{\rm e}{\rm n}{\rm t}}{\rm 大}{\rm 小}{\rm 的}{\rm 批}{\rm 次} $

19.for训练次数e=0 to Eclient do

20.$ {\rm{ \mathsf{ ψ} }}_{{\rm t}}^{{\rm k}}={\rm{ \mathsf{ ψ} }}_{{\rm t}}^{{\rm k}}-\eta \nabla {{\rm L}}_{{\rm u}}^{}({\rm{ \mathsf{ ψ} }}_{{\rm t}}^{{\rm k}}, {{\rm D}}_{{\rm k}}^{}, {{\rm B}}_{{\rm c}{\rm l}{\rm i}{\rm e}{\rm n}{\rm t}}, {{\rm E}}_{{\rm c}{\rm l}{\rm i}{\rm e}{\rm n}{\rm t}}) $

21.end for

22.返回$ {\rm{ \mathsf{ ω} }}^{{\rm *}} $

4.2 FedLoss聚合方法

FedLoss聚合方法可以根据客户端模型训练的损失值调整相应局部模型的权重,用于提高聚合的全局模型的性能。原因是有些客户端模型在本地训练后性能较好,那么这些客户端就应该对全局模型做出更多的贡献。本文的目标是增大客户端性能好的本地模型对全局模型的影响,以提高模型的性能。因此,FedLoss聚合方法的定义如下:

$ {p}_{t+1}^{k}=\frac{{l}_{t+1}^{k}}{\sum\limits_{k\in {S}_{t+1}}{l}_{t+1}^{k}} $ (11)
$ {w}_{t+1}^{k}=\frac{1-{p}_{t+1}^{k}}{1-{p}_{t+1}^{1}+1-{p}_{t+1}^{2}+\cdots +1-{p}_{t+1}^{k}}=\frac{1-{p}_{t+1}^{k}}{FK-1} $ (12)

其中:F是客户端参与率;K是客户端的总数;$ {l}_{t+1}^{k} $是第k个客户端在第t+1轮训练的模型损失值;$ {S}_{t+1} $是第t+1轮中服务器选择的客户端集合。

4.3 Dirchlet数据分布函数

为更好地评估本文所设计的系统对non-IID数据的鲁棒性,引入Dirchlet分布函数[27-28]来调整本地客户端数据的non-IID水平。具体而言,通过调整Dirchlet分布函数的参数(即μ)来生成不同non-IID水平的数据分布。假设第k个客户端的本地数据集Dkc个类,因此Dirichlet分布函数的定义如下:

$ {P}_{k}({\varphi }_{1}, {\varphi }_{2}, \cdots , {\varphi }_{c})=\frac{{\mathit{\Gamma }} \left(\sum\limits_{i}{\mu }_{i}\right)}{\prod\limits_{i}{\mathit{\Gamma }} \left({\mu }_{i}\right)}\prod\limits_{i=1}^{c}{\mathit{\Gamma }} \left({\mu }_{i}\right){\varphi }_{i}^{{\mu }_{i}-1} $ (13)
$ {p}_{k}\left({\varphi }_{c}\right)=\frac{{P}_{k}\left({\varphi }_{c}\right)}{\sum\limits_{i=1}^{c}{P}_{k}\left({\varphi }_{i}\right)} $ (14)

其中:$ {\mathit{\Theta }} $是从Dirichlet函数中随机选取的样本集,$ {\mathit{\Theta }} =\{{\varphi }_{1}, {\varphi }_{2}, \cdots , {\varphi }_{c}\} $$ {\mathit{\Theta }} \sim {\rm D}{\rm i}{\rm r}({\mu }_{1}, {\mu }_{2}, \cdots , {\mu }_{c}) $$ \mu , {\mu }_{1}, {\mu }_{2}, \cdots , {\mu }_{c} $是Dirichlet分布函数的参数,$ \mu ={\mu }_{1}={\mu }_{2}=\dots ={\mu }_{c} $$ {p}_{k}\left({\varphi }_{c}\right) $表示第c类数据占客户端所有数据的比例。如图 3所示,μ越小,每个客户端数据分布的non-IID水平越高;否则,客户端的数据分布倾向于IID设置。

Download:
图 3 不同μ时的Dirichlet数据分布 Fig. 3 Dirichlet data distribution with different μ
5 实验验证

针对标签在服务器场景,将本文所提出的FedMix-FedLoss方法与FedMatch方法[10]在2个数据集的3个不同任务上进行比较。对于2个真实世界的数据集(即CIFAR-10和Fashion-MNIST),实验在配置为Intel® CoreTM i9-9900K CPU @3.60 GHz和NVIDIA GeForce RTX 2080Ti GPU的本地计算机(1台服务器和K个客户端)上模拟联邦学习设置。

5.1 实验设置

数据集1为IID和non-IID的CIFAR-10。将CIFAR-10数据集(包括56 000个训练样本和2 000个测试样本)分为IID和non-IID这2种设置用作实验的验证数据集。训练集包括55 000个无标签的样本和1 000个标签的样本,分别分布在100个客户端和1个服务器上。IID设置每个客户端有550个样本,即每个类别有55个样本,总共10个类别。non-IID的设置引入了Dirchlet分布函数来调整客户端数据的non-IID水平。对于所有的non-IID实验,均设置μ=0.1用于模拟极端的non-IID场景,即每个客户端数据的数量和类别都是不平衡的。1 000个标签的样本位于服务器上,其中每个类别有100个样本。同时,实验设置客户端参与率F=5%,即在每一轮中服务器随机选择5个客户端进行训练。

数据集2为流式non-IID的Fashion-MNIST。使用包括64 000个训练样本和2 000个测试样本的Fashion-MNIST数据集作为验证数据集。训练集包括63 000个无标签的样本和1 000个标签的样本,其中前者不平衡地分布在10个客户端上,后者分布在服务器上。实验同样引入Dirchlet分布函数且参数μ=0.1。每个客户端的数据被平均分为10份,每轮训练只使用其中的一份,训练10轮为1个周期。将此设置称为流式non-IID。同时,实验设定客户端参与率F=100%,即在每一轮中服务器选择所有客户端进行训练。

本文使用FedMatch基线方法,其使用客户端间一致性损失和模型参数分解。在训练过程中,本文方法和基线方法均使用随机梯度下降(Stochastic Gradient Descent,SGD)来优化初始学习率为η=1e-3的ResNet-9神经网络。设置训练轮次t=150,在服务器上的标签样本数为Ns=1 000,客户端每轮的训练次数为Eclient=1,客户端每轮的训批次为Bclient=64,服务器每轮的训练次数Eserver=1,服务器每轮的训批次为Bserver=64。在Sharpening方法中,设置A=5和置信度阈值τ=0.80。

5.2 实验结果

基线方法包括:1)SL,全部标签数据在服务器端执行监督学习,客户端不参与训练;2)FedMatch,采用客户端之间一致性损失的半监督联邦学习方法。本文方法包括:1)FedMix,无监督模型、监督模型以及上一轮的全局模型在相同权重设置下的半监督联邦学习方法,即$ \alpha =\beta =\lambda =0.33 $;2)FedMix-FedAvg,在最优模型权重设置下,结合半监督联邦学习系统框架与FedAvg聚合规则的方法;3)FedMix-FedLoss,在最优模型权重设置下,结合半监督联邦学习系统加FedLoss聚合规则的方法。由表 1可知:只使用标签数据的监督学习模型的准确率仅为19.3%,明显低于半监督联邦学习的组合方法,并且在相同模型权重聚合下也低于不同权重的组合方法。

下载CSV 表 1 不同方法的准确率比较 Table 1 Accuracy comparison of different methods 

本文对CIFAR-10和Fashion-MNIST数据集在IID和non-IID设置下的性能进行比较。图 4给出了IID和non-IID设置下,不同组合方法的FedMix和基线方法的准确率对比。实验结果表明,本文FedMix方法的性能均比基线方法好。例如,在IID和non-IID设置下,本文方法的最大收敛准确率均比基线准确率高约3个百分点。这是由于本文全局模型为无监督模型、监督模型以及上一轮的全局模型三者最优权重的聚合。但在non-IID情况下,在模型训练的中期,出现了性能大幅波动的现象。这是由于客户端non-IID设置影响了聚合的全局模型的性能。

Download:
图 4 IID与non-IID设置下不同方法的性能比较 Fig. 4 Performance comparison of different methods under IID and non-IID settings

图 5给出了在IID和non-IID设置下FedMix-FedLoss方法取不同权重值时的性能比较。从图 5(a)可以看出,当这3个参数在IID设置下相对接近时更容易达到更好的性能。从图 5(b)可以看出,在non-IID设置下,随着α的减小,准确率变得不稳定,在α=0.5、β=0.3、γ=0.2时,FedMix-FedLoss方法的性能最好。

Download:
图 5 IID和non-IID设置下FedMix-FedLoss方法在不同权重时的性能比较 Fig. 5 Performance comparison of FedMix-FedLoss method with different weights under IID and non-IID settings

图 6给出了FedMix-FedLoss方法在CIFAR-10数据集上及在不同non-IID设置下的性能比较。在此实验中,μ=0.1表示客户端数据的最高non-IID水平。随着μ值增加,本地客户端数据分布将更接近IID设置。从实验结果可以看出,对于不同的non-IID设置,FedMix-FedLoss方法均可以达到稳定的准确率且模型收敛准确率相差不超过1个百分点。因此,FedMix-FedLoss方法对不同non-IID设置的客户端数据分布不敏感,即对不同设置的数据分布具有鲁棒性。

Download:
图 6 不同non-IID设置下FedMix-FedLoss方法的性能比较 Fig. 6 Performance comparison of FedMix-FedLoss method under different non-IID l settings

图 7给出了在服务器端使用不同数量的标签样本时,FedMix-FedLos方法的准确率比较结果。由图 7可以看出,FedMix-FedLos方法在800个标签的样本设置下,在训练轮次为150时的收敛准确率为47%,相比FedMatch方法使用1 000个标签样本时的最大收敛准确率高出2个百分点。但是当标签样本数减少到700个时,FedMix-FedLos方法的准确率会大幅下降。

Download:
图 7 不同标签样本数量下FedMix-FedLoss方法的性能比较 Fig. 7 Performance comparison of FedMix-FedLoss method under different number of label samples

图 8给出了Fashion-MNIST数据集流式non-IID设置下不同方法的性能比较。从图 8可以看出,本文方法的最高收敛准确率与基线方法基本相同,并且快于基线方法10轮达到最高收敛准确率,同时减少了一半的通信开销。

Download:
图 8 Fashion-MNIST数据集流式non-IID设置下不同方法的性能比较 Fig. 8 Performance comparison of different methods under streaming non-IID settings on Fashion-MNIST dataset
6 结束语

本文针对SSFL中标签数据位于服务器上的场景,设计鲁棒的SSFL系统。使用FedMix方法实现高精度半监督联邦学习,解决了FL系统中缺少标签数据的问题。采用基于客户端训练模型损失值的FedLoss聚合方法,实现SSFL系统在不同non-IID设置下的稳定收敛。实验结果表明,在使用少量标签数据的情况下,本文SSFL系统的性能明显优于主流的联邦学习系统。下一步将通过半监督学习算法改进无监督模型的训练方法,高效利用无标签数据提升全局模型性能。

参考文献
[1]
MCMAHAN H B, MOORE E, RAMAGE D, et al. Communication-efficient learning of deep networks from decentralized data[EB/OL]. [2021-05-13]. https://arxiv.org/abs/1602.05629.
[2]
杨文琦, 章阳, 聂江天, 等. 基于联邦学习的无线网络节点能量与信息管理策略[J]. 计算机工程, 2022, 48(1): 188-196, 203.
YANG W Q, ZHANG Y, NIE J T, et al. Energy and information management strategy based on federated learning for wireless network nodes[J]. Computer Engineering, 2022, 48(1): 188-196, 203. (in Chinese)
[3]
温亚兰, 陈美娟. 融合联邦学习与区块链的医疗数据共享方案[J]. 计算机工程, 2022, 48(5): 145-153, 161.
WEN Y L, CHEN M J. Medical data sharing scheme combined with federal learning and blockchain[J]. Computer Engineering, 2022, 48(5): 145-153, 161. (in Chinese)
[4]
赵健, 张鑫褆, 李佳明, 等. 群体智能2.0研究综述[J]. 计算机工程, 2019, 45(12): 1-7.
ZHAO J, ZHANG X T, LI J M, et al. Research review of crowd intelligence 2.0[J]. Computer Engineering, 2019, 45(12): 1-7. (in Chinese)
[5]
LIU Y, YU J J Q, KANG J W, et al. Privacy-preserving traffic flow prediction: a federated learning approach[J]. IEEE Internet of Things Journal, 2020, 7(8): 7751-7763. DOI:10.1109/JIOT.2020.2991401
[6]
彭红艳, 凌娇, 覃少华, 等. 面向边缘计算的属性加密方案[J]. 计算机工程, 2021, 47(1): 37-43.
PENG H Y, LING J, QIN S H, et al. Attribute-based encryption scheme for edge computing[J]. Computer Engineering, 2021, 47(1): 37-43. (in Chinese)
[7]
LIU Y, YUAN X L, ZHAO R H, et al. RC-SSFL: towards robust and communication-efficient semi-supervised federated learning system[EB/OL]. [2021-05-31]. https://arxiv.org/abs/2012.04432.
[8]
ITAHARA S, NISHIO T, KODA Y, et al. Distillation-based semi-supervised federated learning for communication-efficient collaborative training with non-IID private data[EB/OL]. [2021-05-31]. https://arxiv.org/abs/2008.06180v2.
[9]
JIN Y L, WEI X G, LIU Y, et al. Towards utilizing unlabeled data in federated learning: a survey and prospective[EB/OL]. [2021-05-31]. https://arxiv.org/abs/2002.11545?context=cs.
[10]
JEONG W, YOON J, YANG E, et al. Federated semi-supervised learning with inter-client consistency & disjoint learning[EB/OL]. [2021-05-31]. https://arxiv.org/abs/2006.12097.
[11]
ZHU X J, GOLDBERG A B. Introduction to semi-supervised learning[J]. Synthesis Lectures on Artificial Intelligence and Machine Learning, 2009, 3(1): 105-130. DOI:10.2200/S00196ED1V01Y200906AIM006
[12]
LONG Z W, CHE L W, WANG Y Q, et al. FedSemi: an adaptive federated semi-supervised learning framework[EB/OL]. [2021-05-31]. https://arxiv.org/abs/2012.03292.
[13]
PARK S, PARK J K, SHIN S J, et al. Adversarial dropout for supervised and semi-supervised learning[EB/OL]. [2021-05-31]. https://arxiv.org/abs/1707.03631.
[14]
LI X X, JIANG M R, ZHANG X F, et al. FedBN: federated learning on non-IID features via local batch normalization[EB/OL]. [2021-05-31]. https://arxiv.org/abs/2102.07623.
[15]
LEE D H. Pseudo-label: the simple and efficient semi-supervised learning method for deep neural networks[EB/OL]. [2021-05-31]. http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.664.3543&rep=rep1&type=pdf.
[16]
LAINE S, AILA T. Temporal ensembling for semi-supervised learning[EB/OL]. [2021-05-31]. https://arxiv.org/abs/1610.02242.
[17]
TARVAINEN A, VALPOLA H. Mean teachers are better role models: weight-averaged consistency targets improve semi-supervised deep learning results[C]//Proceedings of the 31st International Conference on Neural Information Processing Systems. New York, USA: ACM Press, 2017: 1195-1204.
[18]
ZHANG Z M, YANG Y Q, YAO Z W, et al. Improving semi-supervised federated learning by reducing the gradient diversity of models[C]//Proceedings of 2021 IEEE International Conference on Big Data. Washington D. C., USA: IEEE Press, 2021: 1214-1225.
[19]
XIE Q Z, DAI Z H, HOVY E, et al. Unsupervised data augmentation for consistency training[EB/OL]. [2021-05-31]. https://arxiv.org/abs/1904.12848.
[20]
LI Q B, DIAO Y Q, CHEN Q, et al. Federated learning on non-IID data silos: an experimental study[EB/OL]. [2021-05-31]. https://arxiv.org/abs/2102.02079.
[21]
LI T, SAHU A K, ZAHEER M, et al. Federated optimization in heterogeneous networks[EB/OL]. [2021-05-31]. https://arxiv.org/abs/1812.06127.
[22]
WANG J Y, LIU Q H, LIANG H, et al. Tackling the objective inconsistency problem in heterogeneous federated optimization[EB/OL]. [2021-05-31]. https://arxiv.org/abs/2007.07481v1.
[23]
BERTHELOT D, CARLINI N, GOODFELLOW I, et al. MixMatch: a holistic approach to semi-supervised learning[EB/OL]. [2021-05-31]. https://arxiv.org/abs/1905.02249.
[24]
SOHN K, BERTHELOT D, LI C L, et al. FixMatch: simplifying semi-supervised learning with consistency and confidence[EB/OL]. [2021-05-31]. https://arxiv.org/abs/2001.07685.
[25]
YUROCHKIN M, AGARWAL M, GHOSH S, et al. Bayesian nonparametric federated learning of neural networks[EB/OL]. [2021-05-31]. https://arxiv.org/abs/1905.12022.
[26]
HSU T M H, QI H, BROWN M. Measuring the effects of non-identical data distribution for federated visual classification[EB/OL]. [2021-05-31]. https://arxiv.org/abs/1909.06335v1.
[27]
张曼, 闫飞, 阎高伟, 等. 基于狄利克雷问题的路网控制子区动态划分[J]. 计算机工程, 2020, 46(12): 21-26, 35.
ZHANG M, YAN F, YAN G W, et al. Dynamic partition of control sub-regions in road network based on Dirichlet problem[J]. Computer Engineering, 2020, 46(12): 21-26, 35. (in Chinese)
[28]
LIU Y, YUAN X L, XIONG Z H, et al. Federated learning for 6G communications: challenges, methods, and future directions[J]. China Communications, 2020(8): 105-118.