【技术博客】联邦学习鲁棒性及相关论文分享

更新时间:2023-06-01 06:11:10 阅读: 评论:0

【技术博客】联邦学习鲁棒性及相关论⽂分享
【技术博客】联邦学习鲁棒性及相关论⽂分享
叶寅
1 背景知识
联邦学习系统⽐较容易受到各种错误的影响。这些错误包括⼀些⾮恶意性错误(⽐如预处理流程中的漏洞、噪⾳过强的训练标签和不可靠的⽤户),还包括⼀些旨在破坏系统训练过程和部署流程的显式攻击。这些⾮恶意性错误和显式攻击的影响,都可能会使系统的鲁棒性难以实现。这⾥我们主要讨论后者,也就是显⽰攻击:破坏联邦学习鲁棒性的攻击⽅,试图以⼀种对模型不利的⽅式修改来模型⾏为。根据攻击⽬标的不同,可以分为:1、⽆⽬标攻击,这类攻击的⽬标是降低模型的全局精度或全⾯“摧毁”全局模型。2、⽬标攻击,或后门攻击,该类型攻击的⽬标是改变模型对少数样本的⾏为,同时保持对所有其他样本的良好的整体准确性,使得攻击难以被察觉。本⽂将结合
ICML2019中的论⽂:Analyzing Federated Learning through an Adversarial Lens,对影响联邦学习鲁棒性的⽬标攻击做⼀个简单的介绍。
图1. 影响联邦学习鲁棒性的恶意训练⽅
2 论⽂的主要⼯作
论⽂主要研究了⼀个仅由单个恶意训练⽅发起对联邦学习系统的⽬标攻击。它的攻击⽬标是:在不影响其余输⼊的情况下,使模型以较⾼的置信度,对某类特定的输⼊进⾏误分类。
论⽂⾸先提出Simple Boosting思想,使得攻击⽅能克服服务器对梯度更新聚合时缩放的影响,基本实
现了攻击的⽬的;为提⾼攻击算法的隐蔽性,论⽂提出了S tealthy model poisoning思想,使得攻击⽅能躲避⼀些异常检测;更进⼀步,论⽂提出了Alternating minimization思想,使得攻击⽅能更进⼀步躲避异常检测,使得它们难以被检测到。论⽂对以上提出的三个思想进⾏了实验的验证,证明了这种后门攻击的有效性和隐蔽性。
冲钉
全国抗击新冠肺炎疫情表彰大会3 论⽂的整体思路
为了使得接下来的论⽂内容更加容易理解,⾸先对论⽂中的恶意训练⽅的攻击⽬标的数学表达形式进⾏解释:
第⼀个参数是:攻击⽅对本轮更新之后的全局模型的估计值;第⼆个参数是本轮更新之前,服务器发送给恶意训练⽅的当前全局模型;第三个参数是服务器给予这个恶意训练⽅的梯度更新的权重;第四个参数是恶意训练⽅发送给服务器的恶意梯度更新。
另外论⽂中还假设,⽤于论⽂中的实验的数据集是iid的,即独⽴同分布。
3.1 Simple Boosting
3.1.1 算法实现
那么这个恶意训练⽅该怎样实现它的⽬的的呢?论⽂⾸先提出了Simple Boosting⽅法:
在Simple Boosting⽅法中:⾸先,恶意训练⽅模仿正常的训练⽅,从服务器发送给训练⽅的当前全局模型参数开始,最⼩化在修改过标签的数据集上的损失,从⽽训练得到⼀个本地的模型;进⼀步得到本地的梯度更新;最终将这个梯度更新进⾏Boost)并回传给服务器。恶意训练⽅实现攻击⽬的的核⼼就在于这个Boost操作,进⾏这个操作的理由如下:由恶意训练⽅回传给服务器的梯度更新,试图确保全局模型为特定的输⼊x,所学习的标签与真实标签y不同,所以,恶意的训练⽅⾸先必须克服其余正常训练⽅梯度更新的影响,其次,还需要克服服务器聚合模型梯度时,对梯度更新scaling的影响。否则,如果不对这些影响做处理的话,由于其余正常的训练⽅对于特定输⼊x的学习⽬标与恶意训练⽅的⽬标的标签是完全不⼀致的,这将使得恶意训练⽅训练得到的梯度更新不产⽣效果,尤其是在数据独⽴同分布的情况下。所以,恶意训练⽅将最终的梯度更新发送回服务器之前,需要对当前得到的梯度更新进⾏Boost。最终将增强后的梯度更新发回服务器。
在服务器收到恶意训练⽅的梯度更新之后,恶意训练⽅对本轮更新之后的全局模型进⾏了如下估计:
也就是说,如果我们将boost参数进⾏如下设置:
。 可以得到如下结果:本轮更新之后的全局模型的估计值等于恶意训练⽅的本地模型。换句话说,如果攻击⽅对全局模型的估计值是正确的,那么经过simple boosting之后,此时恶意训练⽅的本地模型已经替换了全局模型,可以实现⽬标攻击:在不影响其余输⼊的情况下,使模型以较⾼的置信度,对某类特定的输⼊进⾏误分类。
3.1.2 实验结果
图2:Simple Boosting实验结果图
实验结果图分析:x轴代表时间,y轴代表置信度和准确度。红线代表全局模型对于恶意⽬标的置信度,绿⾊是全局模型在检验集上的准确度。可以看到在t=3之后,全局模型对由攻击⽅设置的错误预测已经有了很⾼的置信度。另外,全局模型在检验集上表现出的整体性能仍然⾮常好。这个试验结果表明,论⽂中的simple boosting⽅法已经能够实现对联邦学习的⽬标攻击。
3.2 Stealth metrics
但是,在simple boosting⽅法能够实现攻击的⽬的的同时,还有⼀个巨⼤的缺点:很容易被⼀些异常检测算法检测到,从⽽⽆法真正实现⽬的。论⽂中介绍了⼀些服务器⽤于检测恶意攻击⽅是否存在的检测⽅法。在这⾥简要地说⼀说其中两个检测算法:精确度检测和权重更新检测。
3.2.1 精确度检测
解释⼀下这个等式所表⽰的模型:假设有编号1、2、3三个训练⽅参加本轮聚合,当前正在检验1号训练⽅,那么这个等式所表⽰的模型就是服务器聚合2号和3号训练⽅的梯度更新之后的模型。如果1号训练⽅的性能检测的结果,明显⼩于聚合了2号和3号训练⽅的性能检测的结果,那么就可以认为第i个训练⽅是攻击⽅。
3.2.2 权值分布检测
权值分布检测则更加地直观:绘制所有训练⽅的梯度更新的直⽅图,⽐较各个训练⽅梯度更新的分布,⽐如下图:
图3:权重分布检测结果实例图
3.2.3 检测算法对Simple Boosting⽅法的作⽤
图4:服务器使⽤精确度检测和权重更新检测对simple boosting⽅法的检测结果图
终身受益的意思
在第⼀张图中,我们暂时只需要关注蓝⾊虚线和绿⾊线,蓝⾊虚线代表着精确度检测过程中,服务器检测恶意训练⽅在验证集上的准确度,绿⾊线代表全局模型在检验集上的准确度。使⽤simple boosting⽅法的攻击⽅的模型在检验集上的准确度⽐全局模型在检验集上的准确度低很多,说明使⽤精确度检测可以将使⽤了Simple Boosting⽅法的恶意训练⽅检测出来。
斑驳
在第⼆张图中,蓝⾊是正常训练⽅的权重分布,红⾊的是使⽤simple boosting⽅法的恶意训练⽅的权重分布,很容易的可以看到攻击⽅的权重更新分布更加窄,并且更加尖锐,说明使⽤权值分布检测也可以将使⽤了Simple Boosting⽅法的恶意训练⽅检测出来。
节水手抄报内容所以,不论服务器选择基于精确度检测的⽅法,还是基于权值分布检测的⽅法,都可以将使⽤simple boosting⽅法的攻击⽅检测出来。这说明:使⽤simple boosting⽅法的攻击⽅理论上能够实现攻击的⽬的。但同时还有⼀个巨⼤的缺点:很容易被服务器检测出来从⽽最终没有办法完成攻击任务。
3.3 Stealthy model poisoning
3.3.1 算法实现
正如我们之前所说的,服务器有两种⽅法来检测恶意的训练⽅:⼀种在验证集上进⾏精确度检测,另⼀种是与权重分布检测。那么为了使得攻击⽅能够躲避这两种⽅法的检测,论⽂进⼀步提出了Stealthy model poisoning的⽅法,攻击⽅根据这两种检测⽅法,建⽴了新的损失函数。
挑剔怎么读
第⼀,为了保证攻击⽅模型在验证集上也有较⾼的准确度,攻击⽅在进⾏本地模型训练的过程中,添加了基于本地正常数据的训练损失函数:
由于训练数据是iid的,所以在添加了基于本地正常数据的训练损失函数之后,恶意训练⽅的本地模型会在正常的数据集上表现出来的性能更好,从⽽在精确度检测时,服务器更难把恶意训练⽅检测出来。
第⼆,为了保证攻击⽅上传的梯度更新,和正常训练⽅上传的梯度更新尽可能接近,攻击⽅在进⾏本地模型训练的过程中,将欧⽒距离限制加⼊了⽬标函数,⽤来限制恶意的训练⽅与正常的训练⽅的梯度更新之间的距离。
总结⼀下,使⽤隐形模型中毒⽅法的恶意训练⽅的⽬标函数是这样的:
也就是在原有的实现攻击⽬标的基础上,添加了两个⽤于实现隐⾝⽬标的损失函数。
3.3.2 实验结果
图5. 服务器检测使⽤隐形模型中毒⽅法的攻击⽅的实验结果图
在第⼀张图中,我们只需要关注红⾊实线、蓝⾊实线和绿⾊实线,红⾊实线表⽰全局模型对于恶意⽬标的置信度,蓝⾊实线代表着精确度检测过程中,服务器检测恶意训练⽅在验证集上的准确度,绿⾊线代表全局模型在检验集上的准确度。通过观察红⾊实线:在t=3之后,全局模型对于 由攻击⽅设置的错误预测 已经有了很⾼的置信度。说明使⽤隐形模型中毒的⽅法也可以实现攻击的⽬标。⽐较蓝⾊实线和绿⾊实线:使⽤隐形模型中毒⽅法的攻击⽅的模型在检验集上的准确度与全局模型在检验集上的准确度⽐较接近,特别是t=8之后。所以相对于之前的simple boosting⽅法来说,使⽤隐形模型中毒的攻击⽅在精确度检测中更难被检测到。
在第⼆张图中,蓝⾊是正常训练⽅的权重分布,红⾊的是使⽤隐形模型检测⽅法的恶意训练⽅的权重分布,由于损失函数中的距离附加项,隐形模型中毒的攻击⽅的权重更新分布与正常训练⽅的权重更新分布较为接近,所以相对之前的simple boosting⽅法来说,使⽤隐形模型中毒在权重分布检测中更难被检测到。
所以,不论服务器选择基于精确度检测的⽅法,还是基于权值分布检测的⽅法,使⽤隐形模型中毒⽅法的攻击⽅都⽐使⽤simple boosting ⽅法的攻击⽅更难检测。
3.4 Alternating minimization
虽然隐⾝模型中毒攻击可以确保在不被两种检测⽅法发现的同时,有针对性地使全局模型中毒,但它并不能确保在每次迭代中都起作⽤。实际上,从刚刚的实验可以看出,在刚刚开始进⾏训练的时候,使⽤精确度检测仍然可以检测到隐形模型中毒。
3.4.1 算法实现
为了更进⼀步提⾼攻击算法的隐蔽性,论⽂提出了Alternating minimization⽅法。
解魔方的口诀
医疗商业保险
图6:Alternating minimization算法流程图
⽅法的具体实验步骤是这样的,在每⼀个迭代周期中,训练在每⼀个epoch都做如下操作:⾸先从当前的模型参数,最⼩化攻击⽬标,训练得到⼀个梯度更新。接着,利⽤simple boosting的思想对梯度进⾏增强,与当前的模型参数相加得到中间步骤的模型参数。第三步,从所得到的中间步骤的模型参数开始,最⼩化之前提到的两个隐形⽬标,最终得到⼀个新的模型,⽤于下⼀个epoch。
攻击⽅通过alternating minimization,可以使得攻击⽬标和隐⾝⽬标都具有⾜够低的损失值。因为将这两种⽬标分开进⾏独⽴的训练,可以对较难的那个⽬标进⾏更多数量的steps的优化。 论⽂中的实验发现,相⽐较于攻击⽬标,花费更多数量的steps来优化隐⾝⽬标,可以实现更好的隐⾝性能,同时保证⽬标中毒。
3.4.2 实验结果
图7:服务器检测使⽤alternating minimization⽅法的攻击⽅的实验结果图
在第⼀张图中,红⾊实线表⽰全局模型对于恶意⽬标的置信度,蓝⾊实线代表着精确度检测过程中,服务器检测恶意训练⽅在验证集上的准确度,绿⾊线代表全局模型在检验集上的准确度。通过观察红⾊实线:在t=3之后,全局模型对于 由攻击⽅设置的错误预测 已经有了很⾼的置信度。说明使⽤alternating minimization⽅法可以实现攻击的⽬标。⽐较蓝⾊实线和绿⾊实线:使⽤alternating minimization⽅法的攻击⽅的模型在检验集上的准确度与全局模型在检验集上的准确度从⼀开始就⾮常接近,所以相对于之前的simple boosting和隐⾝模型中毒来说,使⽤alternating minimization的攻击⽅在精确度检测中更难被检测到。
在第⼆张图中,蓝⾊是正常训练⽅的权重分布,红⾊的是使⽤alternating minimization⽅法的恶意训练⽅的权重分布,攻击⽅的权重更新分布与正常训练⽅的权重更新分布也很接近,所以相对之前的simple boosting⽅法来说,使⽤alternating minimization在权重分布检测中同样很难被检测到。
所以,不论服务器选择基于精确度检测的⽅法,还是基于权值分布检测的⽅法,使⽤alternating minimization的攻击⽅都有很强的隐形性能。
4 总结
以上就是论⽂所介绍的恶意训练⽅对联邦学习系统进⾏⽬标攻击的主要内容。另外,论⽂中还尝试使⽤多种⽤于防御恶意训练⽅的算法:⽐如Krum算法,以及基于坐标中位数的聚合算法,⽤来防御本论
⽂中的攻击算法,但是实验结果证明这两个防御算法都⽆法抵抗本篇论⽂中的攻击算法。另外,本论⽂中的攻击算法对于攻击之后的全局模型的估计值是⼗分简单的,并没有考虑其余正常训练⽅的梯度更新的影响,所以还可以进⼀步提⾼攻击算法的性能。最后,论⽂通过实验证明:即使是⾼度受约束的单个攻击⽅也可以进⾏模型中毒攻击,同时保持隐⾝性。因此需要提⾼研究联邦学习鲁棒性以及制定有效防御策略的必要性

本文发布于:2023-06-01 06:11:10,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/fanwen/fan/89/960029.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:攻击   训练   模型   检测   恶意   全局
相关文章
留言与评论(共有 0 条评论)
   
验证码:
推荐文章
排行榜
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图