联邦学习框架浅析

【前言】
▲ 联邦学习问题回顾
前文提及,于2016年,Google提出了用于训练输入法模型的新型方式,称为「联邦学习」。随着时间的推移,联邦学习不再是单纯解决Google输入法模型的一种解决方案,进而形成了一种新型的学习模式。联邦学习解决的问题通常被称为TMMPP–Training Machine Learning Models over multiple data sources with Privacy,即在保证多方参与者的数据不泄露的情况下,共同完成预定模型的训练。

在联邦学习解决的TMMPP问题中,包含了n个数据方(Data Controller){D1,D2,…Dn},其中,每个数据方对应拥有着n个数据{P1,P2,…Pn}。从联邦学习的训练模式来看,在选定好需要进行训练的联邦学习算法后,需为联邦学习提供相应的输入,最终得到训练后的输出。
联邦学习的输入(Input): 每个数据方将Pi其拥有的原始数据Di作为联合建模的输入,输入进联邦学习的进程中。

联邦学习的输出(Output):联合所有参与方的数据,联邦训练出全局模型M (在训练过程中不将任何数据方的原始数据的任何信息透露给其他实体)。

▲ 联邦学习所遇挑战
联邦学习技术还在持续的完善中。在发展的过程中,联邦学习会遇到三大挑战,他们分别分别是统计挑战、效率挑战、安全挑战。

【统计挑战】统计挑战是在联邦学习执行过程中,因为不同用户数据的分布或者数据量的差异造成的挑战;

a)非独立同分布数据(Non-IID data),即不同用户数据分布不独立,有明显的分布差别,比如甲方拥有的是中国北方的水稻种植数据,而乙方拥有的是中国南方水稻种植数据,由于纬度,气候,人文等影响,双方的数据是不服从于同分布的;

b)非平衡数据(Unbalanced data),即用户的数据量有明显的差异,比如巨头企业掌握着近千万的数据量,而小公司仅掌握数万条的数据,两者合作,小公司的数据对巨头企业的影响微乎其微,也难以在模型训练中做出贡献。

【效率挑战】效率挑战指的是在联邦学习中各个节点本地计算与通信的消耗造成的挑战;

a)通信开销,即用户(参与方)节点之间的通信,通常指的是在限定带宽的前提下,各个用户之间传输的数据量的大小,数据量越大,则通信损耗越高;

b)计算复杂度,即基于底层加密协议的计算复杂度,通常指底层加密协议计算的时间复杂度,算法计算逻辑越复杂,消耗时间越多。

【安全挑战】安全挑战指的是,在联邦学习过程中,不同的用户使用不同的攻击手段造成信息破解、下毒等挑战;

a)半诚实模型,即各用户诚实的执行联邦学习中的所有协议,但是会利用获取信息尝试分析并回推他人数据;

b)恶意模型,即存在客户不会严格遵守节点之间的协议,并可能对原始数据或者中间数据进行下毒以破坏联邦学习进程。

【联邦学习常用框架】

面对以上三大挑战,学术界进行针对性的研究,提出了许多有效的、专用的联邦学习框架来优化联邦学习训练过程。下文我们将对这些框架进行简单介绍。

联邦学习1.0 – 传统联邦学习(Federated Learning)
首先,我们重新阐述一下联邦学习的概念与原理:存在若干参与方与协作方共同执行联邦学习任务,参与方(即数据拥有方)通过预置好的联邦学习算法,生成类似于梯度的中间数据,交由协调方进行进一步的处理,随后返还给各参与方,为下一轮的训练做准备。

周而复始,联邦学习任务完成。整个任务中,参与方的本地数据在各个FL框架中并没有参与交换,但协调方和参与方之间传输的参数(比如梯度)可能会泄漏敏感信息。

为了保护数据拥有方的本地数据不被泄露,并在训练过程中保护中间数据的隐私,在FL的框架中应用了一些隐私技术,在参与方与协调方交互时私下交换参数。进一步,从 FL 框架中使用的隐私保护机制来看,将 FL框架分为:

1)非加密的联邦学习框架(即未对任何信息加密);

2)基于差分隐私的联邦学习框架(使用差分隐私的方式对信息进行混淆加密);

3)基于安全多方计算的的联邦学习框架(使用安全多方计算的方法对信息进行加密) ;

▲ 非加密的联邦学习框架
许多FL框架侧重于提高效率或解决统计异质性的挑战,而忽略了交换明文参数所带来的潜在风险。

2015年,由Nishio等人提出的用于机器学习的移动边缘计算框架FedCS[3],在异构数据属主的设置的基础上,可以快速并高效地执行FL。

2017年,由Smith等人提出了一个名为MOCHA[2]的系统感知优化框架,该框架将FL与多任务学习相结合,通过多任务学习的方式来处理统计挑战中的非同分布数据与数据量差异导致的各种挑战。

同年,梁等人提出了LG-FEDAVG[4]结合局部表示学习(local representation learning)。他们表明,局部模型可以更好地处理异构数据,并有效地学习公平的表示,混淆受保护的属性。

下图所示:完全未加密任何中间数据的联邦学习流程,所有的中间数据(如梯度)全是明文传输与计算。通过以上方式,参与方最终共同学习,得到联邦学习模型。

联邦学习框架浅析

▲ 基于差分隐私的联邦学习框架
差分隐私(DP) 是一种隐私技术[5-7],具有很强的信息理论保证,可以在数据[8-10]中增加噪声。满足 DP 的数据集可以抵抗对私有数据的任何分析,换句话说,所获得的数据敌手对于在同一数据集中推测其他数据几乎是无用的。通过在原始数据或模型参数中添加随机噪声,DP 为单个记录提供统计隐私保证,从而使数据无法恢复以保护数据属主的隐私。

下图所示:采取差分隐私对中间数据进行加密后的联邦学习流程,各方生成的中间数据不再是明文传输计算,而是添加过噪声的隐私数据,以此来进一步增强训练过程的安全性。

联邦学习框架浅析

▲ 基于安全多方计算的联邦学习框架
在FL框架中,同态加密(HE)和安全多方计算(MPC)等方法得到了广泛的应用,但它们只向参与方与协调方揭示了计算结果,过程中并没有透露任何除计算结果外的额外的信息。

实际上,HE应用于FL框架的方式与应用于安全多方学习(MPL)框架(一种FL衍生出的框架,下文会详细说明MPL框架)的方式类似,只是细节上略有不同。在FL框架中,HE用于保护参与方和协调方之间交互的模型参数(如梯度)的隐私,而不是像MPL框架中应用的HE那样直接保护参与方之间交互的数据。[1]在FL模型中应用加法同态(AHE)来保护梯度的隐私,以提供针对半诚信中心化协调方的安全性。

MPC 涉及多个方面,并保留了原有的准确性,具有很高的安全性保证。MPC保证了每一方除了结果之外什么都不知道。因此MPC可以应用于 FL 模型中,用于安全聚合并保护本地模型。在基于MPC 的 FL 框架中,集中式的协调方不能获得任何本地信息和本地更新,而是在每一轮协作获得聚合结果。然而,如果在FL框架中应用 MPC 技术将会产生大量额外的通信和计算成本。

迄今为止,秘密共享(SS )是在 FL 框架中应用最广泛的MPC基础协议,特别是 Shamir 的 SS[24]。

下图所示:基于MPC的联邦学习训练流程,会由参与方公平的选举出一组委员会成员作为协调方,通过执行MPC技术来协作完成模型聚合的任务。

联邦学习框架浅析

介绍完三种FL框架后,我们总结不同技术路线的框架区别,大体如下:

联邦学习框架浅析

联邦学习2.0 – 安全多方学习(Secure Multi-party Learning)
上文我们提到到「安全多方学习」,这是基于联邦学习衍生出的一个术语,简单来说就是:没有第三方协作方的联邦学习,被称之为安全多方学习(MPL),与先前所介绍的FL区分开来。换言之,在联邦学习的基础上,安全多方学习剔除了传统联邦学习模式中的协调方,并弱化了协调方的能力,将原本的星形网络替换成点对点网络并使得所有参与方的地位相同。

MPL的框架大体分为四类,包括:

1)基于同态加密(HE)的 MPL 框架;

2)基于混淆电路(GC)的 MPL 框架;

3)基于秘密共享(SS)的 MPL 框架;

4)基于混合协议的 MPL 框架;

简单来说,不同的MPL框架即为:使用了不同的密码学协议来保障中间数据安全的框架。MPL的流程与FL大体类似,我们一起看一下使用过的四种密码学协议:

▲ 同态加密(HE)
同态加密(HE)是一种加密形式,我们可以在不解密,不知道密钥的前提下,直接对密文执行特定的代数操作。然后,它生成一个加密结果,其解密结果与在明文上执行的相同操作的结果完全相同。

HE 可以分为「三种类型」:1)部分同态加密 (PHE),PHE只允许无限次的一种操作(加法或乘法);2)-3)有限同态加密(SWHE)与全同态加密(FHE),为了在密文中同时进行加法和乘法SWHE和FHE 。SWHE 可以在有限次数内执行某些类型的操作,而 FHE 可以在无限次数处理所有操作。FHE 的计算复杂度比 SWHE 和 PHE 要昂贵得多。

联邦学习框架浅析

▲ 混淆电路 (GC)
混淆电路[11][12](GC),又称姚氏(Yao’s) 混淆电路,是由姚期智院士提出的一种安全的两方计算的底层技术。GC提供了一个交互式协议,让两方(一个混淆者garbler和一个评估者evaluator)对一个任意函数进行无意识的评估,这个函数通常表示为一个布尔电路。

在经典 GC 的构造中主要包括三个阶段:加密、传输、评估。

首先,对于电路中的每一条线,混淆者生成两个随机字符串作为标签,分别代表该线可能的两个位值”0″和”1″。对于电路中的每一个门,混淆者都会创建一个真值表。真值表的每个输出都是用与其输入相对应的两个标签进行加密。这是由混淆者选择一个密钥推导函数,利用这两个标签生成对称密钥。

然后,混淆者对真值表的行进行换行。在混淆阶段结束后,混淆者将混淆后的表以及与其输入为对应的输入线标签传送给评估者。

此外,评估者通过不经意传输(Oblivious Transfer[13,14,15])安全地获取其输入对应的标签。有了混淆表和输入线的标签,评估者负责对混淆表进行反复解密,直至得到函数的最终结果。

▲ 秘密共享(SS)
GMW协议是第一个安全的多方计算协议,允许任意数量的一方安全地计算一个可以表示为布尔电路或算术电路的函数。以布尔电路为例,所有各方使用基于 XOR的SS方案共享输入,各方交互计算结果,逐门计算。基于GMW的协议不需要对真值表进行混淆,只需要进行XOR和AND运算进行计算,所以不需要进行对称的加解密操作。此外,基于GMW的协议允许预先计算所有的加密操作,但在在线阶段需要多方进行多轮交互。因此,GMW在低延迟网络中取得了良好的性能。

BGW协议是3方以上的算术电路安全多方计算的协议。该协议的总体结构与 GMW类似。一般来说,BGW 可以用来计算任何算术电路。与GMW协议类似,对于电路中的加法门,计算是可以在本地进行的,而对于乘法门,各方需要交互。但是,GMW和BGW在交互形式上有所不同。BGW不是使用OT来进行各方之间的通信,而是依靠线性SS(如 Shamir 的 SS)来支持乘法运算。但BGW 依靠的是诚实多数制 (honest-majority)。BGW 协议可以对抗除t

Original: https://blog.csdn.net/Hyperchain/article/details/120335257
Author: 趣链科技
Title: 联邦学习框架浅析

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/555507/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球