前言

FATE是微众银行开发的联邦学习平台,是全球首个工业级的联邦学习开源框架,在github上拥有近4000stars,可谓是相当有名气的,该平台为联邦学习提供了完整的生态和社区支持,为联邦学习初学者提供了很好的环境,否则利用python从零开发,那将会是一件非常痛苦的事情。本篇博客内容涉及《联邦学习实战》第七章内容,本章主要是介绍当前流行的联邦学习平台,下面就让我们开始吧。


1. FATE

1.1 FATE平台架构概述

FATE是微众银行开发的联邦学习平台,是全球首个工业级的联邦学习开源框架,该平台为联邦学习提供了完整的生态和社区支持,为联邦学习初学者提供了很好的环境。

FATE的官方文档提供了FATE的架构图,可以看到FATE的架构自上而下分为了四层,最上面一层是FATE提供的服务,包括FATE云服务,FATE面板,FATE任务调度管理,生命周期管理等,往下一层是FATE的机器学习核心组件,包括横向联邦学习、纵向联邦学习等,再往下一层是应用在FATE中的安全协议(隐私保护算法),包括同态加密,FedAvg,RSA等,最后一层是底层框架,又可以分为平行的三层,包括计算框架(TensorFlow,Pytorch,Spark),消息队列协议,以及存储框架。
FATE的主要功能如下:

  • 提供了一种基于数据隐私保护的分布式安全计算框架;
  • 为机器学习、深度学习等常用算法提供高性能的安全计算支持;
  • 支持同态加密、秘密共享等多种多方安全计算协议,确保数据和模型的安全;
  • 提供友好的跨域交互信息管理方案和开发文档,极大方便开发人员使用。

1.2 FATE版本与文档

当前FATE最新的版本为1.7.2版本,并且有望在今年更新1.8.0以上的版本,还是十分值得期待的,在使用FATE的过程中,我遇到了一系列问题,也因此查找到了许多官方资料和论坛,在这里列出提供给有需要的朋友。

  • github地址
  • github问答地址
  • 2021年经典问答库
  • Groups.io
  • 微信公众号:FATE开源社区

2. TensorFlow-federated

TFF是由Google开源的,基于TensorFlow实现的一款联邦学习平台架构,主要针对Android移动端的横向联邦学习场景。TFF构建在TensorFlow的基础上,不是独立的联邦学习生态体系。

用户可以使用TFF的接口完成以下工作。

  • 通过Federated Learning API与TensorFlow/Keras交互,完成分类、回归等任务。
  • 通过TFF提供的Federated Core API,在强类型函数编程环境中将TensorFlow与分布式通信运算符相结合,表达新的联邦算法。
  • TFF使用的数据隐私保护主要是差分隐私,安全机制在TensorFlow/Privacy中实现,开发者可以自行调用安全算法。

想要进一步学习,可以参考TFF的github官方文档。

3. OpenMined PySyft

PySyft是一个基于安全和隐私保护的深度学习库,由OpenMined社区开发。PySyft结合了多种隐私计算策略:FL,安全多方计算(MPC)和差分隐私,并应用到PyTorch,Keras,TensorFlow等开发模型上进行模型隐私训练。
此外,由于PySyft基于PyTorch开发,设计上采用了很多PyTorch的思想,最显著体现在引入Syft的抽象张量Syft Tensor,是PySyft进行隐私计算的基本单元。

想要进一步学习,可以参考PySyft的github官方文档。

4. NVIDIA Clara联邦学习平台

Clara平台是由NVIDIA公司推出的针对医疗场景的联邦学习平台。该平台是横向联邦学习的实现,在NVIDIA自身的EGX边缘运算平台上运行。每家医院作为客户端,EGX服务器会基于本地数据来训练局部模型,然后将局部模型的参数返回联邦学习服务器。
在训练过程中,每家医院的数据都不会离开本地,保障了数据的安全,同时,这一过程会反复进行,每一家医院的数据都会不断标注更新,不断提升全局模型的精度。下面是CLara的实现流程图和架构图。

想要进一步学习,可以参考NVIDIA Clara的官方文档。

5. 百度PaddleFL

PaddleFL是一个基于百度飞桨的开源联邦学习框架,目前该框架实现了横向和纵向联邦学习算法,定义了多任务学习、迁移学习和主动学习在内的训练策略。同时,PaddleFL提供在NLP和CV、推荐算法等领域的应用示例,此外,Paddle还封装了一些公开的联邦学习数据集。
PaddleFL架构设计如下所示:
编译态的工作完成后,通过FL job Generator生成的FL-Job进入运行态,开始联邦学习模型训练。
有关PaddleFL的详细使用教程,参考官方文档。

6. 腾讯AngelFL

AngelFL是腾讯基于Angel实现的联邦学习库,Angel是腾讯的一个全栈机器学习开源平台,功能特性涵盖了机器学习的各个阶段。系统架构如下图所示。
可以看到,AngelFL整个系统是一个去中心化联邦学习框架,无需信赖可信第三方,以Angel高维稀疏训练平台作为底层,抽象出算法协议层,供实现各种常见机器学习算法。AngelFL主要应用场景是纵向联邦的场景。

7. 同盾知识联邦平台

同盾科技推出的智邦iBond平台,融合了分布式机器学习、安全加密、元学习等技术,创建了知识联邦的概念。它使多方在完全满足用户隐私、数据安全和法律法规的要求下,进行数据分析建模,协同创造和共享知识。该平台支持原始数据的密文空间上联邦,模型训练中联邦,特征学习结果上联邦,还支持多任务、多方异构知识联邦。
知识联邦体系划分为四个层次,分别是信息层、模型层、认知层和知识层。

  • 信息层:将每个参与方数据进行加密或者通过某种形式转为有价值信息。
  • 模型层:常规的FL训练。
  • 认知层:收集每个参与方学习到的信息,在服务端用另一个模型将这些特征作为输入,训练全局任务。全局模型训练后,会将更新的嵌入信息返回每个客户端进行更新,并重新迭代。
  • 知识层:在认知层收集到的不同特征信息,存成知识库,形成知识网络。在知识网络上不断推理演绎,可以挖掘更有价值的只是,就能够预判信息的发生,最终形成合理的决策。

有关iBond平台的使用,可以访问其官方网站。

阅读总结

本章内容就是对当前领域比较火热的FL平台的一些介绍,真要深入学习还得去各个平台的官方文档中求解,下一部分就是对FL案例实战详解,其中将会涉及到许多在实际场景下,FL如何在保证用户隐私的情况下应用,让我们拭目以待吧。

参考链接

https://zhuanlan.zhihu.com/p/114774133
https://docs.nvidia.com/clara/index.html
https://github.com/PaddlePaddle/PaddleFL
https://blog.csdn.net/Tencent_TEG/article/details/104852978/
https://zhuanlan.zhihu.com/p/383617540

【阅读笔记】联邦学习实战——联邦学习平台介绍相关推荐

  1. 【阅读笔记】联邦学习实战——联邦个性化推荐案例

    联邦学习实战--联邦个性化推荐案例 前言 1. 引言 2. 传统的集中式个性化推荐 2.1 矩阵分解 2.2 因子分解机 3. 联邦矩阵分解 3.1 算法详解 3.2 详细实现 4 联邦因子分解机 4 ...

  2. 【阅读笔记】联邦学习实战——联邦学习智能用工案例

    联邦学习实战--联邦学习智能用工案例 前言 1. 智能用工简介 2. 智能用工平台 2.1 智能用工的架构设计 2.2 智能用工的算法设计 3. 利用横向联邦提升智能用工模型 4. 设计联邦激励机制 ...

  3. 【阅读笔记】联邦学习实战——联邦学习攻防实战

    联邦学习实战--联邦学习攻防实战 前言 1. 后门攻击 1.1 问题定义 1.2 后门攻击策略 1.3 详细实现 2. 差分隐私 2.1 集中式差分隐私 2.2 联邦差分隐私 2.3 详细实现 3. ...

  4. 【阅读笔记】联邦学习实战——联邦学习在智能物联网中的应用案例

    联邦学习实战--联邦学习在智能物联网中的应用案例 前言 1. 案例背景与动机 2. 历史数据分析 3. 出行时间预测模型 3.1 问题定义 3.2 构造训练数据集 3.3 模型结构 4 联邦学习实现 ...

  5. 【阅读笔记】联邦学习实战——联邦学习医疗健康应用案例

    联邦学习实战--联邦学习医疗健康应用案例 前言 1. 医疗健康数据概述 2. 联邦医疗大数据与脑卒中预测 2.1 联邦数据预处理 2.2 联邦学习脑卒中预测系统 3. 联邦学习在医疗影像中的应用 3. ...

  6. Live555源码阅读笔记(一):源码介绍文档 及 源码目录结构

    目录 一.Live555介绍 1.Live555项目介绍 2.官网及帮助文档介绍 二.源码目录结构 1.UsageEnvironment 2.BasicUsageEnvironment 3.group ...

  7. [强化学习导论阅读笔记-1]什么是强化学习

    平时学算法都是碎片化的学习,基本上都是看看博客,知乎和论文(博客和知乎看的最多),提升是有的,但是总觉得缺点什么,可能是缺少完整的知识体系.毕业本来想搞嵌入式的,因为会点AI小知识,分到了AI实验室. ...

  8. 阅读笔记3:基于深度学习的运动想象脑电信号分类算法研究

    1.论文信息 题目:基于深度学习的运动想象脑电信号分类算法研究 作者佟歌 单位:哈尔滨工程大学控制科学与工程 发表时间:201803 2.笔记 2.1 脑电信号采集及预处理 2.1.1脑电信号分析方法 ...

  9. 强化学习论文阅读笔记(一)——强化学习研究综述_高阳

    强化学习研究综述_高阳 目录 强化学习研究综述_高阳 一.与其他机器学习对比 二.分类 三.最优搜索型强化学习算法 四.经验强化型强化学习算法 五.部分感知 六.函数估计 七.多Agent强化学习 八 ...

最新文章

  1. C程序演示产生僵死进程的过程
  2. iOS快速集成检查更新
  3. ubuntu java classpath_java – 如何为Ubuntu中的文件夹设置CLASSPATH变量
  4. double free or corruption的原因
  5. Node 中的path模块
  6. 怎么修改ppt的虚线间隔_还有一小时下班,领导交给我一份ppt,做不完不许走!...
  7. php thinkphp修改,thinkphp5.0 | 输入变量更改变量
  8. react-native踩坑的开始!
  9. MySQL int类型的显示
  10. 【Sprint3冲刺之前】TD学生助手——alpha版发布
  11. python 拼音输入法_用Python从0开始实现一个中文拼音输入法
  12. 拖机教程之ASTER v7超越BETWIN WIN7 VISTA教程(含ASTER v7和注册机下载)
  13. macOS 安卓模拟器 Genymotion 安装
  14. 小米手机定价与《怪诞行为学》
  15. 排序算法——冒泡排序(Bubble Sort)
  16. IEDA免费在线激活永久使用
  17. Win7系统下安装微磁学软件OOMMF方法
  18. VMware ESXi 6.7 U3 Unlocker OEM BIOS 集成 REALTEK 网卡驱动和 NVMe 驱动 (集成驱动版)
  19. 【python】如何使用pip安装、卸载包
  20. Wargames学习笔记--Bandit

热门文章

  1. 笔记本电脑如何开启HDR功能
  2. Dedecms模板下载:装饰装修设计公司网站织梦模板
  3. 网易mumu模拟器顶部布局
  4. 《CODE COMPLETE 2(代码大全2)》警句
  5. 我加了5000微信好友,发现了朋友圈的真相
  6. 约瑟夫问题与魔术(五)——魔术《自我匹配的奇迹》中的数学原理
  7. [NOI2018] 归程 可持久化并查集
  8. 如何在Ubuntu 16.04上增加Swap分区
  9. ios webview清除缓存
  10. 带你全面解析Android框架体系架构view篇,隔壁都馋哭了