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

出自——联邦学习综述:概念、技术、应用与挑战。梁天恺 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) 相较于其他加密算法,同态加密的最大优势 在于在计算过程中不需要频繁进行加解密的操作,可以直接对密文进行计算,且计算结果解密后得到的值,与直接使用 明文计算得到的结果一致,有效提高了计算效率。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

电动车窗开关中MOS管的应用解析

随着科技的不断发展,电动车窗系统已经成为现代汽车中不可或缺的一部分。而MOS(金属氧化物半导体)管的应用,为电动车窗开关注入了新的活力,极大地提高了其使用寿命和安全性。 一、MOS的优越性能 MOS管以其卓越的开关…

磁盘无法访问?别慌,这里有解决之道!

电脑中,那块储存着重要文件与数据的磁盘,突然之间无法访问,是不是让你感到惊慌失措?面对这样的突发状况,很多人可能会感到手足无措。但别担心,本文将为你解析磁盘无法访问的原因,并提供实用的数…

小文件问题及GlusterFS的瓶颈

01海量小文件存储的挑战 为了解决海量小文件的存储问题,必须采用分布式存储,目前分布式存储主要采用两种架构:集中式元数据管理架构和去中心化架构。 (1)集中式元数据架构: 典型的集中式元数据架构的分布式存储有GFS&#xff0…

代码讲解:如何把3D数据转换成旋转的视频?

目录 3D数据集下载 读取binvox文件 使用matplotlib创建图 动画效果 完整代码 3D数据集下载 这里以shapenet数据集为例,可以访问外网的可以去直接申请下载;我也准备了一个备份在百度网盘的数据集,可以参考: ShapeNet简介和下…

Leetcode 54. 螺旋矩阵

题目描述: 给你一个 m 行 n 列的矩阵 matrix ,请按照 顺时针螺旋顺序 ,返回矩阵中的所有元素。 示例 1: 输入:matrix [[1,2,3],[4,5,6],[7,8,9]] 输出:[1,2,3,6,9,8,7,4,5] 示例 2: 输入&a…

Linux文件系列: 深入理解缓冲区和C标准库的简单模拟实现

Linux文件系列: 深入理解缓冲区和C标准库的简易模拟实现 一.缓冲区的概念和作用二.一个样例三.理解样例1.样例解释2.什么是刷新? 四.简易模拟实现C标准库1.我们要实现的大致框架2.mylib.h的实现1.文件结构体的定义2.myfopen等等函数的声明3.完整mylib.h代码 3.myfopen函数的实…

备战蓝桥杯Day25 - 二叉搜索树

一、基本概念 二叉搜索树(Binary Search Tree),又称为二叉查找树或二叉排序树,是一种具有特定性质的二叉树。 定义:二叉搜索树可以是一棵空树,也可以是具有以下特性的非空二叉树: 若其左子树不…

MAC OS 14.2.1 ASP.NET Core 调试遇到的端口占用的问题

一、问题描述 在调试 ASP.NET Core 项目时,遇到一个很奇怪的问题,不管项目是否已经运行,使用 Postman 测试接口时,都返回 403 Forbidden。重启电脑,刚开始还好好的,过一会儿就返回 403 Forbidden。 二、问…

AOP切面编程,以及自定义注解实现切面

AOP切面编程 通知类型表达式重用表达式切面优先级使用注解开发,加上注解实现某些功能 简介 动态代理分为JDK动态代理和cglib动态代理当目标类有接口的情况使用JDK动态代理和cglib动态代理,没有接口时只能使用cglib动态代理JDK动态代理动态生成的代理类…

2024蓝桥杯每日一题(双指针)

一、第一题:牛的学术圈 解题思路:双指针贪心 仔细思考可以知道,写一篇综述最多在原来的H指数的基础上1,所以基本方法可以是先求出原始的H指数,然后分类讨论怎么样提升H指数。 【Python程序代码】 n,l map(int,…

一篇文章搞定数字电桥

大家好,我是砖一。 最近做项目过程中,有一个应届生问我怎么测电容和电感,我推荐他使用数字电桥(也叫LCR表),他不会用,今天我写了一篇文章供小白们参考一下,包学会~ 一,…

WebRTC简介及实战应用 — 从0到1实现实时音视频聊天等功能

一、WebRTC简介 WebRTC 是由一家名为 Gobal IP Solutions,简称 GIPS 的瑞典公司开发的。Google 在 2011 年收购了 GIPS,并将其源代码开源。然后又与 IETF 和 W3C 的相关标准机构合作,以确保行业达成共识。其中: Web Real-Time Communications (WEBRTC) W3C 组织:定义浏览…

【npm】node包管理工具npm的介绍和基础使用

简言 npm 是 Node.js 的 包管理器(Package Manager),它是专门用于管理 Node.js 项目中第三方库的工具。 本文介绍下npm和其使用方法。 npm介绍 npm 是世界上最大的软件注册中心。各大洲的开源开发者都使用 npm 共享和借用软件包&#xff…

开源组件安全风险及应对

在软件开发的过程中,为了提升开发效率、软件质量和稳定性,并降低开发成本,使用开源组件是开发人员的不二选择(实际上,所有软件开发技术的演进都是为了能够更短时间、更低成本地构建软件)。这里的开源组件指…

Spring事件发布监听器ApplicationListener原理- 观察者模式

据说监听器模式也是mq实现的原理, 不过mq我还没来得及深入学习, 先用spring来理解一下吧 Spring事件发布监听器ApplicationListener原理- 观察者模式 什么是观察者模式一个Demo深入认识一下观察者模式Spring中的事件发布监听ps 什么是观察者模式 大家都听过一个故事叫做烽火戏…

Git学习笔记(流程图+示例)

概念 图中左侧为工作区,右侧为版本库。Git 的版本库里存了很多东西,其中最重要的就是暂存区。 • 在创建 Git 版本库时,Git 会为我们自动创建一个唯一的 master 分支,以及指向 master 的一个指 针叫 HEAD。(分支和HEAD…

设计模式-结构型模式-代理模式

代理模式(Proxy),为其他对象提供一种代理以控制对这个对象的访问。[DP] // 定义接口 interface Subject {void request(); }// 真实主题对象 class RealSubject implements Subject {Overridepublic void request() {System.out.println(&quo…

redis使用笔记

redis使用笔记 1、Redis简介1.1 含义1.2 功能1.3 特点 2. 常用的数据结构2.1 HASH 3 redis接口定义3.1 redisReply3.2 redisContext3.3 redisCommand 4 实践操作4.1 遇到问题4.1.1 Get哈希的时候返回error4.1.2 长度一直为0,str没法打印(未解决&#xff…

享受当下,2024,一顺百顺!

永远都不要提前焦虑, 也不要一直烦恼, 更不要被当前的情绪耗尽, 那样会对自己的身体造成严重的伤害, 自己只需要好好享受当下就行了。 车到山前必有路,关关难过关关过! 不要执着于过去,也不要过…

10-ARM gicv3/gicv4的总结-基础篇

目录 1、gic的版本2、GICv3/gicv4的模型图3、gic中断号的划分4、GIC连接方式5、gic的状态6、gic框架7、gic Configuring推荐 本文转自 周贺贺,baron,代码改变世界ctw,Arm精选, armv8/armv9,trustzone/tee,s…