联邦学习研究综述笔记

联邦学习

  • 联邦学习的定义:联邦学习是一种分布式机器学习架构,包含多个客户端(参与者)和一个聚合服务器。
  • 客服端(参与方):在本地使用自己的私有数据训练模型,训练完成之后将模型的参数(权重、梯度等)发送给聚合服务器。
  • 聚合服务器:负责聚合客服端发送来模型的参数,将聚合后的全局模型发送给客服端。客户端用自己的私有数据训练同步后的模型, 开始新一轮的训练。
  • 联邦学习可以分为三种:
    1.横向联邦学习:适合于多个客服端的数据集拥有相同的数据特征和标签,但样本不同的情况。例如,不同区域的银行之间,用户不同,所以样本空间不同,而银行关注的数据特征和标签又是相同的。
    2.纵向联邦学习:适用于多个客服端的数据集具有相同的样本空间, 但数据的特征和标签不同的情况。例如,同一个区域的银行和电力公司,二者的用户是一样的,所以样本空间相同,而银行和电力公司关注的数据特征和标签又不相同。
    3.联邦迁移学习:适用于多个客服端的数据特征不同、标签不同、样本空间不同的情况。例如,位于中国的银行和位于美国的电力公司,他们拥有的数据特征、标签、样本空间都不同
  • 联邦学习的三个阶段:数据收集阶段、模型训练阶段、推理阶段
    1. 数据收集阶段:各个客户端(参与方)在本地准备用于训练的私有数据,包括数据收集、参与方之间数据格式的协商等
    2. 模型训练阶段:客户端利用私有数据训练局部模型,聚合服务器聚合梯度并下发全局模型,迭代训练直到模型收敛。
    3. 推理阶段:部署训练好的模型,输入真实样本进行预测。在纵向联邦学习中,由于每个用户拥有一部分模型。在推理阶段,需要各个用户相互合作公共完成推理。

横向联邦学习步骤

在这里插入图片描述

  1. 由聚合服务器选定目标模型的结构和超参数, 并初始化模型的权重, 生成初始的全局模型。
  2. 聚合服务器通过广播或和客服端主动下载的方式, 将聚合服务器上当前全局模型共享给所有参与方。
  3. 客服端使用本地的私有数据训练模型,并将训练完的模型参数通过加密、差分隐私或秘密共享的方式,传输给聚合服务器
  4. 聚合服务器在不知道任何客服端的私有数据的情况下,使用聚合算法(FedAvg、Krum、Trimmed-mean和Median)进行安全聚合,更新全局模型。
  5. 聚合服务器将更新后的全局模型,发送给客服端(发送的什么?权重?还是梯度?)
  6. 客户端收到数据之后,更新自己的模型,开始新一轮的训练。

纵向联邦学习步骤

在这里插入图片描述

  • 第一步:系统加密对齐样本,防止客服端的私有数据泄密
  • 第二步:在客户端使用对齐样本,对模型加密训练
    1. 合作者C创建秘钥对,并向A和B发送C的公钥,用于加密传输的数据
    2. A和B分别计算和自己相关的特征中间结果,并加密交互,用来求得各自梯度和损失
    3. A和B分别计算各自加密后的梯度并添加掩码发送给C,同时B计算加密后的损失发送给C
    4. C解密并将解密后的梯度和损失返回给A和B。A和B解密梯度并更新模型参数。

联邦学习优化

  • 隐私保护:在联邦学习中,多个参与方使用私有数据共同训练全局模型。采用合适的隐私保护机制(差分隐私、多方安全聚合等),保护参与方的数据隐私尤为重要。
  • 通信效率:在联邦学习中,多个参与方要与聚合服务器频繁的交换模型参数、梯度等信息。为了提高通信效率,可以使用压缩、量化、稀疏化等技术降低通信数据量。
  • 模型聚合:在联邦学习中,聚合服务器需要聚合各个参与方的梯度,进行汇聚生成全局模型。因此,聚合算法尤为重要,平衡各参与方的贡献度和数据分布差异。
  • 非独立同分布(Non-IID)数据:在联邦学习中,参与方的数据通常是非独立同分布的,这可能导致模型的性能下降。因此,需要采用一些方法,如样本对齐、模型个性化等,以解决非IID数据带来的问题。
  • 安全性:在联邦学习中,要保护模型免受恶意攻击和对抗性攻击,如模型篡改、模型逆向工程等。安全性是保证联邦学习可靠性的重要因素。

联邦学习的安全属性

  • 完整性:联邦学习的完整性可以根据数据收集阶段和模型训练阶段,划分为两种。

    1. 数据集完整性:在数据收集阶段中,参与方的数据集没有攻击者篡改。
    2. 训练完整性:在模型训练阶段,参与方、聚合服务器都严格按照联邦学习的协议训练模型。
  • 可用性:联邦学习的可用性可以根据模型训练阶段和推理阶段,划分为两种。

    1. 训练可用性:在模型训练阶段,能够在一定时间内完成模型训练。包含两个方面:一是收敛性,模型能在可接受的训练轮次内到达收敛的状态。二是合作公平性,每个参与方会用自己私有数据集,对模型进行训练。用户能够依据自身对模型的贡献,获得公平的补偿。这些补偿包括奖励计算资源、数据访问权限等,以激励用户更积极将自己私有数据,用于模型训练和更新过程。
    2. 模型可用性:在推理阶段,部署的模型对真实样本预测的准确性和公平性。其中,公平性是指模型不会因为某些属性,偏袒或歧视某个特定的个体或群体。
  • 机密性:参与方的私有数据、全局模型的敏感参数不会泄露给非授权的用户。

联邦学习中的攻击手段

  • 联邦学习的不同阶段受到的攻击不同,大概可以分为两大类:
    1. 对抗性攻击(安全威胁):以破坏联邦学习的完整性和可用性,影响模型收敛的速度和推理的结果。
    2. 非对抗性攻击(隐私威胁):攻击者窃取隐私数据,以破坏联邦学习的机密性

数据收集阶段的攻击手段

  • 数据收集阶段的对抗性攻击包括:数据投毒攻击、女巫攻击

    1. 数据投毒:在数据收集阶段,攻击者控制部分参与方,通过插入有害或恶意数据,破坏数据集完整性。此外,数据投毒还可以根据攻击者对参与方的数据集标签操作不同,分为脏标签攻击和清洁标签攻击。脏标签攻击会篡改数据集标签,例如标签翻转攻击。清洁标签攻击不会篡改数据集标签,仅会在数据集中插入恶意样本数据。可以用数据消毒防御。
    2. 女巫攻击:攻击者控制多个虚假身份,从而利用这些身份配合攻击,以增加攻击隐蔽性和攻击效果。女巫攻击常用于数据投毒
  • 数据收集阶段的非对抗性攻击包括样本ID隐私泄露

模型训练阶段的攻击手段

  • 模型训练阶段的对抗性攻击包括:模型投毒攻击、通信瓶颈攻击、塔便车攻击、基于GAN的攻击
    1. 模型投毒:在模型训练阶段,攻击者控制部分参与方,对上传的局部模型进行篡改,实现对全局模型的控制,破坏训练完整性。
    2. 通信瓶颈攻击:在模型训练阶段,大量的参与方需要与聚合服务器频繁的进行交换信息,而从产生大量的通信开销。其次,攻击者可能通过破坏信道来影响联 邦学习系统的稳定性和鲁棒性。
    3. 搭便车攻击:在模型训练阶段,恶意参与方可能会选择不诚实地报告自己的本地梯度或模型参数,以便在全局模型更新中获得更多的好处。由于恶意方不提供有价值的局部模型信息,不会为全局模型的改进做出任何贡献,从而导致全局模型的准确性和性能下降、数据和计算资源的浪费。
    4. 基于GAN的攻击:生成对抗网络(GAN)是一种深度学习模型,由一个生成器和一个判别器组成。生成器从潜在空间随机取样作为生成样本,生成样本要接近训练集中的真实样本。判别器的输入则为真实样本或生成样本,其目的是将生成样本和真实样本。生成器和判别器相互对抗、不断学习,最终目的使得判别器无法判断生成器的输出结果是否真实。攻击者可以使用生成对抗网络(GAN)生成对抗性样本,对本地模型的输入进行微小修改,使得模型产生错误的输出,从而导致联邦学习中的模型性能下降或信息泄露。
  • 模型训练阶段的非对抗性攻击包括推理攻击,推理攻击可分为成员推理和属性推理。成员推理是指攻击者推理判断某个样本数据,是否用于训练模型,从而造成用户敏感隐私数据的泄密。属性推理是指攻击者推理判断训练数据集的特征信息,例如性别区分,年龄分布等。

推理阶段的攻击手段

  • 推理阶段的对抗性攻击包括对抗样本攻击,即攻击者生成带有错误标签的对抗样本,导致模型输出错误预测结果。按照攻击者掌握的信息,可以将对抗样本攻击分为白盒攻击和黑盒攻击。在百盒攻击中,攻击者知道模型参数、机器学习算法等信息,并且可以这些信息去构造对抗样本。在黑盒攻击中,攻击者不知道模型参数、机器学习算法等信息,通过与系统交互构造对抗样本。
  • 推理阶段的非对抗性攻击包括:模型提取攻击、推理攻击
    1. 模型提取攻击:在推理阶段,攻击者与系统交换信息,并通过已知的信息,构造出全局模型。特别在纵向联邦学习(VFL)中,由于每个参与方都关注的特征不一样,所以模型提取攻击会导致用户的敏感私有数据泄密。

联邦学习中的防御手段

提升联邦学习的鲁棒性的方法

  • 鲁棒性:系统或者算法在不同的情况下,仍能够保持稳定和可靠的能力。具体来说,在面对一些意外或异常情况时,鲁棒性强的系统或算法能够保持其功能和性能,而不会因为这些异常情况而崩溃或失效。

  • 数据消毒:对训练数据集中有害的、异常的数据进行清洗,可以防御数据投毒。但是数据消毒需要访问参与方的私有数据,无发保证数据的隐私性。

  • 鲁棒性聚合:综合多个模型的预测结果,以提高整体的准确性和稳定性。以降低数据中的噪声、异常值或其他干扰因素对模型性能的影响。联邦学习中,鲁棒性聚合可分为三类。

    1. 基于统计特征和相似性的鲁棒性聚合:在联邦学习中,恶意方上传的更新会偏离正常更新,所以越离散的更新越有可能是恶意更新。在聚合服务器聚合时,可以采用某些方法绕过离散的更新,例如依赖于统计特征(中值、平均值、欧式举例),或者依赖于相似性,以提升模型的鲁棒性。
    2. 基于局部模型性能的鲁棒性聚合:通过在聚合服务器提供的良性辅助数据集 ,对 每 个局部模型上传的更新的优劣进行评估, 依据评估的结果来分配聚合的权重 , 或丢弃对准确性产生负面影响的更新。
    3. 基于训练函数优化的鲁棒性聚合:在模型的损失函数上加上正则项,以限制于全局模型偏离太多的局部模型,从而优化全局模型。
  • 异常检测:使用统计和分析方 法,对模型的训练模式 、数据集或相关事件进行检测,以找到不符合预期的模式、异常行为或异常数据。目前,异常检测可以分为客服端异常检测(在客服端上,使用一种基于某种数学算法来检测异常防御方法)和数据集异常检测(把检测数据集中离群带点,或者远离正常数据特征的数据,作为异常数据)。

  • 对抗训练:通过使用对抗样本来训练机器学习模型,提高模型对潜在攻击的抵抗力,以可以防止恶意用户对模型进行攻击和窃取隐私数据。

  • 知识蒸馏:将大模型相关知识逐递到小模型中,并从这些知识中学习有用信息,来指导小模型训练 ,使小模型具备和大模型相当的性能 。

提升联邦学习的隐私性的方法

  • 同态加密(HE):是一种不访问数据本身而实现的加密技术,基于数学难题的计算复杂性理论。它允许对加密数据进行计算,然后再解密,得到与未加密数据相同的计算结果。若同态加密算法支持对密文进行任意形式,或任意次数的计算,则称之为全同态加密(FHE)。若同态加密算法只支持对密文的乘法计算或加法计算,则称之为半同态加密(AHE)。同时,支持加法的称之为加法同态加密,支持乘法的称之为乘法同态加密(MHE)。
  • 安全多方计算(SMPC):在一组互不信任的参与方中,各自持有秘密数据,协同计算一个既定函数或者训练一个模型。同时保证参与方获得正确计算结果,且无法获得计算结果之外的任何信息。在联邦学习中,安全多方计算可以分为基于加法秘密分享的隐私性增强、基于Shamir秘密分享的隐私性增强和多种技术组合的隐私性增强 。
  • 差分隐私:在参与方发送的梯度更新中,加入随机噪声,以保护用户数据的隐私。可以用于防御模型提取攻击、成员推理攻击、基于GAN的攻击等,但会造成模型的准确性降低。
  • 区块链:区块链是一种去中心化存在架构,可以将区块链与密码学结合以增强联邦学习的完整性和隐私性。

问题

  • 在纵向联邦学习中,为什么每个用户都拥有一部分模型?
  • 在推理阶段,模型训练都结束了,为什么对抗样本攻击能影响模型对真实数据预测的准确性?
  • 在同态加密技术,是通过一个映射关系,将用户的私有数据映射为加密的数据吗?

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

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

相关文章

【机器学习】K近邻算法:原理、实例应用(红酒分类预测)

案例简介:有178个红酒样本,每一款红酒含有13项特征参数,如镁、脯氨酸含量,红酒根据这些特征参数被分成3类。要求是任意输入一组红酒的特征参数,模型需预测出该红酒属于哪一类。 1. K近邻算法介绍 1.1 算法原理 原理&a…

数据结构(超详细讲解!!)第二十三节 树型结构

1.定义 树型结构是一类重要的非线性数据结构,是以分支关系定义的层次结构。是一种一对多的逻辑关系。 树型结构是结点之间有分支,并且具有层次关系的结构,它非常类似于自然界中的树。树结构在客观世界中是大量存在的,例如家谱、…

【数据结构】树与二叉树(十四):二叉树的基础操作:查找给定结点的父亲(算法Father )

文章目录 5.2.1 二叉树二叉树性质引理5.1:二叉树中层数为i的结点至多有 2 i 2^i 2i个,其中 i ≥ 0 i \geq 0 i≥0。引理5.2:高度为k的二叉树中至多有 2 k 1 − 1 2^{k1}-1 2k1−1个结点,其中 k ≥ 0 k \geq 0 k≥0。引理5.3&…

基于头脑风暴算法优化概率神经网络PNN的分类预测 - 附代码

基于头脑风暴算法优化概率神经网络PNN的分类预测 - 附代码 文章目录 基于头脑风暴算法优化概率神经网络PNN的分类预测 - 附代码1.PNN网络概述2.变压器故障诊街系统相关背景2.1 模型建立 3.基于头脑风暴优化的PNN网络5.测试结果6.参考文献7.Matlab代码 摘要:针对PNN神…

基于RK3399的室内健身魔镜方案

I 方案背景 一、健身魔镜的兴起 2020年疫情席卷全球,宅家是防疫的措施之一,因而宅家运动火爆,随之而来的宅家运动器材也风靡起来,其中包含既有颜值又具有多种功能的健身魔镜。 Ⅱ 方案介绍 一、健身魔镜的方案介绍 …

020线上线下融合商业模式 新零售系统定制开发

020线上线下融合商业模式将传统的线下实体店和线上电子商务相结合,通过双通道销售、互联网服务等方式,实现线上线下渠道的整合与协同发展。这种商业模式的核心在于通过整合线上线下资源,提供更优质的产品和服务,增强消费者体验和提…

查看包是由哪个依赖引入的

问题:在Maven项目中,如何查看某个包是由pom.xml文件的哪个依赖引入的? 示例: mvn dependency:tree -Dverbose -Dincludesjakarta.validation:jakarta.validation-api或者: mvn dependency:tree -Dincludesvelocity:…

微服务概览

单体架构 传统的软件应用为单体架构。尽管也是模块化逻辑,但是最终还是会打包并并部署为单体应用。最主要的原因是太复杂。并且应用扩展性低,可靠性也低。敏捷开发和部署变得无法完成。 治理办法:化繁为简,分而治之。 微服务起源…

基于回溯搜索算法优化概率神经网络PNN的分类预测 - 附代码

基于回溯搜索算法优化概率神经网络PNN的分类预测 - 附代码 文章目录 基于回溯搜索算法优化概率神经网络PNN的分类预测 - 附代码1.PNN网络概述2.变压器故障诊街系统相关背景2.1 模型建立 3.基于回溯搜索优化的PNN网络5.测试结果6.参考文献7.Matlab代码 摘要:针对PNN神…

【Python小程序】浮点矩阵加减法

一、内容简介 本文使用Python编写程序,实现2个m * n矩阵的加、减法。具体过程如下: 给定两个m*n矩阵A和B,返回A与B的和或差。 二、求解方法 将两个矩阵对应位置上的元素相加。 三、Python代码 import numpy as np# 用户输入两个矩阵的维…

Spring Bean 生命周期的执行流程

(mic老师面试文档摘录) 普通人的回答: Spring Bean 的生命周期,可以分为单例、多实例。呃... 不对,这个是 Spring Bean 的作用域。 生命周期,我想想.... 我记得 Bean 的生命周期会有加载、实例化、销毁…

开源供应链管理系统 多供应商批发管理系统方案及源码输出

开发框架:PHPMySQL 后端框架:ThinkPHP 订货端:PC小程序 客户订货端:小程序 多仓库OR多供应商:多供应商 是否进销存:自带进销存 整个方案含B端订货PC、小程序端、C端小程序端下单,源码&…

UI和UX设计师实用高效的设计工具大全

真正专业和优秀的UX设计师不会介意使用哪个工具。因为,只要能力足够,即使条件不同,工具不同,也可以设计出让人眼前一亮的作品。也许,这种理解本身并没有什么大问题。然而,如今,设计师显然有如此…

刨根问底:Java中的“\p{P}”到底是什么意思

问题由来: 在代码中看到了Pattern.compile("\\p{P}"),用来识别符号,但是这个正则表达式却不匹配加号,所以\p{P}到底是什么意思呢 谷歌了一下,找到StackOverflow上有人问了一模一样的问题 可是这个问题被关…

ChatGLM3本地部署运行(入门体验级)

文章目录 前言零 硬件小白基知填坑eForce Game Ready驱动程序CUDA常用命令 环境准备NVIDIA驱动更新CUDA安装 部署补充内容体验 前言 学习自B站up主技术爬爬虾,感谢up主提供的整合包! 零 硬件 6GB以上显存的NVIDIA显卡(品质越高&#xff0c…

基于猫群算法优化概率神经网络PNN的分类预测 - 附代码

基于猫群算法优化概率神经网络PNN的分类预测 - 附代码 文章目录 基于猫群算法优化概率神经网络PNN的分类预测 - 附代码1.PNN网络概述2.变压器故障诊街系统相关背景2.1 模型建立 3.基于猫群优化的PNN网络5.测试结果6.参考文献7.Matlab代码 摘要:针对PNN神经网络的光滑…

Redhat7查看时区、修改时区

问题: 安装好redhat7之后,发现时间和物理机上面的网络时间不一致,于是查看本着修改时间的目的,却发现原来是时区的问题。 解决步骤: 查看时区状态信息 timedatectl修改时区到亚洲/上海 timedatectl set-timezone A…

Lasso回归和岭回归详解

当数据特征存在多重共线性,特征矩阵不满秩,或者用普通线性回归过拟合的状况时,我们需要用lasso回归或岭回归来构建模型。 左边是lasso回归,右边是岭回归。 Lasso使用的是系数 的L1范式(L1范式则是系数 的绝对值&#…

会展服务预约小程序的作用如何

不少场景都会有会展服务需求,比如婚宴、年会、展会等,往往需要租订场地,不同地域不同时间地点等,尤其大城市需求频次较高。 但在实际经营中,会员服务企业面临着一些难题。对多数企业来讲,线上是不可或缺的…

在 uniapp 中 一键转换单位 (px 转 rpx)

在 uniapp 中 一键转换单位 px 转 rpx Uni-app 官方转换位置利用【px2rpx】插件Ctrl S一键全部转换下载插件修改插件 Uni-app 官方转换位置 首先在App.vue中输入这个: uni.getSystemInfo({success(res) {console.log("屏幕宽度", res.screenWidth) //屏…