横向联邦学习


本博客地址:https://security.blog.csdn.net/article/details/123461779

一、横向联邦学习的定义

横向联邦学习也称为按样本划分的联邦学习,主要应用于各个参与方的数据集有相同的特征空间和不同的样本空间的场景,例如两个地区的城市商业银行可能在各自的地区拥有非常不同的客户群体,所以他们的客户交集非常小,并且数据集有不同的样本ID,然而他们的业务模型却非常相似,因此他们的数据集的特征空间是相同的。由此,这两家银行就可以联合起来进行横向联邦学习以构建更好的风控模型。

二、横向联邦学习的架构

横向联邦学习有两种常用的系统架构,分别是客户-服务器架构对等网络架构

2.1、客户-服务器架构

客户-服务器架构也被称为主-从架构或者轮辐式架构。在这种系统中,具有同样数据结构的K个参与方在聚合服务器的帮助下,协作地训练一个机器学习模型。

 客户-服务器架构的训练过程通常由如下四步组成:

● 1、各参与方在本地计算模型梯度,并使用同态加密、差分隐私或秘密共享等加密技术,对梯度信息进行掩饰,并将掩饰后的结果(即加密梯度)发送给聚合服务器;
● 2、服务器进行安全聚合操作,如使用基于同态加密的加权平均等;
● 3、服务器将聚合后的结果发送给各参与方;
● 4、各参与方对收到的梯度进行解密,并使用解密后的梯度结果更新各自的模型参数。

上述步骤将会持续迭代进行,直到损失函数收敛或者达到允许的迭代次数的上限或允许的训练时间,这种架构独立于特定的机器学习算法(如逻辑回归和深度神经网络),并且所有参与方将会共享最终的模型参数。

梯度平均:上述步骤中参与方将梯度信息发送给服务器,服务器将收到的梯度信息进行聚合,再将聚合的梯度信息发送给参与方。
模型平均:参与方在本地计算模型参数,并将它们发送至服务器,服务器对收到的模型参数进行聚合,再将聚合的模型参数发送给参与方。

在某些条件下,例如模型参数在参与方每次更新之后进行聚合,此时模型平均等价于梯度平均。下表我们对梯度平均和模型平均进行比较:

方法优点缺点
梯度平均准确的梯度信息
有保证的收敛性

加重通信负担

需要可靠连接

模型平均

不受SGD限制

可以容忍更新缺失

不频繁的同步

不保证收敛性

性能损失

2.2、对等网络架构

在对等网络架构下,不存在中央服务器或者协调方,在这种架构中,横向联邦学习系统的K个参与方也被称为训练方或分布式训练方。每一个训练方负责只使用本地数据来训练同一个机器学习模型。此外,训练方们使用安全链路在相互之间传输模型参数信息,为了保证任意两方之间的通信安全,需要使用例如基于公共密钥的加密方法等安全措施。

由于对等网络架构中不存在中央服务器,训练方们必须提前商定发送和接收模型参数信息的顺序,主要有两种方法可以达到这个目的:

循环传输:在循环传输模式中,训练方们被组织成一条链,第一个训练方(即链首)将当前的模型参数发送给它的下一个训练方。该训练方接收来自上游的模型参数后,将使用来自本地数据集的小批量数据更新收到的模型参数。以此类推,最后又回到链首。这一过程将被持续重复,直到模型参数收敛或达到允许的最大训练时间。

随机传输:在随机传输模式中,第k个训练方将模型参数随机发送给另一个训练方,当该训练方收到来自第k个训练方的模型参数后,它将使用来自本地数据集的数据的小批量数据更新收到的模型参数。之后,随机发送给下一个训练方。这一过程将会重复,直到K个训练方同意模型参数收敛或达到允许的最大训练时间。

2.3、全局模型评估

在横向联邦学习中,模型训练和评估是在每个参与方中分布执行的,并且任意方都不能获取其他方的数据集。所以,每个参与方都能轻易地使用自己的本地测试数据集来测试本地模型的性能,但得到全局模型的性能评价需要耗费更多资源。

● 在客户-服务器架构中,模型训练结束之后可以根据以下步骤可以得到全局模型性能:

1、第k个参与方使用本地的测试数据集对现有的横向联邦学习模型进行性能评估;
2、第k个参与方给协调方发送本地模型预测结果;
3、在收集K个参与方的本地模型测试结果之后,协调方能够计算全局模型性能测试结果;
4、协调方将计算得到的全局模型性能(如准确率、精确率和召回率)发送给所有的参与方。

● 在对等网络架构中,可以选取某一个参与方来充当一个临时的协调方,之后即可根据上述客户-服务器架构设计的解决方案,得到对等网络架构的全局模型性能。

三、联邦平均算法

3.1、梯度平均

对于拥有固定学习率η的分布式梯度下降的典型实现,在第t轮更新全局模型参数时,第k个参与方将会计算:g_k=\bigtriangledown F_k(w_t),即它在当前模型参数的本地数据的平均梯度,并且协调方将会根据以下公式聚合这些梯度并使用模型参数的更新信息:\large w_{t+1} \leftarrow w_t - \eta \sum_{k=1}^{K} \frac{n_k}{n} g_k。在这个公式中:\large \sum_{k=1}^{K} \frac{n_k}{n} g_k = \bigtriangledown f{(w_t)},假设由不同参与方拥有的数据集符合IID条件。协调方之后能够将更新后的模型参数:\large w_{t+1},送给各参与方。或者协调方可将平均梯度:\large \bar{g_t} = \sum_{k=1}^{K} \frac{n_k}{n} g_k,发送给各参与方,且参与方将根据公式:\large w_{t+1} \leftarrow w_t - \eta \sum_{k=1}^{K} \frac{n_k}{n} g_k计算更新后的模型参数\large w_{t+1}

3.2、模型平均

模型平均公式:

a)\large \forall k, w_{t+1}^{(k)} \leftarrow \bar{w_t} - \eta g_k

b)\large \bar{w}_{t+1} \leftarrow \sum_{k=1}^{K} \frac{n_k}{n} w_{t+1}^{(k)}

每一个客户根据公式a),在本地对现有的模型参数使用本地数据执行梯度下降的一个(或多个)步骤,并且将本地更新的模型参数发送给服务器。之后服务器根据公式b),对模型结果进行加权平均计算,并将聚合后的模型参数发送给各参与方。

四、联邦平均算法

五、安全的联邦平均算法

此前的联邦平均算法并没有提供任何安全保护,如果数据结构也被泄露,模型梯度或者模型参数的泄露可能会导致重要数据和模型信息的泄露。这时,我们可以利用隐私保护技术来保护联邦平均中的用户隐私和数据安全。

作为例证,我们可以使用加法同态加密(AHE),具体如Paillier算法或者基于带错误学习的加密方法,来加强联邦平均算法的安全属性。

在AHE方法中,数据和模型本身并不会以明文形式被传输,因此几乎不可能发生原始数据层面的泄露。然而,加密操作和解密操作将会提高计算的复杂度,并且密文的传输也会增加额外的通信开销。AHE的另一个缺点是,为了评估非线性函数,需要使用多项式近似(例如,使用泰勒级数展开来近似计算损失函数和模型梯度)。所以,在精度与隐私性之间需要进行权衡。

安全的联邦平均算法(使用加法同态加密的模型平均算法):

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

武天旭

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值