联邦学习摘录

基本概念

背景

时代背景:强调数据确权以及隐私保护
数据确权——强调数据的归属权和使用权——“数据孤岛”
联邦学习作为一种新的机器学习范式,能够在不暴露各方数据的前提下解决数据孤岛以及隐私保护问题。

解决数据孤岛

硬件层面:建立物理隔离
常见技术:可信执行环境、边缘计算

技术主要思路特点不足
可信执行环境将隐私数据和相应的数据处理过程置于一个可信的环境中建设难度较低但需对多方数据构建统一的可信环境,因此建设成本较高。
边缘计算把各方设备的隐私数据和相应的数据操作限制在设备边缘,就近提供最近端的计算服务降低了敏感信息在传输过程和主服务器上泄露的可能性,有效解决了用户隐私泄露和数据安全问题,具备一定的应对数据爆炸的能力,有效降低边缘到中心的网络流量压力对边缘设备的要求较高,其次在人工智能领域的应用上,边缘计算缺乏协调多方进行联合学习的能力,使其所习得的模型性能远低于集中式学习模型的性能

软件层面:在数据以及通信层面,对数据进行加密,防止攻击者截获并破解隐私数据。
主要的研究成果:网络安全通信协议以及密码学技术等。比如Kerberos 协议;密码学算法,如非对称加密算法:RSA(Rivest-Shamir-Adleman)算法、对称加密算法: DES等。后量子密码

在软件层面的解决方案对硬件环境的要求低,且能提供较强大的数据隐私保护
但是如何利用加密后的数据协调多方进行高效的联合训练,成为机器学习领域的难点。

概念

机器学习发展历程:集中式学习阶段、分布式现场学习阶段、联邦学习阶段

学习阶段基本思路特点不足
集中式学习“模型不动,数据动”,所有终端的数据传输到主服务器上模型更能反映数据的潜在价值,性能相对更优。存在一定的数据安全隐患。
分布式现场学习一个系统的数据分别在来源端各自执行机器学习任务降低了敏感信息的流通率,有效保护了各方的数据权益导致了“数据孤岛”现象,各方学习知识过于片面,模型缺乏全局性和泛化能力。
联邦学习“数据不动,模型动”,各参与方不需要交换样本数据及其变体,仅需要交换与模型相关的中间数据及其变体,后由主服务器将中间数据进行安全聚合,并反馈给参与方,参与方则负责根据聚合后的模型信息进行己方模型的更新有效保证了各参与方的敏感数据的安全性和隐私性,实现了在融合多个参与方的数据所蕴含的知识的同时保护隐私数据。

补充:
分布式现场学习:
解决了数据安全和隐私保护的问题
典例:边缘计算——把需要分析的数据限制在设备的边缘环境中进行现场学习,并将最终的学习结果汇聚到主服务器进行汇总和存储。

为了解决集中式学习存在的数据隐私问题,以及分布式现场学习的数据孤岛问题,
联邦学习最早由 H.Brendan McMahan 等人提出,应用于谷歌输入法 Gboard 系统,实现输入法的候选词预测。

谷歌提出联邦学习(FL, federated learning)技术,其通过将机器学习的数据存储和模型训练阶段转移至本地用户,仅与中心服务器交互模型更新的方式有效保障了用户的隐私安全。

联邦学习与传统分布式学习的区别

应用领域
联邦学习用于数据具有隐私敏感属性的训练

数据属性
分布式机器学习与经典机器学习常处理独立同分布数据
联邦学习由于客户端的差异性较大,常处理非独立同分布的数据,
在客户端之间的数据特征和分类标签差异较大时,训练时还需进行对齐工作。

系统构成
物理组成相似:由中心服务器和多个分布式节点构成。
分布式系统:中心服务器统一调度数据计算和模型更新,节点和中心服务器间时延较小,模型训练时间主要由计算时间决定。

联邦系统:各参与方地位平等,自主决定是否参加训练,计算能力差役较大。系统需考虑数据传递时延、数据非独立同分布以及隐私安全等因素。

不同点:联邦聚合(优化算法)——为解决数据非独立同分布和减轻数据异构提供思路。
联邦学习具有隐私保护能力,故各环节需要注意加密算法的应用。

联邦学习本质上是一种分布式的机器学习技术。能够在多方数据源聚合的场景下,在数据不共享的情况下协同训练全局最优模型。
各数据拥有者在机器学习过程中既可以保护用户隐私,又能够无须源数据聚合形成训练数据共享。通过联邦系统中加密机制下的参数交换方式(不违反数据隐私法规情况下)联合建立一个全局的共享模型,为本地的目标服务。

因客户端的地理、时间等分布差异,联邦学习经常要处理非独立同分布的数据
为整合多个来源的数据,普遍做法是通过数据预处理ETL工具将不同源的数据移动到关系数据库中,将任务部署到多台机器上,以提升计算效率,减少任务耗能。

常用框架:客户端-服务器架构、对等网络架构

客户端-服务器架构
各数据持有方根据自己的条件和规则在本地训练模型,将脱敏参数汇总到中央服务器进行计算,根据发回的参数更新本地模型,直至全局模型稳健为止。

对等网络架构
参与方之间可直接通信,无需第三方,安全性提高,但需要更多的计算操作进行加解密。

目前更多基于第三方服务器的框架,即客户端-服务器框架。

服务器收集梯度,进行聚合操作后返回新的梯度。
数据持有方在本地训练数据,保护数据隐私,迭代产生的梯度在脱敏后作为交互信息,代替本地数据上传给第三方受信任的服务器(似乎都默认服务器和参与方可信,然后由此便会出现对应攻击,再以此改进),等待回传的参数,用于更新模型。

步骤:
1系统初始化
中心服务器发送建模任务,客户端数据持有方根据自身需求(这时候就需要激励机制来提高参与度),提出联合建模设想。各数据持有方达成协议后,由中心服务器向其发布初始参数。

2局部计算
各数据持有方在本地进行局部计算,将所得梯度脱敏后进行上传,用于全局模型的一次更新。

3中心聚合
中心服务器对收到的多个数据持有方的计算结果进行聚合操作。
此时要考虑效率、安全、隐私等多方面问题。

4模型更新
中心服务器根据聚合结果对全局模型进行一次更新,将更新后的模型返回给各参与方。数据持有方更新本地模型,并进行下一步局部计算,同时评估更新后的模型性能。
当性能足够好时,训练终止,建立好的全局模型被保留在中心服务器。

可能的改动:
适当地减少通信频率阿里保证学习效率;聚合后增加一个逻辑判断,判断接收到的本地计算结果的质量,以提升联邦学习系统的鲁棒性。

联邦学习流程
在这里插入图片描述客户端(如平板电脑、手机、物联网设备)在中心服务器(如服务提供商)的协调下共同训练模型,其中客户端负责训练本地数据得到本地模型(local model)。中心服务器负责加权聚合本地模型,得到全局模型(global model)。
经过多轮迭代后最终得到一个趋近于集中式机器学习结果的模型 w,有效地降低了传统机器学习源数据聚合带来的许多隐私风险。

一次迭代过程

(1) 客户端从服务器下载全局模型wt−1。
(2) 客户端 k 训练本地数据得到本地模型wt,k,(第 k 个客户端第 t 轮通信的本地模型更新)。
(3) 各方客户端上传本地模型更新到中心服务器。
(4) 中心服务器接收各方数据后进行加权聚合操作,得到全局模型wt (第 t 轮通信的全局模型更新)。

技术特点:

① 参与联邦学习的原始数据都保留在本地客户端,与中心服务器交互的只是模型更新信息。(隐私保护)
② 联邦学习的参与方联合训练出的模型 w 将被各方共享。(模型共享)
③ 联邦学习最终的模型精度与集中式机器学习相似。(精度保证)
④ 联邦学习参与方的训练数据质量越高,全局模型精度越高。(质量带动精度)

算法原理:

目标函数F(w)通常表现为:
在这里插入图片描述
m 是参与训练的客户端设备总数,n 是所有客户端数据量总和,nk 是第 k 个客户端的数据量,Fk (w) 是第 k 个设备的本地目标函数。
在这里插入图片描述
dk是第 k 个客户端的本地数据集, fi (w) =α(xi ,yi ,wi ) 是具有参数 w 的模型对数据集dk中的实例(xi, yi)产生的损失函数。
dk中所有实例产生的损失函数之和除以客户端 k 的总数据量就是本地客户端的平均损失函数。
多次迭代优化让损失函数达到最小值。(损失函数与模型精度成反比,因此,机器学习的目标函数优化通常是让损失函数达到最小值。)

联邦学习的目标函数优化算法中,通常采用大批量随机梯度下降(SGD)算法,即通过本地客户端模型训练的损失函数,乘以固定的学习率 η,计算出新一轮的权重更新。
在这里插入图片描述

联邦学习分类

假设: Dm代表客户端 m 持有的数据,I 表示样本 ID,Y 表示数据集的标签信息,X 表示数据集的特征信息,因此,一个完整的训练数据集 D 应由(I,Y,X)构成。根据参与训练客户端的数据集特征信息 X 的不同来分类联邦学习方法。

学习方法特点典例本质
横向联邦学习(HFL)数据集特征 X 和标签信息 Y 相同,但样本 ID 不同用户输入法的下一词预测模型对不同目标的相同特征描述进行训练提取。
纵向联邦学习(VFL)各数据集特征X和标签信息 Y 不同,但样本 ID 信息相同。同一地区的银行和电商平台将多方对相同目标的不同特征描述进行训练提取。
联邦迁移学习(FTL)数据集特征 X、标签信息 Y 和样本 ID 信息都不同用于解决标签样本少和数据集不足的问题,跨国跨部门的数据交流项目。

补充: 纵向联邦学习中,一方掌握训练的标签信息Y,各方通过输入特征信息X,得到纵向全局模型。

学习方法设定前提特点
横向联邦学习(HFL)两个参与方的数据集存在较大的特征空间重叠的情况。各参与方的数据都是具备标签空间的按样本划分的联邦学习
纵向联邦学习(VFL)在具有较多样本数据重叠的参与方之间执行,只有一个参与方的数据具备标签空间,其余参与方的数据不具备标签空间按特征划分的联邦学习
联邦迁移学习(FTL)两个在样本空间以及特征空间均存在较小重叠的数据集,只有一个参与方的数据是具备标签空间的不需要主服务器(协调方)作为各参与方之间的协调者

目前大部分研究是基于HFL和VFL的。
HFL中根据特征重合维度进行对齐,取出参与方数据中特征相同而用户不完全相同的部分进行联合训练。
VFL中根据用户ID进行匹配,取出参与方数据中用户相同而特性不完全相同的部分进行联合训练。

横向联邦学习

最早被提出,应用比较广泛
空间涵盖了多个参与方的样本数据,但所使用的特征空间仅限于各参与方之间的重叠部分,
用户设备会把本地模型的模型信息传输到主服务器,主服务将所有的模型信息进行安全聚合,并将聚合信息加密后,广播给所有的用户设备,最后用户设备会根据主服务器的聚合信息来更新自身的本地模型。

主要步骤:
步骤 1:参与方根据自身数据集,构建本地模型;
步骤 2:参与方将本地模型的模型信息,如梯度,使用加密算法进行加密,如同态加密,然后把加密后的模型信息发送给主服务器。
步骤 3:主服务器根据参与方的模型信息,进行安全聚合,常见的安全聚合算法有联邦平均算法(Federated Averaging Algorithm,FedAvg)以及异构联邦模型的聚合算法(FedProx 算法)等。
步骤 4:主服务器将聚合后的信息,广播给所有参与方。
步骤 5:参与方对主服务器传来的聚合信息进行解密,据此更新本地模型。
重复以上步骤,直至达到预设的停止条件为止。

多方数据集的特征空间雷同,能在不得知其他方源数据的情况下实现各方知识的交换。
不适用于各参与方之间特征空间差异较大的跨领域联邦学习的情况

纵向联邦学习

基于特征空间对样本数据进行划分,学习的数据空间仅包含了具备重叠特征的样本,
更适合执行跨行业跨领域的机器学习任务,如微视与广告商合作提出的联邦广告投放系统。
可以在不泄露、不交换双方样本数据的同时聚合双方的数据特征和知识特征,

纵向联邦学习中,主服务器又叫协调方。纵向联邦学习的学习过程主要包括 5 个主要步骤:
步骤1:数据对齐。
目的:在保护各参与方隐私和数据安全的前提下,找到共同样本,并给予共同样本执行联邦学习任务。常见的数据对齐方法有 SAHU A K 等人提出的算法。
步骤 2:主服务器发送公钥给个参与方。同时,参与方基于共同样本构建初始本地模型,然后将加密后的模型信息,如梯度、损失值等,发送给主服务器。
步骤 3:主服务器解密参与方的模型信息,同时计算参与方更新模型所必须的计算结果,并传送回参与方。
步骤 4:参与方根据主服务器的计算结果,更新本地模型。同时,各方会把中间计算结果共享给其他参与方,用于协助对方计算梯度和损失值等模型信息。
步骤 5-1:对于部分纵向联邦学习算法,参与方还会将本地模型的模型标识,发生给主服务器保存,以便在预测过程中,主服务器知道需要将新数据发送至哪些参与方进行联邦预测。如 secureBoost 算法中,参与方会把[记录 id, 特征, 阈值]以及分割后的样本空间,告知主服务器。同时,主服务器会当前的处理节点与参与方的划分信息进行关联。因此只有主服务器清楚整棵决策树的结构,当有新样本需要预测时,主服务器会将数据发至当前节点所关联的参与方,让参与方利用本地模型计算阈值,得知下一步的树搜索方向。
步骤 5-2:特别地,部分需要全体参与方参与预测的纵向联邦学习算法,如安全联邦线性回归,则不需要参与方告知主服务器必要的模型标识。
纵向联邦学习中各方所掌握的特征不同,因此在训练联邦模型过程中,各方需要进行中间结果的交换,来帮助对方学习己方所掌握的特征知识

在这里插入图片描述

联邦迁移学习

旨在让模型具备举一反三的能力,在各参与方的样本空间以及特征空间均存在较少交叉信息的情况下,使用迁移学习算法互助地构建模型。
学习模式:使用某参与方在当前迭代中已训练好的模型参数,迁移到另外一个参与方上,协助它进行新一轮模型的训练。

步骤 1:参与方根据自身数据集,构建本地模型;
步骤 2:参与方分别运行各自的本地模型,获得数据表征,以及一组中间结果,加密后发送给对方。
步骤 3:对方利用接收到的中间结果,计算模型的加密梯度和损失值,加入掩码后发给原参与方。
步骤 4:各方对接收到的信息进行解密后发回给对方。然后各方利用发解密后的模型信息,更新各自的模型。
不断重复以上的步骤,直至损失收敛为止。
在此过程中,相当于每个参与方都利用了对方的当前模型和数据潜在的表征,更新各自的本地模型,实现了迁移学习的联邦模式。

一般而言,联邦迁移学习可被分为基于样本的联邦迁移学习、基于特征的联邦迁移学习、基于参数的联邦迁移学习以及基于相关性的联邦迁移学习:

分类基本思路
基于样本(实例)的联邦迁移学习各参与方通过有选择地调整用于训练的样本的权重来减少不同参与方样本之间分布的差异性,并以此协同地训练得到一个联邦迁移模型。
基于特征的联邦迁移学习通过最小化不同参与方之间的样本分布差异性或特征差异性来协同学习一个共同的特征空间,并以此特征空间来降低分类类别数或回归误差来实现联邦迁移模型的构建。
基于参数(模型)的联邦迁移学习参与方利用其他方的模型信息或先验关系来初始化或更新本地模型,以此借鉴其他方的数据表征和知识。
基于相关性的联邦迁移学习对不同参与方的知识或特征空间进行相关性映射,并按照相关性顺序来利用其他参与方的知识映射更新本地模型,以此借鉴更多的知识。

联邦迁移学习最大的特点是:其基于多方的数据表征来建模,但某参与方的数据不允许流向其他方,而传统的迁移学习则不做限制,因此联邦迁移学习有效保护了用户数据的隐私性和安全性。

算法分类

联邦学习系统是面向多客户端的模型训练系统。训练时,数据保留在客户端本地,中心服务器根据客户端发送的本地模型更新进行整合,最终完成共享模型的训练。

基于机器学习的联邦学习算法

基于联邦学习特有的迭代模式和特点(在数据不出本地的基础上双方交换训练参数以完成联合建模),进行针对性的修改

1联邦线性算法

中心联邦学习框架下的纵向联邦逻辑回归实现方法(同态加密、引入体现模型变化的向量辅助更新梯度、周期性梯度更新)
去中心联邦学习框架下的纵向联邦逻辑回归实现方法(有标签数据持有方起主导作用,承担被取消的中心服务器的责任、对传输的梯度加密和添加噪声)

###2联邦树模型
基于中心纵向联邦学习框架的随机森林实现方法——联邦森林
每棵树实行联合建模,结构存于中心服务器及各个数据持有方,但各数据持有方仅持有与己方特征匹配的分数节点信息(保障数据隐私性)
中心服务器保留完整的结构信息,各数据持有方保存节点信息。
使用模型预测时通过中心节点联合调用树结构中其他客户端的节点信息——减少预测时每棵树的通信频率,可提高通信效率

SecureBoost——基于梯度提升决策树(GBDT)的去中心纵向联邦学习框架。包含有标签数据持有方和无标签数据持有方。
采用一种保护数据隐私和保证训练性能的联合建模方法。
支持多方合作,但有标签数据持有方仅为一方,无标签数据持有方可为集合。
与分布式XGBoost相比,SecureBoost在保障模型准确率的情况下,保护了数据的隐私,成功地将纵向GBDT应用到联邦学习框架中。

多方GBDT建模的去中心横向联邦学习框架——基于相似度的联邦学习
步骤:预训练时各数据持有方依据局部敏感哈希对数据进行哈希分类;哈希表聚合生成全局哈希表,向所有数据持有方发布。
哈希表加密的方式:无法超越差分隐私,但在牺牲小部分隐私保护强度的情况下,补偿了通信效率。

###3联邦支持向量机
将支持向量机安全部署在联邦学习中,通过特征哈希、更新分块等方式保障数据隐私性
对特征值进行降维哈希处理,以隐藏实际的特征值(类似于SimFL)
采用次梯度更新(应对在线性支持向量机中,中心服务器可根据更新梯度反推出数据标签)

基于深度学习的联邦学习算法

联邦学习会对传输信息进行编码和加密,故在一些环节需要进行调整

###1联邦神经网络
含有两个隐藏层的神经网络、实验分组:一组使用相同的随机种子初始化分配两个计算节点的模型参数,另一组使用不同的随机种子初始化模型参数。每组实验对来自不同节点的模型参数采用不同的权重比例进行加权整合,会与最终的联邦共享模型。
使用模型平均方法的联邦学习模型需要的训练回合更少。
使用相同的随机初始化种子的联邦模型效果更好,模型参数比例1:1时达到最优损失。

###2联邦卷积神经网络
过于复杂的网络结构会影响联邦学习的收敛效率。
根据样本ID将数据集随机分配到不同的客户端,形成不同子集来模拟分布式数据。
训练时,客户端先在本地数据集上进行梯度计算和参数更新。每个迭代结束汇总参数更新,用于更新联邦模型。
在联邦学习环境中,系数三元雅座的通信协议由于联邦平均算法FedAvg

###3联邦LSTM
将数据集人工分割为分配在多个客户端的联邦学习数据集,在合适的超参数设置下,能够实现模型精度。

最传统的联邦学习算法——FedAvg算法
在这里插入图片描述

本质思想:对数据持有方采用局部随机梯度下降的方法进行本地模型优化,在中心服务器放进行聚合操作。
部署相对简单,应用领域广泛

优化联邦学习算法

4.1从通信成本角度优化

4.1.1增加客户端计算成本

KJ:增加每一轮迭代在每个客户端的本地更新参数的计算次数
FedProx算法可动态地更新不同客户端每一轮需要本地计算的次数。
数据的异质性会导致联邦学习收敛速度降低

4.1.2模型压缩

目的:减少每一轮通信的参数量
如量化、二次采样
KJ:
结构化更新:提前定义上传模型参数的矩阵结构来上传参数——减小参数大小
轮廓更新:更新的参数需要在持有方进行压缩编码
参与方越多,压缩效果越好
Caldas S:通过有损压缩和联邦参数筛选,减少从服务器到客户端传递的参数量。代价是一定程度上降低模型的准确率

4.2客户端选择角度优化

客户端设备具有异构性,资源有限
优化:
FedCS算法:设计了一种贪心算法的协议机制,实现每次更新选择模型迭代效率最高的客户端进行聚合更新,从而优化收敛效率
不足:适用于模型比较基础,复杂情况下,会降低效率

Hybrid-FL的协议算法:可处理数据集为non-IID的数据,
服务器通过资源请求的步骤来选择部分客户端,从而在本地建立一种近似独立同分布的数据集用于联邦学习的训练和迭代。

4.3从异步聚合角度优化

在FedAvg算法中,聚合是与模型更新保持同步。服务器在接收到所有参与训练的客户端的参数之后才开始聚合。
采用异步聚合,
FedAsync算法:加入加权聚合,服务器在接收参数后,会通过当前训练的关系次数来设计加权聚合。
在这里插入图片描述

存在的威胁和挑战:

联邦学习算法需要实现的特点:

特点含义
支持非独立同分布数据算法必须在非独立同分布数据中有良好的表现。(数据持有方的数据质量和分布不可控)
通信高效联邦学习算法需考虑数据持有方的系统异构性,在不损失准确率或损失很小的情况下提高通信效率,降低通信损耗。
快速收敛保证模型收敛的同时提高收敛速度
安全性和隐私性通过加密等方式在聚合过程中进行,或反映在单机优化的过程中。
支持复杂用户用户数量大、数据存在不均衡性或偏移。

可能遭遇的攻击模型:

攻击模型介绍
源自服务器的攻击根据源自服务器的攻击行为,可以分为诚实但好奇的服务器敌手、恶意的服务器敌手,以及混合的服务器敌手
源自参与者的攻击目的:反馈错误的模型信息到主服务器,使得联邦模型向着消极的方向更新迭代
源自外部的攻击参与者和服务器之间通信更新时,通道上可能存在外部窃听者窃听信息,并由此反推出一些有关模型等的隐私数据,造成联邦内部的通信安全威胁。
源自系统漏洞的攻击数据攻击:主要是指参与者恶意修改数据标签或中间信息,破坏联邦学习的过程。 模型更新攻击:通过恶意地恶化本地模型,破坏全局模型的性能。

攻击手段:投毒攻击、对抗攻击及模型逆推攻击等
防御手段:梯度稀疏化、恶意检测、秘密样本对齐、标签保护、加密共享和扰动共享等。

防御手段可保证参与方的数据安全和联合模型的准确率

联邦学习的攻击手段
参与方之间间接共享本地数据,联邦学习相对于集中式大规模机器学习更具安全性,所以参与方的隐私泄露风险较小。
横向联邦学习容易受到投毒攻击、对抗攻击等手段的影响,
纵向联邦学习容易受到数据投毒攻击的影响;
在纵向联邦学习下,参与方之间不仅因共享标志符导致隐私信息的泄露,而且共享的中间结果导致主动方的标签信息泄露。
此外,在两种场景的联邦学习背景下,对手在梯度共享期间通过模型逆推攻击获得用户数据。

投毒攻击
投毒攻击是指在训练或再训练过程中恶意参与方利用训练集操纵模型预测。在联邦学习中,攻击者有两种方式进行投毒攻击,如数据投毒和模型投毒。

数据投毒

数据投毒是指污染训练样本,如添加错误标签或有偏差的数据以降低数据的质量,从而降低训练模型的表现,破坏其完整性和可用性。

手段:
在联合模型的优化过程中更改数据标签为目标类,对手替换该数据记录的标签为目标类,这样影响模型预测指定类的结果。
在多方机器学习下非接触的恶意方将若干数据记录的某一特定特征属性与投毒标签建立指定联系,这样就影响了模型对于投毒类的预测结果。
对手通过给定系数扩大模型参数影响,从而保证模型的主任务及后门任务的准确率。
分布式投毒攻击,旨在恶意参与方在相互接触后指定类修改共同的错误目标,从而降低模型预测的准确性。
一种基于神经网络的后门攻击方法,旨在被动方对目标类的中间结果进行投毒,甚至扩大给定系数增加后门任务的影响。。。

模型投毒

在训练时企图训练出错误的参数再上传给中心服务器,从而影响模型的变化方向,减慢模型的收敛速度,甚至破坏模型的正确性,最终破坏模型的可用性。

恶意方对目标数据记录执行梯度上升法以提高预测目标类的误差,导致恶意梯度贡献于联合模型,在这种情况下,如果对手观测目标数据记录在本地训练的梯度变化较大,则说明目标数据记录属于该联邦成员的记录,从而参与方的隐私信息发生泄露。

对抗攻击
对抗攻击是指恶意构造输入样本导致高置信度的模型,却输出错误结果,
对手(恶意方) 在已有的背景知识下生成带有错误标签带的高置信度样本,称为生成对抗样本。
。。。。。。

隐私泄露
在联邦学习中,参与方间接地共享本地数据导致隐私泄露。
纵向联邦学习针对相同标志符的样本进行联合训练,这样导致在样本对齐过程中标志符以明文的方式共享,导致隐私信息的泄露。
此外,主动方共享了包含标签信息的中间结果给被动方,间接共享本地数据贡献于联合模型,导致共享梯度受到模型逆推攻击。

联邦学习的防御措施

1安全防御
针对对手的恶意行为可选择采用梯度稀疏化和恶意梯度检测方法保护联邦学习系统的安全。

梯度稀疏化

梯度稀疏化是指参与方在每次通信回合期间选取一个梯度的丢失率以限制梯度的更新,
可以提高训练效率,降低恶意方的贡献影响,从而有效地阻止了参与方的恶意行为。

方法:
通过参与方随机筛选部分的梯度参数修改为0——存在一定局限性。
一种自适应 dropout率的梯度压缩方法,若 dropout参数大于给定阈值,则设置对应梯度参数的权重为0——面对网络瓶颈及计算资源不充足的问题存在部分重要特征不能贡献于联合模型。
eSGD 算法,参与方在某个通信回合期间筛选相较于上个通信回合误差降低的梯度参数——较小的梯度参数不能贡献于联合模型,通过多个通信回合的剩余梯度积累影响联合模型,不仅实现了联合模型的快速收敛,也降低了参与方恶意贡献的影响。

恶意梯度检测

恶意梯度检测是指任务发布者在每个通信回合期间检测恶意参与方的更新,从而去除或降低恶意方的贡献影响
需要参与方具有相同的本地模型结构,通过参与方之间贡献的对比去除恶意影响,因此这类方法只适用于横向联邦学习的场景。

方法:
根据恶意用户之间有较强的相似性来降低恶意梯度的贡献,通过减少对诚实方的惩罚——不仅降低了恶意方的影响,同时也保证了模型的收敛。
采用一种去中心化的区块链机制,任务发布者( 某个参与方) 利用其他方交互历史记录及交互时间频率进行评估而消除懒惰方及恶意方的贡献影响,实现诚实方之间训练模型。该方法通过公开透明的机制记录训练时间及模型的效果,从而有效区分恶意方、诚实方及懒惰方,同时也保证了模型收敛。

隐私保护
隐私保护是指个人或集体等实体不愿意被外人知道的信息得到应有的保护
而在联邦学习的训练过程中是指参与方的本地原始数据不能被泄露给对手。

参与方的梯度信息易受到模型逆推攻击导致隐私信息泄露,因此参与方扰动或加密共享的梯度信息,导致对手无法获得共享的原始梯度信息;
对于纵向联邦学习的场景,由于样本的标志符及中间结果的共享,导致标志符及标签的泄露。隐私保护方法:样本秘密对齐、标签保护、加密共享及扰动共享等

4.2.1 样本秘密对齐
在纵向联邦学习下,样本对齐是指识别出具有相同标志符的数据记录。
保证诚实且好奇的第三方秘密进行标志符字段的表达匹配。。。。。。

4.2.2标签保护
主动方共享中间结果给被动方,导致标签泄露。
Marvell方法:扰动梯度使正负样本出现的置信区间系统。

4.2.3加密共享
对梯度的加密算法要满足同态加密性质

4.2.4扰动共享
加噪方法,差分隐私技术在学习全局样本的有用信息时被应用于解决隐藏本地隐私的问题
对每次迭代的梯度添加噪声。。。。。

难题

(1) 参与方难题:
参与方是联邦学习的主要成员,也是联邦学习的基础,
目前最主要存在的是参与方激励以及参与方选择等难题。
激励难题:吸引更多的参与方,是限制联邦学习模型性能的提升的关键。
要建立一个完善的激励机制和分配机制,鼓励更多参与方的加入。

如何识别诚实但好奇的半诚实参与方以及恶意的参与方,如何选择合适的参与方等参与方选择。
目前的联邦学习方法,所有参与方都是无差别地参与到联邦学习中。需要研究一种可行且可信的诚实参与方识别算法,制定一个合适的筛选机制去除恶意方及懒惰方的贡献影响。

(2) 算力难题
在当今移动设备的算力下,仅有部分小运算量的算法如逻辑回归等可在设备端运行,但限制了主流的包含前后反馈过程的神经网络的实施。

设计高效加密算法提高训练效率

(3) 通信难题
在联邦学习的过程中,各方之间需要频繁交换加解密以及模型相关的数据,而协调方往往需要等待所有参与方的中间数据都返回后才能进行安全聚合或其他数据处理。

提高通信信道的质量和容量
信息传输受到高延迟网络制约,采用异步汇总方法提高训练效率
或从降低传输频率和减少每轮传输的信息量着手。
降低传输频率:减少梯度交换次数(可适当提高一次全局迭代中客户端本地优化的次数)
减少每轮传输的信息量:降低交换次数,进行适当的梯度压缩或者量化,减少通信占用的带宽

(4) 聚合难题
常见聚合方式: FedAvg 平均聚合以及 FedProx 异构聚合,但有损(相当于集中式模型)。
主服务器可异步地聚合各参与方的信息,提高参与方中途退出学习的应对能力。

目前也存在一些无损的联邦学习模型,如纵向联邦树模型 SecureBoost。

(5) 预测难题
在纵向联邦学习中,只有协调方得知的是整个联邦的结构,而参与方得知的是与其数据特征相关的子模型的结构。
因此在联邦预测过程中,需要协调方与参与方共同合作,才能预测出新样本的标签。
一旦某个参与方退出联邦,该方所掌握的子树结构也会随之消失,严重影响联邦预测过程。

(6) 中心方等待聚合难题
中心方需要等待所有的参与方模型信息返回后,才会进行新一轮的信息聚合。
陷入无限的等待过程中,严重影响模型聚合以及联邦学习的效率。

保证联邦学习效率和效果的中心方等待聚合的策略

系统异构难题:可采用异步通信提升系统的鲁棒性,提高系统的容错能力

数据异构难题:如何使优化算法更加兼容联邦学习实际使用中复杂的数据结构。
元学习和多任务学习
元学习:使各客户端本地模型学习独立但相关的模型,实现模型的个性化。

隐私预算问题
对梯度或中间结果扰动,保证数据安全,减少参与方的计算资源要求,但降低了模型的准确率

通信效率短板明显

网络中需要不断通信来交互模型更新信息,网络带宽负担大。通信传输效率变成限制训练速度的主要因素。
因素
联邦学习与分布式计算的区别:数据集来自各个终端用户,产生的数据特征呈现非独立同分布(Non-IID)。(Non-IID 指的是在概率统计理论中,各数据集中的随机变量不服从同一分布,即对于不同的客户端 i 和 j,它们的数据集概率分布Pi ≠P j 。)
传统的分布式框架算法处理 Non-IID 数据时会造成训练过程难以收敛、通信轮数过多等问题。
大量本地模型的更新、上传会导致中心服务器通信开销过大,无法满足正常的应用要求,相邻的模型更新中可能包含许多重复更新或者与全局模型不相关的更新。
优化通信效率的方案目标
减少每轮通信传输的数据大小;减少模型训练的总轮数。
方案方向:优化联邦学习框架算法、压缩模型更新和采用分层分级的训练架构。(一定限度上提升了联邦学习模型训练速度、减小了数据通信量)

现阶段仍然存在许多难以解决的问题。例如,优化算法在处理 Non-IID数据时相对于处理 IID 数据的时间开销成倍增长。。。。压缩算法会严重影响模型精度。

隐私安全仍有缺陷

源数据不出本地而仅交互模型更新(如梯度信息)→保护用户的敏感数据
真实环境中:模型反演攻击、成员推理攻击、模型推理攻击层出不穷,客户端动机与中心服务器的可信度都会影响隐私安全
研究表明,梯度信息会泄露用户的隐私数据,攻击者通过客户端上传的梯度信息间接推出标签信息和数据集的成员信息。(多个例子)

联邦学习受到的3方面威胁:
恶意客户端修改模型更新,破坏全局模型聚合
恶意分析者通过对模型更新信息的分析推测源数据隐私信息;
恶意服务器企图获得客户端的源数据。

而联邦学习与经典机器学习隐私保护技术的结合能够提供足够强的安全性,却会造成通信负担,
挑战:需要考虑平衡通信负担和模型安全。

缺乏信任与激励机制

联邦学习需要吸引客户端参与训练过程,但其未有高效的激励机制(保证模型质量)和针对客户端的信任机制(保证模型精度)。
学界结合区块链技术——形成一种安全。高度抗中断和可审计的方式记录模型更新,为系统框架提供可问责性和不可否认性。同时,区块链的激励机制作为一种经济回报能够根据构建模型时客户端的贡献给予相应的奖励。

研究进展

隐私保护技术:可以被用于联邦学习过程中,以此保证联邦内部各参与方的数据安全和隐私安全。
常见的隐私保护技术,常见有不经意传输(Oblivious Transfer,OT)、混淆电路(Garbled Circuit,GC)、秘密共享(Secret Sharing, SS)、隐私集合交集(Private Set Intersection,PSI)、差分隐私(Differential Privacy,DP),以及同态加密(Homomorphic Encryption,HE)等。

联邦学习的开源框架:
微众银行牵头提出的 FATE(Federated AI Technology Enabler)框架、百度牵头提出的 PaddleFL(Paddle Federated Learning)框架、谷歌牵头提出的 TFF(TensorFlow Federated)框架,以及 OpenMind 牵头提出的 Pysyft 框架。

框架横向联邦学习纵向联邦学习联邦迁移学习Kubernetes树模型联邦特征工程联邦在线推理支持的隐私保护算法
FATE支持支持支持支持支持支持支持同态加密隐私共享 RSA、DiffieHellman
PaddleFL支持支持不支持不支持不支持不支持不支持差分隐私
TFF支持不支持不支持不支持不支持不支持不支持差分隐私
Pysyft支持不支持不支持不支持不支持不支持不支持同态加密隐私共享

FATE 框架作为国内目前比较优秀的联邦学习开源框架,支持横向联邦学习、纵向联邦学习以及联邦迁移学习的实现,同时还提供了其他框架所没有的联邦特征工程算法、Kubernetes 容器化应用和联邦在线推理
相对而言,PaddleFL 仅支持横向和纵向的联邦学习。而 Pysyft 和 TFF 框架仅实现了横向联邦学习的支持。目前三者均缺乏联邦树模型算法的实现,如梯度提升决策树(Gradient Boosting Decision Tree,GDBT)和 SecureBoost。

针对通信效率:算法优化、压缩、分散训练

算法优化

算法优化是对分布式机器学习框架的改进,使该框架更适用于海量客户端、高频率、低容量、数据特征不均的联邦学习环境,实现通信轮数和模型更新数据的减少。

FedAvg算法

要求客户端在本地多次执行SGD 算法,然后与中心服务器交互模型更新,实现用更少的通信轮数训练出相同精度的模型。
对于非凸问题没有收敛保证,在非 IID 数据集上难以收敛
FedAvg 算法本身缺陷:
服务器端聚合时根据客户端数据量大小来分配相应的权重,这导致拥有大量重复数据的客户端能够轻易影响全局模型;
客户端仅执行 SGD 算法和执行固定次数的SGD 算法一定限度上限制了模型训练的速度。

MFL方案

在联邦学习的本地模型更新阶段使用动量梯度下降(MGD)
实验证明,在一定条件下该方案显著提升了模型训练的收敛速度。
迭代自适应的 LoAdaBoost 算法
通过分析客户端更新的交叉熵损失,调整本地客户端 epoch 次数,
相对于传统 FedAvg 算法固定 epoch,准确度与收敛速度均有显著提升。

CMFL算法

由于客户端上传的本地模型更新中含有大量的冗余和不相关信息,严重占用通信带宽
算法要求客户端筛选本地模型更新与上一轮全局模型的相关度,通过模型梯度正负符号相同的百分比来避免上传达不到阈值要求的本地模型更新,实现通信开销的降低,
不足:建立在客户端按照协议执行的基础上,系统的鲁棒性较弱。

BACombo 算法

利用 gossip 协议和 epsilon- greedy 算法检查客户端之间随时间变化的平均带宽,最大限度地利用带宽容量,进而加快收敛速度。

压缩

梯度压缩和全局模型压缩。
通常情况下,梯度压缩相比于全局模型压缩对通信效率的影响更大,(因为互联网环境中上行链路速度比下载链路速度慢得多,交互通信的时间主要集中在梯度数据上传阶段。)

。。。。相关算法

分散训练:

在联邦学习中,通信拓扑通常是星形拓扑,中心服务器的通信成本太大。
分散拓扑(客户端只与它们的邻居通信)可以作为一种替代方案。
在低带宽或高时延网络上运行时,分散拓扑被证明比星形拓扑训练速度更快。
联邦学习的分散拓扑先设定边缘服务器聚合来自客户端设备的本地更新,然后边缘服务器充当客户端的角色与中心服务器交互。

隐私安全

根据隐私保护细粒度的不同,联邦学习的隐私安全被分为全局隐私(global privacy)和本地隐私(local privacy)

全局隐私假定中心服务器是安全可信任的,即每轮通信的模型更新中心服务器可见。
对中间迭代过程和最终模型进行严格的加密保护十分重要。

本地隐私假定中心服务器同样可能存在恶意行为,因此本地模型更新在上传到中心服务器之前需要进行加密处理。

典型隐私保护技术:差分隐私、安全多方计算、同态加密等技术

信任与激励机制

结合区块链技术提供。
联邦学习与区块链的结合使系统成为一个完善的闭环学习机制。
一方面,联邦学习技术能够为具有隐私数据的参与方提供跨域安全共享方案;
另一方面,区块链技术作为核心数据库为参与方提供了安全存储、信任管理、细粒度区分和激励回报等应用需求,促使拥有数据的用户积极参与到数据联邦中。

研究热点

系统异构

各终端设备的计算能力、通信速度和存储能力各不相同,联邦学习架构通常会限制终端设备参与训练的数量,
适用于系统异构的联邦学习算法必须满足 3 点要求:
客户端的低参与率;兼容不同的硬件结构;能够容忍训练设备的中途退出。

统计异构

各设备之间数据的特征和体量可能有很大的不同,导致数据呈 Non-IID 分布和非平衡分布。

无线通信

无线信道的带宽容量有限,一个重要的考虑因素是存在量化误差时模型更新的鲁棒性。除了通信带宽外,无线通信中复杂的噪声和干扰也是加剧信道瓶颈的因素。
因此,开发适用于无线通信的联邦学习算法具有突出的研究意义

参考文献

[1]周传鑫,孙奕,汪德刚,葛桦玮.联邦学习研究综述[J].网络与信息安全学报,2021,7(05):77-92.
[2]梁天恺,曾碧,陈光.联邦学习综述:概念、技术、应用与挑战[J/OL].计算机应用:1-13[2022-07-23].http://kns.cnki.net/kcms/detail/51.1307.TP.20211231.1727.014.html
[3]王健宗,孔令炜,黄章成,陈霖捷,刘懿,何安珣,肖京.联邦学习算法综述[J].大数据,2020,6(06):64-82.
[4]孙爽,李晓会,刘妍,张兴.不同场景的联邦学习安全与隐私保护研究综述[J].计算机应用研究,2021,38(12):3527-3534.DOI:10.19734/j.issn.1001-3695.2021.03.0157.

  • 2
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值