此外,在法律层面,欧盟《通用数据保护条例》(GDPR)规范了企业收集、管理、删除客户和个人数据,中国也在保护隐私方面完善了法律法规。我们时常能看到某公司因为用户数据隐私不合规被处罚的新闻。
数据保护和机器学习似乎有着天然的矛盾, 因此,用户和服务提供商都面临的一个挑战是如何在机器学习的框架里实现隐私保护,取得隐私和效益的平衡。
隐私一词在不同场景下指代的意义会有较大差别,在机器学习中亦是如此。接下来我们将分三节分别介绍不同层面的隐私保护(如图2)。具体来说,第一部分陈述机密计算,讨论如何实现机器学习中计算的机密性;第二部分陈述模型的隐私,差分隐私以及机器遗忘,讨论如何减少机器学习模型对数据的泄露;第三部分陈述分布式机器学习的隐私,即联邦学习,讨论在数据隔离分布式存储,如何利用机密计算和模型隐私的技术有效地进行隐私保护的机器学习。
第一章 机密计算
机密计算(confidential computing)是指数据的传输和计算过程是机密的(confidential)。当前实现机密计算的方法有可信执行环境(Trusted Executive Environment, TEE),同态加密(Homomorphic Encryption, HE)和多方安全计算(Multi-party Secure Computation, MPC)。
可信执行环境(TEE)是处理器或虚拟系统上一个安全区域,可以保证在其中加载的数据和代码的机密性和完整性。简言之,TEE 可以被认为是认证用户在云端的一块飞地(enclave, 包括计算和存储资源),虽然物理上在云端,但逻辑上只受认证用户管辖。数据和可信程序在云端加密存储,只有在加载到 TEE 后才会解密,计算,计算结果再加密存储到云端。云端只负责提供可信的计算环境,对其中的计算无法干预。关于 TEE,硬件或者逻辑漏洞以及可扩展性是现在研究的重点。
多方安全计算是参与方以各自隐私数据为输入共同计算一个函数值。在整个过程中,各参与方除了计算结果,对他方的隐私数据没有额外的认知。多方安全计算能够同时确保输入的机密性和计算的正确性,其思想本质是输入数据是计算结果的一种冗余表示,有(无穷)多种输入样例对应相同的计算结果,因此引入随机数来掩盖这种冗余性从而实现机密计算。多方安全计算需要设计协议来实现加法和乘法操作,但它的瓶颈在于通信复杂度的提升[4],如广泛应用的 Beaver 协议对于每个乘法操作需要一轮通信开销。当前开源项目 Facebook CrypTen [5]和 Openminded PySyft [6] 用 Python 实现了多方安全计算的协议,可以进行如数据分离,数据模型分离等场景下的模型训练和推断。当前的研究热点是如何设计协议,降低通信开销,以及如何连接应用场景和技术实现。
第二章 模型的隐私
(Model privacy)
机密计算可以做到在训练过程中保护数据的隐私。那么训练后的模型会造成隐私训练数据的泄露吗?答案是可能的,因为机器学习的模型都会在一定程度上过拟合(泛化鸿沟),模型自身会记住(部分)训练数据,从而导致发布模型会造成隐私训练数据的泄露。一个例子是模型反向工程(model inversion, 从模型推断训练数据)[8] ,如图4就是攻击者只用姓名和人脸识别系统的黑盒(blackbox)访问恢复出的训练集中的数据。另一个例子是成员推断(membership inference),它推断某个样本是不是在训练集中,较高的成员推断成功率显示模型对训练数据的隐私有泄露[9]。
P(M(S)∈E))≤e^ϵ P(M(S' )∈E)+δ. (1)
实现算法差分隐私的一种通用做法是加噪音。加噪音会带来模型的性能损失,差分隐私机器学习(differential private machine learning) 就是研究如何更节省地加噪音,如何在给定隐私损失的要求下,加最少的噪音取得最好的性能。微软和中山大学在这方面的论文介绍了相关的研究工作[10]。研究人员发现加入的噪音和优化算法会相互影响:噪音会让优化算法避开最差曲率方向,优化算法的收缩性可以弱化之前步骤加的噪音。他们在分析中利用这种相互影响,推导出了一个新的基于期望曲率的理论性能界,可以显式地看出梯度扰动比另外两种扰动方式(目标扰动和输出扰动)的优势,并且给出了另外两种扰动无法利用这种相互影响的原因。据此,梯度扰动是一种实现差分隐私机器学习的有效算法。
从2006年差分隐私被提出以来,隐私的度量也一直是这个领域很基础的一个问题,期间提出的概念包括 ϵ-DP、(ϵ,δ)-DP、Renyi-DP、(Truncated) Concentrated DP 等。隐私度量,顾名思义是要度量一个算法的隐私损失。(ϵ,δ)-DP 可以按照公式计算出一次统计查询对应的隐私损失 (ϵ,δ)。通常一个复杂算法可以看成多次统计查询的复合(composition)和采样(sampling) ,因此分析一个复杂算法的隐私损失需要计算复合和采样两种操作的隐私损失。2019年[11]提出的高斯差分隐私(gaussian differential privacy)对采样和复合都给出了一个紧估计,在隐私损失的统计上比之前的 moments accountant 技术更精准,从而在相同隐私预算下要加的噪音更小,取得的性能更好。
最近,另一个模型隐私的研究热点是模型遗忘(machine unlearning)。如果把实现差分隐私看成主动设计算法使得输出模型满足隐私要求,那么模型遗忘是一种被动解决模型隐私的方法。它旨在机器学习模型中实现用户的“被遗忘权利(the right to be forgotten)”。模型遗忘最直观的做法是在删除指定数据后的训练集上重新训练(retraining)这种做法的计算代价非常大,因此模型遗忘工作的主要目标是降低计算代价,一类方法是对训练好的模型进行后处理,使得模型遗忘算法的结果跟重新训练得到的模型是统计意义上近似不可区分的[12,13];另外一类方法是设计新的训练方法,降低重新训练的代价,这类方法通常将数据分成不同块, 每块数据单独训练一个子模型, 并汇总子模型的结果,这样删除一个数据点只需要重新训练一个子模型[14,15]。
第三章 联邦学习
(Federated learning)
联邦学习(federated learning)的愿景是在不共享数据的情形下进行多方联合机器学习,本质上是一种数据访问受限的分布式机器学习框架。
相比于经典的分布式机器学习,联邦学习的第一层受限是数据隔离——数据在各个终端不共享,不均衡,交互通信要尽量少。微软和 CMU 合作的论文介绍了这方面的工作[16]。研究人员分析了在数据隔离的限制下一类分布式方差缩减算法(Variance Reduced Methods, i.e.,SVRG,SARAPH,MIG)的理论性能。在最自然的分布式设置下(终端节点运算内循环,参数服务器运算外循环)取得线性收敛性(强凸目标函数),并且算法的时间复杂度对条件数的依赖取得目前理论上的最好结果。分布式方差缩减算法相比于分布式梯度下降,显著降低了通信开销并利于保护隐私。在分析中,研究人员引入了 restricted smoothness 衡量本地目标函数和全局目标函数之差的平滑性,结果显示 restricted smoothness 决定了算法的收敛性。并且当数据不平衡,restricted smoothness 较差时,引入差异正则项,保证算法可以收敛。表2列举了各个分布式算法的通信和计算复杂度比较(*标识文中的算法),可以看出文中的分析对最自然的分布式方差缩减算法给出了最优的结果。
相比于同态加密完全在密文域学习和运算,是否存在一种数据弱加密方法,使得模型可以直接在其上训练、推断同时还能拥有一定的隐私保证呢?最近的工作 InstaHide[20],就利用 mixup[21] 和随机反转对原始图片弱加密。弱加密后的图片视觉上看不出原始图片的信息,但深度神经网络仍然可以直接在其上训练推断,取得了相当好的性能表现。此外,该工作还展示了这种弱加密算法可以抵抗多种攻击方法。不过值得指出的是这种弱加密还没有计算复杂性的理论,不能保证一定可以防住攻击。
隐私保护与人们的生活息息相关,在实践和理论上也是挑战和机遇并存。我们期待与更多同仁一起努力,推动隐私保护领域的发展。
参考资料:
[1] Hannah Alsdurf, et al. Covi white paper. arXiv276preprint arXiv:2005.08502, 2020
[2] https://github.com/Microsoft/SEAL
[3] Gilad-Bachrach, Ran, et al. Cryptonets: Applying neural networks to encrypted data with high throughput and accuracy. ICML 2016.
[4] Wagh, Sameer, et al. SecureNN: 3-party secure computation for neural network training. Proceedings on Privacy Enhancing Technologies 2019.
[5] https://github.com/facebookresearch/CrypTen
[6] https://github.com/OpenMined/PySyft
[7] Jayaraman, Bargav, et al. Distributed learning without distress: Privacy-preserving empirical risk minimization. NeurIPS 2018
[8] Michael Backes, et al. Membership privacy in microRNA-based studies. CCS 2016.
[9] Yu, Da, et al. Gradient Perturbation is Underrated for Differentially Private Convex Optimization. IJCAI 2020.
[10] Dong, Jinshuo, Aaron Roth, and Weijie J. Su. Gaussian differential privacy. arXiv preprint arXiv:1905.02383 (2019).
[11] Guo, Chuan, et al. Certified Data Removal from Machine Learning Models, ICML 2020
[12] Golatkar, Aditya, et al. Eternal Sunshine of the Spotless Net: Selective Forgetting in Deep Networks, CVPR 2020
[13] Ginart, Antonio, et al. Making AI Forget You: Data Deletion in Machine Learning, NeurIPS 2019
[14] Bourtoule, Lucas, et al. Machine Unlearning, Security & Privacy 2020
[15] Fredrikson, Matt, et al. Model Inversion Attacks that Exploit Confidence Information and Basic Countermeasures, CCS 2015
[16] Cen, Shicong, et al. Convergence of distributed stochastic variance reduced methods without sampling extra data. IEEE Transactions on Signal Processing (2020).
[17] Zhu, Ligeng, et al. Deep Leakage from Gradients, NeurIPS 2019
[18] Hardy, Stephen, et al. Private federated learning on vertically partitioned data via entity resolution and additively homomorphic encryption. arXiv preprint arXiv:1711.10677 (2017).
[19] Yang, Qiang, et al. Federated machine learning: Concept and applications. ACM Transactions on Intelligent Systems and Technology (TIST) 10.2 (2019): 1-19.
[20] Huang, Yangsibo, et al. InstaHide: Instance-hiding Schemes for Private Distributed Learning, ICML 2020.
[21] Zhang, Hongyi, et al. Mixup: Beyond Empirical Risk Minimization, ICLR 2018.