什么是联邦学习

联邦学习

1.1 联邦学习的概念

历史:联邦学习最早在 2016 年由谷歌提出,原本用于解决安卓手机终端用户在本地更新模型的问题;
本质:联邦学习本质上是一种分布式机器学习技术,或机器学习框架。
目标:联邦学习的目标是在保证数据隐私安全及合法合规的基础上,实现共同建模,提升AI模型的效果。
联邦学习的架构分为两种,一种是中心化联邦(客户端/服务器)架构,一种是去中心化联邦(对等计算)架构

  • 针对联合多方用户的联邦学习场景,一般采用的是客户端/服务器架构,企业作为服务器,起着协调全局模型的作用;
  • 针对联合多家面临数据孤岛困境的企业进行模型训练的场景,一般可以采用对等架构,因为难以从多家企业中选出进行协调的服务器方。

客户端/服务器架构中,各参与方须与中央服务器合作完成联合训练,如图所示。

在这里插入图片描述
当参与方不少于两个时,启动联邦学习过程。在正式开始训练之前,中央服务器先将初始模型分发给各参与方,然后各参与方根据本地数据集分别对所得模型进行训练。接着,各参与方将本地训练得到的模型参数加密上传至中央服务器。中央服务器对所有模型梯度进行聚合,再将聚合后的全局模型参数加密传回至各参与方。

对等计算架构中,不存在中央服务器,所有交互都是参与方之间直接进行的,如图所示。
在这里插入图片描述
当参与方对原始模型训练后,需要将本地模型参数加密传输给其余参与联合训练的数据持有方。因此,假设本次联合训练有nnn个参与方,则每个参与方至少需要传输2(n−1)2(n-1)2(n1)次加密模型参数。
在对等架构中,由于没有第三方服务器的参与,参与方之间直接交互,需要更多的加解密操作。在整个过程中,所有模型参数的交互都是加密的。目前,可以采用安全多方计算、同态加密等技术实现。全局模型参数的更新可运用联邦平均等聚合算法。当需要对参与方数据进行对齐时,可以采用样本对齐等方案。

1.2 联邦学习分类

根据各方数据集的贡献方式不同,可以将联邦学习具体分为横向联邦学习、纵向联邦学习和联邦迁移学习,每种技术细分对应不同场景。
横向联邦学习适用于各数据持有方的业务类型相似、所获得的用户特征多而用户空间只有较少重叠或基本无重叠的场景。例如,各地区不同的商场拥有客户的购物信息大多类似,但是用户人群不同。
横向联邦学习以数据的特征维度为导向,取出参与方特征相同而用户不完全相同的部分进行联合训练。在此过程中,通过各参与方之间的样本联合,扩大了训练的样本空间,从而提升了模型的准确度和泛化能力。
在这里插入图片描述
纵向联邦学习适用于各参与方之间用户空间重叠较多,而特征空间重叠较少或没有重叠的场景。例如,某区域内的银行和商场,由于地理位置类似,用户空间交叉较多,但因为业务类型不同,用户的特征相差较大。
纵向联邦学习是以共同用户为数据的对齐导向,取出参与方用户相同而特征不完全相同的部分进行联合训练。因此,在联合训练时,需要先对各参与方数据进行样本对齐,获得用户重叠的数据,然后各自在被选出的数据集上进行训练。
此外,为了保证非交叉部分数据的安全性,在系统级进行样本对齐操作,每个参与方只有基于本地数据训练的模型。
在这里插入图片描述
联邦迁移学习是对横向联邦学习和纵向联邦学习的补充,适用于各参与方用户空间和特征空间都重叠较少的场景。例如,不同地区的银行和商场之间,用户空间交叉较少,并且特征空间基本无重叠。在该场景下,采用横向联邦学习可能会产生比单独训练更差的模型,采用纵向联邦学习可能会产生负迁移的情况。
联邦迁移学习基于各参与方数据或模型之间的相似性,将在源域中学习的模型迁移到目标域中。大多采用源域中的标签来预测目标域中的标签准确性。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/507536.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

循环自增_大学C语言—循环结构及应用

基础知识常见循环结构及形式for循环for(设置初始值;循环条件判断;设置循环增减量){语句1;语句2;…… 语句n;}while循环while(条件判断){语句1;语句2;……语句n;}do-while循环d…

论文写作的辅助工具

1 英文翻译 translate.google.cn 2 英文句子 我们以前的做法是要求每个同学收集一些经典的句子,现在有一个网站已经把这个工作做好了,这个可以解决60%句子问题,接下来就是写作的逻辑 https://www.phrasebank.manchester.ac.uk/ 3 画图工具…

dac0832控制电机驱动流程图_某驱动电机控制器拆解实拍照片

小编作为一个电控专业100%小白,机缘巧合获得某纯电动汽车驱动电机控制器一台,拆解之,权为业内人士参考之用,文中显得外行、用词不对及谬误之处还请各位大神不吝赐教!外观标牌背面拆解固定托架侧面拆解固定托架拆解固定…

推荐系统--安全联邦矩阵分解(7)

相关论文: Secure Federated Matrix Factorization 论文源代码见: https://github.com/Di-Chai/FedMF 1 摘要 为了保护用户隐私和满足法律法规,联邦(机器)学习近年来获得了广泛的关注。 联邦学习的关键原则是在不需要知道每个用…

联邦学习--数据攻击(1)

参考论文:Deep Leakage from Gradients(NeurIPS 2019) 源代码: https://github.com/mit-han-lab/dlg 核心思想:作者通过实验得到,从梯度可以反推用户的个人信息。并验证了其在计算机视觉和自然语言处理任务…

python制作图_Python做图的方法

最近一直没有更新文章,在学习Machine learning。然后业余在kaggle那里瞎转,对Python常用的作图摸了个遍,本文将对这些作图方法做个简单介绍一般我们作图主要是为了看数据分布、数据趋势、以及比较大小。常用的图包括:line(折线图)…

联邦学习--数据攻击(2)

参考论文:See through Gradients: Image Batch Recovery via GradInversion(CVPR 2021 ) 源代码: 核心思想:解决了Deep Leakage from Gradients(NeurIPS 2019)中batch大于1效果无效的情况。 缺点…

python简单网络爬虫_【Python】 简单网络爬虫实现

介绍网络爬虫(英语:网络爬虫),也称为网络蜘蛛(蜘蛛)是一个Web机器人用于自动浏览万维网。其目的通常是为了编译web索引。\u2014\u2014维基百科web爬虫程序可以节省他们访问的页面,以便搜索引擎可以为用户搜索生成索引。一般来说,有两个步骤:1。获取网页内容2。准备获得web内容和…

对抗攻击(1)

本文是根据李宏毅老师在B站上的视频整理而来,视频地址为: https://www.bilibili.com/video/BV1n3411y7xD?p65 1 无目标和有目标攻击的区别 无目标攻击:攻击后的标签不确定,只要是和原始标签差别越大越好。 有目标攻击&#xff…

python爬虫隐藏ip_Python3网络爬虫之使用User Agent和代理IP隐藏身份

本文介绍了Python3网络爬虫之使用User Agent和代理IP隐藏身份,分享给大家,具体如下:运行平台:WindowsPython版本:Python3.xIDE:Sublime text3一、为何要设置User Agent有一些网站不喜欢被爬虫程序访问&…

对抗攻击(2)

本文将介绍一些经典的对抗攻击算法,未完待续…

乌班图快速创建ftp

需求:乌班图22.04安装配置ftp,然后配置一个用户,用户名deviceftp密码aaaa,并且设置端口为60021,并且限制在/app/deviceftp目录下,不允许匿名登录 在Ubuntu 22.04上安装和配置FTP服务器的步骤如下&#xff…

自注意力机制Self-attention(1)

目录: 自注意力机制Self-attention(1) 自注意力机制Self-attention(2) 本文是对李宏毅老师的课程进行了整理。 视频地址为: https://www.bilibili.com/video/BV1Wv411h7kN?p23 1 问题引入 问&#xff1a…

id门禁卡复制到手机_手机NFC有哪些功能?怎么设置手机门禁卡?别浪费了手机的NFC功能...

NFC功能早前都运用一些手机旗舰机中,随着手机技术的发展,现在有许多的手机都有NFC的功能,那手机中的NFC只是个摆设吗?NFC不仅仅有不依靠数据网络、安全稳定的特点,其实还有许多你不知道的功能!比如可以用来…

自注意力机制Self-attention(2)

目录: 自注意力机制Self-attention(1) 自注意力机制Self-attention(2) 1 内容回顾 以b2b^2b2的计算过程为例来说明: query: q1Wqa1q^1 W^q a^1q1Wqa1, q2Wqa2q^2 W^q a^2q2Wqa2, q3Wqa3q^3 …

python 打印xml文档树_Python构建XML树结构的方法示例

本文实例讲述了Python构建XML树结构的方法。分享给大家供大家参考,具体如下:1.构建XML元素#encodingutf-8from xml.etree import ElementTree as ETimport sysrootET.Element(color) #用Element类构建标签root.text(black) #设置元素内容treeET.ElementT…

风格迁移模型测试效果

1 模型简介 Selfie2anime模型:动漫风格,训练集主要针对人物头像;对应论文为:U-gat-it: Unsupervised generative attentional networks with adaptive layer-instance normalization for image-to-image translation Hayao模型&a…

黑白棋级别预测

1 当前成果 上图是对于AI级别为40级以下的对局结果统计图,横坐标是对于AI级与当前模型预测级别的差值,纵坐标是玩家的胜率。由图中可以看出,玩家胜率符合预测。当AI级别比预测级别高时,玩家胜率越来越低,反之玩家胜率会…

python3源代码是什么_如何用inspect查找python3源代码?

我们在学习的时候喜欢去写代码,或者进行代码的测试,在源代码的查看的进行的不多。大概很多是写完就放在一边,如果不是下次需要使用,也不会知道写的是否正确,还有没有可以修改或者改进的地方。所以,对于源代…

python元编程_python元编程详解(3)

今天转载一片非常精彩的文章供大家欣赏:参考文章链接.python开发者门户一个很好的学习python的网站,大家有时间可以多看看。下面正式开始今天的内容:在理解元类之前,你需要先掌握Python中的类。Python中类的概念借鉴于Smalltalk&a…