《2024联邦学习与安全多方计算.docx》由会员分享,可在线阅读,更多相关《2024联邦学习与安全多方计算.docx(25页珍藏版)》请在优知文库上搜索。
1、联邦学习与安全多方计算导读:联邦学习和安全多方计算是当前跨机构数据协同的两类主流技术,本文将从基本思想、安全性、性能等多个方面介绍二者的区别,并介绍阿里在安全多方计算方面的最新成果。Ol联邦学习的发展历史1.联邦学习阿里安全Datafuncon2020大数富A的新技术实H联神习(Federatedlearning,F1.)由GOOgIe于2016年提出初衷是用于解决多个移动设备的分布式建模问题例:GoogleGboard安卓输入法预测为了智能预测下f词,需要针对大量用户的输入历史数据进行训睡设计目标:避免直接收集用户的输入历史,尽量在端上训除联邦学习在2016年由谷歌提出,因为Google有安
2、卓系统,需要解决多个安卓设备的分布式建模问题。其中,主要是针对输入法的建模,比如客户在安卓输入法中输入单词what,或许他可能想继续输入d。youthink,Google输入法如果能自动联想出来,用户体验就会变得比较好,但是自动联想功能需要大量的用户数据才能学习出来,怎么获得这些用户数据呢?一个比较粗暴的做法是用户输入了什么字就把这个字全部收集到云端上,但这种做法无疑是对用户隐私的一种破坏。由于谷歌崇尚不作恶,怎样在不收集用户输入文字的前提下,从而预测出用户接下来需要输入的文字?因此,产生了联邦学习。2 .联邦学习用于多移动端分布式建模阿里宣全AUMAASJMTY重重法代N轮联邦学习用于多移动
3、终端分布式建模设计优点:设备只上传传输梯度VW,并不直接上传本地输入历史联邦学习的设计优点就是用户数据尽量不离开用户自己的安卓设备,用户尽量在本地完成一部分的训练,然后把训练的梯度传到谷歌的云端,这样谷歌只看见一个梯度,它并没有获得这个用户的设备以前的聊天内容,这样在设计上有一种PriVaCybydesign的设计优点。有很多这样的安卓设备,比如:ParameterSerVeriS备是谷歌的云端服务器,它开始会有一个全局的初始化模型,云端服务器会把模型推到各个设备上,然后各个设备基于本地的数据来优化模型,得到一个更新的梯度,把这个更新的梯度发给服务器,服务器收到这么多梯度之后,会更新全局模型,
4、然后发到这些设备上,这些设备又迭代,直到这个模型在某种程度上收敛为止,这就是联邦学习最开始的一个雏形。3 .国内联邦学习与谷歌联邦学习的区别区别一:后阿里安全Aubaaauobvty2018年国内开始引入FederatedIeaming概念,主要区别1:大概在2018年左右,国内开始引入联邦学习概念,与谷歌的联邦学习相比有了一些发展和改变。两者主要的区别是谷歌的联邦学习主要是面向海量移动设备的数据之间的合作,但是国内主要是机构之间的合作,被称为crosssiloF1.,一般都是两个或者三个机构之间的合作。但是,目前的应用主要以信贷或者广告为主,例如:两个或多个机构一起判断用户的信用,从而决定要
5、不要借钱给他,或者要不要给他推一些广告。这种情况下参与方的数目实际上跟Google的联邦学习相比是有很大的降低的。区别二:阿里宣全AUBABASKUVrYDatafuncon2020大0Al的卡蜜木实底2018年国内开始引入FederatedIearning概念,主要区别2:国内F1.:主要面向数据的纵向分割Google有很多的设备,每个设备上都有自洽的一些样本,也就是说数据在多个参与方之间,它是横向分割的,比如说这个绿色的在一个设备上,这个白色的在另一个设备上就是横向的分割,每个都有一个完整的样本。但是国内经常使用的联邦学习,主要是面向数据的纵向分割的。以信贷为例,其通常都是针对一个人的不同
6、特征并把它们组合起来做联邦学习。比如说特征1与特征2在一个机构,特征3与特征4以及label是在另外T机构,也就是说它主要是面向数据的纵向分割。当然横向分割这种应用国内同样存在,但是用的比较多的或者说比较赚钱的,还是在这种纵向的分割法上。02联邦学习面临的安全挑战谷歌原版的联邦学习有什么样的安全挑战?而在国内,会面临什么样的新的安全挑战?1.谷歌原版的联邦学习的安全挑战Datafuncon2020XfiS的际投不实及梯度与原始数据的关系梯度VW的定义:本质上是一个函数已知梯度,如何求原始数据?攻击方法1:对于简单的F(如1.ogiStiCregreSSion),可以直接解方程组(1.HCHI9
7、)攻击方法2:对于京杂的F(如CNN),可以用M1.方法求近似解(MSCS19fZ1.H19)首先是原版横向跨设备的联邦学习。因为它设计上只传梯度,梯度本质是一个函数,它是根据初始的模型以及本地的数据算出来的一个函数,那么这个函数可能是跟原数据是相关的,不能说有梯度就算不出原数据了,那多大程度上相关呢?其实算出来是有一定的难度,但是有一些学者也能算出来,比如说假设我们训练的模型是一个简单模型,比如逻辑回归,我们有了一堆梯度跟原始数据的这种关系,可以通过解方程组把这个未知数解出来的,这是我们在NIPS联邦学习WOrkShoP上的一个工作。如果这个模型比较复杂,解方程组算就变得不现实了。这时有一些
8、其他的方法,比如我们用machinelearning的优化方法来反向的优化求得一个近似的解,可能求不到精确的结果,但可以取到一个大致差不多的结果,这里有一个去年的NIPS的文章,它可以反向的从梯度求出人脸,然后这个人脸可能只有若干个像素的区别。所以我们看到如果不保护这个梯度的话,本质上还是能推出原始数据的。谷歌的解决方法:加差分隐私Datafuncon冬三三三2020Xfi内的新段木实线如何防止从梯度反推原始数据Google应对的方法,主要通过加差分隐私,也就是说client上传到云端的梯度,它不直接上传,而是加一个noise,但是准确率会下降。准确率的下降,对于Google输入法someho
9、w是可以接受的,因为输入法的Top3顺序换了一下,或者推荐的东西错了一点,对于用户体验可能差别不大,但是对于我们这种用在广告或者信贷场景下,准确率差1%就可能差很多很多钱,所以对我们来说加差分隐私不是一种能够接受的方案。secureaggregationDatafuncon冬三三三2020XBSAl的新凌本实脱如何防止从梯度反推原始数据方法2:SecureAggregationSerVer只能看到聚合之后的梯度,无法了解具体某个ClientM梯度。但是Secureaggregation只适用于Qient数目较多的场景Datafuncon2020Att的厮授本实后阿里安全AMBABA5KUWTY
10、Secureaggregation的局限性如果参与方过少(例如2个),SecureaggregatiOrl并不能保护梯度CIientI拿到新一轮的W,减去自己的梯度就可以推出Qient2的梯度了Google还有一种方案叫做secureaggregation,也就是说要通过secure的方法把这些多梯度聚合在一起,最后效果就是Server只看到了n个梯度聚合在一起的结果。但是,不知道某个具体的client梯度是多少的,从而导致了Server要攻击某个client的概率非常的低,但是我们观察到secureaggregation只适用于client数目比较多的情况。我们可以假设只有两个Client,
11、那么这个aggregate的结果就是两个梯度的和,通过第一个client可以推出第二个人的梯度,所以参与方至少要三个人以上,而且这些参与方之间还不能够合谋,所以说这是secureaggregation的局限性。2.联邦学习应用面临的新安全挑战讲解完横向联邦学习的问题之后,接下来了解下国内引入新的联邦学习应用后,会面临什么样的新的安全挑战。参与方过少带来的问题Datafuncon冬Si藤2020XBA的陆投术实展参与方过少(例如两方合作)带来的问题-续半同态加密保护参数:只能实现保护例:AIiCe拥有解空能力O但Bob的参数无法对AliC唯密我们经常遇到crosssiloF1.参与方很多情况下都
12、是两个,由于参与方过少会引来新的安全问题。我们传的梯度是可以用半同态对它进行加密的,例如:Alice把它的梯度用半同态加密,然后传给Bob,这样是没问题的。Alice的参数确实是对Bob保密的,但是Bob在这个加密的数据上运算完之后他是需要传回给Alice,Alice最终需要解密,或者说每一个round都需要解密,每一个round中Bob的参数实际上是被AliCe知道的。因为参与方只有两个,Alice得到两个人的计算结果,她肯定是可以从这中间推断出Bob的信息的。也就是说,在这种同态加密保护梯度中,只有一方是受益的,另一方他其实没有受益,跟普通的联邦学习是一样的。就是说半同态加密参数只能实现单
13、向的防护。纵向F1.带来的问题怎样对齐样本?阿里登全AUBABAiKUVTYDatafuncon2020大It雷A的炳授水实施 纵向F1.带来的问题口 为了实现纵向F1.,需要首雌id对齐数据 对齐过程是否符合隐私政策?即使用PSI(隐私求交)技术,也只能保护不在交集内的用户身份,但是在交集内的用户身份必然泡露例:商家A知道了用户1也在商家B那注册了”用户1未必同意这个信息被A知晓纵向的联邦学习又带来了一个新的问题怎么对齐样本?例如:不安全的方法跟安全的方法,无论怎么对齐,其都是要按照主键对齐的。在对齐之后,不可避免的泄露了一个信息,对齐的用户都是谁?可能没对齐的用户呢?我们是可以用PSl这种
14、方法来保护它的。一旦建模,就不可避免的要把这些数据提取出来,也就是说只要在交集里面的那些用户,就会不可避免的泄露了,我们可以再往里面加入假数据等等,但毕竟它在里面就是在里面了。比如说A公司跟B公司合作,他们之间想进行一个聚合,可能A公司的用户并不想把我是A的注册用户这个信息告诉B,也就是说对齐这个东西它的somehow是在一个灰色地带,所以严格来说如果要对齐的话,应该用户显式的点击同意,我同意A把我的信息授权给B,所以纵向的样本对齐问题是一个老大难的问题,虽然现在可能大家都在做,但如果监管严格了,这个问题,我们需要一起来想怎么处理。无标签方商家A持有商家B持有Datafuncon2020大。蹙
15、A的H新投点实峻纵向F1.带来的问题-2纵向F。、然存在无标签方,而无标签方难以进行特征工程已经脱离联邦学习的范畴需要定制化的安全解决方案没有标签,怎么做特征工程?如何签方进彳鼓SgW频隐私?纵向的联邦学习肯定有一个人是无标签方,无标签方他可能需要做特征工程,他不能直接把这个特征直接传给别人或者直接进行联邦学习,那么有些特征工程是需要用到这个标签的,所以它怎么用呢?这也是一个难题。实际上这个特征工程本身就是一个特定的算法,跟Google的横向联邦学习已经没有关系了,我们需要定制一种方案,比如说我们就是要算那个WOEo那我们就要定制一个方案来安全地算这个WOE,这也是第二个难题,也就是说纵向的联邦学习带来了很多新的我们以前传统的联邦学习没有遇到过的问题。Datafuncon2020大KllAl的斯及木齐H举例:HMWOE(WeightofEvidence) WoE定义:某个特征箱体内的ln(反例占比/正例总占比) 若拥有年龄一方不拥有标签(样本J正还是负),则难以正常计算WOE上图是WO