一、联邦学习的应用
- 联邦学习已经被应用于 计算机视觉 领域,例如医学图像分析。
- 联邦学习也被应用于 自然语言处理 和 推荐系统 领域。
- 谷歌的研究人员将联邦学习应用于 手机键盘的输入预测,即谷歌的Gboard系统。这种方法大大提升了智能手机输入法预测的准确度,且不会泄露用户的隐私数据。
- Firefox的研究人员在 预测搜索词 上使用了联邦学习。
- 汽车自动驾驶(e.g. Zeng et al. 2021, OpenMined 的文章)
- “ 智能家居 ”系统(e.g. Matchi et al. 2019, Wu et al. 2020)
二、联邦学习的开源平台
人工智能的研究者对于联邦学习的兴趣并不局限于理论工作,关于联邦学习算法和系统的开发和部署也正在蓬勃发展。下面是几个具有代表性的例子。
-
Federated AI Technology Enabler(FATE)是由微众银行人工智能项目组发起的一个开源项目,该项目提供了一个安全的计算框架和联邦学习平台,以支持联邦人工智能生态的发展和运作。FATE平台实现了 一种基于同态加密和多方计算的安全计算协议,支持一系列的联邦学习架构和安全计算算法,包括逻辑回归、决策树、梯度提升树、深度学习和迁移学习。关于FATE的更多信息,读者可以访问 GitHub FATE网址 和 FedAI网址。
-
TensorFlow Federated(TFF)、https://github.com/tensorflow/federated 是一个为联邦学习和其他计算方法在去中心化数据集上进行实验的开源框架。TFF让开发者能在自己的模型和数据上模拟实验现有的联邦学习算法,以及其他新颖的算法。TFF提供的联邦学习模型训练模块也能够应用于去中心化数据集上,以实现非学习化的计算,例如聚合分析。TFF的接口由两层构成:联邦学习应用程序接口(Application Programming Interface,API)和联邦学习核心API。TFF使得开发者能够声明和表达联邦计算,从而能够将其部署于各类运行环境中。TFF包含的是一个单机的实验运行过程模拟器。
-
TensorFlow-Encrypted 是一个搭建于 TensorFlow 顶层的 Python 包, 可以让研究人员和实践者使用面向隐私保护的机器学习方式进行实验。它提供了类似于 TensorFlow 的接口,旨在让用户不必成为机器学习、密码学、分布式系统和高性能计算的专家,便能轻松地使用这些现成的技术。
-
coMind、coMindOrg/federated-averaging-tutorials是一个训练面向隐私保护联邦深度学习模型的开源平台。coMind 的关键组件是联邦平均算法的实现,即在保护用户隐私和数据安全的前提下,协作地训练机器学习模型。coMind搭建在 TensorFlow 的顶层并且提供实现联邦学习的高层API。
-
Horovod 由Uber创立,是一个深度学习的开源分布式训练框架。它基于开放的消息传输接口(Message Passing Interface,MPI),并工作在著名的深度学习框架如 TensorFlow 和 PyTorch 的顶层。Horovod旨在使得分布式深度学习变得快速且易用。Horovod通过MPI支持联邦学习,目前还不支持加密方式。
-
OpenMined/PySyft 提供了隐私保护的两种方法:联邦学习和差分隐私(Differential Privacy,DP)。OpenMined还进一步支持多方安全计算和同态加密方法,能够支持两种以上的安全计算方法。可用于搭建安全和扩展性的机器学习模型的联邦学习框架,OpenMined已经将PySyft框架开源。PySyft是PyTorch的一个简单外挂扩展,对于熟悉PyTorch的用户,使用PySyft实现联邦学习系统是十分简单的。基于TensorFlow的联邦学习扩展正在OpenMined中进行研发。
参考链接
- 论文:联邦学习_杨强 等 (作者) _电子工业出版社; 第1版 (2020年5月1日)_k
- 联邦学习(Federated Learning)详解以及示例代码