综述
一、综述
1.1、提出
2016年谷歌研究院为了解决面向个体用户的键盘输入法优化问题而提出了联邦学习的概念
论文见如下链接:
Communication-Efficient Learning of Deep Networks from Decentralized Data
1.2、什么是联邦学习?
联邦学习旨在建立一个基于分布数据集的联邦学习模型。
两个过程:模型训练和模型推理。
在模型训练中模型相关的信息可以在各方交换(或者以加密形式交换)
联邦学习是具有以下特征的用来建立机器学习模型的算法框架
- 有两个或以上的联邦学习参与方协作构建一个共享的机器学习模型。每一个参与方都拥有若干能够用来训练模型的训练数据
- 在联邦学习模型的训练过程中,每一个参与方拥有的数据都不会离开参与方,即数据不离开数据拥有者
- 联邦学习模型相关的信息能够以加密方式在各方之间进行传输和交换,并且需要保证任何一个参与方都不能推测出其他方的原始数据
- 联邦学习模型的性能要能够充分逼近理想模型(指通过所有训练数据集中在一起并训练获得的机器学习模型)的性能。
1.2、应用场景
分散式多用户场景:
User:{U1,U2,……,U1}
Data:{D1,D2,……,D1}
传统的机器学习:把要训练的数据集中在一起,得到模型Msum
联邦学习:用户数据保留在本地,由参与的用户在各自的端得到模型Mfed
若|Vfed -Vsum|<δ,称算法达到了δ精度损失
上述式子表达了一个客观事实:如果使用安全的联邦学习在分布式数据源上构建机器学习模型,这个模型在未来数据上的性能近似于把所有数据集集中到一个地方训练所得到的模型性能。
1.3、联邦学习框架
- 客户端-服务器架构(用的多)
各数据持有方根据自己的条件和规则在本地训练模型,将脱敏参数汇总到中央服务器。其次中央服务器将新参数下发回数据持有方,接着各参与者更新自己的模型。重复迭代上述模型,直到稳健。 - 对等网络架构(都是客户端参与)
不需要第三方服务器,安全性高但是增加计算开销。
1.4、机器学习和联邦学习
机器学习的目的:寻找数据的概率分布,当数据集满足独立同分布时比较容易计算。
机器学习和分布式学习都是处理独立同分布数据
联邦学习则因为客户端位置,时间,型号等分布差异导致数据之间是非独立同分布的。概括为数据的特征和分类标签差异大。
1.5、联邦学习的特点
联邦学习的分类:横向,纵向和迁移
- 横向联邦学习:用户特征部分重叠少,用户的数据集特征重叠多。(例如位于不同城市的同一家银行机构)
- 纵向联邦学习:用户特征部分重叠多,用户的数据集特征重叠少。(例如位于相同城市的不同机构,银行和投资公司)
- 迁移学习:用户特征部分重叠少,用户的数据集特征重叠少
联邦学习所具有的特点
- 支持非独立同分布的数据
- 通信高效
- 快速收敛
- 安全性和隐私性
- 用户构成复杂
在机器学习上做出的改进
- 设备间计算能力差异,客户端完成模型计算的时间不同
- 本地数据与全局数据分布差异,异常数据容易对模型造成破坏
1.6、联邦学习和分布式学习的区别
其实联邦学习就是分布式学习的一种,可以参考美国的联邦政体。各州都有很大的自治权,即每一个参与者都可以看做一个邦,有很大的自主权利。
主要区别在一下几个方面:
① FL的用户可以控制自己的设备或者数据(控制权程度不同)
② 终端节点不稳定,具有很强的异构性(随时参与或退出,网络环境也不同)
③ 通信代价>计算代价(带宽低,延迟高)
④ 各终端数据集不平衡
二、安全,隐私保护方向
2.1、联邦学习的独特优势
在保护数据隐私的前提下实现由多个参与者的本地数据训练出统一的机器学习模型
2.2、存在的安全问题
存在的安全问题可以分为攻击,安全和鲁棒性三个方面
- 云服务器在数据训练过程没有设置参与者的权限,这就导致恶意参与者会上传不正确的模型,并达到破坏全局模型的能力
- 将本地模型更新和全剧模型参数结合可以得到训练数据中的隐含知识从而造成信息泄露
- 不可信的云服务器和恶意参与者的合谋攻击下会造成用户数据的泄露(从内部实体发起攻击具有更强大的威胁性)
攻击者主要破坏方面
- 机密性:机密性主要体现在两个方面。①窃取训练数据中的敏感信息②暴露目标模型信息及预测结果
- 完整性:攻击者会诱导模型行为,使得模型输出为自己指定的分类标签
- 可用性:阻止用户获得模型的正确输出,干预用户获取模型的某些特征,使得模型不具备可靠性
存在的一些问题
- 服务器的半诚实模型
- 云服务器和端之间的不信任问题
- 被共享的全局参数
2.3 攻击类型
2.3.1 投毒攻击
标签反转攻击
标签翻转攻击是指恶意用户通过翻转样本标签,将预先准备好的攻击点嵌入到训练数据中,便可使训练后的模型偏离既定的预测边界。
主动攻击者首先在第 t 轮通信时下载全局模型参数来更新其本地模型,攻击者接着用标签翻转训练数据对已更新的本地模型进行训练并将训练后生成的本地模型参数上传至服务器。当服务器基于最新上传的伪本地模型参数完成联邦平均之后,全局模型将在随后的通信过程中受到被攻击者的破坏
后门攻击
后门攻击需要攻击者在其精心设计的训练数据上使用一些特定的隐藏模式来训练目标深度神经网络(Deep neural net⁃work, DNN模型。这些模式称为“后门触发器”,他们可以干预学习模型在预测阶段生成与真实情况大相径庭的结果。
例如图 2 所示的一个分类任务,攻击者的目标是标签“N”,后门触发模式存在于样本数据右下角的红色方块。在训练阶段结束后,后门模型将识别出那些携带触发器的样本,并将他们视为目标标签“N”,然而正常样本仍然可以被正确地分类
基于以下原因,联邦学习框架面对这种投毒攻击时非常脆弱:(1)联邦学习系统中存在大量的
参与者,很可能包含一个或多个恶意用户。(2)由于用户的本地数据和训练过程对服务器是不可见
的,所以无法验证特定用户所上传更新的可靠性。(3)由于不同用户生成的本地更新可能会存在很大
差异,给用户更新异常检测过程将带来巨大挑战。
2.3.2 用户端GAN攻击
联邦学习框架对于系统内部参与者发起的主动攻击是极为脆弱的,提出了一种由系统内恶意用户发起的基于 GAN的重建攻击。
在训练阶段,攻击者可以假扮成良性用户,训练一个 GAN 用于模拟其他用户训练数据产生的原型样本。通过不断注入伪造的训练样本,攻击能够逐步影响整个学习过程并且诱使受害者释放更多与攻击者目标类有关的敏感信息。
用户端 GAN 攻击的强大之处在于,攻击者可以在不损害任何实体的前提下隐秘地完成所有的恶意行为,并可伪装成正常的参与者顺利地执行所建立的协议。
2.3.3 服务器端GAN攻击
用户端 GAN 攻击依然暴露出了一些局限性。首先,错误标记的训练样本不仅会破坏全局模型,还会打破被攻击用户数据采样的平衡。其次,由于经过模型平均后错误标记样本的对抗性影响会大幅削弱,这种攻击在联邦学习中的效果将变得较差。第三,由于攻击者只能通过访问中央服务器来获取聚合和平均后的模型更新,所以这种攻击在类级样本重构阶段也同样受到了限制。
2.3.4 推理攻击
联邦学习机制要求所有参与者通过在本地数据集训练全局模型用于上传梯度。在这种情况下,如果联邦学习系统中存在一个非可信且知识丰富的服务器,则无法保证用户的隐私数据信息。这种非可信服务器可以获取大量涉及每个参与者的局部训练模型的辅助知识(如模型结构、用户身份和梯度),并且有足够的能力进行用户隐私信息泄露。
2.4 基于各种攻击的应对策略
从差分隐私(Differential privacy,DP)、同态密码系统(Homomorphic cryptosystem,HC)和安全 多方聚合(Secure multi⁃party aggregation,SMA)3个角度,简要介绍几种具有可行性的策略,
2.4.1 投毒攻击防御
数据投毒防御: 防御方法应从保护数据的角度出发。一方面,在训练模型之前应当保证数据来源的真实性与可靠性。另一方面,在使用不能保证安全性的数据之前,应当进行相应的检测以保证数据完整性不受篡改
模型投毒防御: 假定服务器是可信的,那么防御的重点在于对恶意参与方的识别以及对错误更新参数的检测。
2.4.2 对抗攻击防御
对抗训练: 将真实的样本和对抗样本一起作为训练集,来训练出最后的模型,它可以使得模型在训练过程中就学习到对抗样本的特征,提髙模型的健壮性。
数据增强: 数据增强是对抗攻击的一种扩充。在训练过程中不可能穷举所有对抗样本,但通过对原始数据集中的数据进行随机化处理可以增强模型的泛化能力。
数据处理: 数据处理技术是指对样本进行降噪处理,以减小对抗样本的干扰。
数据压缩: 数据压缩是一种特殊的数据处理方法,专门针对图像训练过程,即使用压缩后的图片进行训练。
防御蒸馏: 主要思想是先利用训练集得到一个模型,然后再通过模型提取,从原来的模型“蒸馏”提纯出另外一个模型,从而降低模型的复杂度。
梯度正则化: 模型训练中常使用正则化来防止过拟合,即过度学习样本特征。若模型过拟合程度越髙,其泛化能力越弱,越容易遭受到对抗样本的攻击。梯度正则化是指在训练模型的目标函数上对输人与输出的变化进行惩罚,从而限制了输人的扰动对于预测结果的影响。
对抗样本检测: 若能区分出对抗样本与正常样本的不同之处,然后以较髙精度检测出对抗样本,就能较好地防范对抗攻击
基于GAN的防御: 生成式对抗网络(generative adversarial net,GAN)是一种机器学习模型,由两个模块组成。一个是生成模块G,利用接收到的随机噪声生成虚假样本,另一个是判别模块D,用以判断出某样本是否为G生成的虚假样本。
2.4.3 隐私泄露防御
联邦学习中的隐私保护主要从两大主体—参与方与服务器的角度进行保证。同时对于训练完成的模型也要防止模型提取攻击和模型逆向攻击。
差分隐私
秘密分享
同态加密
混合防御机制
三、总结与展望
3.1 待解决的问题
数据质量问题: 由于数据集存储在本地,服务器无法接触到数据源,难以保证数据的标签是否正确,数据是否发生了混淆等问题。而且各参与方之间数据的异构程度也无从得知,若数据规模不够大,很容易因为罕见样本过多而导致对抗攻击频繁,抗防御难度增大。可以考虑使用零知识证明和承诺协议来实现对恶意用户数据的可验证,从而保证数据质量。
通信效率问题: 当前的联邦学习大多都是同步的,一次迭代中,服务器要与众多的参与方进行数据交互。如果要采用多种防御手段保证模型与敏感信息的安全,势必会加重服务器的通信负担,甚至会造成拒绝服务攻击或单点失败。若考虑多个服务器,则服务器之间的交互安全也是一个值得深人探索的课题。因此,如何实现髙效的隐私保护,在不得不使用公钥密码来保护用户隐私的条件下,减少其使用的次数
模型可解释性问题 联邦学习方式进一步加大了模型的复杂度,缺乏可解释性可能会导致联
邦学习应用过程中的潜在威胁。可解释性是指向人类解释或以呈现可理解的术语的能力,提高联邦学习模型的可解释性和透明性有利于消除内在的安全隐患,进一步提髙模型的可靠性和安全性。由于联邦学习的内在性质,未来可能需要着重研究事后可解释性方法。
3.2 未来研究意见
可信与可追溯性: 联邦学习面临的其中一个主要挑战是在底层机器学习过程的整个生命周期中跟踪全局 机器学习模型。例如,如果一个预测值在全局机器学习模型中发生了变化,需要具备后向跟踪能力用于识别哪些客户端的聚合值导致了这一变化。如果机器学习模型行为下隐含的逻辑无法被掌握,将失去对逻辑现实的控制,从而盲目依赖于人工智能。
隐私保护与开销: 目前的研究工作表明了如何在牺牲效率或准确性的前提下强化联邦学习中的隐私保护的能力。然而,目前还没有研究成果表明应当为安全多方计算增添何种级别的加密算法和何种规模的噪声数据是相对合适的。如果加密级别或噪声规模不足,联邦学习参与者仍然面临着隐私泄露的风险。相反,如果加密级别太高或参数中添加了太多的噪声,则联邦学习模型的精度会急剧下降
构建高效隐私保护联邦学习框架: 目前已有一些联邦学习框架可以用来实现基于联邦学习的系统,比如 TensorFlow federed 和 FATE。但是 ,目前还没有能够集成库或工具箱的联邦学习框架用于执行安全多方计算或差分隐私的应用。因此,开发联邦学习隐私保护增强框架是目前亟待解决的研究方向。