人工智能安全与隐私——联邦遗忘学习(Federated Unlearning)

前言

在联邦学习(Federated Learning, FL)中,尽管用户不需要共享数据,但全局模型本身可以隐式地记住用户的本地数据。因此,有必要将目标用户的数据从FL的全局模型中有效去除,以降低隐私泄露的风险,并满足GDPR要求的“被遗忘权”(The right to be forgotten)。

本文介绍一篇最新的AAAI-2025的文章:Federated Unlearning with Gradient Descent and Conflict Mitigation。这篇文章令人印象深刻。它所提出的方法(FedOSD)解决了传统的遗忘学习梯度上升法带来的弊端,并且不单适用于联邦学习,还适用于传统集中式的机器学习和深度学习中的unlearning,以及目前热门的大语言模型。因此具有一定的启发意义。

本文不去简单地翻译一下论文,要是简单翻译一下,就没有分享的必要了,而是围绕这个联邦遗忘学习的话题,融合自己的一些看法记录分享一下。遇到不专业的地方,欢迎大家来指正!

背景——什么时候需要“遗忘”?

随着人工智能(AI)的蓬勃发展,AI安全是一个越来越重要的话题。AI安全是一个很大的话题,本文就先往小的说,只探讨其中的一小部分:Federated Unlearning以及Machine unlearning。在集中式学习、联邦学习的模型训练过程中,可能会混杂有错误的、有害的数据,抑或是隐私数据。如果事后被发现了,再重新训练就成本很高了。所以这个时候“遗忘学习”就发挥作用了。

根据需要遗忘的内容,联邦遗忘可以划分为:sample unlearning、client unlearning。前者的目标是让FL global model把用户训练集中的某些特定sample给遗忘掉;后者的目标是遗忘掉整个目标用户的训练数据。不过,对于一些传统的FL unlearning算法,例如FedEraser, FedKdu, FedRecovery,等等,因为它们的遗忘机制是依赖于在先前的FL训练中提前把要遗忘的内容对应的梯度等信息存储起来,后续执行遗忘操作的时候,用它来进行遗忘。因此,这类的算法并不适用于sample unlearning。因为在正常的FL训练时,我们并不能提前判断哪些数据是需要后续被遗忘的。而对于其他类型的、不需要提前存储梯度信息的unlearning算法,我们可以用技术手段把sample unlearning规约为client unlearning。比如某个client需要遗忘部分数据,那么我们可以把这部分数据抽取出来,看作是一个虚拟的独立的用户来unlearn。

遗忘学习的基本步骤

综合前面几篇文章来看,联邦遗忘学习一般分为两个阶段:

  • Unlearning stage:使用遗忘算法,消除已训练好的模型对目标用户的训练数据的记忆。

  • Post-training stage:目标用户退出联邦学习,剩余用户继续训练若干轮,以恢复模型可用性(模型在剩余用户上的性能)。

post-training stage的目的是恢复被unlearning破坏的模型性能。在以往的时候一般不纳入联邦遗忘学习算法的主要设计范围内,一般是直接调用跟正常联邦学习相同的方法来进行,比如FedAvg。而这篇文章就把它考虑在整个算法设计的一环里面,下文再细说。

联邦遗忘学习的主要挑战

文章分析了联邦遗忘学习的三个关键挑战:

  • 梯度爆炸问题;

  • 更新冲突导致的模型可用性降低问题;

  • 模型“回退”问题。

下面逐个来看看这是怎么回事,以及文章的解决方法:

1. 梯度爆炸问题

梯度上升法是一种简单有效的unlearning方法,它通过反转梯度,使得训练的时候不再是追求“loss下降”,而变成了“让loss上升”,从而降低模型在需要遗忘的数据上的精度,达到遗忘的效果。

以CrossEntropy loss为例,其公式为:

 

其中C表示类别数; 是binary indicator(数值为0或1),其实就是将label转成one-hot编码后的第 个元素的值。 表示模型对应的预测概率。举个例子(稍微来回顾一下CE loss的计算):假设某个sample的label为2,那么其one-hot编码为 ,即 。假设模型的output经过softmax运算后得到的结果为 ,那么,所以求得CE loss为0.223。

然而,采用梯度上升法来unlearn的时候,会让 趋于0,因此不可避免地会出现梯度爆炸问题,如下图(a)所示。因为它没有upper bound的。前人用gradient clipping等方法解决此问题,但会引入额外的超参数。而在真实场景中无法预知最佳超参数,并且不恰当的超参数甚至会影响收敛性。

为此,文章通过对CrossEntropy loss中的概率 进行反转,解决了这一问题。如下图(b)所示。

 

上面的子图(b)是文章所提出的Unlearning Cross Entropy loss(UCE)。公式如下:

 

它为什么在 进行反转后还要除以2?这是因为对于FL而言,一般来说unlearning client并不能知道当前模型对于其他client而言的gradient的模长是多少,为了避免刚开始unlearn的时候的梯度爆炸,所以加了个除以2的操作来确保unlearning client的gradient不会爆炸。

2. 更新冲突问题

在unlearning的时候,unlearning模型所用的model update direction与不需要unlearn的用户(记为remaining clients)的梯度很容易发生冲突,即模型更新方向并不是remaining clients的梯度下降方向,会直接导致模型的在remaining clients的性能遭受破坏,甚至 导致灾难性遗忘。如下图所示,如果采用 作为更新方向,那么它就会让模型在剩余用户(用户1和用户2)上的精度变差,破坏了模型的可用性。

 

为此,文章设计了一套名为Orthogonal Steepest Descent(正交最速下降)的方法。具体地,根据梯度下降的理论,假如模型更新方向垂直于剩余用户的梯度,那么模型精度的损失就会降到最低。但存在无数条这样的正交梯度,因此,文章通过求解一个距离 最近的向量作为模型的更新方向( 表示unlearning client的梯度),从而既降低了模型可用性的损失,也加速了unlearning。其实从另一个角度来看,加速unlearning在某种意义上也能减少对模型可用性的破坏。文章通过求解下述问题来得到更新方向 。

 

最终得到 的公式如下:

 

其中 是由所有remaining clients的梯度拼成的一个矩阵; 。而 是对 SVD分解的结果。 表示 的伪逆(这个很好计算,就把 中的非0元素取倒数就OK了)。

这样计算出来的第 轮的更新方向 就会距离 最近,同时与剩余用户的梯度垂直。

3. Post-training的模型回退问题

文章开创性地指出post-training阶段会容易出现“模型回退问题”,换言之,就是说在剩余用户上继续训练的时候,模型不受控制地往回朝着unlearn之前的初始模型走,以至于恢复出部分已经unlearn掉的内容,白白做unlearning了。如下图所示:

 

这个现象有点令人震惊。这意味着很多前人的unlearning方法所展现出来的在post-training阶段模型所恢复出跟unlearning之前差不多accuracy的结果,实际上是大有问题的。文章还描绘了模型与初始模型(unlearning前的模型)的距离变化图,展现了这一“回退”现象,如下图:

 

实验中的ASR(Attack Successful Rate)用来衡量unlearning效果,它越低越好;R-Acc表示模型在remaining clients上的平均Accuracy,它用来衡量模型的可用性,数值越高越好。

从图中可见,尽管一些算法在post-training阶段里,模型的可用性恢复到了接近unlearning前的水平,但明显地模型回退到了接近unlearning前的初始模型的状态了,相当于白做unlearn了。

为此,文章提出了一种梯度投影策略,在post-trainining阶段,首先计算一个向量 ,表示当前模型到初始模型的0.5倍的L-2距离的梯度。然后,如果某个剩余用户 的梯度 与 的夹角小于90°,则将 投影到 的法平面上,从而避免了模型回退靠近初始模型,转去搜索其他的local optimum区域。

后记

总结来说,整个算法(FedOSD,Federated Unlearning with Orthogonal Steepest Descent)的流程图如下所示:

 

Federated Learning其中图(a)描绘的是unlearning之前的正常的联邦学习训练。然后某天用户 提出要遗忘、退出,则进入图(b)所示的unlearning阶段。unlearning结束后,进入图(c)的post-training阶段。

文章还做了很多其他实验,并详细分析了收敛性证明。这里就不展开叙述了。

值得一提的是,我之前确实也试过基于梯度上升的FL unlearning方法,实话实说,确实非常非常依赖调参,例如调节learning rate,以及调节gradient clipping的参数,否则没几轮,梯度就爆炸了,模型近乎变成一个随机初始化的模型,完全没法实用SOS)。另外,文章所描绘的方法,实际上也适用于machine unlearning,以及LLM的unlearning(毕竟LLM里面一般也用CrossEntropy loss了)。我后面也试图将它用在LLM上,做LLM unlearning,用来探索大模型的隐私安全问题,但那个就更复杂了,后面再慢慢探索。希望这篇文章在帮助自己记录学习点滴之余,也能帮助大家!

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

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

相关文章

GAN对抗生成网络(一)——基本原理及数学推导

1 背景 GAN(Generative Adversarial Networks)对抗生成网络是一个很巧妙的模型,它可以用于文字、图像或视频的生成。 例如,以下就是GAN所生成的人脸图像。 2 算法思想 假如你是《古董局中局》的文物造假者(Generator,生成器)&a…

数字图像总复习

目录 一、第一章 二、第三章 三、第四章 四、第五章 五、第八章 六、第十章 作业一 作业二 一、第一章 1.图像文件格式由(文件头)及(图像数据)组成 2.常见的图像文件格式:(JPEG)、&…

使用Fn Connect之后,如何访问到其他程序页面?原来一直都可以!

前言 昨天小白讲过在飞牛上登录Fn Connect,就可以实现远程访问家里的NAS。 接着就有小伙伴咨询:如何远程访问到家里其他需要使用不同端口号才能访问到的软件,比如Jellyfin、Emby等。 这个小白在写文章的时候确实没有考虑到,因为…

(二)当人工智能是一个函数,函数形式怎么选择?ChatGPT的函数又是什么?

在上一篇文章中,我们通过二次函数的例子,讲解了如何训练人工智能。今天,让我们进一步探讨:面对不同的实际问题,应该如何选择合适的函数形式? 一、广告推荐系统中的函数选择 1. 业务目标 想象一下&#x…

利用3DGS中convert.py处理自采数据

前言 3DGS源码中convert.py提供对自采数据集的处理,需要预先安装Colmap和ImageMagick. ubuntu22.04安装colmap 点击进入NVIDIA官网,查看GPU的CMAKE_CUDA_ARCHITECTURES 1、克隆colmap源码,并进入colmap文件夹 git clone https://github.c…

硬件设计-关于ADS54J60的校准问题

目录 简介: 校准模分析: 交错的优势 交错挑战 S/2 fIN处产生杂散。失调不匹配杂散很容易识别,因为只有它位于fS/2处,并可轻松地进行补偿。增益、时序和带宽不匹配都会在输出频谱的fS/2 fIN 处产生杂散;因此,随之而来的问题是:如何确定它们各自的影响。图8以简单的…

什么是神经网络?神经网络的基本组成部分训练神经网络激活函数有哪些局限性和挑战

前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默, 忍不住分享一下给大家。点击跳转到网站 学习总结 1、掌握 JAVA入门到进阶知识(持续写作中……) 2、学会Oracle数据库入门到入土用法(创作中……) 3、手把…

感恩相伴,蓝凌向新成长!一起拥抱数智2025

2024,数字中国,向新奔跑!千行百业拥抱数字化、人工智能,蓝凌继续践行“让组织更智慧”的使命,与客户、伙伴等共创共赢,引领中国数智化办公创新发展。感恩相伴24载,让我们一起拥抱数智2025&#…

【算法】模拟退火算法学习记录

写这篇博客的原因是博主本人在看某篇文章的时候,发现自己只是知道SGD这个东西,但是到底是个啥不清楚,所以百度了一下,然后在通过博客学习的时候看到了退火两个字,想到了本科做数模比赛的时候涉猎过,就上bil…

【0x0037】HCI_Write_Link_Supervision_Timeout命令详解

目录 一、命令概述 二、命令格式及参数说明 2.1. HCI_Write_Link_Supervision_Timeout 命令格式 2.2. Handle 2.3. Link_Supervision_Timeout 三、生成事件及参数 3.1. HCI_Command_Complete 事件 3.2. Status 3.3. Handle 四、命令执行流程 4.1. 命令准备阶段 4.…

【杂谈】-DeepSeek如何以560万美元突破成本障碍

DeepSeek如何以560万美元突破成本障碍 文章目录 DeepSeek如何以560万美元突破成本障碍1、高效人工智能的经济学2、实现不可能的工程3、人工智能生态系统的连锁反应 传统的人工智能观点认为,构建大型语言模型 (LLM)需要大量资金——通常需要数十亿美元的投资。但中国…

TIOBE 指数 12 月排行榜公布,VB.Net排行第九

IT之家 12 月 10 日消息,TIOBE 编程社区指数是一个衡量编程语言受欢迎程度的指标,评判的依据来自世界范围内的工程师、课程、供应商及搜索引擎,今天 TIOBE 官网公布了 2024 年 12 月的编程语言排行榜,IT之家整理如下: …

vs2022编译opencv 4.10.0

参考:Windosw下Visual Studio2022编译OpenCV与参考区别在于,没有用cmake GUI,也没有创建build目录,直接用vs2022打开了C:\code\opencv目录,即CMakeLists.txt所在根目录。没有修改默认下载地址,采用手动下载…

未来教育:AI知识库如何重塑学习体验

在科技日新月异的今天,教育领域正经历着前所未有的变革。人工智能(AI)技术的快速发展,特别是AI知识库的广泛应用,正在重塑我们的学习体验,使之变得更加高效、个性化和智能化。本文将深入探讨AI知识库如何影…

Android Camera压力测试工具

背景描述: 随着系统的复杂化和业务的积累,日常的功能性测试已不足以满足我们对Android Camera相机系统的测试需求。为了确保Android Camera系统在高负载和多任务情况下的稳定性和性能优化,需要对Android Camera应用进行全面的压测。 对于压…

JDK8源码分析Jdk动态代理底层原理

本文侧重分析JDK8中jdk动态代理的源码,若是想看JDK17源码分析可以看我的这一篇文章 JDK17源码分析Jdk动态代理底层原理-CSDN博客 两者之间有着略微的差别,JDK17在JDK8上改进了不少 目录 源码分析 过程 生成的代理类大致结构 本文侧重分析JDK8中jdk…

Spire.PDF for .NET【页面设置】演示:向 PDF 添加平铺背景图像

平铺背景通常是指用一个或多个小图像重复填充的背景。在本文中,您将学习如何在 PDF 中平铺图像,并使用 C# 和 VB.NET 为您的 PDF 创建平铺背景。 Spire.PDF for .NET 是一款独立 PDF 控件,用于 .NET 程序中创建、编辑和操作 PDF 文档。使用 …

ImageNet 2.0?自动驾驶数据集迎来自动标注新时代

引言: 3DGS因其渲染速度快和高质量的新视角合成而备受关注。一些研究人员尝试将3DGS应用于驾驶场景的重建。然而,这些方法通常依赖于多种数据类型,如深度图、3D框和移动物体的轨迹。此外,合成图像缺乏标注也限制了其在下游任务中的…

stm32 智能语音电梯系统

做了个stm32智能语音控制的电梯模型,总结一下功能,源码用ST的HAL库写的,整体流程分明。 实物图 这个是整个板子的图片,逻辑其实并不复杂,只是功能比较多,在我看来都是一些冗余的功能,但也可能是…

多模态论文笔记——CogVLM和CogVLM2

大家好,这里是好评笔记,公主号:Goodnote,专栏文章私信限时Free。本文详细介绍多模态模型的LoRA版本——CogVLM和CogVLM2。在SD 3中使用其作为captioner基准模型的原因和优势。 文章目录 CogVLM论文背景VLMs 的任务与挑战现有方法及…