PySyft与隐私深度学习的兴起
2019年06月23日 由 sunlei 发表
581860
0
信任是实现深度学习应用程序的关键因素。从培训到优化,深度学习模型的生命周期与各方之间的可信数据交换相关联。这种动态对于实验室环境当然是有效的,但是结果容易受到各种各样的安全攻击,这些攻击操纵模型中不同参与者之间的信任关系。让我们以信用评分模型为例,该模型使用金融事务对特定客户的信用风险进行分类。传统的培训或优化模型的机制假定,执行这些操作的实体将完全访问这些金融数据集,从而为各种隐私风险打开大门。随着深度学习的发展,在数据集和模型的生命周期中,对加强隐私约束的机制的需求变得越来越重要。在试图解决这一重大挑战的技术中,PySyft是最近在深度学习社区中逐渐获得吸引力的框架。
隐私在深度学习应用中的重要性与分布式、多方模型的出现直接相关。深度学习解决方案的传统方法依赖于控制模型整个生命周期的集中各方,即使使用大型分布式计算基础设施也是如此。这是一个创建预测模型的组织的情况,该模型管理访问其网站的客户的偏好。然而,事实证明,集中式深度学习拓扑在移动或物联网(IOT)等依赖大量设备生成数据和执行模型的场景中是不切实际的。在这些场景中,不仅经常生成敏感数据集,而且还执行和评估深度学习模型的性能。这种动态要求负责创建、培训和执行深度学习模型的各方之间建立双向隐私关系。
推动者
多年来,深度学习模型中的隐私一直是一个众所周知的问题,但能够提供解决方案的技术目前才具有一定的可行性。以PySyft为例,该框架利用了过去十年机器学习和密码学中最引人入胜的三种技术:
安全多方计算
安全多方计算(sMPC)是一种加密技术,允许不同的方对输入进行计算,同时保持这些输入是私有的。在计算机科学理论中,SMPC经常被看作是解决上世纪80年代计算机科学家安德鲁·姚提出的著名的姚明百万富翁问题的一种方法。这个问题描述了一个环境,在这个环境中,许多百万富翁想知道哪一个更富有,而不披露他们的实际财富。百万富翁的问题存在于许多现实场景中,如拍卖、选举或在线游戏。
从概念上讲,sMPC用安全计算替代了对可信中介的需求。在sMPC模型中,一组具有私有输入的参与方计算分布式函数,如公平性、隐私性和正确性等安全属性,这些函数得到了保留。
联合学习
联合学习是一种新的学习体系结构,适用于在高度分布式拓扑(如移动或物联网)系统中运行的人工智能系统。联合学习最初是由谷歌研究实验室提出的,它是集中式人工智能培训的替代方案,在集中式人工智能培训中,共享的全局模型在参与设备联合的中央服务器的协调下进行培训。在该模型中,不同的设备可以在保持设备中大部分数据的同时,对模型的培训和知识做出贡献。
在联邦学习模型中,一方下载一个深度学习模型,通过学习给定设备上的数据来改进它,然后将更改总结为一个小的重点更新。只有对模型的此更新使用加密通信发送到云,在云中立即与其他用户更新进行平均,以改进共享模型。所有的培训数据都保留在原始设备上,没有单独的更新存储在云中。
差异隐私
差异隐私是一种技术,用于限制统计算法对数据属于较大数据集一部分的受试者隐私的影响。粗略地说,如果观察者看到一个算法的输出,却不能判断是否在计算中使用了某个特定个体的信息,那么该算法就是差分私有的。差异隐私通常在识别其信息可能在数据库中的个人时讨论。虽然它不直接涉及识别攻击和再识别攻击,但差分私有算法能够抵抗这种攻击。
PySyft
PySyft是一个框架,它支持在深度学习模型中进行安全的、私有的计算。PySyft将联合学习、安全多方计算和差异隐私结合在一个编程模型中,集成到不同的深度学习框架中,如PyTorch、Keras或TensorFlow。PySyft的原理最初是在一篇研究论文中概述的,它的第一个实现是由OpenMind领导的,OpenMind是领先的分散人工智能平台之一。
PySyft的核心部分是一个叫做syft的抽象张量。Syfttenators用于表示数据的状态或转换,可以链接在一起。链结构的头部总是有一个PyTorch张量,SyftTensors所包含的转换或状态使用子属性向下访问,使用父属性向上访问。
使用PySyft相对简单,与您的标准PyTorch或Keras程序没有太大区别。下面的动画演示了一个使用PySyft的简单分类模型。
PySyft代表了在深度学习程序中启用强大隐私模型的首批尝试之一。最后,我想说的是,随着空间的发展,隐私很可能成为下一代深度学习框架的基本构件之一。