联邦学习-数据安全和用户隐私的简要概述

联邦学习-数据安全和用户隐私的简要概述

1. 联邦学习出现的缘由

首先,联邦学习是一种框架,是为了解决机器学习时各个数据来源之间的壁垒而建立的一种框架。同时也知足了各个数据的拥有者隐私性保护和相关政府法规的要求。web

2.联邦学习模型

2.1:加密样本对齐阶段:因为三家企业的用户群体并不是彻底重合,模型采用基于加密的用户样本对齐技术,目的是为了在 A 、B和D 不公开各自数据的前提下确认各方的共同拥有的用户,并且不暴露不互相重叠的用户,最终以便联合这些用户的特征进行模型的建立。安全

2.2:加密模型训练阶段在肯定共有用户群体后,就能够利用这些数据训练机器学习的模型。为了保证训练过程当中数据的保密性,须要借助第三方协做者 C 进行加密训练。以线性回归模型为例,训练过程可分为如下 4 步:
第1步:协做者 C 把公钥分发给 A 、B和D,用以对训练过程当中须要交换的数据进行加密,注意传输的数据是模型的计算中间结果,不涉及用户隐私,固然虽然传输的数据是加密的,但模型训练的时候是要用私钥解密的。
第2步:A 、B和D 之间以加密形式(RSA加密,其实这是基于没有恶意用户的环境下的保护用户隐私方法)交互用于计算梯度的中间结果。关于中间结果?
例如:假设A样本上有n1和n2特征,B样本上有n3和n4特征以及标签f,模型为线性回归;首先,A根据当前模型计算每条记录的n1和n2线性组合的结果,B根据当前模型计算每条记录的n3和n4线性组合结果;而后A将结果加密(例如:RSA、同态加密等)后传给B,同时B将结果加密后传给A.备注:A、B和D一样执行以上操做。
第3步:A、B和D分别解密后,基于交互线性组合结果进行各自的梯度值计算和损失函数的检测,例如:B可基于接收的线性组合结果、标签Y等数据计算Loss、n3和n4的梯度,A接收后可计算Loss,n1和n2的梯度。
而后A、B和D分别将计算获得的梯度值加密后上传到C,C基于梯度值计算出模型的框架