文章动机
先定义纵向联邦学习:所有参与者组合在一起才能组成完整的特征集合,数据集的标签只在某一方。
纵向联邦学习现有的方案存在的问题:参与方之间需要点对点通信,训练时间比较长,而且只能在线性模型中或者两方中进行,十分有限
文章贡献
- 减少了通信,不需要参与方之间的点对点通信,只需要参与方跟聚合器之间进行通信。
- 不需要泰勒多项式近似来处理非线性模型,因此模型很高。
- 实现了并评估性能表现,训练时间减少了10%-70%,数据传输量减少了80-90%。
FedV框架的优点:能够减少通信轮次;提升训练速度;允许多方动态加入或者离开。
背景知识
纵向联邦学习
实体对齐
纵向联邦学习在训练过程中需要先进行实体对齐,实体对齐之后,来自各个参与方的数据记录都连接在一起,组成了完整的训练样本。在实体对齐过程中,要确保每个参与方的隐私数据不会遭受推理攻击。文章假设存在着共享的记录标识符,这些标识符能够用来实体匹配。在FedV中,我们使用被称为cryptographic long-term key (CLK) 长期加密密钥的匿名连接码技术和Dice coefficient骰子系数来执行隐私实体对齐。
梯度下降
以均方误差来看,其中的偏导是这样子计算的:
在这个过程中,我们可以看到
p
2
p_2
p2需要得到
p
1
p_1
p1的数据,
p
1
p_1
p1也需要得到
p
2
p_2
p2的数据。在纵向联邦学习中参与方为了得到部分模型必须跟多方互相交换信息;还要把数据还给聚合器进行最后的梯度更新。由此可见,隐私泄露的风险非常高。
函数加密
单输入函数加密
x是私密的,y是公开的,并提供给聚合器计算内积。在开始阶段,TPA提供对数据加密的公钥pk;参与方使用pk对x进行加密,得到密文
c
t
x
ct_x
ctx;参与方将密文和y发给聚合器;TPA提供了对应y的解密密钥
d
k
dk
dk,解密之后就能得到x和y内积的结果。如下图所示:
多输入函数加密
多输入函数加密跟单输入函数加密很像,只是输入的私有数据是来自多个参与方这一点不同。
FedV框架
这里的TPA不一定是必须,在新提出的函数加密方案中,有分布式FE加密系统,这些方案移除了TPA。在这个框架中,我们假设参与方可以分为(1)一个主动参与方:拥有部分特征的训练样本以及样本标签(2)多个被动参与方:只拥有部分特征的训练样本。
威胁模型
FedV的主要目标是为了训练ML模型,同时保护特征的隐私。敌手的目标是为了推断参与方的特征。以下是实体的假设:
- 半诚实聚合器:正确执行协议但是想从模型更新中获取隐私信息。
聚合器通常是由大公司运行,而攻击者很难在没有其他人注意的情况下修改协议。 - 数量有限的恶意参与者想推断诚实参与者的隐私信息。这里的恶意参与者最多是m-1个。我们假设聚合器和参与者不勾结在一起。
- 假如使用了TPA,那么我们假设TPA是完全可信的。
此外假设通信信道安全,中间人攻击和窥探攻击是不可行的;任何可信服务攻击和后门攻击超出了本文考虑的范围。
FedV框架的概览
每个参与者根据实体对齐向量重新对样本排序,shiyongr来生成一次加密密码链。聚合者先随机初始化权重,每轮训练中,都进行FedV-SecGrad安全聚合以得到梯度,最后使用得到的梯度更新权重。
纵向训练:FedV-SecGrad
Fedv-SecGrad使用与计算一个ML模型的梯度,这个ML的目标计算公式是一个以权重与输入内积作为输入的可微分函数。因此可以用在非线性模型,比如逻辑回归,支持向量机;或者线性模型。我们在这忽略了矫正器R,因为他可以由聚合器独立计算。
Fedv-SecGrad包括两个聚合过程:特征维度聚合:聚合了一轮训练中多个数据不同参与方的权重输入内积与标签,如图:
样本维度聚合:聚合一个参与方在本轮训练中样本值与特征维度聚合得到的结果,最后为了得到本轮训练中的梯度。样本维度聚合的解密密钥是根据特征维度聚合的结果
u
u
u而定义的
每次训练的样本都是随机生成的,这样子聚合器就不知道每轮训练中存在哪个样本;聚合者会等待一个预定义的时间,以等待训练结果。
为了能够动态加入,离开,有一个向量
v
v
v,当参与方存在的时候为1,不存在的时候为0.
推理威胁和预防机制
- 特征维度聚合推理:检查参与的参与方数量是否太少,是否满足了最少的数量
- 样本维度聚合推理:检查生成 d k dk dk所使用的向量的长度是不是太少,也就是样本的特征维度聚合数量太少。