如何在机器学习的框架里实现隐私保护?


如何在机器学习的框架里实现隐私保护?
本文插图

如何在机器学习的框架里实现隐私保护?
本文插图
编者按:数据时代 , 人们从技术中获取便利的同时 , 也面临着隐私泄露的风险 。 微软倡导负责任的人工智能 , 因此机器学习中的隐私保护问题至关重要 。 本文介绍了目前机器学习中隐私保护领域的最新研究进展 , 讨论了机密计算、模型隐私和联邦学习等不同层面的隐私保护方法 。
作者 | 张辉帅
来源 | 微软研究院AI头条(ID:MSRAsia)
在大数据和人工智能的时代 , 人们能够更方便高效地获取信息 。 然而在获得便利的同时 , 我们的行为无时无刻不在被记录、被学习、被使用 。 如果在应用中不注重隐私保护 , 就很难阻止个人信息被用于非法目的 。 近年来 , 越来越多的人开始重视数据隐私 , 在选择使用客户端软件(App)时更加关注隐私条款 。 有研究表明 , 对于隐私的保护可以提高用户的使用率[1] 。
此外 , 在法律层面 , 欧盟《通用数据保护条例》(GDPR)规范了企业收集、管理、删除客户和个人数据 , 中国也在保护隐私方面完善了法律法规 。 我们时常能看到某公司因为用户数据隐私不合规被处罚的新闻 。

如何在机器学习的框架里实现隐私保护?
本文插图
【如何在机器学习的框架里实现隐私保护?】
图1:GDPR 罚款漫画(引自 coredna.com)
然而 , 没有数据 , 机器学习就如无米之炊 。 随着研究的发展 , 机器学习的模型变得越来越强 , 需要的训练数据也大大增加 , 比如 , 业界有些训练模型需要使用上百 G 的数据来训练数十亿的参数 。 而在很多专业领域如医疗、金融防欺诈等 , 数据则因为隐私或者利益被分割成孤岛 , 使得机器学习面临着有效数据不足的问题 。 因此 , 如果不能对数据隐私提供保证 , 那么信息流动和机器学习也无法实现 。
数据保护和机器学习似乎有着天然的矛盾 ,因此 , 用户和服务提供商都面临的一个挑战是如何在机器学习的框架里实现隐私保护 , 取得隐私和效益的平衡 。
隐私一词在不同场景下指代的意义会有较大差别 , 在机器学习中亦是如此 。 接下来我们将分三节分别介绍不同层面的隐私保护(如图2) 。 具体来说 , 第一部分陈述机密计算 , 讨论如何实现机器学习中计算的机密性;第二部分陈述模型的隐私 , 差分隐私以及机器遗忘 , 讨论如何减少机器学习模型对数据的泄露;第三部分陈述分布式机器学习的隐私 , 即联邦学习 , 讨论在数据隔离分布式存储 , 如何利用机密计算和模型隐私的技术有效地进行隐私保护的机器学习 。
如何在机器学习的框架里实现隐私保护?
本文插图
图2:本文结构示意图
如何在机器学习的框架里实现隐私保护?
本文插图
第一章 机密计算
(Confidential computing)
机密计算(confidential computing)是指数据的传输和计算过程是机密的(confidential) 。 当前实现机密计算的方法有可信执行环境(Trusted Executive Environment, TEE) , 同态加密(Homomorphic Encryption, HE)和多方安全计算(Multi-party Secure Computation, MPC) 。
可信执行环境(TEE)是处理器或虚拟系统上一个安全区域 , 可以保证在其中加载的数据和代码的机密性和完整性 。 简言之 , TEE 可以被认为是认证用户在云端的一块飞地(enclave, 包括计算和存储资源) , 虽然物理上在云端 , 但逻辑上只受认证用户管辖 。 数据和可信程序在云端加密存储 , 只有在加载到 TEE 后才会解密 , 计算 , 计算结果再加密存储到云端 。 云端只负责提供可信的计算环境 , 对其中的计算无法干预 。 关于 TEE , 硬件或者逻辑漏洞以及可扩展性是现在研究的重点 。