联邦学习:概念与应用

论文:Q. Yang, Y. Liu, T. Chen, and Y. Tong, “Federated machine learning: Concept and applications,” ACM Trans. Intell. Syst. Technol., vol. 10, no. 2, pp. 1–19, 2019, doi: 10.1145/3298981.

伴随着计算力、算法和数据量的巨大进步,人工智能迎来第3次发展高潮,开始了各行业的落地探索。然而,在“大数据”兴起的同时,更多行业应用领域中是“小数据”或者质量很差的数据,“数据孤岛”现象广泛存在。例如在信息安全领域的应用中,虽然多家企业推出了基于人工智能技术的内容安全审核、入侵检测等安全服务,但出于用户隐私和商业机密的考虑,企业之间很难进行原始数据的交换,各个企业之间服务是独立的,整体协作和技术水平很难在短时间内实现突破式发展。如何在保护各机构数据隐私的前提下促成更大范围的合作,能否通过技术手段破解数据隐私保护难题,联邦学习是解决这一问题、实现跨企业协同治理的有效方式。

联邦学习指的是在满足隐私保护和数据安全的前提下,设计一个机器学习框架,使各个机构在不交换数据的情况下进行协作,提升机器学习的效果。其核心就是解决数据孤岛和数据隐私保护的问题,通过建立一个数据“联邦”, 让参与各方都获益,推动技术整体持续进步。

联邦学习具有以下特点:

  • 各方数据都保留在本地,不泄露隐私也不违反法规。
  • 多个参与者联合数据建立虚拟的共有模型,实现各自的使用目的,共同获益。
  • 在联邦学习的体系下,各个参与者的身份和地位相同。
  • 联邦学习的建模效果类似于传统的深度学习。
  • “联邦”就是数据联盟,不同的联邦有着不同的运算框架,服务于不同的运算目的。如金融行业和医疗行业就会形成不同的联盟。

安全多方计算理论

姚期智教授提出了著名的”百万富翁“问题:两个富翁在不暴露自己财富的情况下,如何知道到底谁更富有。因此,安全多方计算理论(Secure Muti-party Computation,SMC)应运而生,用以解决互不信任的参与方之间的协同计算问题。

差分隐私

差分隐私(Differential Privacy,DP)保护是基于数据失真的隐私保护技术,采用对数据添加噪声的方式来模糊数据,掩盖敏感数据信息,使数据无法被还原。差分隐私保护理论降低了数据泄露的风险,且操作简单,不受数据量大小的限制,因此曾吸引国内外诸多学者参与到差分隐私保护的研究中,也催生出一些列的差分隐私方法。

同态加密

同态加密((Homomorphic Encryption,HE)是一种依赖数学计算复杂性的的加密算法,包括加法同态、乘法同态、全同态等。能够在不解密的情况下,对密文数据进行计算。这使无需破坏敏感源数据,同时可以对数据进行处理。常见经典的同态加密算法:

  • 加法同态加密:Paillier
  • 乘法同态加密:RSA
  • 全同态加密:tfhe https://tfhe.github.io/tfhe/

联邦学习的分类

以包含两个数据拥有方的联邦学习为例,数据分布可以分为三种情况:

  • 两个数据集的特征重叠部分多,用户重叠部分少。------- 横向联邦学习
  • 两个数据集的特征重叠部分少,用户重叠部分多。------- 纵向联邦学习
  • 两个数据集的特征重叠部分少,用户重叠部分少。------- 联邦迁移学习

横向联邦学习架构

谷歌最初就是采用横向联邦的方式解决安卓手机终端用户在本地更新模型的问题的。横向联邦学习的本质是样本的联合,适用于参与者间业务相同但是用户不同,例如不同地区间的银行,它们的用户交集小,但是数据特征交集多。

**这里假定每个参与方是可信的,而且服务器A是一个honest-but-curious Server - 即1、不会从收集来的数据中记录信息;2、服务器可以搜索整个集合并将加密的数据返回给客户端。**横向联邦学习过程如下:

  • 参与方各自从服务器A下载最新模型;
  • 每个参与方利用本地数据训练模型,加密梯度上传给服务器A、服务器A聚合各用户的梯度更新模型参数;
  • 服务器A返回更新后的模型给各参与方;
  • 各参与方更新各自模型。

重复以上步骤直到损失函数最小化,额外说明的是,这个架构与特定的机器学习算法无关,所有参与方会共享最终的模型参数。

**安全问题分析:**在确保使用安全多方计算协议以及同态加密技术的条件下,这个架构已经被证明不会存在信息泄露问题,但这里有一个假定前提:所有参与方是可信的。恶意参与方可以在协同训练的过程中使用GAN来干扰最终的训练结果。

纵向联邦学习架构

纵向联邦学习的本质是特征的联合,适用于用户重叠多,特征重叠少的场景,比如同一地区的商超和银行,他们触达的用户都为该地区的居民(样本相同),但业务不同(特征不同)。

学习过程如下:

  • 加密样本对齐:由于两方用户群体并不是完全重合,需要利用基于加密的用户样本对齐技术,在A和B不公开各自数据的前提下确认双方的共有用户,并且不暴露不互相重叠的用户,联合这些用户的特征进行建模。
  • 加密模型训练:在确定共有用户群体后,利用这些数据训练模型,为了保证训练过程中数据的保密性,需要借助第三方C进行加密训练。

这里以线性回归为例, D A D_A 代表A中的数据, D B D_B 代表B中的数据。这里假定A中的特征数据 { x i A } i ϵ D A \{x_i^A\}_{i \epsilon D^A} ,B中包含特征数据以及标签数据 { x i B , y i B } i ϵ D B \{x_i^B, y_i^B\}_{i \epsilon D^B} ,与之相对应的模型参数分别记为 θ A \theta_A θ B \theta_B


计算过程如下表:

  • 协作者C把公钥分发给模型A和模型B,用以对训练过程中需要交换的数据进行加密。
  • 对齐数据A和对齐数据B之间以加密形式交互用于计算梯度的中间结果。
  • 对齐数据A和对齐数据B分别基于加密的梯度值进行计算,同时对齐数据B根据其标签的数据计算损失,把这些结果汇总给C,C通过汇总结果计算总梯度并将其解密。
  • C将解密后的梯度分别传回A和B,A和B根据梯度更新各自模型的参数。

迭代上述步骤直至损失函数收敛。在整个过程中参与方都不知道另一方的数据和特征,且训练结束后参与方只得到自己侧的模型参数,即半模型。预测时需要双方协作完成,过程如下表。

**安全问题分析:**A和B可以协商出一个随机数掩码防止C从梯度中得到信息,不会导致信息泄露。在参与方是可信的这个前提下,才可以获得正常的模型。

联邦迁移学习架构

[TO-DO]

联邦学习的落地应用

在金融领域,多家机构联合建模的风控模型能更准确地识别信贷风险,联合反欺诈.多家银行建立的联邦反洗钱模型,能解决该领域样本少、数据质量低的问题。

在智慧零售领域,联邦学习能有效提升信息和资源匹配的效率.例如,银行拥有用户购买能力的特征,社交平台拥有用户个人偏好特征,电商平台则拥有产品特点的特征,传统的机器学习模型无法直接在异构数据上进行学习,联 邦学习却能在保护三方数据隐私的基础上进行联合建模,为用户提供更精准的产品推荐等服务,从而打破数据壁垒,构建跨领域合作。

在医疗健康领域,联邦学习对于提升医疗行业协作水平更具有突出意义。在推进智慧医疗的过程中,病症、病 理 报告、检测结果等病人隐私数据常常分散在多家医院、诊所等跨区域、不同类型的医疗机构,联邦学习使机构间可以跨地域协作而数据不出本 地,多方合作建立的预测模型能够更准确地预测癌症、基因疾病等疑难病.如果所有的医疗机构能建立一个联邦学习联盟,或许可以使人类的医疗卫生事业迈上一个全新的台阶。

已经开源的框架:https://github.com/FederatedAI/FATE

现存问题

包括通信带宽、系统效率、联盟机制、设备可靠性、技术可行性等。