连年来, 机器学习(machine learning)时期茂密发展, 在社会职责生涯各个范畴中得到平素应用, 如东谈主脸识别、奢睿医疗和自动驾驶等, 并得到精深的成效. 机器学习的目的是从大齐数据中学习到一个模子, 实践后的模子不错对新的未知数据预测结尾校园春色, 因此模子的性能与实践数据的数目和质料密切探究. 传统的机器学习应用基本齐采取鸠集学习[1]的模式, 即由作事提供商鸠集采集用户数据, 在作事器或数据中心实践好模子后, 将模子绽放给用户使用. 但是, 当今存在两大成分制约了鸠集学习的进一步扩充.
(1) 数据孤岛
跟着信息化、智能化进度的发展, 各个企业或统一企业的各个部门齐存储了大齐的应用数据, 但是数据的界说和组织模式齐不尽一样, 酿成一座座相互沉寂且无法关联的“孤岛”, 影响数据的清楚和应用. 数据集成整合的难度和资本严重划定了鸠集学习的扩充应用.
(2) 个东谈主秘籍保护的深爱
连年来, 个东谈主数据泄露的事件日出不穷, 如2018年Facebook数据泄露事件等. 这些事件引起了国度和公众对于个东谈主秘籍保护的温煦. 各个国度齐脱手出台数据秘籍保护探究的法律法例, 如欧盟2018年5月25日出台的《通用数据保护条例》(general data protection regulation, GDPR)[2], 以及中国2017年实施的《中华东谈主民共和国蚁集安全法》等. 这些法律法例要求公司企业必须在用户甘心的前提下才不错采集个东谈主数据, 且需要留心用户数据泄露. 此外, 个东谈主秘籍保护意志的兴起也导致用户不肯平安分享我方的秘籍数据. 严格的法律法例和个东谈主秘籍保护意志导致实践数据的采集愈发周折, 为鸠集学习提倡了精深的挑战.
为叮属上述两个问题, 联邦学习(federated learning)应时而生. 联邦学习, 笔名定约学习或连络学习, 是一种由多个客户端和一个团员作事器参与的漫衍式机器学习架构. 客户端既不错是个东谈主的结尾援助(如手机等), 也不错代表不同的部门或企业, 它郑重保存用户的个东谈主数据或组织的独特数据. 客户端在腹地实践模子, 并将实践后的模子参数发送给团员作事器. 团员作事器郑重团员部分或所有客户端的模子参数, 将团员后的模子同步到客户端脱手新一轮的实践. 这种连络相连实践的模式不错在保证模子性能的前提下, 幸免个东谈主数据的泄露, 并有用处罚数据孤岛的问题.
联邦学习自2016年谷歌[3]提倡后便引起学术界和工业界的激烈温煦, 并裸表现好多骨子应用, 如谷歌率先将其应用在安卓手机上的Gboard APP (the Google keyboard, 谷歌键盘输入系统), 用于预测用户后续要输入的内容(如图1所示)[4]. 用户手机从作事器下载预测模子, 基于腹地用户数据进行实践微调, 并上传微调后的模子参数, 束缚优化作事器的全局模子. 此外, 联邦学习也被平素应用于工业[5, 6]、医疗[7–11]和物联网[12]等范畴.
图 1 基于联邦学习的讲话预测应用Gboard跟着联邦学习的发展应用, 其安全性与秘籍性逐步引起学术界的温煦. 与鸠集学习比较, 联邦学习的模子参数分享和多方通讯相连机制引入了新的过错面. 连年来, 好多学者对子邦学习的安全要挟进行长远商酌, 提倡一系列过错技巧和防护有筹划. 除安全性外, 学者也发现联邦学习存在诸如成员揣度过错等隐性泄露的风险. 这些将严重影响联邦学习的骨子部署应用, 因此本文对当今联邦学习模子的安全与秘籍商酌职责进行系统的整理和科学的归纳回首, 分析联邦学习靠近的安全秘籍风险及挑战, 为后续学者进行探究商酌时提供调换.
本文第1节主要先容联邦学习的布景常识, 明确其界说和职责历程, 并分析其存在的脆流毒. 第2节对子邦学习存在的安全要挟进行系统的整理和分析, 归纳现存的防护方法, 并对鸠集学习和联邦学习在安全问题上的共性与各别进行分析. 第3节回首联邦学习的秘籍风险以及秘籍保护方面的商酌发扬, 筹备鸠集学习和联邦学习在秘籍风险的各别. 第4节瞻望往日的商酌所在, 提倡联邦学习安全和秘籍范畴亟待处罚的紧要问题. 第5节回首全文.
1 布景常识 1.1 定 义联邦学习是一种漫衍式的机器学习框架, 最早是由谷歌的McMahan等东谈主提倡并落地应用[3]. 他们在不泄露用户个东谈主数据的前提下, 愚弄漫衍在不同手机的数据集实践长入的机器学习模子. 微众银行Yang等东谈主对谷歌提倡的联邦学习想法进行膨大, 将其扩充成所有秘籍保护的相连机器学习时期的一般想法, 以涵盖组织间不同的相连学习场景[13]. 本文摄取微众银行团队膨大后的联邦学习界说, 具体如下[13].
假设n位参与方{P1, P2, …, Pn}相连, 通过使用各自的数据集{D1, D2, …, Dn}实践机器学习模子. 每个数据集包含多个数据样本和数据特征(feature), 部分数据集可能还包含标签信息(label). 设数据集的数据特征空间为F, 标签空间为L, 样本ID空间为I, 三者组成齐备的实践数据集, 即:
$ {D_i} = ({I_i}, {L_i}, {F_i}), \forall i \in [1, n] $ (1)鸠集学习是将所有参与方的数据集结存储酿成数据集 $ D = {D_1} \cup {D_2} \cup \ldots \cup {D_n} $ , 基于D实践模子Msum. 而联邦学习是一个由参与方连络实践模子Mfed的框架, 不错保证在实践过程中, Pi不会向其他参与方公开其领有的数据集Di. 设Vsum和Vfed诀别默示模子Msum和Mfed的性能度量值(如准确率、F1分数等), δ为一个非负实数, 当舒服下列条目时, 称联邦学习模子具有δ的性能耗损:
$ |{V_{{\rm{fed}}}} - {V_{{\rm{sum}}}}| < \delta $ (2)联邦学习以小数性能耗损换取特殊的秘籍保护和数据安全. 为保证联邦学习模子的有用性, δ的值在骨子应用中应尽可能接近0.
阐述不同参与方的数据集在特征空间F、标签空间L和样本ID空间I的漫衍情况, 不错将联邦学习分为以下3类[13].
(1) 横向联邦学习
横向联邦学习是针对多个参与方的数据集领有一样的数据特征, 但样本不同的场景, 其界说如下:
$ {F}_{i}={F}_{j}, {L}_{i}={L}_{j}, {I}_{i}\ne {I}_{j}, \forall i, j\in [1, n]且i\ne j $ (3)谷歌的Gboard是典型的横向联邦学习应用[4]. 横向联邦学习还不错用于不同病院间的疾病会诊模子, 以及物联网援助间的谐和合作. 横向联邦学习不错有用扩大实践样本的数目, 是当今最常见的联邦学习类型.
(2) 纵向联邦学习
在线播放纵向联邦学习适用于多个参与方的数据集具有一样的样本ID空间, 但特征空间不同的场景, 其界说如下:
$ {F}_{i}\ne {F}_{j}, {L}_{i}\ne {L}_{j}, {I}_{i}={I}_{j}, \forall i, j\in [1, n]且i\ne j $ (4)举例某个地区的银行和电子商务公司领有的数据集齐包含腹地区的住户, 样本ID空间有大齐交叉, 但数据特征却竣工不同. 其中银行的数据是描摹用户的出入行为和资金状态, 而电子商务公司保存的是用户对多样商品的浏览与购买纪录. 两个公司不错愚弄纵向联邦学习连络实践一个用户购买商品的预测模子.
(3) 联邦迁徙学习
联邦迁徙学习是针对两个参与方的数据集特征不同且样本也不同的应用场景, 其界说如下:
$ {F}_{i}\ne {F}_{j}, {L}_{i}\ne {L}_{j}, {I}_{i}\ne {I}_{j}, \forall i, j\in [1, n]且i\ne j $ (5)举例不同地区的银行和电子商务公司的数据集样本空间中唯有小数重复. 他们不错愚弄联邦迁徙学习进行合作, 基于有限的大家样本集学习两个特征空间的大家默示.
当今针对子邦学习模子的安全与秘籍商酌主要鸠集在横向联邦学习, 因此下文如无特殊讲明, 联邦学习均指代横向联邦学习.
1.2 系统架构图2为联邦学习系统的典型架构, 架构中包含两类扮装: 多个参与方(也称客户或用户)和一个团员作事器. 每个参与方领有齐备数据特征的数据集, 且数据样本之间莫得错杂或错杂很小. 它们不错连络起来实践一个长入且性能更好的全局模子, 具体的实践过程如下.
图 2 联邦学习系统的架构(1) 模子脱手化: 团员作事器选用目的模子的结构和超参数, 并脱手化模子的权重(基于自己领有的数据Dserver进行实践或立地脱手化), 生成脱手的全局模子.
(2) 模子播送: 通过团员作事器播送或参与方主动下载的模式, 团员作事器将刻下全局模子的权重分享给所有参与方.
(3) 参与方实践: 参与方基于分享的全局模子, 愚弄腹地保存的独特数据实践微调腹地模子, 并诡计腹地模子的权重更新.
(4) 模子团员: 团员作事器从参与方采集模子的权重更新, 阐述业务需求摄取不同的算法进行团员. 常见的团员算法包括FedAvg[3]、Krum[14]、Trimmed-mean[15]和Median[15]等. 在这过程中为了提高效能, 团员作事器不错聘任只采集部分参与方的模子更新进行团员.
(5) 更新全局模子: 团员作事器基于诡计的团员结尾更新全局模子的参数.
图2中法子(2)–(5)将会捏续迭代进行, 直至全局模子管制概况达到最大迭代次数或逾越最长实践时候.
1.3 脆流毒分析在回首联邦学习模子的安全与秘籍商酌之前, 本文起始对子邦学习系统的脆流毒进行分析. 如图2的架构所示, 联邦学习需要参与方和团员作事器之间通讯相连, 因此存在以下脆流毒.
(1) 通讯合同
在实践模子的迭代过程中, 参与方需要和团员作事器进行数据通讯. 参与方需要将腹地的模子更新发送给团员作事器, 而团员作事器也需要下发新的全局模子. 更新中包含模子的梯度信息, 可用于揣度参与方的实践数据, 泄露参与方的秘籍[16]. 因此, 通讯合同的可靠性和守密性决定了联邦学习系统的安全性.
(2) 团员作事器
团员作事器郑重脱手化模子参数、团员参与方的模子更新和下发全局模子. 若作事器被攻陷, 过错者不错舒服发布坏心模子, 影响参与方的腹地应用. 另外, 作事器不错稽查各个参与方发送的模子更新, 赤诚但酷好(honest but curious)的作事器不错基于模子更新重构参与方的腹地数据[17].
(3) 参与方
参与方不错通过上传坏心的模子更新碎裂团员后的全局模子. 当今常见的联邦学习应用的参与方齐是个东谈主用户(如Gboard应用[4]). 与团员作事器比较, 个东谈主用户的安全防护步骤薄弱, 过错资本低, 过错者不错通过入侵普通用户概况注册新用户等技巧, 平安加入到联邦学习的实践过程中, 通过伪造腹地数据、修改模子更新等方法过错全局模子, 还不错串连多个坏心方同期发动过错, 增强过错成果. 因此, 参与方是联邦学习系统中最大的脆流毒[18].
2 安全要挟与防护在鸠集学习的发展过程中, 好多学者对其安全性进行长远商酌, 发现其中存在的安全要挟, 照实践阶段的投毒过错(poisoning attack)[19]和推理阶段的回击样本过错(adversarial examples attack)等[20]. 联邦学习的推理阶段与鸠集学习一致, 因此也会靠近回击样本过错. 而在实践阶段, 联邦学习摄取漫衍式诡计的方法, 为通盘系统的安全性商酌引入了新的问题与挑战. 本文主要回首面向联邦学习的安全要挟与防护方法, 与鸠集学习探究的安全商酌不在本文的筹备规模内.
本文以联邦学习靠近的安全过错的发生逻辑暖和序对当今主要商酌的过错技巧进行分类(如图3所示), 具体可分为数据投毒过错[21–23]、模子投毒过错[24–29]、后门过错[25, 30–34]和坏心作事器. 逼迫, 图3的推理阶段在骨子应用中还存在回击样本等过错技巧, 这部分不在本文的筹备规模内.
图 3 联邦学习靠近的安全过错 2.1 要挟模子分析过错者对子邦学习系统发动不同过错时有不同的过错目的, 同期也需要不同的布景常识和才智, 因此本文从过错者目的、过错者才智以及过错者常识3个维度对安全过错的要挟模子(threat model)进行分析[29].
(1) 过错者目的
过错者的目的是裁减联邦学习全局模子的性能(如准确率、F1分数等), 阐述其具体目的可细分为两类: 非定向(untargeted)过错和定向(targeted)过错. 其中非定向过错是影响模子对大肆输入数据的推理, 而定向过错只裁减模子对特定标签的输入数据的推理准确率, 而不影响或轻度影响其他标签数据的性能. 以自动驾驶应用的交通秀气识别模子为例, 非定向过错是使模子无法识别所有交通秀气, 而定向过错不错使模子将泊车秀气识别为限速秀气, 而不影响其他秀气的识别.
(2) 过错者才智
过错者才智是指过错者对子邦学习系统的扮装和数据所领有的操作权限. 在现存的安全商酌职责中, 过错者才智从高到低递次包括: 划定作事器、划定多个参与方、划定单个参与方和划定参与方实践数据. 其中划定作事器和划定参与方是指过错者不错舒服拜访修改作事器或参与方的模子和数据, 侵犯其扩充的操作, 而划定实践数据是指过错者不错读取、插入或修改参与方的实践数据集. 过错要求的才智越低, 在骨子应用中越容易实施.
(3) 过错者常识
过错者常识是指过错者对目的联邦学习系统的布景常识, 具体包括: 作事器摄取的团员算法、每轮迭代中所有参与方上传的模子更新、参与方实践数据集的数据漫衍等. 过错所需常识越少, 在骨子应用中越容易实施.
2.2 安全过错技巧 2.2.1 数据投毒数据投毒过错(data poisoning attack)最早由Biggio等东谈主提倡[35], 过错者通过混浊实践数据集(如添加伪造数据或修改已特等据等), 使模子在实践过程中学习子虚的对应关连, 从而裁减模子的准确性. 在联邦学习系统中, 过错者不错通过划定参与方概况修改参与方实践数据集等模式, 实施数据投毒过错. 可是, 团员算法会收缩数据投毒对全局模子的影响.
标签翻转(label flipping)是一种典型的数据投毒过错, 通过径直修改目的类别的实践数据的标签信息, 使模子将目的标签的特征对应到子虚标签, 从而影响模子的推理成果. Tolpegin等东谈主[21]对子邦学习的标签翻转过错进行详备的实验分析. 他们从3个维度(坏心方的比例、发动过错的迭代轮数、每轮迭代中坏心方参与团员的概率)对子邦学习的标签翻转过错成果进行考据, 解说数据投毒过错会裁减联邦学习的安全性, 且坏心方比例的加多会增大对全局模子的负面影响, 并发现不错通过提高坏心方在后期的迭代轮数中参与团员的概率进一步增强过错成果. 对于坏心方的实践鸠集莫得目的标签数据的场景, Zhang等东谈主[22]提倡基于生成回击蚁集(generative adversarial nets, GAN)[36]的数据投毒过错. 坏心方通过在腹地部署GAN, 将每轮团员后的全局模子当作GAN的判别蚁集D, 愚弄GAN的生成蚁集G生成师法目的标签数据的样本, 之后基于生成的数据样本实施标签翻转过错. 为进一步耕作过错成果, Zhang等东谈主[23]在原先职责的基础上提倡PoisonGAN过错, 通过修改坏心方腹地实践的超参数, 在坏心方的模子更新上添加比例所有, 从而提高坏心更新对全局模子的影响力, 扩大生成数据的蹂躏成果.
在联邦学习中, 因为划定参与方的过错资本较低, 过错者不错发动过错成果更好且更纯确凿模子投毒过错, 是以现存对于数据投毒的商酌较少. 但数据投毒过错在骨子应用中对过错者才智和常识要求最少, 只需要过错者不错划定参与方的实践数据, 因此具有平素的实施场景.
2.2.2 模子投毒模子投毒过错(model poisoning attack)是通过径直修改模子的权重参数对模子进行过错, 当模子摄取立地梯度下落(stochastic gradient descent)算法时, 则是修改模子梯度. 在联邦学习的职责历程中, 参与方需要向作事器发送腹地的模子更新. 因为参与方的数据和实践过程齐是在腹地完成, 对作事器不行见, 是以作事器无法对参与方上传的模子更新的真正性进行考据. 这些为过错者实施模子投毒过错创造了条目. 坏心方不错构造大肆模子更新发送给作事器, 碎裂团员后的全局模子.
联邦学习最常用的团员算法FedAvg是在前一轮全局模子上添加腹地模子更新的平均值[3], 后续也出现了其他变种算法, 如Li等东谈主[37]提倡的FedProx算法等. 这些基于线性组合的算法使坏心方不错舒服主宰全局模子[14]. 因此学者提倡了一系列拜占庭容错的团员算法, 不错容忍联邦学习蚁集中出现部分拜占庭节点(即坏心方), 如Krum[14]、Trimmed-mean[15]等. 针对这些拜占庭容错算法, 其他学者则脱手商酌何如愚弄团员算法存在的残障, 想象不错绕过团员算法的模子投毒过错.
针对Krum[14]等基于lp范数(即诡计比较坏心梯度与正常梯度在lp空间的距离)的团员算法校园春色, 愚弄在高维梯度中lp距离度量