Auto Byte

专注未来出行及智能汽车科技

微信扫一扫获取更多资讯

Science AI

关注人工智能与其他前沿技术、基础学科的交叉研究与融合发展

微信扫一扫获取更多资讯

柴迪作者

当联邦学习保护数据隐私,如何保证其自身的安全性?

联邦学习是一种多方联合计算技术,最早由谷歌于 2016 年提出,其核心思想是在保证多方数据不出域的前提下完成模型的训练与推理、多方之间仅交换必需的中间结果。在本文中,星云 Clustar 首席联邦学习架构师 & 港科大博士柴迪将对不同类型的联邦学习技术进行安全性评估,深入探讨联邦学习是否会造成隐私数据泄漏。
联邦学习(Federated Learning)是一种由多方参与的联合计算技术,多方在不泄漏各自隐私数据的前提下,完成模型的训练与推理。

在实际应用中,联邦学习既可以发生在同一企业的不同部门,也可以在不同企业之间。一般在联邦学习框架中,各个参与者的明文数据不出本地,以降低隐私泄漏的风险,多方之间仅交换必需的中间结果以完成训练。

在目前的学术研究与应用中,根据应用场景的不同,联邦学习可以分为横向联邦学习和纵向联邦学习 [1]。在本文中,我们将重点对以上两种联邦学习进行安全性分析,深入探索多方在横向联邦学习和纵向联邦学习中交换的中间结果是否会带来隐私数据泄漏。

Vanilla 横向联邦学习的安全性

Vanilla 横向联邦是联邦学习的一种最初形态,由 Google 在 2016 年提出 [2],该方案最早地展示了如何在不接触用户本地数据的前提下完成模型训练,从而在一定程度上减少了用户的隐私数据泄漏。

图 1:Google 的 Vanilla 横向联邦学习

上图 1 展示了 Vanilla 横向联邦学习的过程,该方案由以下三个步骤组成:

  • Map:中心服务器将当前模型分发给参与者,收到模型的参与者在本地数据上进行参数的有偏估计;

  • Aggregate:中心服务器收集参与者的参数估,进行聚合,得到新的模型参数

  • Reduce:中心服务器使用聚合后的新参数作为当前模型。


该方案将重复步骤(1)-(3)直到模型收敛,Google 已将该方案实践于 Google- keyboard 应用。

安全性分析

在 vanilla 横向联邦中,中心服务器获取到了参与者每轮训练的梯度明文,基于这些明文梯度信息,中心服务器可以使用梯度攻击的方法,反推参与者的训练数据。目前常用的梯度攻击方法有两种:(1)全连接网络层攻击 [3](2)非全连接、深度模型的攻击 [4]。

1.全连接网络层攻击

神经网络模型第一层为全连接层时,中心服务器可以使用方法(1)进行攻击,假设第一层网络为:

a=wx+b

则在反向传播中,w 的梯度为:

其中 ∂l/∂a 为反向传递到第一层的梯度,对每一个神经元,输出维度为 1,即 ∂l/∂a 为标量,∂l/∂w 是原数据 x 的 ∂l/∂a 倍。以图像数据为例,其数据区间为 0~255,中心服务器只需要将某一个神经元的梯度进行 rescale,调整到 0~255 之间,即可直接获得参与者的训练数据。
 

图 2:全连接网络层攻击结果(2 层网络,每层 512 个 unit)[5]。

上图 2 展示了在该方法在 MLP 模型上的攻击结果,可以看到攻击结果中的数字清晰可辩别。

2.非全连接、深度模型的攻击

当模型为非全连接、深度模型时,例如卷积神经网络、循环网络,中心服务器可以使用方法(2)进行攻击,该方法的基本思路是使用梯度信息作为输入、训练一组假数据。当假数据产生的梯度和真实梯度相近时,假数据就会十分接近真实数据。下图 3 展示了该攻击方案的基本原理。
 

图 3:针对卷积神经网络的梯度攻击方法。

下图 4、图 5 展示了图像任务和 NLP 任务的攻击结果,可以看到中心服务器可以使用该梯度攻击方法较好地还原图像和文本训练数据。

图 4:卷积神经网络的攻击结果(图像任务)。

图 5:语言模型的攻击结果(NLP 任务)。    

安全性分析(结论):vanilla 横向联邦学习虽然避免了中心服务器直接接触用户数据,但仍无法保证用户的隐私数据安全,中心服务器在接收到用户的明文梯度后,可以使用梯度攻击模型恢复出用户的隐私数据。

多种保护机制下横向联邦学习的安全性

在 vanilla 横向联邦学习不安全成为共识的背景下,大量联邦学习数据保护方法被提出,下面我们将对最常用的两种进行讨论:(1)基于 Secure Aggregation 的横向联邦学习(2)基于同态加密的横向联邦学习

基于 Secure Aggregation 的横向联邦学习

vanilla 横向联邦学习的隐私数据泄漏发生在中心服务器参数聚合的步骤中,中心服务器获得了每个参与者单独的梯度,进而可以使用梯度攻击窃取隐私数据。假设系统保障中心服务器无法获得单个参与者的梯度信息,即可很大程度保护参与者的数据,使得中心服务器无法对某一个参与者直接发起攻击。

Secure Aggregation 就是借助了这种思想,每个参与者在上传模型数据前,在自身的模型上加入大量噪声,然后控制噪声的分布,使得多个参与者的模型在聚合后,数据上的噪声会相互抵消,进而不会影响联邦学习的模型收敛

这里我们介绍一种使用 one-time pad 进行安全聚合的方法 [6],给定 K 个参与者,假设每两个参与者之间都有一条安全通信的通道,参与者两两之间首先协商一组扰动噪声,参与者 u 会对所有其他参与者生成随机向量 r∈(0,R],其中 R 是一个大整数。随后,参与者 u 和 v 之间会通过他们之间的安全通道交换随机向量 r_(u,v) 和 r_(v,u),然后计算扰动噪声 p_(u,v)=r_(u,v)-r_(v,u)  (mod R)。在完成扰动噪声生成后,每个参与者将噪声应用到模型数据上并发送给中心服务器:,中心服务器进行以下参数聚合:

以上聚合公式也提供了准确性验证,即在聚合过程中,不同参与者模型上的扰动噪声会相互抵消、保证最终聚合模型不受影响。

安全性分析(结论):在使用了 Secure Aggregation 方法后,中心服务器无法获得单个参与者的梯度信息,大大提升了系统的安全性,中心服务器也无法单独使用梯度攻击对参与者的隐私数据进行攻击。

基于同态加密的横向联邦学习

除了 Secure Aggregation 方法外,我们亦可使用同态加密技术对参与者的梯度信息进行保护。同态加密是密码学研究中的「明珠」,其特殊性质在于,可以直接在密文上进行计算而无需解密。根据同态加密算法在密文上支持算子的不同,可以将其分为:加法同态、乘法同态和全同态算法。

在横向联邦学习中一般使用支持加法的同态加密算法,即参与者在上传模型数据前,首先对其进行加密,然后中心服务器收到密文后,在密文上进行加法聚合,再将密文结果返回给参与者,假设使用的同态加密为部分同态,则参与者需要先解密、再完成模型更新;如果使用的同态加密为全同态加密,则参与者无需进行解密,可以在密文的模型上进行更新。

下图 6 展示了一个标准的基于加法同态加密的横向联邦学习框架,该框架的运算流程可以概括为以下三个步骤:
  • Map:中心服务器将当前加密模型分发给参与者,收到模型的参与者先对模型进行加密,再在本地数据上进行参数的有偏估计;

  • Aggregate:中心服务器收集参与者的加密参数估计,进行聚合,得到新的、密态下的模型参数

  • Reduce:中心服务器使用聚合后的新加密参数最为当前模型。

图 6:基于加法同态加密的横向联邦学习 [3]。

基于全同态的横向联邦框架:除了使用加法同态算法之外,还可以使用全同态对横向联邦里的参数信息进行保护。在使用了全同态加密后,不止中心服务器上的参数聚合在密文下,参与者本地的模型更新也是在密文下,多方需要预先规定训练次数,在达到指定数量后停止训练。

安全性分析(密钥管理):在对基于同态加密的联邦学习系统进行安全性分析之前,还有一点需要我们额外注意的,那就是同态加密算法在使用中如何管理密钥。大部分同态加密算法仅有一个私钥,即在使用中,所有的参与者持有同一组公私钥、然后将公钥分享给中心服务器。但这种模型安全性较低,一旦有一个参与者与中心服务器共谋,系统的安全性就下降到了 vanilla 联邦学习。以上问题目前有一个较好的解决方案,即使用阈值同态加密算法 [10,11],该类型的同态加密算法支持多个私钥存在,并且当一定数量以上的私钥参与,才能将密文成功解密,近期阈值同态加密研究火热 [7,8,9],受到了广泛关注。

安全性分析(总结):在使用了同态加密之后,中心服务器无法获取任何有效的明文信息,所以也无法进行梯度攻击。并且借助阈值同态加密,多个参与者可以各自持有一个私钥,可以大大提升了系统的安全性,可以说参与者的数据十分安全。

纵向联邦安全性分析

除了横向联邦学习之外,另一种在实际中大量应用的是纵向联邦学习。从分布式计算的角度考虑,横向联邦是一种数据并行的思路,而纵向联邦是模型并行的思路。不同点是,横向联邦(数据并行)对模型没有要求,不管是线性模型、神经网络,都可以很轻松的套用横向联邦的框架进行实现;而纵向联邦(模型并行)中,每个解决方案都和模型紧密绑定,一般需要对单机版本的模型进行拆解,规定好每个参与者本地需要计算的内容、以及多方之间需要交换的信息。所以说纵向联邦的安全性分析需要对每个算法进行,不同的算法实现方式可能会有不同的安全性。

在本文中,我们将以 FATE 联邦学习框架中的纵向线性回归为例,对其数据安全性进行分析。

下图 7 展示了 FATE 中使用的纵向线性回归算法模型, ⟦.⟧ 代表同态加密后的密文。我们可以发现,联邦建模中 A、B 双方交换的信息均为同态加密后的,每一轮训练中 A、B 仅能获得自身模型的梯度,无法反推对方的隐私数据。
 

图 7:带第三方的纵向线性回归模型算法流程 [1]。

安全性分析(总结):纵向联邦学习算法和模型紧密相关,不同的联邦算法设计可能会有不同的安全性,所以我们在设计纵向联邦学习算法时,就需要对安全性进行考虑。本文以 FATE 中使用的线性回归模型为例进行了分析,FATE 使用同态加密作为基础隐私保护技术,多方之间传递的信息均为同态加密后的,所以可以保障参与者的隐私数据安全不泄漏。

结语

最近,我们看到网络上有很多针对联邦学习安全性的讨论,绝大部分的质疑主要集中在联邦学习可以被梯度攻击,从而使其安全性下降。但是,梯度攻击只能被利用在 vanilla 联邦学习上,而 vanilla 联邦学习不会被用于生产系统中。在生产系统中,如本文的分析和介绍,联邦学习往往会利用同态加密或者差分隐私等技术进一步保护传递的参数,从而使得联邦学习无法被攻击,保证安全性。

我们希望通过文本为读者们展示一个更加准确的联邦学习全貌,从而使得读者们可以更加准确地了解到联邦学习的安全性现状。

作者简介

柴迪,星云Clustar首席联邦学习架构师,香港科技大学博士,他的研究兴趣点为隐私保护机器学习联邦学习。曾在IJCAI、IEEE TIST、SIGSPATIAL等期刊与会议发表文章,近期工作有:(1) FedEval: A Comprehensive Evaluation System for FL(https://github.com/Di-Chai/FedEval) 中,提出了一个完整的联邦评估框架,(2) Secure Federated Matrix Factorization中提出了一种安全的联邦矩阵分解算法。

联系方式:dchai@cse.ust.hk


参考文献

[1] Yang, Qiang, et al. "Federated machine learning: Concept and applications." ACM Transactions on Intelligent Systems and Technology (TIST) 10.2 (2019): 1-19.
[2] McMahan, Brendan, et al. "Communication-efficient learning of deep networks from decentralized data." Artificial Intelligence and Statistics. PMLR, 2017.
[3] Aono, Yoshinori, et al. "Privacy-preserving deep learning via additively homomorphic encryption." IEEE Transactions on Information Forensics and Security 13.5 (2017): 1333-1345.
[4] Zhu, Ligeng, and Song Han. "Deep leakage from gradients." Federated Learning. Springer, Cham, 2020. 17-31.
[5] Chai, Di, et al. "FedEval: A Benchmark System with a Comprehensive Evaluation Model for Federated Learning." arXiv preprint arXiv:2011.09655 (2020).
[6] Bonawitz, Keith, et al. "Practical secure aggregation for federated learning on user-held data." arXiv preprint arXiv:1611.04482 (2016).
[7] Sav, Sinem, et al. "POSEIDON: Privacy-Preserving Federated Neural Network Learning." arXiv preprint arXiv:2009.00349 (2020).
[8] Chen, Hao, et al. "Efficient multi-key homomorphic encryption with packed ciphertexts with application to oblivious neural network inference." Proceedings of the 2019 ACM SIGSAC Conference on Computer and Communications Security. 2019.
[9] Li, Ping, et al. "Multi-key privacy-preserving deep learning in cloud computing." Future Generation Computer Systems 74 (2017): 76-85.
[10] Chen, Hao, Ilaria Chillotti, and Yongsoo Song. "Multi-key homomorphic encryption from TFHE." International Conference on the Theory and Application of Cryptology and Information Security. Springer, Cham, 2019.
[11] Hazay, Carmit, et al. "Efficient RSA key generation and threshold paillier in the two-party setting." Journal of Cryptology 32.2 (2019): 265-323.


理论数据隐私联邦学习
1
相关数据
机器学习技术

机器学习是人工智能的一个分支,是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、计算复杂性理论等多门学科。机器学习理论主要是设计和分析一些让计算机可以自动“学习”的算法。因为学习算法中涉及了大量的统计学理论,机器学习与推断统计学联系尤为密切,也被称为统计学习理论。算法设计方面,机器学习理论关注可以实现的,行之有效的学习算法。

参数技术

在数学和统计学裡,参数(英语:parameter)是使用通用变量来建立函数和变量之间关系(当这种关系很难用方程来阐述时)的一个数量。

收敛技术

在数学,计算机科学和逻辑学中,收敛指的是不同的变换序列在有限的时间内达到一个结论(变换终止),并且得出的结论是独立于达到它的路径(他们是融合的)。 通俗来说,收敛通常是指在训练期间达到的一种状态,即经过一定次数的迭代之后,训练损失和验证损失在每次迭代中的变化都非常小或根本没有变化。也就是说,如果采用当前数据进行额外的训练将无法改进模型,模型即达到收敛状态。在深度学习中,损失值有时会在最终下降之前的多次迭代中保持不变或几乎保持不变,暂时形成收敛的假象。

神经网络技术

(人工)神经网络是一种起源于 20 世纪 50 年代的监督式机器学习模型,那时候研究者构想了「感知器(perceptron)」的想法。这一领域的研究者通常被称为「联结主义者(Connectionist)」,因为这种模型模拟了人脑的功能。神经网络模型通常是通过反向传播算法应用梯度下降训练的。目前神经网络有两大主要类型,它们都是前馈神经网络:卷积神经网络(CNN)和循环神经网络(RNN),其中 RNN 又包含长短期记忆(LSTM)、门控循环单元(GRU)等等。深度学习是一种主要应用于神经网络帮助其取得更好结果的技术。尽管神经网络主要用于监督学习,但也有一些为无监督学习设计的变体,比如自动编码器和生成对抗网络(GAN)。

线性回归技术

在现实世界中,存在着大量这样的情况:两个变量例如X和Y有一些依赖关系。由X可以部分地决定Y的值,但这种决定往往不很确切。常常用来说明这种依赖关系的最简单、直观的例子是体重与身高,用Y表示他的体重。众所周知,一般说来,当X大时,Y也倾向于大,但由X不能严格地决定Y。又如,城市生活用电量Y与气温X有很大的关系。在夏天气温很高或冬天气温很低时,由于室内空调、冰箱等家用电器的使用,可能用电就高,相反,在春秋季节气温不高也不低,用电量就可能少。但我们不能由气温X准确地决定用电量Y。类似的例子还很多,变量之间的这种关系称为“相关关系”,回归模型就是研究相关关系的一个有力工具。

卷积神经网络技术

卷积神经网路(Convolutional Neural Network, CNN)是一种前馈神经网络,它的人工神经元可以响应一部分覆盖范围内的周围单元,对于大型图像处理有出色表现。卷积神经网路由一个或多个卷积层和顶端的全连通层(对应经典的神经网路)组成,同时也包括关联权重和池化层(pooling layer)。这一结构使得卷积神经网路能够利用输入数据的二维结构。与其他深度学习结构相比,卷积神经网路在图像和语音识别方面能够给出更好的结果。这一模型也可以使用反向传播算法进行训练。相比较其他深度、前馈神经网路,卷积神经网路需要考量的参数更少,使之成为一种颇具吸引力的深度学习结构。 卷积网络是一种专门用于处理具有已知的、网格状拓扑的数据的神经网络。例如时间序列数据,它可以被认为是以一定时间间隔采样的一维网格,又如图像数据,其可以被认为是二维像素网格。

神经元技术

(人工)神经元是一个类比于生物神经元的数学计算模型,是神经网络的基本组成单元。 对于生物神经网络,每个神经元与其他神经元相连,当它“兴奋”时会向相连的神经元发送化学物质,从而改变这些神经元的电位;神经元的“兴奋”由其电位决定,当它的电位超过一个“阈值”(threshold)便会被激活,亦即“兴奋”。 目前最常见的神经元模型是基于1943年 Warren McCulloch 和 Walter Pitts提出的“M-P 神经元模型”。 在这个模型中,神经元通过带权重的连接接处理来自n个其他神经元的输入信号,其总输入值将与神经元的阈值进行比较,最后通过“激活函数”(activation function)产生神经元的输出。

语言模型技术

语言模型经常使用在许多自然语言处理方面的应用,如语音识别,机器翻译,词性标注,句法分析和资讯检索。由于字词与句子都是任意组合的长度,因此在训练过的语言模型中会出现未曾出现的字串(资料稀疏的问题),也使得在语料库中估算字串的机率变得很困难,这也是要使用近似的平滑n元语法(N-gram)模型之原因。

港科大机构

香港科技大学(The Hong Kong University of Science and Technology),位于中国香港,简称港科大(HKUST),为环太平洋大学联盟、全球大学校长论坛、东亚研究型大学协会、亚洲大学联盟、中国大学校长联谊会重要成员,并获AACSB和EQUIS双重认证,是一所亚洲顶尖、国际知名的研究型大学。该校以科技和商业管理为主、人文及社会科学并重,尤以商科和工科见长。截至2019年9月,学校设有理学院、工学院、工商管理学院、人文社会科学学院等4个学院及跨学科课程事务处;校园占地超过900亩,有教员697人,各类学生16054人,其中本科生10148人,研究生5906人。

https://hkust.edu.hk/
联邦学习技术

如何在保护数据隐私、满足合法合规要求的前提下继续进行机器学习,这部分研究被称为「联邦学习」(Federated Learning)。

矩阵分解技术

矩阵分解是一种将矩阵简化为其组成部分的方法。这种方法可以简化更复杂的矩阵运算,这些运算可以在分解的矩阵上执行,而不是在原始矩阵本身上执行。它的衍生Non-negative matrix factorization也被用于降维等操作上。

Infor机构

Infor是一家跨国企业软件公司,总部设在美国纽约市。Infor专注于通过云计算作为服务交付给组织的业务应用。最初专注于从财务系统和企业资源规划(ERP)到供应链和客户关系管理的软件, Infor在2010年开始专注于工业利基市场的软件,以及用户友好的软件设计。Infor通过Amazon Web Services和各种开源软件平台部署云应用。

www.infor.com
相关技术
推荐文章
暂无评论
暂无评论~