横向联邦学习介绍和相关算法

一. 横向联邦学习

横向联邦学习适用于用户群体不同,特征空间相同(比如多个ipad和sever,典型的B-C架构)。

先介绍两种种横向联邦学习的架构

  1. B-C

过程:参与方在本地进行梯度计算,将结果用加密技术掩饰发给server,server进行安全聚合(梯度平均),将结果发送给worker,worker进行解密,更新模型,直到达到收敛。

  1. 对等网络

没有中央服务器,不是批量更新参数,是连续(循环或者随机)更新,达到收敛时间长。

之前在《联邦学习-技术层面问题》说过联邦优化算法的中心思想就是用计算代价代替通讯代价,也介绍了联邦平均算法的实现过程,在本节再详细介绍它的算法。

联邦平均算法

三个关键参数

(1)ρ:每一轮中进行计算的客户占比

(2)S:每一轮中,每一个客户在本地数据集进行训练的步骤数

(3) M:使用的mini-batch(梯度下降批量的量是多少)用𝑀=∞来表示完整的本地数据集作为一个批量进行处理

   设 M=∞,S=1  ,在参与方进行梯度和损失函数计算ρ=1时,参与方拥有所有数据(全批量)进行计算,且数据集符合IID条件,由FederatedSGD算法计算得到梯度g,

满足Eg=𝛻𝑓(𝜔)

  设服务器有初始模型,参与方了解优化器的设定。对于拥有固定的学习率h 的分布式梯度下降的典型实现,在第t轮更新全局模型参数时,第k个参与方将会计算

g𝑘=𝛻𝐹𝑘(𝜔𝑡)

  就是它在当前模型参数𝜔𝑡的本地数据的平均梯度,然后server会通过以下公式聚合梯度更新信息,将全局模型参数发给各个worker,这种就是梯度平均,还有一种对模型进行加权计算的,叫做模型平均。

算法流程图如下(前提就是假设数据独立同分布):

安全的联邦平均方法就是在前者基础上加上隐私保护,隐私保护技术用的是AHE。

算法变化是:worker在本地数据计算梯度后,将结果加密,发送给server,server进行聚合,然后发送给worker,worker进行解密,更新模型信息。

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值