联邦学习概念

联邦学习相关概念

联邦学习是为了解决数据孤岛以及隐私保护和数据安全问题在多方安全计算框架上实现的机器学习算法。web

联邦学习须要达到的效果

在这里插入图片描述

联邦学习概念

在这里插入图片描述

联邦学习的分类

根据孤岛数据的不一样分布特色,提供不一样的联邦学习方案,数据分布的三种状况:
在这里插入图片描述
对应三种不一样形式的联邦学习方式:
在这里插入图片描述
横向联邦学习:适用于两个数据集的用户特征重叠较多而用户重叠较少的状况下,把数据集按照横向(即用户维度)切分(跨行拼接样本),并取出双方用户特征相同而用户不彻底相同的那部分数据进行训练。Google在2017年提出了一个针对安卓手机模型更新的数据联合建模方案[6-7]:在单个用户使用安卓手机时,不断在本地更新模型参数并将参数上传到安卓云上,从而使特征维度相同的各数据拥有方创建联合模型的一种联邦学习方案算法

纵向联邦学习:在两个数据集的用户重叠较多而用户特征重叠较少的状况下,咱们把数据集按照纵向(即特征维度)切分,并取出双方用户相同而用户特征不彻底相同的那部分数据进行训练。这种方法叫作纵向联邦学习。纵向联邦学习就是将这些不一样特征在加密的状态下加以聚合,以加强模型能力的联邦学习。目前,逻辑回归模型,树型结构模型和神经网络模型等众多机器学习模型已经逐渐被证明可以创建在这个联邦体系上,安全

纵向联邦学习系统构架

在这里插入图片描述
第一部分:加密样本对齐。因为两家企业的用户群体并不是彻底重合,系统利用基于加密的用户样本对齐技术,在A和B不公开各自数据的前提下确认双方的共有用户,而且不暴露不互相重叠的用户。以便联合这些用户的特征进行建模。网络

第二部分:加密模型训练。在肯定共有用户群体后,就能够利用这些数据训练机器学习模型。为了保证训练过程当中数据的保密性,须要借助第三方协做者C进行加密训练。以线性回归模型为例,训练过程可分为如下4步(如图2b所示):
 第①步:A,B ,两方分别对参数进行初始化,协做者C把公钥分发给A和B,用以对训练过程当中须要交换的数据进行加密;框架

 第②步:A和B之间以加密形式交互计算
以LR为例,A,B双方分别计算Sum Wa Xa 和 Sum Wb Xb,机器学习

 第③步:A和B分别基于加密的梯度值进行计算,同时B根据其标签数据计算损失,并把这些结果汇总给C。C经过汇总结果计算总梯度并将其解密。ide

 第④步:C将解密后的梯度分别回传给A和B;A和B根据梯度更新各自模型的参数。svg

迭代上述步骤直至损失函数收敛,这样就完成了整个训练过程。在样本对齐及模型训练过程当中,A和B各自的数据均保留在本地,且训练中的数据交互也不会致使数据隐私泄露。所以,双方在联邦学习的帮助下得以实现合做训练模型。函数

在这里插入图片描述

第三部分:效果激励。联邦学习的一大特色就是它解决了为何不一样机构要加入联邦共同建模的问题,即创建模型之后模型的效果会在实际应用中表现出来,并记录在永久数据记录机制(如区块链)上。提供的数据多的机构会看到模型的效果也更好,这体如今对本身机构的贡献和对他人的贡献。这些模型对他人效果在联邦机制上以分给各个机构反馈,并继续激励更多机构加入这一数据联邦。
以上三个步骤的实施,即考虑了在多个机构间共同建模的隐私保护和效果,有考虑了如何奖励贡献数据多的机构,以一个共识机制来实现。因此,联邦学习是一个“闭环”的学习机制。学习

联邦迁移学习: 在两个数据集的用户与用户特征重叠都较少的状况下,咱们不对数据进行切分,而能够利用迁移学习来克服数据或标签不足的状况。这种方法叫作联邦迁移学习。

安全计算计算算法

同态加密Homomorphic Encryption

做者:BinarySTD
连接:https://zhuanlan.zhihu.com/p/52808772
来源:知乎
著做权归做者全部。商业转载请联系做者得到受权,非商业转载请注明出处。

同态加密是一种用于在不解密的状况下处理加密数据的技术。这将使敏感数据处理变得极其安全

同态加密与其余加密算法最不一样的地方在于,除了要保证静态存储数据的安全性外,还要能支持在机密的数据上(密文)进行数据处理操做f。

同态性:明文a op b = f(a) op f(b)
Op为某种操做,好比加法,乘法,若是某个加密方案知足a + b = f(a) + f(b), 则其具备加法同态性。

同态加密构成:
KeyGen函数:密钥生成函数。这个函数应该由数据拥有者运行,用于产生加密数据Data所用的密钥Key。固然了,应该还有一些公开常数PP(Public Parameter);
Encrypt函数:加密函数。这个函数也由数据拥有者运行,用Key对用户数据Data进行加密,获得密文CT(Ciphertext);
Evaluate函数:评估函数。这个函数由第三方计算平台运行,在用户给定的数据处理方法f下,对密文进行操做,使得结果至关于用户用密钥Key对f(Data)进行加密。
Decrypt函数:解密函数。这个函数由数据拥有者运行,用于解密第三方计算平台的处理的结果f(Data)。

Fully Homomorphic Encryption (FHE):HE方案支持任意给定的f函数,只要这个f函数能够经过算法描述,用计算机实现。显然,FHE方案是一个很是棒的方案,可是计算开销极大,暂时还没法在实际中使用。
Somewhat Homomorphic Encryption (SWHE):这意味着HE方案只支持一些特定的f函数。SWHE方案稍弱,但也意味着开销会变得较小,容易实现,如今已经能够在实际中使用。

同态性来自代数领域,通常包括四种类型:加法同态、乘法同态、减法同态和除法同态。同时知足加法同态和乘法同态,则意味着是代数同态,即全同态(Full Homomorphic)。同时知足四种同态性,则被称为算数同态。

对于计算机操做来说,实现了全同态意味着对于全部处理均可以实现同态性。也就是说,可使用这个加密函数完成各类加密后的运算(加减乘除、多项式求值、指数、对数、三角函数)。而那些只能实现部分特定操做的同态性,被称为特定同态(Somewhat Homomorphic)。 目前全同态的加密方案主要包括以下三种类型: 基于理想格(ideal lattice)的方案:Gentry 和 Halevi 在 2011 年提出的基于理想格的方案能够实现 72 bit 的安全强度,对应的公钥大小约为 2.3 GB,同时刷新密文的处理时间须要几十分钟。 基于整数上近似 GCD 问题的方案:Dijk 等人在 2010 年提出的方案(及后续方案)采用了更简化的概念模型,能够下降公钥大小至几十 MB 量级。 基于带扰动学习(Learning With Errors,LWE)问题的方案:Brakerski 和 Vaikuntanathan 等在 2011 年左右提出了相关方案;Lopez-Alt A 等在 2012 年设计出多密钥全同态加密方案,接近实时多方安全计算的需求。