联邦学习: 统一数据协作和隐私保护的技术解决之道
1. 数据价值和隐私
为什么需要隐私计算呢?数据的产生过程是分散的,数据具有天然的割裂性。不同类型的公司提供不同的业务和服务,产生的数据类型也是不同的,例如社交公司产生用户大量的社交数据,电商产生的是用户的消费数据。但是在计算分析过程中,我们需要以“人”为单位,多维度、全面理解一个人才能进行高效的智能化的推荐。
而且不同机构有不同的覆盖范围,他们分别只能收集到一部分人群的数据。现阶段,智能化的进程仍然需要依赖数据,可数据孤岛的存在成为人工智能发展的一大壁垒,极大限制了企业可利用的数据量。
除此之外,在数据的实际应用中,企业也有保护其核心高价值数据的需求,通过隐私计算和联邦学习实现数据的所有权和使用权分离是一种有效的解决方式。
2. 隐私计算技术
由于企业和机构对数据自身价值的保护以及对用户隐私授权的保护,数据被储存在不同地方,像一个个孤岛难以被有效的连接互动。传统的商业协议无法有效保护数据的安全,原始数据一旦出库,就会面临完全失控的风险。
典型的反面案例就是脸书的剑桥门事件。双方按照协议:Facebook 将千万级别的用户数据转交给剑桥分析公司,用于学术研究。但原始数据一经出库后就完全失控,被用于学术之外的用途,导致 Facebook 面临的巨额罚金。
我们需要从技术层面提供更加安全的解决方案,用来保证数据流通协作过程中达到数据使用权的细分。隐私计算应运而生,它是数据科学与工程、密码学、分布式计算与存储的综合工程,包括多方安全计算、可信硬件、联邦学习等多项技术。
安全多方计算
讲到多方安全计算(MPC),就会提到姚氏百万富翁问题:有两个很有钱的富翁,他们想知道谁更有钱,他们又都不想让除己以外的任何人知道自己实际有多少钱(即不信任任何第三方)。这是一个典型的两方安全计算案例,需要在不分享原始数值的情况下,得出想要的结论。其中相关的技术包括:秘密分享,模糊传输,同态加密,混淆电路。
MPC技术的优点:
•单次随机加密,加密数据无法重复使用;
•加密数据基础上直接进行运算,原始数据不出库/不能被还原;
•每次计算要所有方共同协调:在计算前就要确定参与方。
可信执行环境
可信执行环境(TEE)也是一种解决方案:将计算运行在一个独立的环境中,而且与操作系统并行运行。在CPU 上确保 TEE 中代码和数据的机密性和完整性都得到保护,通过同时使用硬件和软件来保护数据和代码,故而TEE比操作系统更加安全。
市面上常见的解决方案有 Intel 的 SGX,ARM 的 TrustZone,服务器或者 PC 上的解决方案主要是 Intel 的 SGX;而 arm 的 trustzone 主要用在手机 CPU 上,如手机里面的指纹识别,人脸识别过程的数据安全保护。
可信执行环境依赖芯片隔离机制,在隔离区内,数据被解密成明文直接计算,整体效率会比较高。但是由于计算还是在明文层面进行,仍然会带来对应的安全困扰,比如会受硬件漏洞影响;而且更新需要硬件升级,无法快速迭代。
联邦学习
联邦学习(Federated Learning)是另一种解决方案,也是我们今天重点要讲述的方案。
传统联邦学习
联邦学习最早由谷歌提出,用于解决安卓手机终端用户在本地更新模型的问题。早期联邦学习可以在保证数据隐私安全及合法合规的基础上,通过本地存储数据和模型计算由边缘设备完成,实现共同建模,提升模型的效果。
联邦学习能解决问题和适用场景:
• 多方数据补充,用在样品数量不够充足,数据维度不够丰富的场景;
• 保护数据隐私/核心价值,整个学习训练过程,没有传输任何原始数据,用来保护数据隐私安全。
接下来我们针对联邦学习,进行系统性的讨论,包括起源,雏形,发展,应用等。
3. 联邦学习的拓展
分布式机器学习
严格意义上说,联邦学习其实并不是一个全新的概念,而是基于分布式机器学习发展而来。分布式机器学习,又叫Distributed MachineLearning,是大数据背景下的产物,也是当前机器学习最热门的研究领域之一。
在大数据时代,数据发生爆炸式增长,大数据具有五大特征:大数据量(Volume)、多类型(VarieG ty)、低价值密度(Value)、高时效(Velocity)和数据在线(On