隐私保护与联邦学习文献阅读

news/2025/9/27 20:42:08/文章来源:https://www.cnblogs.com/zbhly/p/19115576

导读

  《Federated Machine Learning: Concept and Applications》

  《A Comprehensive Survey of Privacy-preserving Federated Learning》

  本文主要对上面两篇联邦学习(FL)综述文章进行了概括总结。

1、FL概念与分类

 FL的定义

   定义:联邦学习允许多个客户端在不交换原始数据的情况下协作训练全局模型,其目标是控制模型精度损失在可接受范围内,以实现数据隐私保护与模型性能的平衡。

   δ-Accuracy:FL在分布式节点协作得到的模型与传统数据集合上训练的模型精度的差值在δ以内,则说明该FL具有δ-精度损失。

   有效性:存在至少一个客户端满足联邦学习协作完成的模型所得到的精度要比这个客户端在本地训练的模型精度要高。

 FL的训练过程

  FL系统两个主要角色:客户端、服务器。

  训练过程:

   Step1.服务器初始化模型、权重,分配任务,激活客户端。

   Step2.在客户端进行本地模型训练和更新。客户端接收全局模型信息并使用本地数据集更新本地模型参数,完成训练后将本地模型参数发送到服务器融合。

   Step3.服务器全局模型融合和更新。服务器首先聚合所选客户端发送的信息,然后将更新的信息发送回客户端,最终目标是获得全局最优模型参数。

  满足终止条件(到达迭代次数或者准确度大于阈值),服务器终止训练,聚合更新并将全局模型分发给所有客户端。

 伪代码分析

  服务器从n个客户端中随机选择m个客户端组成集合进行训练,根据选中的m个客户端的本地模型返回的权重按本地数据量加权平均聚合,一共进行R轮。

  被选中的客户端将训练后的模型参数和本地数据量返回给服务器。

             image

 FL的分类

  水平联邦学习不同参与者的数据在特征空间上相似,但在样本空间上不同。类比:不同银行的用户特征相似(年龄、收入),但用户群体不同。通信架构:客户端-服务器(c-s)、点对点(p2p)

  水平联邦可以划分为client-serverpeer-to-peer架构。客户端-服务器体系结构使用集中计算,因为有一个中央服务器用于编排整个训练过程。点对点架构使用去中心化计算,因为没有中心服务器,每轮训练中都会随机选择一个客户端作为服务器。

  k个具有相同数据结构的参与者在参数或云服务器的帮助下协作学习机器学习模型。过程分四步:

  Step 1: 参与者在本地计算训练梯度,使用加密,差分隐私或秘密共享技术掩盖梯度的选择,并将掩蔽的结果发送到服务器;

  Step 2: 服务器执行安全聚合(在不了解有关任何参与的信息情况下);

  Step 3: 服务器将汇总结果发回给参与者;

  Step 4: 参与者使用解密的梯度更新各自的模型。

  peer-to-peer架构有两种通信协议: 1、循环传输。客户端组织成一个循环链,依照链的顺序发送更新模型,满足终止条件后停止训练。 2、随机传输。在这个协议中,客户随机挑选另一个客户并发送模型信息,后者收到信息后使用本地数据集更新收到的信息,然后同样随机发送给别的客户机。直到满足停止条件后停止。

  垂直联邦学习不同参与者的数据在样本空间上相似,但在特征空间上不同。类比:同一地区的银行和电商,用户群相同,但特征不同。通信架构:有/无第三方协调器。

  有第三方:C1和C2不直接交换敏感信息,通过C3中转。计算和通信的负担部分转移给了C3。安全性较高,但存在单点故障/信任风险。如果C3被攻破或与某一方合谋,隐私可能泄露。

  无第三方:C1和C2直接进行多轮安全通信。双方需要执行更多的加密、解密和交互步骤。安全性更高。消除了对第三方的依赖,隐私保护完全由密码学协议(同态加密、秘密共享等)保证。

       image

  联邦迁移学习样本和特征空间都很少重叠。可分为3类:基于实例、基于特征、基于参数的FTL

  基于实例:假设源域中数据集中的一些标记实例可以重新加权并应用于目标域中的训练。(水平样本重新加权,垂直提取有好特征的样本)

  基于特征:最小化域差异学习良好的特征表示,从而可以有效地编码从源域到目标域的转换知识。(水平最小化数据集差异,垂直最小化特征差异)

  基于参数:利用源域和目标域模型之间共享的参数或超参数的先验分布来有效地编码转换知识。(水平训练全局模型,根据不同客户端微调。垂直训练对齐标签样本预测模型来预测未对齐标签样本)

 

2、相关概念与工作

  分布式机器学习:分为数据并行、模型并行。数据并行:数据分区,本地训练模型。模型并行:模型划分,在本地用全部数据集进行训练。

  移动边缘计算:通过更靠近边缘用户的地方执行计算任务减少网络的拥塞。因此,它可以为客户快速部署新服务或应用程序。

  分割计算:无需与中央服务器交换数据集。每个用户将一个模型训练切割层。然后将中间参数传输到中央服务器,完成剩余层的训练。

  隐私保护的机器学习:参数服务器将数据存储在分布式工作节点上,通过中央调度节点分配数据和计算资源,从而更有效地训练模型。

  联邦数据库系统:联邦数据库系统在彼此交互的过程中不包含任何隐私保护机制

3、通用隐私保护机制综述

  隐私保护的三种类型的通用隐私保护机制:加密技术、扰动技术和匿名技术

加密技术

  同态加密:一种加密方法,允许在加密后的数据上直接进行计算,而无需先解密数据。分为部分同态加密(只支持+ or *)和完全同态加密(同时支持+ and *)。

  秘密共享:形式为(t,n),即对于n个参与方,至少有t个参与方共享才能够重新重构秘钥。 原理是将秘密分成若干份,交给不同的人去保管,设定管理秘密的一定数量的人贡献出自己持有的秘密,就可以恢复秘密。

  多方安全计算:假设存在 n 个参与方 P1, P2 ... Pn,每个参与方都有一个私有输入数据 Xi,所有参与方共同计算某个函数 f(x1,x2 ... xn),且要求在计算结束时,每个参与方 Pi 只能得到私有输入数据 Xi 的输出,而不能获取其他参与方的输入信息及输出结果信息。

扰动技术

  差分隐私:基于概率统计模型来量化数据集中实例的隐私信息泄露程度。分为全局差分隐私技术和局部差分隐私技术。全局有可信第三方,在查询结果上加噪声。局部无可信第三方,每个用户在本地加噪声。

  加性扰动:加法:通过添加来自特定分布(例如均匀分布或高斯分布)的随机噪声来保护原始数据的隐私。

  乘性扰动:乘法:使用来自特定分布的噪声与原始数据相乘,将原始数据点转换到某个空间。与加性扰动相比,乘性扰动更有效,因为从乘性扰动的扰动数据重建原始数据更困难。

匿名技术

  保持已发布数据的实用性的同时,通过删除可识别信息来实现基于组的匿名化。有三种广泛可用的匿名技术:k-匿名,l-多样性,t-亲密度。这些技术主要是为了结构化数据开发的,包括主要的三个属性:ID,敏感属性,非敏感属性。

隐私保护指标

  1、度量数据集隐私损失的隐私指标。(隐私损失了多少)2、度量受保护数据的效用指标。(数据还有多有用)

4、PPFL分类与综述

5w场景分类法

  WHO:内部参与者(参与客户端和中央服务器)和外部参与者(模型消费者和窃听者)。 风险从高到低依次为:恶意服务器 > 恶意模型使用者 > 恶意客户机 > 窃听者。

  WHAT:被动攻击:被动黑盒攻击和被动白盒攻击。黑盒只能查询结果,而不能访问模型参数或中间训练更新。白盒可以访问中间训练更新、模型参数和查询结果。 主动攻击旨在主动影响训练过程,提取训练数据集的敏感信息。 影响:主动攻击>被动白盒攻击>被动黑盒攻击。

  WHEN:训练阶段、推理阶段。 训练阶段风险主要在模型更新时。 推理阶段风险与最终模型有关。1、基于模型参数的攻击。利用模型参数进行推理攻击,提取参与者训练数据集的敏感信息。2、基于模型查询的攻击。隐私泄露主要是由推理攻击引起的。

  WHERE:权重更新、梯度更新和最终模型。训练过程:梯度/权重泄露风险 传输中的梯度或权重更新源于私有数据,可能被恶意参与者或窃听者获取,用于推断原始信息。 模型聚合:权重分析风险 恶意服务器或参与者可通过分析聚合权重,并比较不同轮次的模型差异,来实施更复杂的属性推断攻击。 模型发布:最终模型泄露风险(最严重)发布的最终模型编码了全部训练数据的特征。

  WHY:隐私攻击的目的通常是推断训练数据集的敏感信息推理攻击可以分为四类: 1、类代表的推理:生成代表样本,这些代表样本不是训练数据集的真实数据实例,但可以用来研究训练数据集的敏感信息;2、成员关系的推断:确定一个数据样本是否已被用于模型训练;3、训练数据的属性推断:对训练数据集的属性信息进行推断;4、推理训练样本和标签:重建原始训练数据样本和相应的标签.

PPFL方法分为四类:基于加密的、基于扰动的、基于匿名的、混合的PPFL方法

  基于加密的PPFL:主要利用加密技术进行隐私保护,可分为三类: 基于同态加密、基于秘密共享、基于安全多方计算的PPFL方法。基于加密的PPFL方法精度无损且安全性高,但计算和通信开销巨大,适用于对隐私要求极高且资源充足的应用场景。

  基于扰动的PPFL:有四种:全局差分隐私、局部差分隐私、加性扰动、乘性扰动。基于扰动的PPFL实现简单,提供可证明的隐私保证,但噪声会降低数据效用,需根据实际需求调整噪声强度。

  基于匿名的PPFL:基于匿名的PPFL能保持较好的数据效用,主要针对结构化数据,隐私保证弱于差分隐私,适合对隐私要求适中的场景。

  混合PPFL的优势:混合PPFL结合多种隐私技术,如先用SMC安全聚合再施加少量DP噪声,旨在平衡隐私、效用和效率,是未来研究的重要方向。

 

5、应用与挑战

应用

  智能医疗:目标:提升疾病诊断等模型的性能。场景:敏感医疗数据分散在各医院,难以集中。联邦学习允许各医院本地训练模型,仅共享模型更新。结合迁移学习 弥补数据标签不足的问题,能充分利用分散数据提升模型性能,推动医疗AI发展。

  智能零售:目标:提供个性化推荐。场景:用户的购买力(银行)、喜好(社交网络)、产品特征(电商)数据分散在三方。联邦学习能在不导出数据的情况下联合三方特征,构建精准推荐模型,实现互利共赢。

  金融风控:目标:检测“多头借贷”等风险。场景:银行A和银行B希望找出共同的借款用户,但不愿暴露各自的全部客户名单。利用联邦学习的加密技术,可以安全地找出重合用户名单,而不会泄露非重合用户的隐私。

挑战:一些潜在的开放研究问题和方向

  1、平衡难题:核心是在数据隐私和模型效用/效率之间找到最佳平衡。添加隐私保护(加密或噪声)通常会降低精度或增加开销。

  2、保护训练数据:需有效保护传输的梯度/权重,防止其泄露原始数据信息。加密法安全但慢,扰动法快速但影响精度,需优化或结合使用。

  3、保护最终模型:需防御从发布的最终模型或API中发起的推理攻击。解决思路包括加密模型、或提供个性化模型而非全局模型。

  4、消除数据记忆:需防止模型“记住”训练数据中的隐私信息。解决方法包括对数据或训练过程进行匿名化处理。

  5、优化与新场景:需优化防御机制效率,并研究在无中心服务器等新架构下的隐私问题。

  6、融合技术:结合多种技术(如差分隐私+安全多方计算)的混合框架是未来主要方向。

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

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

相关文章

Java实习模拟面试|离散数学|概率论|金融英语|数据库实战|职业规划|期末冲刺|今日本科计科要闻速递:技术分享与学习指南 - 实践

Java实习模拟面试|离散数学|概率论|金融英语|数据库实战|职业规划|期末冲刺|今日本科计科要闻速递:技术分享与学习指南 - 实践pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !…

飞扬动力网站建设wordpress管理主体

数据集格式:Pascal VOC格式(不包含分割路径的txt文件和yolo格式的txt文件,仅仅包含jpg图片和对应的xml) 图片数量(jpg文件个数):693 标注数量(xml文件个数):693 标注类别数:6 标注类别名称:["missing_hole",…

2025.9.27

这场比赛还行吧...考的还不错,T1,T2没挂,T3不会,下面给个题解 显然按 \(b_i\) 从大到小选,因为这样减的最少,而因为我们认为他们是有用的,所以不用考虑 \(c_i\) 的限制。因为如果超了,我们不 如把它们扔出去。于…

深入解析:用 Spring Boot 打造 Docker 和 K8s 部署的硬核指南

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

9.27(课后作业

package com.itheima.arithmeticoperstor; public class Enum { //枚举 enum Size{SMALL,MEDIUM,LARGE}; //直接引用枚举值 Size s=Size.SMALL; //通过字符串获取枚举值 Size t=Size.valueOf("SMALL"); //定…

详细介绍:【序列晋升】45 Spring Data Elasticsearch 实战:3 个核心方案破解索引管理与复杂查询痛点,告别低效开发

详细介绍:【序列晋升】45 Spring Data Elasticsearch 实战:3 个核心方案破解索引管理与复杂查询痛点,告别低效开发pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important…

天津放心站内优化seops网页制作素材

转自 https://www.cnblogs.com/liuqiyun/p/8133904.html

做手机网站多少钱浏览器如何做购物网站

这是一个基于纯css实现的3D立体视觉效果鸡蛋动画特效,喜欢的朋友可以拿来使用演示动态效果 css实现的3D立体视觉效果鸡蛋动画特效

临沂做网站需要多少钱wordpress刷新才显示

乘着今天中午的时间 对以前项目的一个需求进行一定的处理 前天去了甲方公司 接到了了一个新的需求 就是可以把项目的一个富文本的编辑器可以设置为能够上传视频 于是乎 就要对vue里面的这个组件进行操作了 首先我们可以看一眼官网的文档 需要用到的就直接到官网文档进行查询即可…

jsp网站开发实现增删改查中国招聘网

在作图中,我们需要根据自己的业务来更改x轴y轴的标签。注意,坐标轴的修改已经不算做画图了,因为他不是图上的线条或轨迹(trace)了,所以用layout来设置。1>显示或者不显示坐标轴标签。fig.update_layout(xaxis dict(visible Fa…

个人网站备案电话访谈wordpress 字体类型

记一下第十二节课的内容。 一、PHP文件包含的四种方式 Include和Include_once 操作系统会读取包含的文件的内容,并将它插入主文件中,include方式的文件包含会在包含失败的情况下输出警告信息,而include_once方式会检查包含的文件是否已经被…

四则运算和验证码

四则运算的代码 package bb; import java.util.Random; public class Sizeyunsuan { public static void main(String[] args) { Random random=new Random(); for(int i=1;i<=30;i++) { int num1=random.nextInt(1…

博客写作者该何去何从

时代的改变 作为一个7年的博客创作者,随着AI时代的来临,我基本很少更新博客,一是用户对博客文章的需求减少了,二是我写的文章还不一定有AI写得好。而且现在各种新兴AI写作工具崛起,我觉得像之前那样码子好傻 好低…

第一次课动手动脑合集

1.EnumTest.java EnumTest.java中定义了枚举Size,该枚举包含SMALL、MEDIUM、LARGE三个常量。其运行结果体现了枚举的多项核心特性: 当用引用比较枚举变量s(Size.SMALL)与t(Size.LARGE)时,结果为false,这是因为…

JSON dump in Ruby

In Ruby, the json library’s API differs from Python’s json.dump. The equivalent in Ruby would be something like this:require jsondata = {name: "Christopher",message: "こんにちは世界&qu…

做搞机网站网站窗口代码

块状元素的居中&#xff0c;首先设置宽度 width"10px"&#xff0c;再设 margin: 0 auto; 。转载于:https://www.cnblogs.com/npk19195global/p/4475576.html

网站优化推广服务株洲网站建设工作室

一、perl执行脚本 1、安装perl脚本 perl安装 2、配置perl脚本 perl Configure VC-WIN32 no-asm no-shared --prefixE:\openssl-x.x.x\install二、编译openssl 1、使用vs工具编译nmake 如果使用命令行nmake编译会提示“无法打开包括文件: “limits.h”“ 等错误信息 所以…

详细介绍:python+django/flask+uniapp基于微信小程序的瑜伽体验课预约系统

详细介绍:python+django/flask+uniapp基于微信小程序的瑜伽体验课预约系统pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-famil…

smartctl on FreeBSD: Please specify device type with the -d option.

FreeBSD:euler@rpi4b:~ % sudo camcontrol devlist Password: <YSSDJQB- 2TB 1.02> at scbus0 target 0 lun 0 (da0,pass0) euler@rpi4b:~ % ls /dev/da0 da0% da0p1% euler@rpi4b:~ % ls /dev…