联邦学习浅见

联邦学习

2022/11/17 15:44:32
参考文章
声明:本文仅仅是参考文章的笔记,不是原创,详细内容请看大佬的原文。


一、什么是联邦学习?

联邦学习是一种隐私保护的分布式机器学习技术,包括机器学习、分布式、隐私保护三个技术关键词。

  1. 机器学习
    通过对数据的处理建立模型,不断优化模型,达到预测、展示、学习等功能。利用数据获得经验的过程称之为建模;利用经验对新数据做出估计或者预测的过程称之为推理。
  2. 分布式
    数据被分为若干份,各份数据的存储和计算都分布在不同位置。(防止隐私泄露)
  3. 隐私保护
    顾名思义,保护隐私。

隐私保护技术的主要思想是对训练过程的中间结果进⾏某种变换,以掩盖原始数据或改变其数据特性,⽐如连续性、分布规律等,从⽽使得恶意联邦成员的破解技术失效,同时还能保证诚实的联邦成员依然可以从数据中学习到经验。

这种理想的功能需要我们使用特殊的技术进行实现,其中常⽤技术包括差分隐私、同态加密等。简单来说,差分隐私对数据加上一定程度的随机噪声,例如将年龄从50改为46(-4)或者51(+1),这可使得某些破解技术失效;同态加密是将数据变换到另一个数域的技术,新数域的大小顺序、分布都会发生变化,所以不可能被破解出原始数据。

二、隐私保护的直观理解

富豪财产比较

  1. 富豪A把符合自己财产的数字盒子放入橘子,大于财产的数字放入苹果,小于财产的数字放入香蕉。
    在这里插入图片描述
  2. 富豪B选择自己自己财产对应的量级的盒子。如果是苹果,则B更富有;如果是橘子,则二者差不多;如果是香蕉,则A更富有。
    在这里插入图片描述
    但笔者认为这样有一个弊端,就是只能知道二者财产的10次幂量级的差距。如果差距在10倍数以内,那么就无法较清晰分辨。也可能是笔者没有理解透彻。待研究。

三、联邦学习效果

  1. 解决异或问题的判断,准确率从50% 提高到100%。
    在这里插入图片描述
    在这里插入图片描述

  2. 在行业实践的一个包含2家企业的联邦POC验证中,联邦学习相比于单侧模型的效果提升了13%,相比于传统子模型法也有4%的提升。若联邦的企业更多,则模型的效果会更好。

四、应用部署难点和趋势

  1. 网络带宽不足,建模速度受限。联邦学习需要非常大量的中间结果交互,在某些场景下需要超过100Mb/s的网络带宽才能在有效时间内完成建模。例如,某些银行仅支持2Mb/s的网络带宽,在样本量较大的情况下,这可能导致建模时间长达数月,无法满足业务需求。不过我们认为,随着5G技术的发展和信息高速公路的建设,网络带宽问题将会很快解决。

  2. 政府和行业协会尚未发布正式的标准和法规,企业和金融机构对新技术存在顾虑。正在立项过程中的联邦学习标准包括IEEE 3652.1, IEEE P2830,待其正式发布后将具有全球公认权威性。此外,京东等企业也在积极参与和推动中国的联邦学习相关的国家标准立项。随着技术标准的完善和实施,企业和金融机构不再有顾虑,联邦学习将如同RSA非对称加密等新技术的应用一样无处不在。

  3. 技术门槛较高。虽然市面上已有联邦学习商业解决方案和开源项目,但其稳定性和准确性方面还存在不少异常问题和挑战,需要频繁的更新迭代。常见的移动互联网服务是面向C端消费者的,以企业自身的快速迭代为特征,因此对错误的容忍性较高。然而联邦学习需涉及多个企业,对应的解决方案需面向B端企业,并且需要企业间生成集群和研发人员进行配合,这使得联邦学习合作对异常问题的容忍度非常低。此外,企业需要投入较多的人力资源对联邦学习进行安全性审核、部署、调试和优化,这导致
    中小企业不能快速使用联邦学习。针对这个问题,包括京东在内的大型企业在投入大量资源研发简单易用的商业解决方案,技术门槛正在逐步降低。

  4. 商业模式待探索。联邦学习能够解决数据孤岛问题并提升服务质量,进而产生社会价值和业务利润。然而,联邦学习仍处于探索中,还没有可供参考的大规模商业应用,如何评估各个成员对联邦的贡献、如何进行利润分配仍然是个开放的问题,需要联邦成员进行探索和协商。这一点将在互联网大数据业务需求的驱动下逐渐明朗。

五、密码学简述

纵观密码学的发展,可将其大致分为两个阶段:古典密码学和现代密码学。其中现代密码学又可分为两个分支:对称密码学和公钥密码学。

古典密码学→1949.对称密码学→1976.公钥密码学(对称密码学和公钥密码学又称现代密码学)

六、联邦学习的加密原理

机器学习一般使用梯度下降算法实现模型的最优化,联邦学习也是如此。梯度可表示(或者近似)为加法和乘法的混合运算,因此联邦学习的本质需求是加法和乘法运算进行保护。

如前所述,同态加密技术可满足该需求。具体来说,对数据进行同态加密所获得密文可进行加法和乘法操作,结果解密后与数据直接进行加法和乘法的结果是一致的。其中,同时满足加法和乘法的方法称为全同态加密,只能满足其中一种(加法或者乘法)的称为半同态加密。
由于全同态加密计算复杂度特别高,联邦学习一般使用半同态加密,比较常见的是Paillier半同态加密,满足如下性质的加法同态:

[a]+[b]=[a+b]

n·[a]=[n·a]

其中:[·]表示Paillier加密操作,前者称为加法同态,后者称为数乘同态,数乘事实上是多个相同数值的加法。

有了这两个性质,就可以解决分布式学习所需的各种隐私保护计算了,例如基于梯度下降的迭代优化。以包含两个成员(A和B)的联邦线性回归场景为例, A方的梯度计算式核心部分如下:

在这里插入图片描述

上式包含加法和乘法两种运算,可使用加法同态和数乘同态实现。值得注意的是,这里的加密还具有非对称加密的性质,密码包括<公钥,私钥>,使用公钥加密的数据只能通过对应的私钥解密。表示用A的公钥加密,这个公钥会共享给联邦成员,联邦成员可以使用这个公钥对数据进行加密,得到的密文只能由A通过自己的私钥加密;同理,使用B的公钥加密得到的密文只能由B解密。

式子(3)可分级为如下步骤进行计算。
在这里插入图片描述

七、总结

笔者作为刚入门的联邦学习大方向菜鸟,粗浅认为联邦学习是一个较为新颖的领域。作为分布式技术的全新应用,其与深度学习和机器学习密切相关,是解决数据隐私难题和保护数据安全的一种新技术。在机器学习的基础之上,要求数据分布式的在不同B端(训练端)进行训练,能够有效避免数据泄露,而后把各个模型整合为统一的模型整体。

由于了解尚浅,我有几个疑惑:

  1. 不同的模型在整合时会不会有难以接洽的难题?
  2. 横向学习、纵向学习、迁移学习虽然避免了大量的用户数据交互,但还是不可避免的需要在不同的训练端间传输用户数据,那么这个过程也是有数据泄露风险的。联邦学习模式的一个重要能力便是保护隐私,那么这和已有的子模型训练模型的区别是否就不大了呢?
  3. 不同的训练端有可能收到相同的数据。例如A已有a数据,收到b份数据;B有b数据,收到a数据,这样训练的模型是否会产生重复现象?如何避免?
  4. 网上的资料有点零散,是否有系统学习联邦学习的方式?
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值