文章目录
联邦学习相关概念
联邦学习是为了解决数据孤岛以及隐私保护和数据安全问题在多方安全计算框架上实现的机器学习算法。
联邦学习需要达到的效果
联邦学习概念
联邦学习的分类
根据孤岛数据的不同分布特点,提供不同的联邦学习方案,数据分布的三种情况:
对应三种不同形式的联邦学习方式:
横向联邦学习:适用于两个数据集的用户特征重叠较多而用户重叠较少的情况下,把数据集按照横向(即用户维度)切分(跨行拼接样本),并取出双方用户特征相同而用户不完全相同的那部分数据进行训练。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通过汇总结果计算总梯度并将其解密。
第④步:C将解密后的梯度分别回传给A和B;A和B根据梯度更新各自模型的参数。
迭代上述步骤直至损失函数收敛,这样就完成了整个训练过程。在样本对齐及模型训练过程中,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 年设计出多密钥全同态加密方案,接近实时多方安全计算的需求。