【联邦学习综述:概念、技术】

news2024/11/19 3:33:59

出自——联邦学习综述:概念、技术、应用与挑战。梁天恺 1*,曾 碧 2,陈 光 1

从两个方面保护隐私数据

硬件层面

  • 可 信 执 行 环 境 (Trusted Execution Environment,TEE)
  • 边 缘 计 算(Edge Computing,EC)

软件层面

  • 在数据以及通信层面对数据进行加密
    • 网 络 安 全 通 信 协 议
    • 密 码 学 技 术
    • 后 量 子 密 码

联邦学习的出现

集中式学习

此模式下,所有终端的数据需要被传输到主服务器上,由主 服务器基于收集到的数据执行机器学习任务,即数据会被移 动到主服务器,而模型以及模型的训练过程则被固定在主服 务器上,称“模型不动,数据动”。
在这里插入图片描述
面临的问题:集 中 式 学 习 虽 然 在 传 输 数 据 的 过 程 中 使用了密码学进行加密,但是依旧面临着被破解的可能性, 存 在 一 定 的 数 据 安 全 隐 患。

分布式学习

分布式现场学习的提出解决了数据安全和隐私保护的 问题,主要思路是一个系统的数据分别在来源端各自执行机 器 学 习 任 务 ,最 为 典 型 的 例 子 就 是 边 缘 计 算

边缘计算是分布式现场学习的一种实现方式,思路是把需要分析的数据限制在设备的边缘环境中进行现场学习,并将最终的学习结果汇聚到主服务器进行汇总和存储

优点:
无需将敏感数据传输到主服务器进行学习,降低了敏感信息的流通率。
缺点:
由于各方缺乏数据上的沟通,导致一个系统内的数 据无法交汇融合,无法得到最大的发挥,同时导致各方所学习到的知识过于片面,模型缺乏全局性和泛化能力

联邦学习的定义与分类

定义

联邦学习是一种“数据不动,模型动”的学习模式。
在联邦学习的过程中,各参与方不需要交换样本数据及其变体,仅需要交换与模型相关的中间数据及其变体,然后由主服务器将中间数据进行安全聚合并反馈给参与方;参与方则负责根据聚合后的模型信息进行己方模型的更新,有效保证 了各参与方的敏感数据的安全性和隐私性,实现了在融合多个参与方的数据所蕴含的知识的同时保护隐私数据。
在这里插入图片描述

分类

横向联邦学习

横向联邦学习(Horizontal Federated Learning,HFL)指的是两个参与方的数据集存在较大的特征空间重叠的情况。此模式下,设定前提为各参与方的数据都是具备标签空间的。

在横向联邦 学习模式下,用户设备会把本地模型的模型信息传输到主服 务器,主服务器将所有的模型信息进行安全聚合,并将聚合 信息加密后广播给所有的用户设备,最后用户设备会根据主 服 务 器 的 聚 合 信 息 来 更 新 自 身 的 本 地 模 型。
在这里插入图片描述

主要步骤
  • 步骤 1 参与方根据自身数据集,构建本地模型。
  • 步骤 2 参与方将本地模型的模型信息,如梯度,使用 加密算法进行加密,如同态加密,然后把加密后的模型信息 发送给主服务器。
  • 步骤 3 主服务器根据参与方的模型信息进行安全聚 合 ,常 见 的 安 全 聚 合 算 法 有 联 邦 平 均 算 法(Federated Averaging algorithm,FedAvg)以及异构联邦模型的联邦优化 (Federated Optimization in Heterogeneous Network,FedProx) 算法等。
  • 步骤 4 主服务器将聚合后的信息广播给所有参与方。
  • 步骤 5 参与方对主服务器传来的聚合信息进行解密, 据此更新本地模型。
    重复以上步骤,直至达到预设的停止条件。
    在这里插入图片描述
    优点:能在不得知其他参与方源数据的情况下实现各方知识的交换
    缺点:横向联邦不适用于各参与方之间特征空间差异较大的跨领域联邦学习的情况

纵向联邦学习

在具有较多样本数据重叠的参与方之间执行的联邦学习任务,称纵向联邦学习(Vertical Federated Learning, VFL)。此模式下,设定前提为只有一个参与 方 的 数 据 具 备 标 签 空 间 ,其 余 参 与 方 的 数 据 不 具 备 标 签 空 间。然而,在现实生活中,还可能存在两个在样本空间以及 特征空间均存在较小重叠的数据集,此种情况下需要使用联邦迁移学习(Federated Transfer Learning, FTL)。
在这里插入图片描述

例子

纵向联邦学习更适合执行跨行业跨领域的机器学习任 务,如微视与广告商合作提出的联邦广告投放系统。在此系 统中,微视具备包括用户画像和用户点播记录等数据,广告 平台则具备广告信息、产品信息以及用户购买记录等数据; 可见双方的数据集的特征空间截然不同,但是可能存在相同 用户。在此情况下,纵向联邦学习可以在不泄露、不交换双 方样本数据的同时聚合双方的数据特征和知识特征,构建出 一个联邦推荐模型,在提高微视用户的体验度和广告收益的 同时提高广告方的营销收益,实现双赢局面。
在这里插入图片描述

主要步骤
  • 步骤 1 数据对齐。数据对齐的目的是在保护各参与方隐私和数据安全的前提下,找到共同样本并给予共同样本执行联邦学习任务。常见的数据对齐方法有 Li 等提出的算法。(隐私求交)
  • 步骤 2 主服务器发送公钥给各参与方,同时参与方基于共同样本构建初始本地模型;然后将加密后的模型信息, 如梯度、损失值等,发送给主服务器。
  • 步骤 3 主服务器解密参与方的模型信息,同时计算参与方更新模型所必须的计算结果,并传送回参与方。
  • 步骤 4 参与方根据主服务器的计算结果,更新本地模型;同时各方会把中间计算结果共享给其他参与方,用于协助对方计算梯度和损失值等模型信息。
  • 步骤 5-1 对于部分纵向联邦学习算法,参与方还会将 本地模型的模型标识发送给主服务器保存,以便在预测过程 中主服务器知道需要将新数据发送至哪些参与方进行联邦 预测。如 secureBoost 算法中,参与方会把[记录 id,特征,阈 值]以及分割后的样本空间告知主服务器;同时,主服务器会 将当前的处理节点与参与方的划分信息进行关联。因此只有主服务器清楚整棵决策树的结构 ,当有新样本需要预测时,主服务器会将数据发至当前节点所关联的参与方,让参与方利用本地模型计算阈值 ,得知下一步的树搜索方向。
  • 步骤 5-2 特别地,部分需要全体参与方参与预测的纵 向联邦学习算法,如安全联邦线性回归,则不需要参与方告 知主服务器必要的模型标识

联邦迁移学习

学习模式可被总 结为:使用某参与方在当前迭代中已训练好的模型参数,迁 移到另外一个参与方上,协助它进行新一轮模型的训练。典 型 的 联 邦 迁 移 学 习 的 架 构 如 图 8 所 示
在这里插入图片描述

步骤
  • 步骤 1 参与方根据自身数据集构建本地模型。
  • 步骤 2 参与方分别运行各自的本地模型,获得数据表 征,以及一组中间结果,加密后发送给对方。
  • 步骤 3 对方利用接收到的中间结果计算模型的加密梯 度和损失值,加入掩码后发给原参与方。
  • 步骤 4 各方对接收到的信息进行解密后发回给对方, 然后各方利用发解密后的模型信息更新各自的模型。
    不 断 重 复 以 上 步 骤 ,直 至 损 失 收 敛 为 止 。

联邦学习的隐私安全

联邦学习除了解决数据孤岛问题,使得各方数据可以进行联合学习外,还必须解决数据安全问题,实现各方的隐私保护。

安全模型

安全模型是评价一个联邦学习系统是否满足隐私保护 要求的标准之一,要求一个安全的联邦学习系统应当满足以 下几个安全属性
1)隐私性。要求能有效保证系统内部各方的数据安全 和隐私安全。
2)正确性。每个参与方都能输出计算结果,且计算结果 是正确的。
3)公平性。系统能公平看待各方的计算贡献,公平地进 行计算结果的聚合。

攻击模式

  1. 源自服务器的攻击
    • 一个诚实但好奇的服务器会试图从参与方的模型更新 信息中反推出参与方的隐私数据特点等,但不会提供负反馈 信息给参与者,使其错误地更改本地模型。
    • 恶意服务器不仅会试图从参与方的模型更新信息中反推出参与方 的隐私数据特点等,还会恶意篡改聚合模型,或者提供错误 的信息给参与方,破坏参与方的模型性能
    • 混合的服务器敌 手则同时或者不间断地充当诚实但好奇的服务器敌手和恶 意的服务器敌手。
  2. 源自参与者的攻击
    • 有的参与者是诚实但好奇的,它希望窃听其他参与方以 及主服务器共享的数据信息,以期从中推理出某些有用的信息。
    • 还有恶 意的参与者存在,他们的主要目的是反馈错误的模型信息到 主 服 务 器 ,使得联邦模型向着消极的方向更新迭代
    • 同样地,也存在混合类型的敌对参与方
  3. 源自外部的攻击
    • 参与者和服务器之间通信更新时,通道上可能存在外部 窃 听 者 窃 听 信 息 ,并 由 此 反 推 出 一 些 有 关 模 型 等 的 隐 私 数 据,造成联邦内部的通信安全威胁。
  4. 源自系统漏洞的攻击
    • 联邦学习系统本身也可能存在潜在的安全薄弱点,比如 系统架构设计不合理等。这些源自系统的漏洞使得攻击者 可以发起数据攻击以及模型攻击:
    • 数据攻击 主要是指参与者恶意修改数据标签或中间 信息,破坏联邦学习的过程。
    • 模型更新攻击 通过恶意地恶化本地模型,破坏全局模 型的性能。

隐私保护

不经意传输(Oblivious Transfer,OT) 发送方把多条数据基于不同的密钥加密, 并将所有公钥发送给接收方,接收方按需使用特定的公钥生 成随机数,双方再分别进行异或运算等,最后接收方只会得 到特定数据的明文信息,其余数据的运算结果为乱码。

混淆电路(Garbled Circuit,GC) 属于不经意传输的一种应用,基本思路是: 根据运算函数设计出一个电路,加密方首先对该电路进行加 密,即加密方负责电路的生成任务。解密方在不能得知原始 电路的情况下,双方通过不经意传输使得解密方可以获得相应的数据,即解密方负责电路的解密任务。

秘密共享(Secret Sharing,SS) 基本思路是化整为散,将需要计算的秘密分 割成多份小秘密,分别分发给若干个参与方进行处理,最后 将结果进行聚合。在此设计下,因为各方只得到了一小部分 的秘密,无法重构出真实的秘密,保证了数据的安全性和隐私性。

隐私集合交集(Private Set Intersection,PSI) 是一种基于多方的单独输入寻找多方 数据的交集,并返回给特定方的技术。隐私集合交集技术常被用于联邦学习的数据对齐任务中。

差分隐私(Differential Privacy, DP) 基本思路是针对需要保密的数据加入噪声 的处理。该动作虽然有效保护了数据的安全性与隐私性,但噪声的加入会对计算结果产生一定的影响。

同态加密(Homomorphic Encryption,HE) 相较于其他加密算法,同态加密的最大优势 在于在计算过程中不需要频繁进行加解密的操作,可以直接对密文进行计算,且计算结果解密后得到的值,与直接使用 明文计算得到的结果一致,有效提高了计算效率。

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

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

相关文章

如何成为一名优秀的项目管理者?

如何成为一名优秀的项目管理者? 在一个项目团队里,经常会有很多不同的声音: 有人说:“好的项目管理者就要做打杂的,什么都不用干,什么杂事他都能干”;有人说:“项目管理者经常受到…

vue ui Starting GUI 图形化配置web新项目

前言:在vue框架里面, 以往大家都是习惯用命令行 vue create 、vue init webpack创建新前端项目,而vue ui是一个可视化的图形界面,对于新手来说更加友好了,不但可以创建、管理、还可以更新vue项目,也可以下载…

mabatis 中

手动实现MaBatis底层机制 实现任务阶段一🍍完成读取配置文件, 得到数据库连接🥦分析 代码实现🥦完成测试 实现任务阶段二🍍编写执行器, 输入SQL语句, 完成操作🥦分析 代码实现🥦完成测试 实现任务阶段三&…

基于PHP的餐厅管理系统APP设计与实现

目 录 摘 要 I Abstract II 引 言 1 1 相关技术 3 1.1 MVC 3 1.2 ThinkPHP 3 1.3 MySQL数据库 3 1.4 uni-app 4 1.5 本章小结 4 2 系统分析 5 2.1 功能需求 5 2.2 用例分析 7 2.3 非功能需求 8 2.4 本章小结 8 3 系统设计 9 3.1 系统总体设计 9 3.2 系统详细设计 10 3.3 本章小…

数字图像处理—python

pycahem终端也可以下载库,我只会用终端下载,用的镜像网站 pip install torch -i https://pypi.tuna.tsinghua.edu.cn/simple pip install scikit-image -i https://pypi.tuna.tsinghua.edu.cn/simple. pip install matplotlib -i https://pypi.tuna.tsinghua.edu.c…

超标量与多发射和超长指令字设计

前言 大家好我是jiantaoyab,这是我所总结作为学习的笔记第11篇,在这里分享给大家,这篇文章讲超标量与多发射和超长指令字设计,前面文章提到的书籍的pdf大家没有的话可以私信找我要! 《计算机组成与设计:硬件 / 软件接口》中4.10…

什么是PLC设备数据采集?

在当今工业4.0和智能制造的大背景下,数据的价值日益凸显。特别是对于PLC(可编程逻辑控制器)这类核心工业设备,数据采集显得尤为重要。那么,究竟什么是PLC设备数据采集?它又有何价值呢?今天&…

Python打印Linux系统中最常用的linux命令之示例

一、Linux中的~/.bash_history文件说明: 该文件保存了linux系统中运行过的命令的历史。使用该文件来获取命令的列表,并统计命令的执行次数。统计时,只统计命令的名称,以不同参数调用相同的命令也视为同一命令。 二、示例代码&am…

一篇搞定mysql数据库基础

目录 一、MySQL具体的特点 1.关系型数据库(RDBMS): 2.MySQL是一个“客户端-服务器”结构的程序 Q1:服务器能不能知道客户端什么时候发请求?? Q2:服务器是只给一个客户端提供服务吗?? 二、M…

靶场:sql-less-18——sqlmap爆库的操作

本文操作环境:KaLi-Linux 靶场链接:Less-18 Header Injection- Error Based- string 1、打开靶场,挂好代理,使用bp抓包 2、复制抓包的数据内容,在kali-Linux中新建文档复制保存 3、打开命令窗口:确定注入点…

【更新】数字金融与企业ESG表现:效应、机制与“漂绿”检验数据集(2011-2022年)

参照温亚东(2024)的做法,本团队对来自统计与决策《数字金融与企业ESG表现:效应、机制与"漂绿"检验》一文中的基准回归部分进行复刻 一、数据介绍 数据名称:数字金融与企业ESG表现 参考期刊:《统…

Linux--编译链接的过程

一.gcc,g,gdb安装 命令行写gcc,g,gdb根据提示安装: sudo apt install gcc/g/gdb 二.gcc分布编译链接 编译链接的过程:(面试过程一个大的问题) (1)预编译: gcc -E main.c -o main.i 用gcc预编译main.c输出main.i(2)编译: gcc -S main.i -o main.s(3)汇编…

Java学习笔记(10)

学生管理系统项目 package exercise;import java.util.ArrayList; import java.util.Scanner;public class StudentProgramme {public static void main(String[] args) {ArrayList<Student> studentArrayList new ArrayList<>();Student newStudent new Student…

Linux——文件标识符

目录 一、文件基础 二、常见的C语言文件接口 三、系统文件接口 四、理解语言与系统文件操作的关系 五、如何理解一切皆文件 六、文件标识符再理解 一、文件基础 一个空文件&#xff0c;也会占用磁盘空间&#xff0c;这是因为文件不仅仅有存放在里面的内容&#xff0c;还…

医学图像分析算法的原理

医学图像分析算法的实现原理涉及数据准备、特征提取、模型选择与训练、模型评估与优化以及部署与应用等多个步骤和技术。通过这些步骤&#xff0c;可以利用机器学习和深度学习技术来帮助医生更准确、更高效地进行医学图像诊断和分析。北京木奇移动技术有限公司&#xff0c;专业…

LeetCode 1315.祖父节点值为偶数的节点和

给你一棵二叉树&#xff0c;请你返回满足以下条件的所有节点的值之和&#xff1a; 该节点的祖父节点的值为偶数。&#xff08;一个节点的祖父节点是指该节点的父节点的父节点。&#xff09; 如果不存在祖父节点值为偶数的节点&#xff0c;那么返回 0 。 示例&#xff1a; 输入…

面试官:MySQL的七种日志

哪七种日志日志&#xff1f; 错误日志&#xff08;error log&#xff09; error log主要记录MySQL在启动、关闭或者运行过程中的错误信息&#xff0c;在MySQL的配置文件my.cnf中&#xff0c; 可以通过log-error/var/log/mysqld.log 执行mysql错误日志的位置。 慢查询日志&a…

重读 Java 设计模式: 解析单例模式,保证唯一实例的创建与应用

本周工作太忙了&#xff0c;变成了加班狗&#xff0c;下班回来也没时间写&#xff0c;只能利用周末时间写了&#x1f62d;。 好了&#xff0c;言归正传&#xff0c;本次我们先来介绍下设计模式中创建型模式-单例模式。 一、引言 单例模式是设计模式中最简单但又最常用的一种模…

【图论】 【割点】 【双连通分类】LCP 54. 夺回据点

本文涉及知识点 图论 割点 双连通分类 割点原理及封装好的割点类 LeetCode LCP 54. 夺回据点 魔物了占领若干据点&#xff0c;这些据点被若干条道路相连接&#xff0c;roads[i] [x, y] 表示编号 x、y 的两个据点通过一条道路连接。 现在勇者要将按照以下原则将这些据点逐一…

Docker容器Docker桌面配置镜像加速

打开Docker Desktop应用程序&#xff0c;点击设置 具体配置如下&#xff1a; {"builder": {"gc": {"defaultKeepStorage": "20GB","enabled": true}},"experimental": false,"features": {"buil…