联邦学习-技术层面问题

想重新理解联邦学习,将联邦学习的原理和技术层面的理论都详细了解一遍。

联邦学习是这几年机器学习的一个热点,实质上联邦学习实际上是一种特殊的分布式学习。

     联邦学习产生的原因就是:运营商是需要用户数据去进行大数据分析等工作的,但是当用户不想自己的数据传到云端,那么运营商怎么获得用户不允许上传云端的数据呢?(在国外,针对用户隐私的法律又非常严苛),故产生了联邦学习(federate learning的英文也可以去理解联邦学习的表意)。

虽然联邦学习十四分布式的机器学习,但是相比之下,还是有差别的,不然也不会重新起一个名字。具体有以下几点差别:

  1. 用户对自己的设备和数据有绝对的控制权。可以决定自己的数据是否参与联邦和通信,(这就和名字里的邦对应,每个邦都有完全的自治权,不受中央的控制),这里和原有的分布式机器学习就有很大的区别,
  2. 联邦学习的worker节点是非常不稳定的,或许用户到了没网的地方就没有信号了,这也对分布式计算造成了困难。
  3. 通信代价大,传统的分布学习大都是拿网线连起来的或者有高速宽带,但是联邦学习都是手机,ipad的,设备和服务器是远程连接。带宽低,网络延迟高,因此要是想获得一个模型参数,不可能很快完成,能几秒完成就是高效的了。
  4. 联邦学习数据不是独立,同分布。理解:就是每个worker节点设备的的数据是很不相同的,比如女生喜欢自拍,男生不喜欢,这样会造成手机这类设备的相册数据差别很大。

因此,减少通讯次数的算法不再适用。

  1. Worker节点负载不平衡。理解:有的用户拍的照片多,有的用户,照片拍的少,这样数据集相差很大,如果节点数据集有的大,有的小,这样建模和计算会出问题。如果建模时给每张图片相同的权重,那么学出来的模型就取决于拍了很多张的用户,忽略了拍照少的用户。如果每个用户相同的权重,也是不合适的,有的用户用手机时间长,有的用手机时间段,这样建模也是不公平的。

     因为数据大小不一样,也导致计算时间不一样,传统的分布式学习可以进行负载均衡,但是联邦学习不能负载均衡

总而言之就是:虽然联邦学习是分布式学习,但与分布式学习相比,又有很多的技术难点。

       针对2,3 ,我们需要减少通讯次数,本来100次达到收敛,现在争取20次达到收敛。所以我们的研究重点就是减少通讯次数。

  • federated averaging alogorithm(联邦学习的梯度下降算法)

先来回回顾一下并行梯度下降

首先server给worker发送paramenter,worker收到参数w后,用本地的数据更新一个新的参数g,把参数g发送给server。

      server收到更新的参数g后,把每次收到g1,g2…gm相加,做一次梯度下降,更新模型参数w,这样反复去发送更新的w,使模型达到收敛。

然后我们介绍新的算法,federated averaging alogorithm,和并行梯度下降算法是不太相同的,用更少的通讯次数达到收敛。开始是一样的,server把参数发给worker。后面就不一样了。

      worker接收到w以后,通过本地数据更新为参数g,在本地做梯度下降,重复a,b五次就好,此时w已经改变,将w变为𝑤𝑖,

发送给server。

     将收到的多次多个更新参数,平均得到最终收敛后的参数w。我的理解就是:这种算法和并行梯度下降的区别就是在哪做梯度下降,还有最终参数是否做平均。

      曲线可以表明:FedAvg的loss下降的更快,收敛更快,这样这个算法就有了意义,达到了我们的研究目标:减少通讯次数,快速达到收敛。

#epochs:所有的worker把本地数据扫一遍,算是一个epoch,来衡量计算量的多少。

     如果以epochs为横轴,就是当用不一样的梯度下降算法做一样epochs(相同的计算量),这样FA算法loss下降的快,这样就是牺牲了计算量,减少了通信量,但是联邦学习计算代价小,通讯代价大,所以我们FA算法是实用的。

  • 隐私保护

     接下来我们了解以下联邦学习的隐私保护:就上一个梯度算法而言,可以在worker上进行梯度计算,达到收敛,这样数据就没有通过server,对于用户而言是安全的。但是梯度其实就是对数据进行了一个数学(函数)变换,可以由梯度反推出数据,看下面这个图的第二个公式即可。

     这样来看,对用户数据没有达到隐私保护的效果,我们怎么解决这个问题呢?

      隐私保护通常就会通过加噪声来保护,但是实验证明,加噪声不实际,噪声不强的话,还是没做到隐私保护,噪声过强,没法进行模型训练。目前为止,很多方法都试过,但是效果不佳。

  • 算法的鲁棒性

联邦学习的鲁棒性:让联邦学习可以抵御恶意的错误和拜占庭攻击

拜占庭错误:分布式系统出现异常节点(其实就是打仗的团队有个人是奸细,干扰团队任务,这样就会团灭),就是有个节点出现错误,数据和标签出错的话,这样会把整个训练带到沟里去。

拜占庭攻击是通过干扰节点,让本地数据和标签出现错误,这样会干扰模型训练,还有就是给模型留个后门。

      有了攻击就会有防御。抵御拜占庭攻击,但是目前很多方法的前提都是数据独立同分布,这对联邦学习其实作用不大。

    本章大概讲了联邦学习研究过程中的技术困难,最好不降低商业需求标准的同时,保护用户的隐私,这个问题还有待研究。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
联邦学习是一种分布式机器学习方法,它在保护数据隐私的前提下,实现了多个参与方之间的模型训练与共享。从技术层面来看,联邦学习为数据安全互联提供了以下价值: 1. 隐私保护:联邦学习通过在本地设备上进行模型训练,仅共享模型更新参数而不共享原始数据,从而有效保护了数据隐私。参与方的数据可以在本地保留,不需要将敏感数据集中存储在一个地方,降低了数据泄露的风险。 2. 数据安全:联邦学习使用加密和安全协议来保护数据在传输和存储过程中的安全性。参与方之间通过安全通信协议进行数据传输,并使用加密技术对数据进行保护,确保数据在互联过程中不被非法访问或篡改。 3. 数据合规性:联邦学习使得参与方可以在遵守数据隐私法规和合规要求的前提下进行数据共享与协作。参与方可以对模型进行控制和监督,确保数据的使用符合相关法规和政策,避免违反数据保护法规带来的法律风险。 4. 资源利用效率:联邦学习允许多个参与方共同参与模型训练,利用分布式计算资源进行并行计算,提高了模型训练的效率。参与方可以共享彼此的模型更新,从而获得更好的模型性能,促进了数据安全互联中的信息共享与协作。 综上所述,联邦学习技术在数据安全互联中提供了隐私保护、数据安全、数据合规性和资源利用效率等价值,为多方参与的数据共享与协作提供了安全可行的解决方案。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值