现在什么联邦迁移学习效率高

首先作者认为:下一步人工智能嘚重点会从以AI基础算法为中心的导向转移到以保障安全隐私的大数据框架为中心的算法导向上。----解决问题的一种可能方案叫做---联邦学習

On the one hand在大多数行业中,由于行业竞争、隐私安全等问题数据是以孤岛形式存在的,各个机构的数据进行整合所需成本相当巨大On the other hand,随著大数据的进一步发展重视数据隐私及安全性已经成了普遍现象。

在AI领域传统的数据处理模式往往是由一方收集数据,再转移到另一方进行处理、清洗以及建模最后再卖给第三方。目前考虑到对数据监控的法规愈加完善和严格以及数据孤岛的问题,传统的数据处理模式显然已经不再适用故提出了一种可能的解决方案,即联邦学习(federated learning)or译成「联盟学习」。

Tips:有一种学习方法joint learning(联合学习),一般指将不同来源的数据整合在一起用于多任务建模训练场景中本质是联合多个训练目标,而对数据的聚合方式和隐私没有要求故,和上所提到联邦学习(federated learning)是完全不同的概念P.S.还有一种学习方法,multitask learning(多任务学习)是迁移学习的一个子方向,在有多个学习目标并且部分公囲数据的情况下尽量多地利用共有模型部分来提高学习效果(对数据安全和隐私也没有提出要求,只是ML的一种算法)

简单举例来说,A囷B两家企业各自拥有数据,联邦系统通过加密机制下的参数交换方式建立一个虚拟共有模型(建立虚拟模型过程中,公司本身数据不會移动)建立好的模型,在各自区域仅仅为本地的目标服务

联邦学习是指数据拥有方 在不用给出己方数据 的情况下,也可进行模型训練得到模型 的计算过程并能够保证模型 的效果 与模型 的效果 之间的差距足够小,即 这里 是任意小的一个正量值。

  • 两个数据集的用户特征 (X1, X2, …) 重叠部分较大而用户 (U1,U2, …) 重叠部分较小;
  • 两个数据集的用户 (U1, U2, …) 重叠部分较大,而用户特征 (X1, X2, …) 重叠部分较小;
  • 横向联邦学习在两个数据集的用户特征重叠较多而用户重叠较少的情况下,我们把数据集按照横向(即用户维度)切分并取出双方用户特征相同而用户不完全楿同的那部分数据进行训练。这种方法叫做横向联邦学习如FedAvg算法。
  • 纵向联邦学习在两个数据集的用户重叠较多而用户特征重叠较少的情況下我们把数据集按照纵向(即特征维度)切分,并取出双方用户相同而用户特征不完全相同的那部分数据进行训练这种方法叫做纵姠联邦学习。比如有两个不同的机构一家是某地的银行,另一家是同一个地方的电商它们的用户群体很有可能包含该地的大部分居民,因此用户的交集较大但是,由于银行记录的都是用户的收支行为与信用评级而电商则保有用户的浏览与购买历史,因此它们的用户特征交集较小纵向联邦学习就是将这些不同特征在加密的状态下加以聚合,以增强模型能力目前,逻辑回归模型树型结构模型神經网络模型等众多机器学习模型已经逐渐被证实能够建立在此联邦体系上
  • 联邦迁移学习在两个数据集的用户与用户特征重叠都较少的情況下,我们不对数据进行切分而利用迁移学习来克服数据或标签不足的情况。这种方法叫做联邦迁移学习比如有两个不同机构,一家昰位于中国的银行另一家是位于美国的电商。由于受地域限制这两家机构的用户群体交集很小。同时由于机构类型的不同,二者的數据特征也只有小部分重合在这种情况下,要想进行有效的联邦学习就必须引入迁移学习,来解决单边数据规模小和标签样本少的问題从而提升模型的效果。
图5 联邦学习系统框架
  1. 加密样本对齐由于两家企业的用户群体并非完全重合,系统利用基于加密的用户样本对齊技术在 A 和 B 不公开各自数据的前提下确认双方的共有用户,并且不暴露不互相重叠的用户以便联合这些用户的特征进行建模。
  2. 加密模型训练在确定共有用户群体后,就可以利用这些数据训练机器学习模型为了保证训练过程中数据的保密性,需要借助第三方协作者 C 进荇加密训练以线性回归模型为例,训练过程可分为以下 4 步(如图 2(b) 所示):
  • 第①步:协作者 C 把公钥分发给 A 和 B用以对训练过程中需要交换嘚数据进行加密。
  • 第②步:A 和 B 之间以加密形式交互用于计算梯度的中间结果
  • 第③步:A 和 B 分别基于加密的梯度值进行计算,同时 B 根据其标簽数据计算损失并把结果汇总给 C。C 通过汇总结果计算总梯度值并将其解密
  • 第④步:C 将解密后的梯度分别回传给 A 和 B,A 和 B 根据梯度更新各洎模型的参数

迭代上述步骤直至损失函数收敛,这样就完成了整个训练过程在样本对齐及模型训练过程中,A 和 B 各自的数据均保留在本哋且训练中的数据交互也不会导致数据隐私泄露。因此双方在联邦学习的帮助下得以实现合作训练模型。

3. 效果激励联邦学习的一大特点就是它解决了为什么不同机构要加入联邦共同建模的问题,即建立模型以后模型的效果会在实际应用中表现出来并记录在永久数据記录机制(如区块链)上。提供数据多的机构所获得的模型效果会更好模型效果取决于数据提供方对自己和他人的贡献。这些模型的效果在联邦机制上会分发给各个机构反馈并继续激励更多机构加入这一数据联邦。

以上三部分的实施既考虑了在多个机构间共同建模的隱私保护和效果,又考虑了以一个共识机制奖励贡献数据多的机构所以,联邦学习是一个「闭环」的学习机制

P.S.今天上午参加GMIS2019大会,会仩有听到杨强教授讲解联邦学习晚上回学校整理照片,觉会上有些地方没搞明白Google一下,发现这篇讲解感觉很好,收藏了...QAQ

11 月 5 日在 Wave Summit+2019 秋季深度学习开发者峰會上,飞桨全新发布和重要升级了最新的 21 项进展在深度学习开发者社区引起了巨大的反响。

很多未到场的开发者觉得遗憾希望可以了解飞桨发布会背后的更多技术细节,因此我们特别策划了一个系列稿件分别从核心框架、基础模型库、端到端开发套件、工具组件和服務平台五个层面分别详细解读飞桨的核心技术与最新进展,敬请关注

今天给大家带来的是系列文章之飞桨工具组件解读。

飞桨深度学习岼台工具组件包括 PaddleHub 迁移学习、PARL 强化学习、PALM 多任务学习、PaddleFL 联邦学习、PGL 图神经网络、EDL 弹性深度学习计算、AutoDL 自动化深度学习、VisualDL 训练可视化工具等,旨在推动前沿深度学习技术的产业化落地满足多样的产业需求。下面带来飞桨深度学习平台工具组件详细解读核心内容 3993 字,预计閱读时间 4

PaddleHub 是预训练模型管理和迁移学习工具开发者通过使用预训练模型,可以更便捷地开展迁移学习工作PaddleHub 主要有以下特点:

飞桨的预训練模型库,目前主要覆盖自然语言处理和计算机视觉两个方向包含图像分类、目标检测、词法分析、语义模型、情感分析、语言模型、視频分类、图像生成、图像分割等 70 多个技术领先的而且经过长期的产业实践验证的优质模型,可以帮助开发者快速开始

少量代码即可完荿迁移学习

PaddleHub Fine-tune API 的开发,目的是帮助开发者降低迁移学习的门槛在预训练模型的领域,我们可以认为模型都是标准化的有标准化的输入,吔有标准化的输出跟软件是样的模块化。通过自定义数据集再加上 Fine-tune API,组网的工作可以通过一行代码搞定而且 PaddleHub 集成了工业级简单实用嘚策略,包括数据的预处理等可供开发者尝试。同时引入『模型即软件』的设计理念,通过 Python API 或者命令行实现一键预测更方便地应用飛桨模型库。

支持超参优化自动搜索超参数

PaddleHub AutoDL Finetuner 提供一个黑盒优化的策略,目标是用尽可能少的次数来找到一个更好的超参使得我们的模型在验证集上的指标更好。这个问题没有很明确的公式描述因此需要通过黑盒优化的技术来求解:通过定义一个超参的类型和范围,让機器来自动搜索而且对于任意的机器学习的代码都可以使用黑盒优化,可以帮助开发者提高整个超参优化的效率

Hub Serving 是为用户端到端体验咑造的,从预训练模型快速的生成 API 的服务可以实现安全可控、支持私有化的部署。开发者可以基于 PaddleHub 开放的模型在自己的企业内部搭建起預训练模型和服务并通过 API 调用的方式快速接入。客户端的应用方式非常简单通过我们最经典的 HTTP 的方式,可以快速的使用这些预训练模型让更多的人能够用到预训练模型的效果。

近几年来深度神经网络的成功推动了人工智能的发展,然而在实际场景中,有大量的数據是在非欧式空间的这限制了深度神经网络的应用。而图神经网络在这类数据上有着出色的处理能力使得最近一段时间图神经网络在學界与工业界上大放光彩。

百度顺应潮流发布的 PGL 充分利用飞桨独有的 Lod Tensor 特性实现了高度并行的图神经网络消息传递机制,在性能上超越了 DGL 等现有图学习框架 13 倍依托于飞桨核心框架以及自研的分布式图引擎,PGL 可支持十亿节点百亿边的巨图训练此外,PGL 原生支持异构图 Meta Path 采样以忣 Message Passing 双模式预置了 13 种业界主流图学习算法,方便开发者熟悉和使用图神经网络领域模型包括以下技术特色:

高效:通用消息聚合性能超樾业内主流框架 DGL 13 倍

图神经网络模型的独特优势在于充分捕捉数据中的结构信息。PGL 采用消息传递范式(Message Passing)构建图神经网络的接口用户只需偠简单地编写 send 和 recv 函数就能够轻松的实现一个简单的 GCN 网络:其中 send 函数被定义在节点之间的边上,负责将消息从源点发送到目标节点;recv 函数则負责将这些消息聚合起来目前,PGL 提供两套聚合方式一套是 Scatter-Gather 用于解决常见如求和聚合的方式,而另外一套则是基于飞桨 Lod Tensor 特性实现的并行通用的消息聚合方法得益于并行的消息聚合能力,PGL 的速度能够达到 DGL 的 13 倍

规模:支持十亿节点百亿边的超大规模图训练

依托于分布式图引擎以及大规模参数服务器 Paddle Fleet,PGL 可以轻松在 MPI 集群上搭建分布式超大规模图学习算法超大规模图会以切分形式在分布式图引擎中存储,此外還提供诸如图信息访问、子图采样、游走等操作算子在此之上则是 PGL 构建的分布式图训练模块,该模块会与参数服务器 Paddle Fleet 进行联动训练满足用户数十亿节点 Embedding 学习需求。

易用:轻松搭建异构图学习算法

在工业应用中许多的图网络是异构。PGL 针对异构图包含多种节点类型和多种邊类型的特点进行建模旨在为用户提供方便易用的异构图框架,让用户可以快速构建自定义的异构图模型目前,PGL 支持异构图的 Meta Path 采样以忣异构图的 Message Passing 机制异构图存在不同类型的节点和边,为了融入 Message Passing 机制PGL 可以在异构图中分别对不同类型的边进行消息传递。最后将同一个节點在不同边类型的表示融合在一起

丰富:预置 13 种业界主流图学习模型

为了便于用户熟悉和使用图神经网络领域的模型,PGL 预置了 13 种主流的圖学习模型这些模型涵盖了同构与异构、图表示学习与图神经网络、分布式训练等样例,可以赋能推荐系统、知识图谱、用户画像、金融风控、智能地图等多个场景用户可以方便地根据自己的需要选择不同的样例进行复现、修改、上线等。

PaddleFL(Paddle Federateddeep Learning)是开源联邦学习框架可輕松地复制、比较不同联邦学习算法,提供众多联邦学习策略及在计算机视觉、自然语言处理、推荐算法等领域的应用此外,PaddleFL 还将提供傳统机器学习训练策略的应用例如多任务学习、联邦学习环境下的迁移学习。依靠着飞桨的大规模分布式训练和 Kubernetes 对训练任务的弹性调度能力PaddleFL 可以基于全栈开源软件轻松地部署。

VisualDL 是面向深度学习任务设计的可视化工具包含 scalar、参数分布、模型结构、图像可视化等功能。该項目正处于高速迭代中不断增加新组件。目前大多数 DNN 平台使用 Python 作为配置语言。VisualDL 原生支持 python 使用在模型 Python 配置中添加几行代码,便可为训練过程提供丰富的可视化支持

    本文参与,欢迎正在阅读的你也加入一起分享。

我要回帖

 

随机推荐