联邦学习(Federated Learning)

联邦学习简介

联邦学习(Federated Learning)是一种新兴的人工智能基础技术,其设计目标是在保障大数据交换时的信息安全、保护终端数据和个人数据隐私、保证合法合规的前提下,在多参与方或多计算结点之间开展高效率的机器学习。其中,联邦学习可使用的机器学习算法不局限于神经网络,还包括随机森林等重要算法。联邦学习有望成为下一代人工智能协同算法和协作网络的基础。

联邦学习的系统构架

以包含两个数据拥有方(即企业 A 和 B)的场景为例介绍联邦学习的系统构架。该构架可扩展至包含多个数据拥有方的场景。假设企业 A 和 B 想联合训练一个机器学习模型,它们的业务系统分别拥有各自用户的相关数据。此外,企业 B 还拥有模型需要预测的标签数据。出于数据隐私保护和安全考虑,A 和 B 无法直接进行数据交换,可使用联邦学习系统建立模型。联邦学习系统构架由三部分构成。

  • 第一部分:加密样本对齐。

由于两家企业的用户群体并非完全重合,系统利用基于加密的用户样本对齐技术,在 A 和 B 不公开各自数据的前提下确认双方的共有用户,并且不暴露不互相重叠的用户,以便联合这些用户的特征进行建模。

  • 第二部分:加密模型训练。

在确定共有用户群体后,就可以利用这些数据训练机器学习模型。为了保证训练过程中数据的保密性,需要借助第三方协作者 C 进行加密训练。以线性回归模型为例,训练过程可分为以下 4 步: 

第①步:协作者 C 把公钥分发给 A 和 B,用以对训练过程中需要交换的数据进行加密。

第②步:A 和 B 之间以加密形式交互用于计算梯度的中间结果。

第③步:A 和 B 分别基于加密的梯度值进行计算,同时 B 根据其标签数据计算损失,并把结果汇总给 C。C 通过汇总结果计算总梯度值并将其解密。

第④步:C 将解密后的梯度分别回传给 A 和 B,A 和 B 根据梯度更新各自模型的参数。

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

  • 第三部分:效果激励。

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

联邦学习优势

  1. 数据隔离,数据不会泄露到外部,满足用户隐私保护和数据安全的需求;
  2. 能够保证模型质量无损,不会出现负迁移,保证联邦模型比割裂的独立模型效果好;
  3. 参与者地位对等,能够实现公平合作;
  4. 能够保证参与各方在保持独立性的情况下,进行信息与模型参数的加密交换,并同时获得成长。

联邦学习分类

联邦学习(Federated Learning, a.k.a. Federated Machine Learning)可以分为三类:

  • 横向联邦学习(Horizontal Federated Learning)
  • 纵向联邦学习(Vertical Federated Learning)
  • 联邦迁移学习(Federated Transfer Learning)

横向联邦学习

数据矩阵(也可以是表格,例如,Excel表格)的横向的一行表示一条训练样本,纵向的一列表示一个数据特征(或者标签)。通常用表格查看数据(例如,病例数据),用一行表示一条训练样本比较好,因为可能有很多条数据。

横向联邦学习,适用于参与者的数据特征重叠较多,而样本ID重叠较少的情况。

比如有两家不同地区的银行,它们的用户群体分别来自各自所在的地区,相互的交集很小。但是,它们的业务很相似,因此,记录的用户特征是相同的。此时,我们就可以使用横向联邦学习来构建联合模型。

“横向”二字来源于数据的“横向划分(horizontal partitioning, a.k.a. sharding)”。如图1所示例,联合多个参与者的具有相同特征的多行样本进行联邦学习,即各个参与者的训练数据是横向划分的,称为横向联邦学习。图2给出了一个横向划分表格的示例。横向联邦使训练样本的总数量增加

横向联邦学习也称为特征对齐的联邦学习(Feature-Aligned Federated Learning),即横向联邦学习的参与者的数据特征是对齐的,如图3所示例。“特征对齐的联邦学习”这个名字有点长,还是用“横向联邦学习”比较好。

图1 横向联邦学习示例,横向联邦使训练样本量增大

图2 横向(按行)划分数据示例 

图3 横向联邦学习,也称为特征对齐的联邦学习,横向联邦使训练样本量增大

横向联邦学习的学习过程:

  1. 参与者在本地计算训练梯度,使用加密,差分隐私或秘密共享技术加密梯度的更新,并将加密的结果发送到服务器;
  2. 服务器在不了解有关任何参与者的信息的情况下,聚合各用户的梯度更新模型参数;
  3. 服务器将汇总结果模型发回给各参与者;
  4. 各参与者使用解密的梯度更新各自的模型。

纵向联邦学习

纵向联邦学习,适用于参与者训练样本ID重叠较多,而数据特征重叠较少的情况。

比如有两个不同的机构,一家是某地的银行,另一家是同一个地方的电商。它们的用户群体很有可能包含该地的大部分居民因此用户的交集较大。但是,由于银行记录的都是用户的收支行为与信用评级,而电商则保有用户的浏览与购买历史,因此它们的用户特征交集较小。

“纵向”二字来源于数据的“纵向划分(vertical partitioning)”。如图4所示例,联合多个参与者的共同样本的不同数据特征进行联邦学习,即各个参与者的训练数据是纵向划分的,称为纵向联邦学习。图5给出了一个纵向划分表格的示例。纵向联邦学习需要先做样本对齐,即找出参与者拥有的共同的样本,也就叫“数据库撞库(entity resolution, a.k.a. entity alignment)”。只有联合多个参与者的共同样本的不同特征进行纵向联邦学习,才有意义。纵向联邦使训练样本的特征维度增多

纵向联邦学习也称为样本对齐的联邦学习(Sample-Aligned Federated Learning),即纵向联邦学习的参与者的训练样本是对齐的,如图6所示例。“样本对齐的联邦学习”这个名字有点长,还是用“纵向联邦学习”比较好。

 图4 纵向联邦学习示例,纵向联邦使训练数据特征维度增加

图5 纵向(按列)划分数据示例

图6 纵向联邦学习,也称为样本对齐的联邦学习,纵向联邦使训练数据特征维度增加

纵向联邦学习的学习过程:

第一步:第三方C加密样本对齐。是在系统级做这件事,因此在企业感知层面不会暴露非交叉用户。

第二步:对齐样本进行模型加密训练:

  1. 合作者C创建加密对,将公钥发送给A和B;
  2. A和B分别计算和自己相关的特征中间结果,并加密交互,用来求得各自梯度和损失;
  3. A和B分别计算各自加密后的梯度并添加掩码发送给C,同时B计算加密后的损失发送给C;
  4. C解密梯度和损失后回传给A和B,A、B去除掩码并更新模型。

联邦迁移学习

联邦迁移学习,适用于参与者训练样本ID和数据特征重叠都较少的情况。

我们不对数据进行切分,而利用迁移学习来克服数据或标签不足的情况。这种方法叫做联邦迁移学习。

比如有两个不同机构,一家是位于中国的银行,另一家是位于美国的电商。由于受地域限制,这两家机构的用户群体交集很小。同时,由于机构类型的不同,二者的数据特征也只有小部分重合。在这种情况下,要想进行有效的联邦学习,就必须引入迁移学习,来解决单边数据规模小和标签样本少的问题,从而提升模型的效果。

小节

横向联邦学习的名称来源于训练数据的“横向划分”,也就是数据矩阵或者表格的按行(横向)划分。不同行的数据有相同的数据特征,即数据特征是对齐的。

纵向联邦学习的名称来源于训练数据的“纵向划分”,也就是数据矩阵或者表格的按列(纵向)划分。不同列的数据有相同的样本ID,即训练样本是对齐的。

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

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

机器学习(Machine Learning)

简介 bili 吴恩达 机器学习 这是一门让计算机在没有明确编程的情况下学习的科学。 亚瑟塞缪尔(1959):赋予计算机学习能力而不被明确编程的研究领域。 机器学习作为人工智能的一个子领域。专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或…

机器学习丨监督学习与无监督学习

较为通俗易懂的参考:2 监督学习与无监督学习 表述比较清晰的参考:监督学习和无监督学习的区别 前言 机器学习算法最主要两个分类就是监督学习、无监督学习。(此外强化学习和推荐系统也都是机器学习算法的一员)(强化学…

深度学习面试题

深度学习面试题 1.深度学习常用算法,及相应应用场景有哪些2.什么数据集不合适做深度学习3.如何确定CNN卷积核通道数和卷积输出层的通道数4.什么是卷积5.什么是CNN的池化层(pool)6.CNN常用的几个模型7.CNN的特点以及优势8.卷积神经网络CNN中池…

机器学习的实验

目录 BP神经网络预测波士顿房价 1. 神经网络基本概念 1.1概念 1.2发展 CNN RNN GAN 2.神经网络基本框架 2.1单元/神经元 2.2 连接/权重/参数 2.3偏置项 2.4超参数 2.5激活函数 2.6层 3.神经网络算法 4.算法方案 5. 实验 6.参考文献 BP神经网络预测波士顿房价 …

联邦学习概述

本博客地址:https://security.blog.csdn.net/article/details/122779883 一、联邦学习的定义与应用场景 联邦学习是从技术维度出发,重点研究其中的隐私保护和数据安全问题的一种技术。其旨在建立一个基于分布数据集的联邦学习模型。 对于联邦学习的过…

基于Pytorch的深度学习激励函数总结

基于Pytorch的深度学习激励函数总结 1 激励函数定义2 常见激励函数2.1 Threshold函数2.1.1 数学定义2.1.2 常见性质2.1.3 Pytorch实现 2.2 Tanh函数2.2.1 数学定义2.2.2 常见性质2.2.3 Pytorch实现 2.3 Sigmoid函数2.3.1 数学定义2.3.2 常见性质2.3.3 Pytorch实现 2.4 ReLU函数…

机器学习、深度学习项目开发业务数据场景梳理汇总记录一

本文的主要作用是对历史项目开发过程中接触到的业务数据进行整体的汇总梳理,文章会随着项目的开发推进不断更新。 一、MSTAR雷达影像数据 MSTAR(Moving and Stationary Target Acquisition and Recognition)雷达影像数据集是一种常用的合成孔…

ps模糊照片变清晰步骤东方逐梦

ps把模糊照片变清晰步骤 1.打开照片双击解锁图层 2.CtelJ复制图层选择滤镜—>锐化—>USM锐化(按照以下步骤设置) 3.图像模式lab颜色合并图层 4.继续复制已经合并的图层进行一下操作 5.选中通道中明度继续SUM锐化半径选择1.2数量150%确定 6.回到原…

照片放大后怎么变清晰?

照片放大后怎么变清晰?在电脑使用的过程中,都避免不了需要将尺寸较小的照片进行放大处理,使用正常的方法将图片放大后(例如用ps将照片放大),照片的清晰度或多或少都会受到一些影响,画质变差失真…

【雕爷学编程】Arduino动手做(201)---行空板硬件控制之板载光线传感器

37款传感器与模块的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是不止37种的。鉴于本人手头积累了一些传感器和执行器模块,依照实践出真知(一定要动手做)的理念,以学习和交流为目的&#x…

Acrel-2000E/B配电室综合监控系统的应用

摘要:Acrel-2000E/B配电室综合监控系统是以智能控制为核心,通过物联网技术的集成应用,来实现配电室内环境的全天候状态监视和智能控制。针对经开第一大街南一所项目的要求,系统实现了环境数据监测和设备控制,起到了预防…

智头条:萤石拟科创板上市将投18.5亿建厂,Matter智能家居标准延迟至明年,涂鸦、公牛、极米等企业发布

  本栏目由智能产业专业媒体【智哪儿】出品。 1、行业 ① 萤石拟18.5亿建厂 将从海康威视分拆上市 8月10日,海康威视公告两项重磅消息,其一是分拆子公司萤石至科创板上市;其二是萤石将以自筹资金投18.50亿元&a…

既要便捷、安全+智能,也要颜值,萤石发布北斗星人脸锁DL30F和极光人脸视频锁Y3000FV

1. 视频、视觉人脸识别技术助推智能锁进入主动安全时代 智能锁经历了从电子密码、指纹、指静脉到人脸识别阶段,随着人脸识别技术的成熟,越来越多的主流厂商开始主推人脸识别智能门锁,与其他技术相比,人脸识别智能锁无疑从安全性和…

Web端接入萤石云平台的视频数据

前言 因为项目需要在Web和App上展示实时视频流信息,所以之前做项目时尝试了很多方法。有用vlc插件播放的(由于使用到了插件,所以安卓App、微信小程序都不能显示视频,最后也放弃了),也有使用海康威视Web开发包开发的。但是最简单的…

EasyCVR视频通道名称出现乱码是什么原因导致的?如何修复?

大家知道EasyCVR视频智能监控平台支持摄像机的RTSP、GB28181、和Ehome的接入,同时会对接入上来的视频信息进行同步的更新和反馈,因此视频通道的名称是实时更新的,当通道变化,名称也会随之重新生成。 在实际的使用过程中&#xff…

鸭蛋大小,灵巧设计,萤石全无线智能家居电池摄像机BC2上手体验

在智能家居场景中,安防一直是一个核心需求,无论是照看小孩、监看宠物、还是看家护院,智能家居摄像机有着无可替代的作用。但在实际运用场景中,往往因为传统摄像机安装布线麻烦、摄像机外型比较大等客观因素,将很多原本…

Web端与移动端接入萤石云平台的视频数据

前言 因为项目需要在Web和App上展示实时视频流信息,所以之前做项目时尝试了很多方法。有用vlc插件播放的(由于使用到了插件,所以安卓App、微信小程序都不能显示视频,最后也放弃了),也有使用海康威视Web开发包开发的。但是最简单的…

萤石春季发布会:4+N产品体系再升级EZVIZ Connect连接智能生活

3月18日,以“智家新生,萤领未来”为主题的萤石智能家居2022春季发布会在线上召开。本次发布会除了带来全无线电池摄像机、智能门铃、视频锁、玲珑面板、Wi-Fi6全屋覆盖方案等突破性创新产品外,还发布了新一代智能中控屏SP4,并通过…

html控制萤石云摄像头转动,怎么控制云台转动 ?

您好,目前萤石摄像机中只有C6系列(除C6P)、XP1、CP1、C8系列支持控制云台转动。您可以通过如下三种方式来控制设备云台转动: ◆ 方法一(萤石云视频APP): 1、登录萤石云视频手机APP,在“萤石”页签,点击摄像机的视频封面…

软工导论知识框架(七)面向对象设计

一.设计准则 分析:提取、整理用户需求,建立问题域精确模型。设计:转变需求为系统实现方案,建立求解域模型。 在实际的软件开发过程中分析和设计的界限是模糊的,分析和设计活动是一个多次反复迭代的过程。分析的结果可…