论文阅读——联邦忘却学习研究综述

news2024/12/28 23:22:21

文章基本信息

作者:

  • 王鹏飞
  • 魏宗正
  • 周东生
  • 宋威
  • 肖蕴明
  • 孙庚
  • 于硕
  • 张强

机构:

  • 大连理工大学计算机科学与技术学院
  • 大连理工大学社会计算与认知智能教育部重点实验室
  • 大连大学先进设计与智能计算教育部重点实验室
  • 美国西北大学计算机科学系
  • 吉林大学计算机科学与技术学院
  • 吉林大学符号计算与知识工程教育部重点实验室

期刊:计算机学报

发表时间:2023 年 11 月 28 日

解决问题:对目前现有的联邦忘却学习工作进行了综述。

代码:综述无代码

文章:http://cjc.ict.ac.cn/online/onlinepaper/wpf-202431151459.pdf

摘要

数据已经成为与土地、劳动力、资本、技术等并列的重要生产要素之一. 利用数据分析挖掘数据的潜在 价值,有助于推动产业创新、技术升级和区域经济发展. 然而,在数据使用过程中,隐私泄露等风险限制了数据的 流通和共享. 因此,如何在数据流通和共享过程中保护数据隐私已成为研究热点. 联邦忘却学习(Federated Un⁃ learning)撤销用户数据对联邦学习模型的训练更新,可以进一步保护联邦学习用户的数据安全. 本文综述了联 邦忘却学习的研究工作,首先简要阐述了联邦学习架构,并引出忘却学习和联邦忘却学习的概念和定义;其次, 根据修正对象的不同将联邦忘却学习算法分为面向全局模型和面向局部模型两类,并详细分析各类算法的实现 细节以及优缺点;然后,本文还详述联邦忘却学习中常用评价指标,将评价指标划分为模型表现指标、遗忘效果 指标和隐私保护指标三类,并分析不同类型评价指标的优缺点;最后,本文对联邦忘却学习未来的研究方向进行 展望.

文章结构

引言

引言部分介绍了目前数据的流通共享存在隐私泄露的问题,并且指出了目前的一些解决方案如同态加密、多方安全计算等技术的复杂性。引出了联邦学习,而联邦学习存在模型推断攻击的问题,再引出联邦忘却学习。

联邦忘却学习概述

联邦学习

这一部分介绍了联邦学习的流程,以及联邦学习的形式化描述,具体可以看原文。

忘却学习

忘却学习的核心在于通过调整模型参数,实现与特定数据未参与训练相同的效果,同时避免完全的重复性训练。忘却学习的难度取决于不同的机器学习场景,即不同的数据访问权限。

机器忘却学习(Machine Unlearning)不受隐私保护或数据加密的限制,将所有训练数据集中处理,对特定数据进行忘却学习。机器忘却学习方向:

  • 根据数量:
    • 小样本忘却学习:指被遗忘数据样本量极小,如 3-5 张图片。
  • 根据模型:
    • 回归模型忘却
    • 推荐模型忘却
  • 根据需求:
    • 快速忘却学习
  • 根据隐私需求:
    • 零次观察忘却:不允许使用请求遗忘的数据,只能利用剩余训练数据。
    • 零样本忘却:所有参与训练的数据都无法访问,只能在数据不可见的情况下进行忘却学习。

联邦忘却学习

**联邦忘却学习是零样本忘却学习的一个特例,**联邦学习场景不仅无法直接获取数据信息,而且数据还分布在不同用户的手中。然而联邦忘却学习符合现实世界的数据管理模式,所以很有研究价值。

联邦忘却学习流程

联邦忘却学习流程:

  1. 正常进行联邦学习
  2. 在任意时刻,某一个用户提交撤销数据请求
    1. 中心服务器需要完成任务:使用忘却算法得到的全局模型分布使用除去这个用户的数据以外数据集训练得到的全局模型分布一致。
  3. 完成数据撤销请求
  4. 服务器继续进行联邦学习

联邦忘却学习粒度

  1. 样本忘却:从联邦学习模型中撤销特定数据样本对模型的训练更新。
  2. 类别忘却:用于分类任务,撤销单个或多个类别的数据对全局模型的训练更新。
  3. 任务忘却:在进行多任务训练时,可以撤销某个任务所有的数据对模型的训练更新,但可能产生灾难性忘却。

联邦忘却学习挑战

  1. 分布式的训练方式导致联邦忘却学习难以完全撤销目标用户对模型的数据贡献。因为每个用户都会保留全局模型到本地
  2. 模型训练的增长过程使联邦忘却学习难以利用已训练的信息,先前所有用户的训练更新都决定了当前用户在本地的模型参数更新,并且其他用户对模型的训练也会因增长的训练过程包含目标用户数据的痕迹。
  3. 大量的数据撤销导致灾难性的忘却,全局模型准确率急剧下降。

联邦忘却学习算法

首先根据修正对象(在忘却过程中被直接修改的特定元素)将各类联邦忘却学习算法划分为面向全局模型面向局部模型两种。

面向全局模型的联邦忘却学习算法

面向全局模型的联邦忘却学习算法是直接对全局模型参数进行修改并利用用户数据调整全局模型。

重新训练

通过模型回退和再训练方法能够完全撤销特定用户数据对模型的训练更新。当某个用户发出忘却请求后,服务器将全局模型回退到某一个训练时刻。为了防止回退产生的灾难性遗忘,服务器依赖回退后的模型参数在其他用户数据上再进行训练,从而实现联邦忘却学习。但是这种方法的再训练过程中传输大规模模型参数时会产生巨大的通信压力,并且增加训练的时间成本,所以有一些工作来解决这些问题:

  1. 采用近似估计 Hessian 矩阵的方法来快速构建联邦学习模型。
  2. 利用有限记忆 BFGS 算法的思想估计 Hessian 矩阵。
  3. 采用异步联邦的聚合机制 KNOT,将用户划分为集群,采用多层的思想来限制每个集群内的用户删除请求,减少重复训练次数和通信成本。
  4. 提出 IFU(Informed Federated Unlearning) 算法。

用户贡献删除

不同于重新训练方法,用户贡献删除算法可以减少用户重复训练的时间和通信开销,当特定用户发起忘却请求时,服务器从全局模型中直接删除用户产生的局部模型参数,实现对用户数据的忘却。最后,服务器利用再训练提升模型准确率,不再进行模型参数的回退。这个方向的一些工作:

  1. FUKD(Federated Unlearning with Knowledge Distillation),利用知识蒸馏技术实现联邦忘却学习。需要在中心服务器内存储所有用户模型参数,通过直接删除的方式实现忘却。它完全在服务器上进行,所以通信开销小。删除后,再通过知识蒸馏的方法回复产生的修正。
  2. FedLU,基于认知神经科学理论通过回溯干扰和被动衰减删除特定的知识。

局部参数调整

参数局部调整方法通过局部性地修改全局模型参数,解决特定模型结构的忘却学习问题。通过结构信息计算用户数据贡献的参数位置,准确删除用户数据对全局模型的贡献,从而实现数据的有效遗忘。当服务器接受某个用户的忘却请求后,根据模型结构对模型参数进行评估,识别出包含用户参数贡献的部分,然后将这部分贡献消除,形成新的模型参数。这个方向的一些工作:

  1. RevFRF:利用决策树的结构通过递归遍历的方式将目标用户提供的所有节点销毁,然后在剩余的用户中重新构建决策树,以恢复删除后的模型准确率损失。
  2. FUCP(Federated Unlearning via Class-discriminative Pruning):依据卷积神经网络结构中通道对类别的评分剪枝通道参数,有选择地遗忘特定类别的贡献。

面向全局模型方法对比

面向局部模型的联邦忘却学习算法

面向局部模型的联邦忘却学习算法是**利用用户训练的局部模型参数对全局模型参数进行间接修改。**通过增加联邦学习训练,在局部模型中获取新知识,根据新知识整体性地修改全局模型,不需要进行再训练。

训练更新校正

训练更新校正算法在现有模型的基础上增加额外的联邦学习训练,对训练过程中产生的模型参数进行修正,并通过聚合修正后的模型修改全局模型参数。当某个用户向服务器发起忘却请求时,服务器协同用户继续进行一定轮次的联邦学习训练,接受用户上传的模型参数,最后服务器对训练的局部模型参数进行修正,通过聚合修正后的模型参数更新全局模型,实现联邦忘却学习。这个方向的一些工作:

  1. FedEraser:基本思想是对用户模型参数更新进行校准。在服务器接受某个用户的忘却请求后,协同其余用户使用初始的全局模型参数继续本地训练,然后所有其余用户将本地模型更新发送给服务器,服务器利用已训练的更新对其余用户的训练参数进行校正
  2. VERIFI:联邦忘却学习与验证的统一框架,提供 S2U(Scale-to-Unlearn) 算法,在模型聚合时,缩小目标用户的贡献比例,放大其余用户模型的贡献比例。
  3. 子空间梯度上升:服务器收集目标用户在执行梯度上升之后生成的梯度,以及其他用户的表示矩阵,服务器通过奇异值分解获取矩阵的梯度子空间,并修改全局模型参数。

训练梯度校正

训练梯度校正的思想是在现有模型的基础上增加联邦学习训练,通过调整部分用户的训练方法,以直接聚合的方式来更新全局模型参数。当某个用户请求忘却时,服务器要求所有用户继续进行联邦训练,在此过程中调整用户的训练策略。最后,服务器接受并聚合用户的局部模型参数,利用聚合后的模型参数更新全局模型。主要通过修改梯度信息来达到忘却的目的。一些相关的工作:

  1. Forsaken:在参与训练的用户中配置可训练的虚拟梯度产生器,以根据目标函数的改变产生对应的虚拟梯度。目标用户发起忘却请求时,用户首先下载服务器的全局模型参数,初始化虚拟梯度,然后使用本地数据对模型进行训练,产生虚拟梯度,上传给服务器。服务器利用虚拟梯度信息修改全局模型参数。
  2. UPGA(Unlearning with Projected Gradient Ascent):利用梯度上升方法实现联邦忘却学习。
  3. EWC-SGA 框架:同样使用梯度上升的方法实现联邦忘却学习,但是加入了 Fisher 信息矩阵计算模型中每个参数的重要性因子之和,用于限制参数改变的幅度。

面向局部模型方法对比

不同联邦忘却学习算法对比

作者复现了一些方法进行了对比,选择Rapid Retraining和UPGA作为面向全局模型和面向局部模型联邦忘却学习算法代表去删除某一类数据对模型的影响,在剩余类别上进行准确率评估。增加FUCP作为局部参数调整算法的代表进行对比。在Epoch为30时开始联邦忘却学习进而删除某一类数据对模型的参数更新。

  1. 面向全局模型的算法会存在模型准确率急剧下降的问题,而面向局部模型避免了这一问题。此外,局部参数调整方法能够精确地删除目标数据对模型的贡献,在此基础上进行再训练。该方法借助模型结构和训练的数据信息,能够取得最佳的效果。
  2. 面向全局模型的算法大部分时间用于机器学习模型的准确率恢复,而面向局部模型大部分时间用于撤销目标用户对模型的训练更新。

性能指标

  • 模型表现指标
    • 准确率、准确率差、召回率和 F1 分数
    • 均方损失、L1 损失和交叉熵损失等
  • 遗忘效果指标
    • 相对熵
    • 遗忘率
    • 曝光误差
    • 时间
  • 隐私保护指标
    • 信息损失
    • 攻击抵抗

性能指标对比总结

联邦忘却学习应用

本节分别从用户和服务器的角度来介绍联邦忘却学习的应用。从用户角度来看,移除用户数据在模型中的影响可以减弱模型对该数据的记忆,从而有助于保护用户隐私;从服务器的角度看,消除劣质数据对全局模型的影响,可以显著提升模型的泛化能力。

隐私保护

联邦学习模型通过训练更新产生对用户数据的记忆,即使用户退出联邦学习系统,机器学习模型仍然保留因数据训练模型而产生的用户数据记忆,进而存在用户数据隐私泄露的风险。针对这一问题,联邦忘却学习可以为退出联邦学习系统的用户撤销 其数据对模型的训练更新,因此用户可以放心地进行数据流通,不必担心自身退出系统后的隐私泄露问题。

攻击抵抗

数据中毒会引起联邦学习模型准确率下降。在联邦学习的迭代训练过程中,所涉及的数据可能会失效、被污染、过时或被数据中毒攻击操控。联邦学习的全局模型将会因学习错误数据的贡献而造成准确率下降。因此,采用联邦忘却学习撤销这些错误数据所产生的模型更新,可以提高模型的泛化性能。

未来展望

  • 泛化性更强的联邦忘却学习:不同机器学习方法以及联邦的模型结构存在差异,需要设计一个更加泛化高效的联邦忘却学习方法。
  • 局部参数调整忘却学习算法:鉴于泛化的算法设计困难性,局部参数调整方法可以利用模型结构,寻找与特定用户数据高度相关的模型参数位置再删除或剪枝。可以考虑与高可解释性的数学方法相结合,例如奇异值分解、主成分分析等,捕获模型参数信息与数据之间的关联。
  • 联邦忘却学习验证:忘却学习验证旨在确认特定数据的训练更新是否已成功地从模型中移除,这有助于确保数据安全和用户隐私得到充分保护。

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

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

相关文章

QT调用libusb库stm32407上下位机

安富莱USB上位机教程 参考安富莱的视频,不过这里 调用是libusb最新的库 可以参考上一个文章: QT调用最新的libusb库 https://editor.csdn.net/md/?articleId142733711 调试结果: 资源地址: 上位机:https://downl…

基于pytorch的手写数字识别-训练+使用

import pandas as pd import numpy as np import torch import matplotlib import matplotlib.pyplot as plt from torch.utils.data import TensorDataset, DataLoadermatplotlib.use(tkAgg)# 设置图形配置 config {"font.family": serif,"mathtext.fontset&q…

Maven 高级之分模块设计与继承、聚合

在软件开发中,随着项目规模的扩大,代码量和复杂度不断增加,传统的一体化开发模式逐渐暴露出诸多问题。为了解决这些问题,模块化开发应运而生,而 Maven 正是模块化开发的利器,它提供的继承和聚合机制为构建和…

fiddler抓包20_弱网模拟

课程大纲 ① 打开CustomRules.js文件:Fiddler快捷键“CtrlR”(或鼠标点击,菜单栏 - Rules - Customize Rules)。 ② 设置速率:“CtrlF”,搜索 “m_SimulateModem”,定位至函数。在函数里设置上传、下载速率&#xff0c…

ESP8266模块(WIFI STM32)

目录 一、介绍 二、传感器原理 1.原理图 2.引脚描述 3.ESP8266基础AT指令介绍 4.ESP8266基础工作模式 三、程序设计 main.c文件 esp8266.h文件 esp8266.c文件 四、实验效果 五、资料获取 项目分享 一、介绍 ESP8266是一款嵌入式系统级芯片,它集成了Wi…

将自己写好的项目部署在自己的云服务器上

准备工作 这里呢我要下载的终端软件是Xshell 如图: 自己准备好服务器,我这里的是阿里云的服务器, 如图: 这两个准备好之后呢,然后对我们的项目进行打包。 如图: 这里双击打包就行了。 找到自己打成jar包…

零基础多图详解图神经网络(GNN/GCN)【李沐论文精读】

A Gentle Introduction to Graph Neural Networks 在上图中,每一层都是一层网络,每一层的节点都受到下一层中自身节点和邻居节点的影响。如果网络比较深,是可以处理到一幅图中较大范围的节点。 前言 图神经网络在应用上还只是起步阶段&…

基于SpringBoot健身房管理系统【附源码】

效果如下: 系统首页界面 系统注册详细页面 健身课程详细页面 后台登录界面 管理员主页面 员工界面 健身教练界面 员工主页面 健身教练主页面 研究背景 随着生活水平的提高和健康意识的增强,现代人越来越注重健身。健身房作为一种专业的健身场所&#x…

日期类的实现(C++)

个人主页:Jason_from_China-CSDN博客 所属栏目:C系统性学习_Jason_from_China的博客-CSDN博客 所属栏目:C知识点的补充_Jason_from_China的博客-CSDN博客 前言 日期类是六个成员函数学习的总结和拓展,是实践的体现 创建文件 构造函…

HCIP--以太网交换安全(二)

端口安全 一、端口安全概述 1.1、端口安全概述:端口安全是一种网络设备防护措施,通过将接口学习的MAC地址设为安全地址防止非法用户通信。 1.2、端口安全原理: 类型 定义 特点 安全动态MAC地址 使能端口而未是能Stichy MAC功能是转换的…

在VMware WorkStation上安装飞牛OS(NAS系统)

对于NAS系统,小白相信很多小伙伴都不陌生,在许多场景下也能看得到,它其实可以算是文件存储服务器,当然,你如果给它加上其他服务的话,它也能变成网页服务器、Office协同办公服务器等等。 有许多小伙伴都拿这…

信息安全工程师(38)防火墙类型与实现技术

一、防火墙类型 按软、硬件形式分类 软件防火墙:通过软件实现防火墙功能,通常安装在个人计算机或服务器上,用于保护单个设备或小型网络。硬件防火墙:采用专门的硬件设备来实现防火墙功能,通常部署在企业网络边界或数据…

基于SpringBoot图书馆预约与占座小程序【附源码】

效果如下: 首页界面 用户登录界面 查看座位界面 管理员登录界面 管理员主界面 座位分布信息界面 预约信息界面 研究背景 随着互联网技术的不断进步和智能手机的广泛普及,图书馆作为知识获取和学习的重要场所,其管理方式也在逐步向信息化和智…

系统架构设计师论文《论企业应用系统的数据持久层架构设计》精选试读

论文真题 数据持久层(Data Persistence Layer)通常位于企业应用系统的业务逻辑层和数据源层之间,为整个项目提供一个高层、统一、安全、并发的数据持久机制,完成对各种数据进行持久化的编程工作,并为系统业务逻辑层提…

【电路基础 · 4】电路的图;KCL、KVL巩固;支路电流法

一、电路的图 1.线性电路的一般的分析方法 2.计算方法 掌握计算方法。 3.支路 branch 和 节点 node 对于支路,经常取电压、电流为同向。 4.KCL 巩固 巩固一下之前学习的 KCL。 但是需要注意: 对于一个电路,如果有 n 个节点,那…

浅学React和JSX

用antd做个人博客卡到前端了,迫不得已来学react,也是干上全栈了-- --学自尚硅谷张天禹react React就是js框架,可以理解为对js做了封装,那么封装后的肯定用起来更方便。 相关JS库 react.js:React核心库。react-dom.js&a…

计算机基本组成和工作原理(Basic Components and Working Principles of Computers)

💝💝💝欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:Linux运维老纪的首页…

node配置swagger

安装swagger npm install swagger-jsdoc swagger-ui-express 创建 swagger.js 配置文件 ​ const path require(path); const express require(express); const swaggerUI require(swagger-ui-express); const swaggerJsDoc require(swagger-jsdoc); // 修改 swaggerDoc…

DAY26||669.修建二叉树 |108.将有序数组转换为二叉搜索树|538.把二叉搜索树转换为累加树

669.修剪二叉树 题目:669. 修剪二叉搜索树 - 力扣(LeetCode) 给你二叉搜索树的根节点 root ,同时给定最小边界low 和最大边界 high。通过修剪二叉搜索树,使得所有节点的值在[low, high]中。修剪树 不应该 改变保留在树…

ArcGIS属性表怎么连接Excel表格?

ArcGIS中,属性表是存储空间要素非几何特征属性的重要工具。有时,我们需要将这些属性与外部数据,如Excel表格中的数据进行连接。以下是如何在ArcGIS中实现这一过程的步骤。 要把Excel表里的数据导入到ArcGIS里的地图数据里面,对数…