本篇博客参考《A survey on security and privacy of federated learning》以及河南大学的林同学翻译,本人做了一些补充,仅供参考。
联邦学习是一种隐私保护,安全加密技术的分布式机器学习框架。目的在于分散的各参与方在满足不向其他参与方披露隐私数据的情况下,协作进行机器模型学习的训练。
步骤二:客户端用初始化的模型参数训练本地模型并且将本地模型训练的参数分享给中心服务器。(本地模型训练)
步骤三:中心服务器聚合本地模型的参数并且将将更新后的模型及参数发送给各个客户端。(聚合)
(重复步骤二和三直至模型收敛)
按数据可用性分类:
1、Cross silo FL(客户端数量为2-100属于小集群的训练)
按数据分区来分类:
1、横向联邦学习
横向联邦学习也称为按样本划分的联邦学习,各参与方的数据集有相同的特征空间和不同的样本空间。解决数据不够多的问题。双方各自有样本(特征值和标签),拥有共同的数据特征和数据标签,FedAverage算法,支持深度学习。各自训练自己小模型,加上随机数(保密)后放到第三方去优化,第三方汇总后,随机数彼此抵消,优化模型。再把优化后参数返回给他们。不存在把数据给对方或者一个第三方。
例如,两家不同地区的商业银行的客户群体有着非常小的交集,他们的数据集有着不同的样本空间。因为相似的业务模型,他们的数据集的特征空间非常相似或相同。这两家银行便可以联合起来进行横向联邦学习。
2、纵向联邦学习
纵向联邦学习,适用于参与者训练样本ID重叠较多,而数据特征重叠较少的情况,例如,同一地区的银行和电商的共同的客户数据。纵向联邦学习也称为样本对齐的联邦学习(Sample-Aligned Federated Learning),即纵向联邦学习的参与者的训练样本是对齐的。解决特征(或结果)不够多的问题。一方有样本的特征值,另一方有其他特征值,或者有样本的数据标签(结果表现)。前者没有数据标签无法训练参数,所以要和后者先进行样本匹配,然后交换数据(中间值)。
3、联邦迁移学习
FTL 的目的是在保护隐私的前提下,利用迁移学习克服数据或标签的不足的问题。FTL 将 FL 的概念加以推广,以实现在任何数据分布、任何实体上均可以进行协同建模、以学习全局模型。它不仅可以应用于两个样本的空间,还可以应用于两个不同的数据集。
4、优化算法分类:聚合算法(FedAvg,SMC-Avg,FedProx等)
5、增加通信效率算法(FedBCD,FedAttOpt等)
开源框架:
1、FATE
2、Pysyft
3、Tensorflow Fedrated(TFF)等
1、 联邦学习系统的脆弱性的根本原因是什么?
通信:联邦学习需要多轮通信,不安全的通信信道会是一个安全隐患
客户端数据操作:参与联邦学习的客户端很多,他们可以利用模型参数和训练数据实施攻击
被损害的中央服务器:由于中央服务器负责聚合,分发数据,因此中央服务器可能会被攻击者所利用
聚合算法的不足:聚合算法需要能够识别出一些异常的数据并抛弃那些可疑的数据
联邦学习环境的实施:参与联邦学习实现的开发者们可能难以分辨哪些是隐私数据,哪些不是
2、 在联邦学习领域中的安全威胁有什么?作者一共列出了11种攻击:
投毒攻击(Poisoning):在联邦学习中,由于每个客户端都能够接触到模型参数以及训练数据,因此一些恶意的客户端很可能会将被篡改的数据或权重发送给服务器,从而影响全局模型。作者将投毒攻击分为三类,分别是数据投毒(Data Poisoning),模型投毒(Model Poisoning),数据修改(Data Modification)
推理攻击(Inference)
后门攻击(Backdoor attacks)
基于生成对抗网络的攻击(GANs)
系统停机(System disruption IT downtime):停机时间可能是一种精心策划的攻击,目的是从FL环境中窃取信息
恶意的服务器(Malicious server)
通信瓶颈(Communication bottlenecks)
搭便车攻击(Free-riding attacks):简单来说就是有些客户端想要做伸手党
不可用性(Unavailability):客户端在训练过程中可能会掉线
窃听(Eavesdropping):攻击者可能会从不可靠的信道中窃取到数据
违反数据保护法(Interplay with data protection laws)
3、 与分布式机器学习相比,联邦学习有哪些特有的安全威胁?
4、有哪些防御方法?
作者将防御方法分为两大类:主动防御(Proactive defense)和反应性防御(reactive defense)。主动防御是是猜测会面临到哪些威胁并布置好高效的防御技术的方法,而反应性防御是在发现攻击时进行的操作。 另外作者还提到了将联邦学习与区块链结合的想法,利用区块链来记录联邦学习全局模型的参数。 下表是作者提出的具体的一些防御方法:
1、联邦学习的隐私威胁有哪些?作者提出了3种威胁:
成员推断攻击(Membership inference attacks):推理攻击是一种推断训练数据细节的方法,这种攻击通过检查训练数据集上是否存在特定的数据来获取信息。
无意的数据泄露与通过推理重构(Unintentional data leakage & reconstruction through inference):数据泄露的危害以及恶意的客户端通过全局模型来重构其他客户端的训练数据
基于生成对抗模型的推断攻击(GANs-based inference attacks)
2、有哪些方法来缓解这些威胁以及如何提高联邦学习的隐私保护能力?作者提出了两种手段:
差分隐私(Differential Privacy):具体方法是对样本进行添加噪音,并尽量使总体样本的统计性质(均值,方差等)保持不变
安全多方计算(Secure Multi-party Computation):多方联合计算一个函数,且各方都不泄露各自的数据。
混合(Hybrid):多技术结合
验证网络(VerifyNet):验证服务器端是否是可靠的
对抗训练(Adversarial training):从训练阶段开始就尝试攻击的所有排列,使FL全局模型对已知的对抗性攻击具有鲁棒性
3、与分布式机器学习相比,联邦学习有哪些特有的隐私威胁?
在服务器带有参数的分布式机器学习中,发起推理攻击从其他客户端窃取信息是最不可取的方法,因为数据很容易在参数服务器上或通过客户端更新获得。然而,对于分布式机器学习应用,其中训练良好的ML模型被外包为付费服务,存在基于推理的攻击的可能性。
基于GAN的推理攻击在FL环境中是可行的,但对于分布式机器学习不太合适。分布式机器学习为攻击者提供了空间来发起更简单和直接的攻击。GAN是复杂的,需要更多的计算资源,这使得它在分布式机器学习中不是首选的攻击方法。
4、保护隐私的代价是什么?
在安全多方计算中基于密码学的方法中,要求每个客户端对所有上传的参数进行加密,因此,每个客户端都需要花费额外的计算资源来执行加密。另外,差分隐私可能还会降低ML模型的准确性。
零日攻击及其支持技术(Zero-day adversarial attacks and their supporting techniques):该病毒会在攻击计算机前先破坏杀毒软件
可信的可追溯性(Trusted traceability):如果一个全局ML模型中的预测值发生了变化,我们将需要跟踪能力,以确定是哪个客户端聚合值导致了该变化。
API定义明确的流程(Well-defined process with APIs)
隐私保护和成本之间的权衡(Optimize trade-off between privacy protection enhancement and cost)
在实践中构建联邦学习隐私保护增强框架(Build FL privacy protection enhanced frameworks in practice)
联邦学习中客户端的选择和训练计划(Client selection and training plan in FL Training)
对不同机器学习算法的优化方法(Optimization techniques for different ML algorithms)
模型训练方法及训练参数的选择(Vision on training strategies and parameters)
易于迁移和生产(Ease in migrating and productionising)