联邦学习的一般框架
在联邦学习中,典型的迭代包括四个步骤。
- 首先,每个客户端从服务器下载当前的全局模型。
- 其次,每个客户端根据其本地数据和当前全局模型计算更新的模型。
- 第三,每个客户端在加密的情况下将模型更新发送回服务器。
- 最后,服务器聚合这些模型更新并构建更新的全局模型。
差分隐私的性质
差分隐私的一些性质在实际应用中非常用有用:可组合性、群组隐私性和对补充信息的鲁棒性。
可组合性可以对机制进行模块化设计:如果一个机制的所有组件满足差分隐私,则它们的组合也满足差分隐私。
当数据集中包含关于某个个体的多条信息时,群组隐私性使得隐私性缓慢降低。
对于补充信息的鲁棒性意味着隐私保护不受其它由对手掌握的信息所影响。
联邦学习差分隐私
联邦学习中的差分隐私噪声如何产生
为什么联邦学习需要差分隐私
直观上可能会觉得仅仅使用联邦学习就已经能够保护隐私了(因为联邦学习并不直接传输数据,而是传输梯度信息),但实际上,梯度信息已经被证明也会泄露隐私,这两篇文章已经证明:
[1].Melis etal
[2].Hitaj et al. Deep models under the GAN: information leakage from collaborative deep learning In ACM SIGSAC Conference on
防止梯度信息被泄露的方法有很多,目前主要有两种:
1.基于安全多方计算的
这个包含的方法很多,包括对梯度进行安全聚合算法进行聚合,或者进行同态加密运算,等等。稍后会进行具体介绍。
2.基于差分隐私的
差分隐私主要就是对梯度信息添加噪音,添加的噪音种类可能不同,但是目前主要就是拉普拉斯噪声和高斯噪声,指数机制等。
现在回到标题问题,为什么要用差分隐私?
因为基于安全多方计算的通信代价或者计算代价非常大,这个方法主要是通过C/S双方复杂的通信协议或者复杂的加密机制来实现的,所以通信、计算、延迟都会较高,但是模型较为准确。
而基于差分隐私的联邦学习主要是对梯度信息添加噪声,不会有很高的通信或者计算代价,但是由于我们对于梯度进行进行了加噪,所以会影响模型收敛的速度,可能会需要更多的round才能达到我们想要的精度。
所以如果不想要很大的通信或者计算代价,那就可以采取差分隐私的方法。
安全多方计算?差分隐私?联邦学习?它们之间的关系是什么?
1.安全多方计算(Secure Multi-Party Computation,MPC)
MPC在1982 年提出,指参与者在不泄露各自隐私数据情况下,利用隐私数据参与保密计算,共同完成某项计算任务,该技术能够满足人们利用隐私数据进行保密计算的需求,有效解决数据的“保密性”和“共享性”之间的矛盾。多方安全计算包括多个技术分支,目前,在MPC
1.1秘密共享
秘密共享的思想是将秘密以适当的方式拆分,拆分后的每一个份额由不同的参与者管理,单个参与者无法恢复秘密信息,只有若干个参与者一同协作才能恢复秘密消息。更重要的是,当其中任何相应范围内参与者出问题时,秘密仍可以完整恢复。
案例:1994年,Naor和Shamir提出可视密码,是一种依靠人眼解密的秘密共享方法,它是将一个秘密图像加密成n张分存图像,n张分存图像可以打印到胶片上、存入电脑或移动存储器中,且分别由n个人保存。解密时只需k个人(或k个以上)将各自的分存图像叠加,秘密图像就会呈现出来,而少于k个人无法获得秘密图像的一点信息。
1.2同态加密
同态加密是一种允许在加密之后的密文上直接进行计算,且计算结果解密后和明文的计算结果一致的加密算法。
- 利用同态加密技术可以先对多个密文进行计算之后再解密,不必对每一个密文解密而花费高昂的计算代价;
- 利用同态加密技术可以实现无密钥方对密文的计算,密文计算无须经过密钥方,既可以减少通信代价,又可以转移计算任务,由此可平衡各方的计算代价;
- 利用同态加密技术可以实现让解密方只能获知最后的结果,而无法获得每一个密文的消息,可以提高信息的安全性
目前这两种是笔者会遇到的,想要继续了解安全多方计算其他内容的可以参考百度上其他大牛的博客内容。
2.联邦学习
联邦学习的本质是一种机器学习框架,即分布式机器学习技术。联邦学习以一个中央服务器为中心节点,通过与多个参与训练的本地服务器(以下简称“参与方”)交换网络信息来实现人工智能模型的更新迭代。
即中央服务器首先生成一个通用神经网络模型,各个参与方将这个通用模型下载至本地并利用本地数据训练模型,将训练后的模型所更新的内容上传至中央服务器,通过将多个参与方的更新内容进行融合均分来优化初始通用模型,再由各个参与方下载更新后的通用模型进行上述处理,这个过程不断重复直至达到某一个既定的标准。
在整个联邦学习的过程中,各参与方的数据始终保存在其本地服务器,降低了数据泄露的风险。
具体的过程和框架已经在上文中提出,这里就不赘述。
3.差分隐私
差分隐私(Differential Privacy)是Dwork[3] 在2006年针对数据库的隐私泄露问题提出的一种新的隐私定义。主要是通过使用随机噪声来确保,查询请求公开可见信息的结果,并不会泄露个体的隐私信息,即提供一种当从统计数据库查询时,最大化数据查询的准确性,同时最大限度减少识别其记录的机会,简单来说,就是保留统计学特征的前提下去除个体特征以保护用户隐私。
当用户(也可能是潜藏的攻击者)向数据提供者提交一个查询请求时,如果数据提供者直接发布准确的查询结果,则可能导致隐私泄漏,因为用户可能会通过查询结果来反推出隐私信息。为了避免这一问题,在交互式差分隐私保护框架下,用户通过查询接口向数据拥有者递交查询请求,数据拥有者根据查询请求在源数据集中进行查询,然后将查询结果添加噪声扰动之后反馈给用户,在非交互式差分隐私保护框架 下,数据管理者直接发布一个满足差分隐私保护的数据集,再根据用户的请求对发布数据集进行查询操作,如下图所示。
4.各类技术优缺点ghgfhjfwenzhanglaixzizhenggegedboke@@@@
1.多方安全计算
优点:
- 基于密码学安全,其安全性有严格密码理论证明
- 不以信任任何参与方、操作人员、系统、硬件或软件为基础,各个参与方对其拥有的数据拥有绝对的控制权,保障基本数据和信息不会泄露
- 计算准确度高
- 支持可编程通用计算
缺点:
- 密码学操作产生计算性能问题,运算时延以及参与方数量增加也会导致应用无法落地等相关问题。
- 传统安全问题无法解决,如访问控制、传输安全等。
- 不同技术间的加密数据不能互通造成的新的数据孤岛问题。
2.联邦学习
优点:
- 能够解决训练阶段数据特征单一的问题,从而获得一个性能更好的、优于利用自己本身数据集所训练出的模型。
- 各参与方只需在本地利用各自数据集进行训练,数据体量未增加,算力成本压力小。
缺点:
- 安全问题,当神经网络的模型较大时不会从头开始编码,而是用开源的基础模型,存在病毒植入的安全问题。以及传输的梯度和权重可能被逆推泄露信息。参与方不一定可行。
- 通信效率问题。分布式参与节点计算能力不一致、网络连接状态不稳定、数据通信非独立分布等现实因素。
3.差分隐私
优点:
- 差分隐私技术基于严格的数据理论,能够实现数据资源的最大利用
- 在多方安全计算中,采用可计算的差分隐私能大大降低多方安全计算的计算复杂度和通讯量。
缺点:
- 差分隐私通过添加噪声实现隐私保护,会对模型可用性和准确性造成一定程度影响,因此,对于准确度要求较高的场景如人脸识别、金融风险计量,目前无法大规模应用该项技术。
- 差分隐私保护目标是计算结果而不是计算过程,以机器学习建模为例,差分隐私可以
ghgfhjfwenzhanglaixzizhenggegedboke@@@@ 在建模结果上加入噪声,保证攻击者难以从建模结果反推出样本信息,但差分隐私依然需要计算方显式的访问训练数据,因此没有保护建模过程。