01联邦学习的介绍:Why And How Federated Learning

2024-01-08 18:58

本文主要是介绍01联邦学习的介绍:Why And How Federated Learning,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

什么是联邦学习

联邦学习可以在不直接访问训练数据的情况下构建机器学习系统。数据保留在原始位置,这有助于确保隐私并降低通信成本。

联邦学习:将模型下传到用户侧进行模型训练,而无需将用户侧数据上传进行集中训练;

传统的机器学习:将用户数据上传集中,然后进行模型训练。

为什么需要联邦学习

  • 隐私问题(我不想分享我的自己的照片),联邦学习可以不将你的数据共享出去。

  • 监管需要(HIPAA,GDPR等),保护用户私有数据,使用联邦学习可以将模型下发到用户侧进行训练。

  • 解决数据孤岛问题,如:互联网企业、银行间数据不可能共享,模型使用联邦学习可以在各家企业、银行的私有数据上进行训练。

  • 工程障碍,数据量太大,网络连接昂贵,速度慢或不可靠等,采用联邦学习可以避免这些问题。

联邦学习能做什么

1.智能手机

机器学习具有改善智能手机用户体验的巨大潜力。应用程序可以学习发现好的宝贝照片,并主动提供与朋友和家人分享。他们可以更容易地编写更有可能收到快速回复的电子邮件。通过准确地建议下一个短语,无论语言如何,他们都可以更快速,更轻松地撰写短信。

但是,除了将这些数据从连接速度较慢的设备中取出的实际挑战之外,某些数据的个人方面(人们输入的内容,他们旅行的地点,他们访问的网站)使其成为问题。用户不愿意共享这些敏感数据,拥有它会使技术公司面临安全风险和监管负担。这些特性使其非常适合联邦学习。用例非常引人注目,谷歌的研究人员通常会将其发明归功于此,三星工程师也提出了重要的想法。

2.卫生保健

医疗行业为开发有效的治疗方法和预测结果提供了巨大的经济激励。但是,将机器学习应用于这些问题所需的培训数据当然非常敏感。实际和潜在隐私侵犯的后果可能很严重。

通过将培训数据保存在患者或提供者手中,联合学习有可能协作构建拯救生命并产生巨大价值的模型。总部位于巴黎的Owkin是我们在研究期间与之交谈的最雄心勃勃的联邦学习用户之一。它们提供了一个平台,使医疗保健提供商能够就各种医疗保健问题进行合作。

3.工厂预测性维护

假设制造商想要为他们销售的设备开发预测性维护模型。该模型需要培训数据 - 但是为了获得该数据而对于制造商来说,测试许多涡轮机直到它们失败为止。如果制造商的客户要发送这样的数据,那么制造商的成本会降低。更重要的是,实际客户体验的失败将比制造商在工厂实验中看到的更能代表现实世界的使用。简而言之,从客户那里获得的培训数据会更便宜,更好。

4.分散数据的聚合分析

一个用户在多家银行借贷,但是多家银行数据不通,通过联邦学习的聚合分析可以分析出用户是否在多家银行借贷,从而避免风险。

5. URL输入建议

Firefox实施的联邦学习系统,是改进Firefox URL栏中显示的部分建议。

Firefox URL栏显示用户键入搜索查询时的建议。这些建议的一部分由搜索引擎直接提供。其他由Firefox本身生成,例如基于用户的历史记录,书签或打开的选项卡。我们尝试使用我们的项目优化历史记录和书签建议。

6. 汽车维护预测

汽车跑5000-10000公里就需要换机油、机滤等,这个公里数是经验的,不是非常准确。通过联邦学习,可以比较精确地知道你的汽车该进行保养维护了。具体做法是,在汽车中放置一个预测模型,通过对天气、环境、污染、驾驶习惯等进行本地学习,再将学习结果传到服务器,服务器收到成百上千万的汽车上传模型的结果,最后学习到了一个比较好模型,再下传到汽车中,就能比较好地预测出你的汽车将在什么时候维护了,这就是汽车预测性维护,比较准确地进行维护和保养。

7. 可穿戴医疗设备

可以想象一下,有一个漂亮的腕表,可以记录你的行动、心率、睡眠周期、饮食等数据。使用联邦学习,可以放置一个健康模型在里面进行学习,并将学习模型参数上传(个人的这些健康数据不上传)。通过对成千上万人的学习,可以比较好地预测出你的健康状态,给出你睡眠、饮食建议等,使你活得更健康。

更多信息,请访问Federated Fearning For Firefox/

如何进行联邦学习

下面给出一些公司的解决方案:

1. OpenMend

从技术角度来看,OpenMined将联邦学习的原理与同态加密和区块链智能合约等尖端技术相结合,使协作模型能够以完全分散的方式实现深度学习应用。

OpenMined架构基于四个基本构建块:

Capsule

用于生成公钥和私钥的PGP服务器,以保证Sonar神经网络的不同组件的完整性。

Sonar

OpenMined平台的核心,Sonar是一个联邦学习服务器,运行在区块链上,用于控制深度学习应用程序不同部分的执行。该库与Capsule通信以生成PGP密钥,并将最终的,经过培训的结果发送回Data Scientist。它还与矿工沟通,收集Gradients并相应地分发Bounty。

Mine

该组件分布在用户的各个数据存储库中。Mine与Sonar相互作用以探测新的神经网络。上传到矿山的数据越多,它与Sonar的相关性就越高。

Syft

包含神经网络的库,可以在加密状态下进行训练(这样矿工就无法窃取他们下载的神经网络进行训练)。它构建在PyTorch之上

更多信息,请访问 OpenMined Github

2. TensorFlow_Federated(TFF)

TensorFlow Federated(TFF)是一个开源框架,用于机器学习和分散数据的其他计算。TFF的开发旨在促进联邦学习(FL)的开放式研究和实验,这是一种机器学习方法,在这种方法中,共享的全球模型在许多参与的客户中进行培训,这些客户将他们的培训数据保存在本地。例如,FL已被用于训练移动键盘的预测模型,而无需将敏感的键入数据上载到服务器。

TFF使开发人员能够在其模型和数据上模拟所包含的联邦学习算法,并尝试新颖的算法。TFF提供的构建块还可用于实现非学习计算,例如对分散数据的聚合分析。TFF的界面分为两层:

1)Federated Learning(FL)API

该层提供了一组高级接口,允许开发人员将所包含的联合培训和评估实现应用于现有的TensorFlow模型。

2)Federated Core(FC)API

该系统的核心是一组低级接口,通过在强类型函数编程环境中将TensorFlow与分布式通信运算符相结合,简洁地表达新的联合算法。这一层也是我们建立联邦学习的基础。

更多信息,请访问 Tensorflow Federated

3. Cloudera Federated

Cloudera 提供一个交互式联合学习原型,Turbofan Tycoon ,它是Cloudera Fast Forward Labs的研究原型,随着cloudera的联邦学习报告而建立。它使用逼真的涡轮风扇数据来显示使用联邦学习预测模型的好处。

更多信息,请阅读An introduction to Federated Learning

4. WeBank

Federated AI Technology Enabler(FATE)是由Webank的AI小组发起的一个开源项目,旨在提供一个安全的计算框架来支持Federated AI生态系统。

更多信息,请访问WeBank

结论

联邦学习的明显好处是在大量设备上分配知识质量,而无需集中用于优化和训练模型的数据。该方法还能够在保持训练数据集的隐私的同时提高集中式机器学习模型的质量。但是,联邦学习并非没有问题。与任何其他软件架构一样,分散化在工作协调,管理或监控等领域引入了挑战。如果不出意外,联邦学习将是传统的集中式监督和半监督学习架构的一个补充,而不一定是替代。

这篇关于01联邦学习的介绍:Why And How Federated Learning的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/584475

相关文章

HarmonyOS学习(七)——UI(五)常用布局总结

自适应布局 1.1、线性布局(LinearLayout) 通过线性容器Row和Column实现线性布局。Column容器内的子组件按照垂直方向排列,Row组件中的子组件按照水平方向排列。 属性说明space通过space参数设置主轴上子组件的间距,达到各子组件在排列上的等间距效果alignItems设置子组件在交叉轴上的对齐方式,且在各类尺寸屏幕上表现一致,其中交叉轴为垂直时,取值为Vert

Ilya-AI分享的他在OpenAI学习到的15个提示工程技巧

Ilya(不是本人,claude AI)在社交媒体上分享了他在OpenAI学习到的15个Prompt撰写技巧。 以下是详细的内容: 提示精确化:在编写提示时,力求表达清晰准确。清楚地阐述任务需求和概念定义至关重要。例:不用"分析文本",而用"判断这段话的情感倾向:积极、消极还是中性"。 快速迭代:善于快速连续调整提示。熟练的提示工程师能够灵活地进行多轮优化。例:从"总结文章"到"用

性能测试介绍

性能测试是一种测试方法,旨在评估系统、应用程序或组件在现实场景中的性能表现和可靠性。它通常用于衡量系统在不同负载条件下的响应时间、吞吐量、资源利用率、稳定性和可扩展性等关键指标。 为什么要进行性能测试 通过性能测试,可以确定系统是否能够满足预期的性能要求,找出性能瓶颈和潜在的问题,并进行优化和调整。 发现性能瓶颈:性能测试可以帮助发现系统的性能瓶颈,即系统在高负载或高并发情况下可能出现的问题

水位雨量在线监测系统概述及应用介绍

在当今社会,随着科技的飞速发展,各种智能监测系统已成为保障公共安全、促进资源管理和环境保护的重要工具。其中,水位雨量在线监测系统作为自然灾害预警、水资源管理及水利工程运行的关键技术,其重要性不言而喻。 一、水位雨量在线监测系统的基本原理 水位雨量在线监测系统主要由数据采集单元、数据传输网络、数据处理中心及用户终端四大部分构成,形成了一个完整的闭环系统。 数据采集单元:这是系统的“眼睛”,

Hadoop数据压缩使用介绍

一、压缩原则 (1)运算密集型的Job,少用压缩 (2)IO密集型的Job,多用压缩 二、压缩算法比较 三、压缩位置选择 四、压缩参数配置 1)为了支持多种压缩/解压缩算法,Hadoop引入了编码/解码器 2)要在Hadoop中启用压缩,可以配置如下参数

【前端学习】AntV G6-08 深入图形与图形分组、自定义节点、节点动画(下)

【课程链接】 AntV G6:深入图形与图形分组、自定义节点、节点动画(下)_哔哩哔哩_bilibili 本章十吾老师讲解了一个复杂的自定义节点中,应该怎样去计算和绘制图形,如何给一个图形制作不间断的动画,以及在鼠标事件之后产生动画。(有点难,需要好好理解) <!DOCTYPE html><html><head><meta charset="UTF-8"><title>06

学习hash总结

2014/1/29/   最近刚开始学hash,名字很陌生,但是hash的思想却很熟悉,以前早就做过此类的题,但是不知道这就是hash思想而已,说白了hash就是一个映射,往往灵活利用数组的下标来实现算法,hash的作用:1、判重;2、统计次数;

零基础学习Redis(10) -- zset类型命令使用

zset是有序集合,内部除了存储元素外,还会存储一个score,存储在zset中的元素会按照score的大小升序排列,不同元素的score可以重复,score相同的元素会按照元素的字典序排列。 1. zset常用命令 1.1 zadd  zadd key [NX | XX] [GT | LT]   [CH] [INCR] score member [score member ...]

hdu 2602 and poj 3624(01背包)

01背包的模板题。 hdu2602代码: #include<stdio.h>#include<string.h>const int MaxN = 1001;int max(int a, int b){return a > b ? a : b;}int w[MaxN];int v[MaxN];int dp[MaxN];int main(){int T;int N, V;s

【机器学习】高斯过程的基本概念和应用领域以及在python中的实例

引言 高斯过程(Gaussian Process,简称GP)是一种概率模型,用于描述一组随机变量的联合概率分布,其中任何一个有限维度的子集都具有高斯分布 文章目录 引言一、高斯过程1.1 基本定义1.1.1 随机过程1.1.2 高斯分布 1.2 高斯过程的特性1.2.1 联合高斯性1.2.2 均值函数1.2.3 协方差函数(或核函数) 1.3 核函数1.4 高斯过程回归(Gauss