赞
踩
这是关于一篇异构联邦学习的综述,希望能从这篇文章对联邦学习有一个大致的了解。作者从一开始就呈现了文章总体的思维导图,非常具有指引效果。
这是论文地址:
Heterogeneous Federated Learning: State-of-the-art and Research Challenges
通俗的来说就是:
允许多个设备或数据源在不共享原始数据的情况下,共同训练模型以提高预测性能。
主要目的:
保护隐私。
联邦学习:机器学习的分布式计算方法,旨在让多个参与方共同训练模型,而无需将其原始数据集集中存储在一个地方。这种方法允许在保护数据隐私的前提下,进行模型的训练和更新。
联邦学习的诞生背景:传统的机器学习方法通常涉及将所有数据集中到一个中央服务器或者云端进行训练,但这可能会引发数据隐私和安全问题。联邦学习通过在本地设备(例如移动设备、传感器等)上进行模型训练,只共享模型参数的聚合信息,而不共享原始数据,从而解决了这些隐私问题。
联邦学习的工作方式大致如下:
所以我们可以看到,联邦学习最主要的就是模型整合。
联邦学习的优势在于:
tip:边缘计算和联邦学习有什么关系?
联邦学习和边缘计算的互补性:
联邦学习的核心理念——将模型训练分布在多个参与方之间,保护数据隐私的同时提高模型的整体性能。这意味着参与方之间可能存在一些差异(数据or计算环境),但这些差异通常指的是异构性。
通俗易懂的讲:
在模型整合的过程中,参与方带来的差异——>研究异构联防学习
异构联邦学习的主要特点包括:
为了应对这些异构性,异构联邦学习采取了一些策略,如:
总体架构图如上:
下图为多层联邦学习的基本架构:
在cloud-fog-IoT计算环境中(如上图),根据参与者的角色和能力,将参与者分为不同的层次,包括云层(cloud Server)、雾层(Fog Nodes)和物联网层(IoT Devices)。
a formulaic definition of federated learning:
对于传统的集中式机器学习框架来说:
但是弊端就是无法保护用户的数据隐私性。于是我们才考虑这种联邦学习。
联邦学习就是考虑不上传私有数据的情况下,协同的训练模型。
训练基本过程:
模型初始化:服务器选择符合条件的客户端{ C 1 C_1 C1, C 2 C_2 C2, …, C k C_k Ck }作为参与者,并在第一轮初始化全局模型 θ g l o b a l 1 \theta^1_{global} θglobal1。
模型广播:服务器将当前全局模型 θ g l o b a l t − 1 \theta^{t-1}_{global} θglobalt−1发送给所有参与客户端,作为本地模型 { θ 1 t − 1 , θ 2 t − 1 , . . . , θ K t − 1 } \{\theta_1^{\boldsymbol{t}-1},\theta_2^{\boldsymbol{t}-1},...,\theta_K^{\boldsymbol{t}-1}\} {θ1t−1,θ2t−1,...,θKt−1}的初始化。
本地更新。每个参与的客户端
C
k
C_k
Ck利用私有数据集
D
k
D_k
Dk进行如下的局部模型更新:
θ
k
t
←
θ
k
t
−
1
−
α
∇
θ
L
k
(
f
(
x
k
,
θ
k
t
−
1
)
,
y
k
)
,
\theta_k^t\leftarrow\theta_k^{t-1}-\alpha\nabla_\theta\mathcal{L}_k(f(x^k,\theta_k^{t-1}),y^k),
θkt←θkt−1−α∇θLk(f(xk,θkt−1),yk),
其中,α表示学习率,Lk ( · )表示每个客户端k的计算损失。
模型聚合。服务端计算更新后,客户端模型参数的集合 ∑ k = 1 K N k N θ k t \sum_{k=1}^K\frac{N_k}N\theta_k^t ∑k=1KNNkθkt。
全局更新。服务器根据聚合结果更新下一个epoch的全局模型,具体如下: θ g l o b a l t + 1 ← ∑ k = 1 K N k N θ k t . \theta_{global}^{t+1}\leftarrow\sum_{k=1}^K\frac{N_k}N\theta_k^t. θglobalt+1←k=1∑KNNkθkt.
模型部署。服务器将全局模型分发给参与的客户端。
现象:Non-IID 数据分布是不一致的,并且不服从相同的采样。
从分布角度(四种不同的数据倾斜模式):标签偏斜、特征偏斜、质量偏斜和数量偏斜。
标签偏斜(Label Skew):
标签偏斜指的是目标变量或标签的分布不平衡 。同时,这也可以被分为两类:label distribution skew and label preference skew。
特征偏斜(Feature Skew):
数据集中的某些特征在不同类别或样本之间的分布不均匀。它也可以被分为两类:Feature distribution skew和Feature condition skew。
Feature Distribution Skew(特征分布偏斜):
含义:标签分布一致
P
i
(
y
∣
x
)
=
P
j
(
y
∣
x
)
P_i(y|x)~=~P_j(y|x)
Pi(y∣x) = Pj(y∣x),特征不同
P
i
(
x
)
≠
P
j
(
x
)
P_i(x)\neq P_j(x)
Pi(x)=Pj(x) 。特征分布偏斜指的是在数据集中,某些特征的取值分布不均匀或不平衡。
示例:手写数字识别中,不同的用户可能会用不同的风格、笔画粗细等书写相同的数字。导致特征分布不同,但是标签结果分布一致。
Feature Condition Skew(特征条件偏斜):
含义:特征条件偏斜是指,即使
P
i
(
y
)
=
P
j
(
y
)
P_i(y)=P_j(y)
Pi(y)=Pj(y),不同客户的特征分布也可能不同,即
P
i
(
x
∣
y
)
≠
P
j
(
x
∣
y
)
P_i(x|y)\neq P_j(x|y)
Pi(x∣y)=Pj(x∣y)。
例如,figure上,日本地区包含大量的柴犬样本,而西伯利亚地区包含大量的哈士奇样本,但它们的标签都是狗。
区别:特征分布偏斜关注单个特征的取值分布,而特征条件偏斜关注特征之间的条件关系或相关性。
质量偏斜(Quality Skew):
数据集中的样本质量不均衡。
有些样本可能包含错误或噪声,而其他样本则质量较高,数据中的质量不均匀分布。在模型训练中,低质量的样本可能会引入噪声,影响模型的性能。
质量偏差可分为label noise skew(标签噪声偏差) and sample noise skew(样本噪声偏差)
数量偏斜(Quantity Skew):
这意味着在客户端之间,本地数据的数量可能是极不平衡的,即长尾分布数据。多个客户端可能存在数据稀缺的问题。数量偏斜可能导致模型在训练和预测中对数量较多的类别表现较好,而对数量较少的类别表现较差。
联邦学习中:假设每个参与的客户端都需要使用具有相同架构的本地模型,更容易聚合。
但在实际中,每个客户端可能以独特的方式设计自己的局部模型架构,且并不愿共享模型细节。
Partial Heterogeneity(部分异质性)
有些客户端使用相同的模型结构,有些则不同。通过聚类算法,参与的客户可以被分成许多簇,即每个簇内的结构是相同的。然后用模型参数的加权平均,来实现簇内模型的聚合。
Complete Heterogeneity (完全异质性)
所有参与者模型的网络结构是完全不同的。aim:需要为每个客户端学习一个独特的模型,该模型可以更好地处理不同的数据分布,但最终可能导致高学习成本和低通信效率。
原因:部署在不同的网络环境中,具有不同的网络连接设置( 3G、4G、5G、Wi - Fi)。延迟不同。
问题:增加了通信成本和通信复杂度。不同的设备可能需要不同的数据量或时间与服务器进行连接和通信。
解决:当有足够数量的客户端将反馈结果发送到服务器端后,可能会丢弃掉具有显著时间差的杂耍器和离线设备。
不同设备所具有的不同设备硬件能力( CPU、内存、电池寿命)的差异可能导致不同的存储和计算能力。
作责将异构联邦学习方法分为数据级、模型级和服务器级3个部分进行综述。
数据级(Data-level)方法:
含义:在客户端之间对数据进行操作,以减少局部数据的统计异质性或提高数据隐私。这包括诸如数据增强和匿名化技术等操作。
解释:用于处理客户端数据差异。数据增强可以通过合成额外的数据来平衡不同客户端的数据分布,而匿名化技术可用于保护客户端数据的隐私。
模型级(Model-level)方法:
含义:在模型层面设计的操作,例如共享部分模型结构和模型优化。
解释:由于不同客户端可能使用不同的模型架构或训练算法。模型级方法将共享或融合来自不同模型的信息,以构建具有全局性能的模型。
服务器级(Server-level)方法:
含义:服务器级方法需要服务器的参与,例如参与客户端选择或客户端聚类。
解释:由于服务器可能具有不同的计算或存储能力,或者需要进行客户端的选择或分组。服务器级方法将有效地协调和管理不同服务器的参与,以确保任务的顺利执行。
数据级方法:在数据层面进行的操作,包括1.私有数据处理和 2.外部数据利用。
数据准备:包括数据收集、过滤、清洗、增强等(见上图左图)。
Non - IID环境中(客户端数据分布不均匀)
Data Privacy Protection(数据隐私保护)
本地层面的数据隐私保护方法一般分为三类:namely data encryption数据加密, perturbation扰动 and anonymization匿名化。
Knowledge Distillation from External Data(外部数据知识蒸馏)
利用公共数据进行知识蒸馏。
具体:使用在外部数据集上训练的全局teacher模型来帮助客户端为本地数据生成软标签。然后,客户端利用这些软标签作为局部更新的额外监督,从而提高模型的泛化能力,缓解数据异质性的影响。
[利用知识蒸馏来减轻统计异质性——FedFTG训练一个条件生成器来拟合局部模型的输入空间,然后用于生成伪数据。将这些伪数据输入到全局模型和局部模型中进行知识蒸馏,通过缩小它们输出预测之间的库尔贝克-莱布勒散度,将局部模型的知识转移到全局模型中。]
Unsupervised Representation Learning(无监督表征学习)
由于来自客户端的私有数据通常难以标注,因此讨论联邦无监督表示学习,在保持私有数据去中心化和无标签的情况下学习一个通用的表示模型。
FedCA是一种基于对比损失的联合无监督表示学习算法,解决客户端之间数据分布不一致和表示不对齐的问题。客户端通过两个对比学习模块(对齐模块和字典模块)生成局部字典,然后服务器将训练好的局部模型进行聚合,并将局部字典集成到全局字典中。
为每个客户端学习一个适应其私有数据分布的局部模型。且分为三个部分:federated optimization联邦优化、knowledge transfer across models跨模型的知识转移、architecture sharing架构共享。
MAML:首先训练初始化的模型。在对新任务进行训练时,只需要少量的数据就可以在初始模型的基础上进行微调,从而获得令人满意的学习性能。
Client Selection
原因:传统的联邦学习在Non - IID数据集上的性能不如其在IID数据集上的性能,在Non - IID数据集上的收敛速度也远慢于其在IID数据集上的收敛速度。为了减轻Non - IID数据引入的偏差,所以要进行Client Selection。
方法:将联邦学习的设备选择问题定义为深度强化学习问题,旨在训练智能体学习合适的选择策略。
Client Clustering
通过考虑数据分布的相似性、局部模型和不同客户的参数更新来执行所有客户的个性化聚类。[Briggs为了减少达到收敛所需的通信轮数,同时提高测试精度引入层次聚类步骤,通过客户端更新对全局联合模型的相似性来分离客户端集群。]
Decentralized(去中心化) Communication
原因:一般的联邦学习算法依赖于一个中心服务器,中心的失效将破坏整个联邦学习过程。因此,一些算法采用去中心化通信,在不依赖中心服务器的情况下,在各种设备之间进行点对点通信。[Lalitha等提出了一个完全分布式的联邦学习算法,其中客户端只能与他们的一跳邻居进行通信,而不依赖于一个集中式的服务器。]
bad:
协作过程中参与客户端贡献的差异——公平性。系统中可能存在多个搭便车的参与者,所以贡献较多的客户应该从其他客户那里学习更多的知识,并通过协同训练获得更优秀的模型。
隐私保护是联邦学习的首要原则。
原始数据匿名化和特征模板保护。
特征模板保护
两类主要的攻击:投毒攻击和推断攻击。
防御策略来增强系统的鲁棒性。
联邦学习缺乏被广泛认可的基准数据集和面向异构场景的基准测试框架。
阅读了这一篇论文,明白了联邦学习的大致体系,但是对其中一些具体的解决方法还不是非常的深入了解。一些名词还较为陌生。
我发现要解决联邦学习的异构问题,不仅仅要从联邦学习入手,而且还要扩展到其他很多的知识,比如迁移学习,知识蒸馏,元学习,深度强化学习等。每一方面都可以很深入的探究。所以不仅要看联邦学习的知识架构,还要结合自己实验室主要的擅长方向,然后在那个方向挖掘核心问题,才能做出好的成果。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。