联邦学习是什么?联邦学习简介

这篇具有很好参考价值的文章主要介绍了联邦学习是什么?联邦学习简介。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1 联邦学习提出的背景

在大多数情况下,数据分散的保存在各个企业手中,而各个企业希望在不公开自己数据的情况下,联合其他企业(利用各个企业所持有的数据)一起训练一个模型,该模型能够帮助企业获取更大的利益。

对于收集零散的数据,传统的方法是通过搭建一个数据中心,在数据中心对模型进行训练,但随着越来越多的法律限制加上数据拥有者不愿意透露自己的数据,这种方法已经渐渐行不通了。

2 联邦学习的介绍

定义:联邦学习(federated learning),全称联邦机器学习(federated machine learning),为了解决联合训练模型时的隐私问题,提出的一种方法:让各个企业自己进行模型的训练,各个企业在完成模型的训练之后,将各自模型的参数上传至一个中心服务器(也可以是点对点),中心服务器结合各个企业的参数(可以上传梯度,也可以是自己更新后的参数),重新拟定新的参数(例如通过加权平均,这一步叫做联邦聚合),将新的参数下发至各个企业,企业将新参数部署到模型上,从而继续新的训练,这个过程可以进行反复的迭代,直到模型收敛,或者满足其他的条件。
联邦学习是什么?联邦学习简介
联邦学习是什么?联邦学习简介
使用联邦学习模型的效果会比直接将数据集中起来进行训练要差,这样的效果损失(但实际情况下可能并没有损失,数据丢失可能类似于做了正则,效果可能反而会提升)换取了隐私的保护,是可以接受的。

3 联邦学习的分类

为了更好的理解联邦学习的分类,首先对数据进行定义:

各个企业拥有的数据可以看成是一张表格,表格的每一行是一个带有多个特征(features)以及标签(label)的样本,每一列是一个特征或者标签,例如下图可以是某企业整理的各地房价数据:
联邦学习是什么?联邦学习简介
横向联邦学习、纵向联邦学习、联邦迁移学习分类的依据是各个参与方数据相似情况,而联邦强化学习的重点是基于各方环境进行决策(take action)。

3.1 横向联邦学习

横向联邦学习(Horizontal Federated Learning)指的是各方拥有的数据的特征(features)是基本一致的也都拥有各自的标签(label),如果将各方的数据集中成一个中心体,各方拥有的则是中心体的不同样本(横向指的是对中心体进行横向划分)。
联邦学习是什么?联邦学习简介
横向联邦学习(带有中心服务器)的过程可以概括为下图:
联邦学习是什么?联邦学习简介

3.2 纵向联邦学习

纵向联邦学习(Vertical Federated Learning)指的是各方拥有的数据有着很多不同的特征,但是可能会有许多相同的样本个体(例如同一个人在银行和保险公司的信息),同样将数据集中成一个中心体的话,各方拥有的是样本的不同属性(纵向指的是对中心体进行纵向划分。
联邦学习是什么?联邦学习简介
纵向联邦学习实际上只有一方拥有标签,通过纵向联邦学习对相交数据进行训练。

纵向联邦学习的过程要稍微复杂一些,首先需要进行的是数据的对齐,由于不能泄漏数据,是将加密后的数据进行对齐,如下图所示:
联邦学习是什么?联邦学习简介
对齐后的数据大致如下(对其操作只会获取两个数据中相交的样本,下图中即U1和U2:
联邦学习是什么?联邦学习简介
由于只有一方拥有标签,但是双方(以两个参与方为例)进行了预测,这里将损失函数重新定义:
L = 1 2 ∑ ( y A ( i ) + y B ( i ) − y ) 2 L=\frac 1 2 \sum(y_A^{(i)}+y_B^{(i)}-y)^2 L=21(yA(i)+yB(i)y)2
而各个模型拥有的参数只有自己涉及特征的参数,以上面的例子为例,也就是:
y A ( U 1 ) = w 3 X 3 + w 4 X 4 + w 5 X 5 y B ( U 1 ) = w 1 X 1 + w 2 X 2 \begin{aligned} &y_A^{(U_1)} = w_3X_3+w_4X_4+w_5X_5\\ &y_B^{(U_1)} = w_1X_1+w_2X_2 \end{aligned} yA(U1)=w3X3+w4X4+w5X5yB(U1)=w1X1+w2X2
这里只是简单举例,实际上是以矩阵的形式进行,同时会包含多个隐藏层。

这也就表示不管是在训练还是在预测的时候,都需要参与方进行协调,进行数据的交换(参与方需要各自计算自己的预测值与梯度将结果发送给中心服务器进行聚合)。

3.3 联邦迁移学习

联邦迁移学习(Federated Transfer Learning)指的是,参与方数据的重叠很少的情况(产生数据的人不同,数据的特征也大不相同),将数据题整合成中心体的话,会有大量的位置是空白信息,而各个参与方近似拥有的中心体的独立划分。
联邦学习是什么?联邦学习简介
我们定义如下参数:

  • ϕ \phi ϕ:分类函数,作用于 u i B u_i^B uiB
  • D c D_c Dc:图中红色方框;
  • D A B D_{AB} DAB:图中蓝色方框。

联邦迁移学习中只有一方拥有标签,通过联邦迁移学习可以利用相交的数据给没有标签的一方数据打上标签。

一个简单的模型如下图所示:
联邦学习是什么?联邦学习简介
模型的损失函数(不考虑正则):
L = L 1 + γ L 2 L 1 = ∑ i N c l o g ( 1 + e − y i ϕ ( u i B ) ) L 2 = ∑ i N A B ∣ ∣ u i A − u i B ∣ ∣ F 2 \begin{aligned} &L=L_1+\gamma L_2\\ &L_1=\sum_i^{N_c}log(1+e^{-y_i\phi(u_i^B)})\\ &L_2=\sum_i^{N_{AB}}||u_i^A-u_i^B||^2_F \end{aligned} L=L1+γL2L1=iNclog(1+eyiϕ(uiB))L2=iNABuiAuiBF2
上面的公式表表名我们希望最小化两部分(以二分类问题为例标签取值为-1和1):

  • L 1 L_1 L1:代表与真实标签的接近程度,当 y i = 1 y_i=1 yi=1时要是上式最小 ϕ ( u i B ) \phi(u_i^B) ϕ(uiB)应该尽可能接近 1 1 1,当 y i = − 1 y_i=-1 yi=1时则应该尽可能接近 − 1 -1 1
  • L 2 L_2 L2:代表两个模型representation的相似程度,应为训练两个模型的训练数标签是相同的,所以我们希望两个特征表示(representation)尽可能相似。

3.4 联邦强化学习

联邦强化学习(Federated Reinforcement Learning)指的是将强化学习与联邦学习进行结合,联帮强化学习分为纵向和横向两种,定义与之前类似,横向联邦强化学习(Horizontal Federated Reinforcement Learning)的简单模型如下:
联邦学习是什么?联邦学习简介
上图中,各自参与方根据自己的环境进行训练,训练出来的模型上传到中央服务器进行聚合后,服务器再下发模型继续进行训练。

纵向联邦强化学习(Vertical Federated Reinforcement Learning)的简单模型如下(图中的虚线表示可以不存在):
联邦学习是什么?联邦学习简介
在上图的过程与横向联邦强化学习的过程类似。

4 联邦学习与分布式机器学习

联邦学习是什么?联邦学习简介
个人认为联邦学习实际上是分布式机器学习的一种变体(variant),传统的分布式机器学习(也叫面向拓展的分布式机器学习)关注的是在硬件资源不够的情况下,如何利用分布式集群对一个庞大的模型进行训练,而联邦学习是,数据本身就在各个节点上,但是由于隐私保护的原因不得不采用类似分布式学习的方法进行学习(这样看来传统的分布式机器学习效果是要好于联邦学习的,因为传统的分布式学习是拥有所有数据的)。而之后提出的面向隐私保护的分布式机器学习,就有点像联邦学习的雏形了。面向隐私保护的分布式机器学习是指参与方拥有相同数据的不同特征,希望在隐私保护的前提下训练出一个模型(可以看到非常想纵向联邦学习)。后面的联邦学习对面向隐私保护的分布式学习进行了拓展。

二者的韦恩图大致如下:
联邦学习是什么?联邦学习简介

5 REFERENCE

《联邦学习》 杨强等人著文章来源地址https://www.toymoban.com/news/detail-414725.html

到了这里,关于联邦学习是什么?联邦学习简介的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 深入理解联邦学习——联邦学习的分类

    分类目录:《深入理解联邦学习》总目录 在实际中,孤岛数据具有不同分布特点,根据这些特点,我们可以提出相对应的联邦学习方案。下面,我们将以孤岛数据的分布特点为依据对联邦学习进行分类。 考虑有多个数据拥有方,每个数据拥有方各自所持有的数据集 D i D_i D

    2024年02月09日
    浏览(40)
  • 【阅读笔记】联邦学习实战——联邦学习视觉案例

    FATE是微众银行开发的联邦学习平台,是全球首个工业级的联邦学习开源框架,在github上拥有近4000stars,可谓是相当有名气的,该平台为联邦学习提供了完整的生态和社区支持,为联邦学习初学者提供了很好的环境,否则利用python从零开发,那将会是一件非常痛苦的事情。本篇

    2023年04月08日
    浏览(42)
  • 联邦学习实战-1:用python从零开始实现横向联邦学习

    什么是联邦学习? 简单来说就是在一个多方的环境中,数据集是零散的(在各个不同的客户端中),那么怎样实现机器学习算法呢? 首先想到的就是将多个数据集合并合并起来,然后统一的使用传统的机器学习或者深度学习算法进行计算,但是如果有一方因为数据隐私问题

    2023年04月08日
    浏览(71)
  • 联邦学习:联邦场景下的域泛化

    域泛化(domain generalization, DG) [1][2] 旨在从多个源域中学习一个能够泛化到未知目标域的模型。形式化地说,给定 (K) 个训练的源域数据集 (mathcal{S}=left{mathcal{S}^k mid k=1, cdots, Kright}) ,其中第 (k) 个域的数据被表示为 (mathcal{S}^k = left{left(x_i^k, y_i^kright)right}_{i=1

    2024年02月04日
    浏览(45)
  • 2023年3月版联邦学习(fate)从主机安装到实现联邦学习

    单机版提供3种部署方式,这里选择在 主机中安装FATE (官方建议使用Docker镜像,但不熟悉Docker的人容易找不到FATE路径) 使用 虚拟机VMware 进行实验,实验过程中随时 拍摄快照 ,节约重装时间。 项目 Value 虚拟机配置 内存4G + 硬盘150G 操作系统 centos 7 这里不重复写了,请参考

    2023年04月15日
    浏览(39)
  • 【FATE联邦学习】非分类、回归任务,如何获得联邦模型的输出?

    一般来说,从FATE框架中获得数据使用 get_component(\\\'name\\\').get_output_data() 。 但是这样子在目前的1.x的FATE中, 只能以分类、回归的格式输出才能获得 。 如果是图片、文本、token embedding等,用这种方式根本拿不到模型的输出。 经过跟 FATE社区人员 交涉,社区肯定了这种方法拿不出

    2024年02月12日
    浏览(37)
  • 联邦学习与安全多方计算

    联邦学习(FL,Federated Learning)是谷歌于2016年提出的一种分布式机器学习框架,可以 在保护个人数据隐私的前提下,联合多方用户的数据实现模型训练 。 联邦学习用于解决“数据孤岛”问题,核心思想是“ 数据不动模型动,数据可用不可见 ”。 传统机器学习中,数据需集

    2023年04月15日
    浏览(34)
  • 联邦学习的安全机制

    《联邦学习实战》(杨强等著)读书笔记 1、基于同态加密的安全机制 作为一种不需要将密文解密就可以处理密文的方法,同态加密是目前联邦学习系统里最常用的隐私保护机制,例如横向联邦学习里基于同态加密的安全聚合方法、基于同态加密的纵向联邦学习、基于同态加

    2024年02月06日
    浏览(38)
  • 边缘计算和联邦学习的联系

    边缘计算(Edge Computing)是一种计算模型,其主要思想是将计算、存储和数据处理能力推送到离数据源近的边缘设备,而不是依赖于远程的云服务器。这样做的目的是减少数据传输延迟、提高响应速度,同时降低对云计算中心的依赖性。边缘计算通常在物理临近设备的位置进

    2024年01月18日
    浏览(34)
  • 论文阅读---联邦忘却学习研究综述

    论文:联邦忘却学习研究综述 federated unlearning-联邦忘却学习 摘要 联邦忘却学习撤销用户数据对联邦学习模型的训练更新,可以进一步保护联邦学习用户的数据安全。 联邦忘却学习在联邦学习框架的基础上,通过迭代训练,直接删除等方式,撤销用户本地局部模型对全局模型

    2024年03月12日
    浏览(105)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包