联邦学习研究综述笔记

news2024/10/5 21:22:56

联邦学习

  • 联邦学习的定义:联邦学习是一种分布式机器学习架构,包含多个客户端(参与者)和一个聚合服务器。
  • 客服端(参与方):在本地使用自己的私有数据训练模型,训练完成之后将模型的参数(权重、梯度等)发送给聚合服务器。
  • 聚合服务器:负责聚合客服端发送来模型的参数,将聚合后的全局模型发送给客服端。客户端用自己的私有数据训练同步后的模型, 开始新一轮的训练。
  • 联邦学习可以分为三种:
    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的攻击等,但会造成模型的准确性降低。
  • 区块链:区块链是一种去中心化存在架构,可以将区块链与密码学结合以增强联邦学习的完整性和隐私性。

问题

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

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

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

相关文章

外中断的应用

前言 软件基础操作参考这篇博客: LED数码管的静态显示与动态显示(KeilProteus)-CSDN博客https://blog.csdn.net/weixin_64066303/article/details/134101256?spm1001.2014.3001.5501实验一:P1口上接8个LED灯,在外部…

人机交互复习专题

第一章概述 1.1人机交互的概念与理解 人机交互的概念与理解 人机交互是人与机器进行交互的操作方式,即用户与机器互相传递信息的媒介。好的人机交互界面美观且通俗易懂、操作简单有引导功能,使用户感受到愉快、有兴趣,从而提升使用效率。 美…

使用Nodejs搭建简单的Web网页并实现公网访问

目录 前言 1. 安装Node.js环境 2. 创建Node.js应用 3. 安装Cpolar内网穿透实现公网访问Nodejs服务 3.1 注册cpolar账号 3.2 下载cpolar客户端 3.3 创建隧道映射本地端口 4. 固定公网远程地址 前言 Node.js是建立在谷歌Chrome的JavaScript引擎(V8引擎)的Web应用程序框架…

单链表(6)

删除第一个val的值(考试重点) 思路:例如删除val值为3的数据,直接让数据2的p->next指向数据4就可以了。 所以删除必须依赖前驱。也就是要写删除函数,则先要完成返回key的前驱地址的函数 也就是先知道前驱地址&#…

代码随想录第五十一天 | 动态规划 买卖股票:含冷冻期 的多状态 买卖股票问题(309);包含手续费 的买卖股票问题(贪心,动态规划)(714)

1、含冷冻期 的多状态 买卖股票问题 1.1 leetcode 309:最佳买卖股票时机含冷冻期 第一遍代码 运用之前二维dp数组的方法,第二个维度大小为2,对应持有,不持有 dp[1][0] max(dp[0][0], -prices[1]);注意要考虑只有一天的情况 dp[…

Python---字典的增、删、改、查操作

字典的增操作 基本语法: 字典名称[key] value 注:如果key存在则修改这个key对应的值;如果key不存在则新增此键值对。 案例:定义一个空字典,然后添加name、age以及address这样的3个key # 1、定义一个空字典 person {…

阿里云国际站:密钥管理服务

文章目录 一、密钥管理服务的概念 二、密钥管理服务的功能 三、密钥管理服务的优势 一、密钥管理服务的概念 密钥管理服务KMS(Key Management Service)是您的一站式密钥管理和数据加密服务平台、一站式凭据安全管理平台,提供简单、可靠、…

creo之混合和扫描混合

案例一:杯子 步骤: 在top平面画一个草图圆角矩形: 然后形状–》混合 然后绘制新增的截面2: 用中心线将圆分割成八分,因为底部的圆角矩形是八份线段组成,所以我们要和他一样分成八份:先画中心线…

深入理解对象存储(OSD)

对象存储 1、对象存储的起源2、什么是对象存储3、对象存储与块存储、文件存储4、对象存储架构4.1、对象(Object)4.2、对象存储设备(OSD)4.3、元数据服务器(MDS)4.4、对象存储系统的客户端(Clien…

链表的逆置

方法1: 依次将指针反向,最后令头指针指向尾元素。 逆置过程如下: 当q指针为空时,循环结束。 //试写一算法,对单链表实现就地逆置, void Reverse1(List plist)//太复杂,不用掌握 {assert(plist ! NULL);i…

【计算机网络笔记】IP编址与有类IP地址

系列文章目录 什么是计算机网络? 什么是网络协议? 计算机网络的结构 数据交换之电路交换 数据交换之报文交换和分组交换 分组交换 vs 电路交换 计算机网络性能(1)——速率、带宽、延迟 计算机网络性能(2)…

实验一 Anaconda安装和使用(上机Python程序设计实验指导书)

实验一 Anaconda安装和使用 一、实验目的和要求 (一)掌握Windows下Anaconda的安装和配置。 (二)掌握Windows下Anaconda的简单使用,包括IDLE、Jupyter Notebook、Spyder工具的使用。 (三)掌…

05-Spring中Bean的生命周期

Bean的生命周期 生命周期就是对象从创建开始到最终销毁的整个过程 , Spring其实就是一个管理Bean对象的工厂,它负责对象的创建和销毁等 Bean生命周期的管理可以参考Spring的源码:AbstractAutowireCapableBeanFactory类的doCreateBean()方法 研究生命周期的意义&am…

2023最新版本 从零基础入门C++与QT(学习笔记) -1- C++输入与输出

🎏说在前面 🎈我预计是使用两个月的时间玩转C与QT 🎈所以这是一篇学习笔记 🎈根据学习的效率可能提前完成学习,加油!!! 输入(代码如下方代码块) 🎄分析一下构成 🎈…

【可解释AI】Alibi explain: 解释机器学习模型的算法

Alibi explain: 解释机器学习模型的算法 可解释人工智能简介Alibi特点算法Library设计展望参考资料 今天介绍Alibi Explain,一个开源Python库,用于解释机器学习模型的预测(https://github.com/SeldonIO/alibi)。该库具有最先进的分类和回归模型可解释性算…

springboot项目基本配置

接口入口日志 参数校验 业务逻辑执行 异常捕获-统一异常处理 统一数据返回体 接口返回日志 使用的是springboot2.x版本。 Mybatisplus 官网地址&#xff1a;https://baomidou.com/ 导入依赖 <dependency><groupId>com.baomidou</groupId><artifactId&g…

【Opencv】cv::dnn::NMSBoxes()函数详解

本文通过原理和示例对cv::dnn::NMSBoxes&#xff08;&#xff09;进行解读&#xff0c;帮助大家理解和使用。 原理 cv::dnn::NMSBoxes是OpenCV库中的一个函数&#xff0c;用于在目标检测中处理多个预测框。在目标检测中&#xff0c;模型可能会为同一个物体生成多个预测框&…

Web开发:一键复制到剪切板功能实现思路

在很多网页页面中我们都使用到过一键复制内容到剪切板的小功能&#xff0c;那么&#xff0c;具体如何实现呢&#xff1f;下面来讲述基于原生JavaScript API的两种实现思路。 同步方式&#xff1a;document.execCommand 这种方式&#xff1a; ①优点&#xff1a;是最传统的方法…

Resources接口和实现类

Spring Resources概述 Java的标准iava.net.URL类和各种URL前缀的标准处理程序无法满足所有对low-evel资源的访问&#xff0c;比如: 没有标准化的URL实现可用于访问需要从类路径或相对于 ServletContext 获取的资源。并且缺少某些Spring所需要的功能&#xff0c;例如检测某资源…

Ps:RGB 颜色模式

Ps菜单&#xff1a;图像/模式/RGB 颜色 Image/Mode/RGB Color RGB 颜色模式 RGB Color Mode是数字图像捕捉、处理以及显示的最常用模式&#xff0c;也是 Photoshop 默认的工作模式。 RGB 是 Red&#xff08;红色&#xff09;、Green&#xff08;绿色&#xff09;、Blue&#xf…