【超高效!保护隐私的新方法】针对图像到图像(l2l)生成模型遗忘学习:超高效且不需要重新训练就能从生成模型中移除特定数据

news2024/11/21 0:34:15

针对图像到图像生成模型遗忘学习:超高效且不需要重新训练就能从生成模型中移除特定数据

    • 提出背景
      • 如何在不重训练模型的情况下从I2I生成模型中移除特定数据?
    • 超高效的机器遗忘方法
      • 子问题1: 如何在图像到图像(I2I)生成模型中进行高效的机器遗忘?
      • 子问题2: 如何确定哪些数据需要被遗忘?
      • 子问题3: 如何保持对其他数据的记忆不受影响?
    • 评估与效果
      • 子问题: 机器遗忘算法如何平衡保留集和遗忘集之间的性能?
      • 子问题: 如何定义一个能够量化遗忘效果的目标函数?

 


提出背景

论文:https://arxiv.org/pdf/2402.00351.pdf

代码:https://github.com/jpmorganchase/l2l-generator-unlearning

 

如何在不重训练模型的情况下从I2I生成模型中移除特定数据?

  • 背景: 现行法律对数据隐私和版权提出了新要求,这需要机器学习模型能够遗忘特定的训练数据。

传统的机器遗忘方法,如SISA,需要重新训练模型,这在大型生成模型中不现实。

探索直接操作训练好的模型权重的方法,如使用Neural Tangent Kernel (NTK)或最大化遗忘集上的损失,减少遗忘所需的计算量。

  • 解法: 探索允许模型删除特定的训练样本数据,而无需从头开始重训练整个模型。
  • 例子: 用户要求删除其数据,遗忘技术能让模型忘记这些数据,而不影响对其他数据的处理能力。

与重新训练整个模型或简单的数据删除相比,提出的机器遗忘方案在计算效率和应用的灵活性方面更为优越。

 


超高效的机器遗忘方法

子问题1: 如何在图像到图像(I2I)生成模型中进行高效的机器遗忘?

  • 背景: 在I2I生成模型中,删除敏感数据的同时保持模型性能是一个挑战,因为简单的数据删除无法消除模型中已经学到的信息。
  • 解法: 提出了一种不需从头开始训练模型的高效遗忘算法,通过优化KL散度和利用L2损失实现遗忘。

这种解法避免了从头开始训练整个模型,而是直接在模型的现有权重上应用调整。

它使用KL散度来度量和最大化遗忘集(即将被模型“遗忘”的数据)的生成图像与原图之间的统计分布差异,同时利用L2损失来最小化保留集(即模型需要继续记住的数据)的生成图像与原图之间的差异。

 

假设有一个I2I模型,它被训练用于将简笔画转换为详细的彩色图像。

出于隐私原因,我们需要模型遗忘所有包含特定符号的简笔画。

在不重训练模型的情况下,我们可以调整模型的权重,使得当模型再次看到这些特定符号的简笔画时,它生成的图像与原图的KL散度最大化(即生成的图像与原图差异很大),而对于其他类型的简笔画,模型应通过L2损失保持其原有的转换能力。

在这里插入图片描述

这张图提供了一个机器遗忘方法的概览。

在这个方法中,有两个数据集:遗忘集(( D_F ))和保留集(( D_R )),以及两个编码器:目标模型编码器 E θ E_{\theta} Eθ(可学习的)和原始模型编码器 E θ 0 E_{\theta_0} Eθ0(固定的)。

对于遗忘集(( x_f )),方法的目标是最小化目标模型编码器 E θ E_{\theta} Eθ 输出的嵌入向量与由高斯噪声 ( n )生成的嵌入向量之间的L2损失( L F L_F LF)。

这意味着,在遗忘集上,目标模型的输出应与随机噪声相似,从而“遗忘”或移除相关的特征。

对于保留集( x r x_r xr),目标是最小化目标模型编码器 E θ E_{\theta} Eθ 输出的嵌入向量与原始模型编码器 E θ 0 E_{\theta_0} Eθ0 输出的嵌入向量之间的L2损失(( L_R ))。

这确保了在保留集上,即使经过遗忘过程,目标模型仍然能够保持对原始特征的记忆。

  • 遗忘方法的核心原理,即通过调整编码器输出,使得遗忘集的数据被有效地去除,同时保留集的数据特征被保留。
  • 这种方法旨在保护隐私,同时保持模型在不需要遗忘的数据上的性能。

子问题2: 如何确定哪些数据需要被遗忘?

  • 背景: 在应对隐私保护法律要求或用户的个人数据删除请求时,必须明确哪些数据需要从模型中移除。
  • 解法: 设立一个遗忘集(( D_F )),包含所有需被遗忘的数据样本。
  • 例子: 如果用户要求删除其在在线服务中的面部数据,所有包含该用户面部的图像将被归入遗忘集。

子问题3: 如何保持对其他数据的记忆不受影响?

  • 背景: 在移除特定数据的同时,不应损害模型对于其他数据的处理能力。
  • 解法: 设立一个保留集(( D_R )),并通过算法保证在遗忘过程中这些数据的特征不会被改变。
  • 例子: 在同一个面部识别服务中,即便删除某些用户的数据,服务仍能准确识别并处理其他用户的面部图像。

通过区分遗忘集和保留集,并对遗忘集应用特定的遗忘算法,实现了数据的精确遗忘。

不足之处可能在于如何确保在遗忘集和保留集之间划分的界限是明确的,以及如何处理边界模糊的情况。
 

逻辑链条:

  1. 确定哪些数据需要被遗忘:这是逻辑链条的起点。

    在这一步,我们需要识别出哪些数据因隐私保护法律要求、用户个人数据删除请求或其他原因需要从模型中移除。

    这个过程涉及到将特定的数据样本标记为遗忘集(( D_F ))。

  2. 高效的机器遗忘算法:一旦确定了遗忘集,下一步就是应用高效的机器遗忘算法。

    这个算法直接在模型的现有权重上进行调整,而不是从头开始重新训练整个模型。

    它利用KL散度和L2损失来分别最大化遗忘集的数据与模型生成图像之间的差异,并最小化保留集(( D_R ))的数据与模型生成图像之间的差异。

    这一步确保了特定数据的遗忘,同时保持了对其他数据的处理能力。

  3. 保持对其他数据的记忆不受影响(子问题3):这是逻辑链条的最后一个环节。

    通过设立保留集并精确控制遗忘算法的应用,我们可以确保在遗忘特定数据的同时,模型对于保留集中的数据特征记忆不受影响。这保证了模型在删除某些数据后,仍能准确处理和识别其他数据。

这个逻辑链条反映了一个从识别需要遗忘的数据,到应用特定算法遗忘这些数据,最终确保模型整体性能不受影响的完整过程。

它是线性的,因为每个步骤都依赖于前一个步骤的完成,并为下一个步骤提供基础。

虽然每个步骤内部可能涉及更复杂的决策和算法处理,但从宏观上看,这些子问题和解法形成了解决机器遗忘问题的直接逻辑链条。
 


评估与效果

子问题: 机器遗忘算法如何平衡保留集和遗忘集之间的性能?

  • 背景: 在机器遗忘中需要确保遗忘集中的数据被去除,同时保留集的数据性能不受影响。
  • 解法: 通过最小化保留集的生成图像与原图的分布差异,同时最大化遗忘集的生成图像与原图的分布差异。
  • 例子: 对于风格转换模型,保留集中的艺术风格转换能力不受影响,而遗忘集中特定艺术家的风格被模型遗忘。

在这种方法中,目标是调整模型权重,使得保留集上的图像生成尽可能保持高质量(与原图差异小),而遗忘集上的图像生成则明显偏离原有数据分布。

这通常通过在训练期间添加特定的约束或损失函数来实现,以确保模型在保留集上的生成图像与真实图像保持一致,同时在遗忘集上生成与原图不同的图像。

 
考虑一个被训练用于风格迁移的I2I模型,现在需要遗忘特定艺术家的风格。

遗忘操作将通过调整模型权重实现,当模型尝试在遗忘集上进行风格迁移时,结果图像与原始艺术家风格的分布有很大差异,而在保留集上的其他艺术风格则保持不变。

在这里插入图片描述

这张图展示了一个机器遗忘框架在不同类型的图像到图像(I2I)生成模型上的应用效果,包括扩散模型(Diffusion Models)、向量量化生成对抗网络(VQ-GAN),以及掩蔽自编码器(MAE)。

图中展示了两个不同的集合:保留集(Retain Set)和遗忘集(Forget Set)。

在保留集部分(a),可以看到原始图片(Ground Truth),输入图片(Input),以及遗忘前后的图片(Before Unlearning 和 After Unlearning)。

保留集的图片在遗忘前后几乎没有受到影响,图像质量和内容保持一致。

在遗忘集部分(b),同样展示了原始图片和输入图片,以及遗忘前后的图片。

遗忘后的图片与原始图片相比,几乎成为了噪声,这意味着模型成功“忘记”了遗忘集中的信息,图片内容被大幅度扭曲,以至于无法识别原来的内容,符合遗忘框架的设计目的。

  • 机器遗忘框架在各种I2I生成模型上的适用性,并验证了其能够有效地在遗忘集上实现数据的遗忘,同时保持保留集上数据的完整性。

 


子问题: 如何定义一个能够量化遗忘效果的目标函数?

  • 背景: 需要一个清晰的目标,以量化模型遗忘特定数据的效果。
  • 解法: 使用KL散度和互信息(MI)作为度量,定义了一个目标函数来量化遗忘的效果。
  • 例子: 在遗忘算法的效果评估中,可以通过比较遗忘前后模型生成的图像与原图的KL散度来量化遗忘的程度。

在这个解法中,使用KL散度和互信息(MI)来定义一个目标函数,旨在量化模型遗忘特定数据的效果。

KL散度衡量两个概率分布之间的差异,而互信息量化两个变量间的相互依赖性。

这些指标结合起来能够给出模型遗忘效果的量化评估。

 
假如有一个生成模型被用于生成人脸图像,现在需要遗忘某个人的脸部数据。

通过调整模型参数,当模型接收到与该人脸相关的输入时,输出的图像与原始人脸的KL散度很高,表明生成的图像与被遗忘的人脸差异很大。

同时,通过测量互信息,确保在保留集上模型仍能生成与输入高度相关的人脸图像。

遗忘性能展示:
在这里插入图片描述

  • 上半部分(Figure 3) 展示了在扩散模型上对中心8x8像素块进行裁剪后的结果,其中每个裁剪块的大小为16x16像素。
  • 图像从左到右依次展示了:
    • “Ground Truth”:原始未处理的图像。
    • “Input”:输入到模型中的图像,中间有被遗忘的8x8像素块。
    • 一系列不同遗忘方法的结果,包括“Original Model”(原始模型输出),“Max Loss”(最大化损失),“Noisy Label”(噪声标签),“Retain Label”(保留标签),“Random Encoder”(随机编码器),以及“Ours”(我们的方法)。

这部分显示了在进行遗忘操作后,保留集的图像质量几乎没有影响,而遗忘集的图像则变得接近噪声,说明遗忘操作成功执行。

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

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

相关文章

archlinux 使用 electron-ssr 代理 socks5

提前下载好 pacman 包 https://github.com/shadowsocksrr/electron-ssr/releases/download/v0.2.7/electron-ssr-0.2.7.pacman 首先要有 yay 和 aur 源,这个可以参考我之前的博客 虚拟机内使用 archinstall 安装 arch linux 2024.01.01 安装依赖 yay 安装的&#…

堆排序----C语言数据结构

目录 引言 堆排序的实现**堆的向下调整算法** 对排序的时间复杂度建堆的时间复杂度:排序过程的时间复杂度:总体时间复杂度: 引言 堆排序(Heap Sort)是一种基于比较的排序算法,利用堆的数据结构来实现。它的…

数据湖的整体思路

湖本质上是一个集中化,中心化的,一体化的存储技术,并且在其之上追求技术架构的统一化,如流批一体,服务分析一体化。 当数据湖成为中心,那么就可以围湖而建“数据服务环”,环上的服务包括了数仓、…

基于tomcat运行jenkins常见的报错处理

目录 1.jenkins.util.SystemProperties$Listener错误 升级jdk11可能遇到的坑 2.java.lang.RuntimeException: Fontconfig head is null, check your fonts or fonts configuration 3.There were errors checking the update sites: UnknownHostException:updates.jenkins.i…

JAVA Web 学习(五)Nginx、RPC、JWT

十二、反向代理服务器——Nginx 支持热部署,几乎可以做到 7 * 24 小时不间断运行,即使运行几个月也不需要重新启动,还能在不间断服务的情况下对软件版本进行热更新。性能是 Nginx 最重要的考量,其占用内存少、并发能力强、能支持…

初识Solidworks:我的第一份作业的感想

从来没用CAD软件画过机械设计图。但我脑子里有一种概念,无非就是把尺规作图软件化,更方便画图、更方便修改、更方便打印一些。但第一份 Solidworks 作业就颠覆了我的认知,考虑到这个软件的上市时间,让我意识到自己对 CAD 软件的认…

【大厂AI课学习笔记】【1.5 AI技术领域】(8)文本分类

8,9,10,将分别讨论自然语言处理领域的3个重要场景。 自然语言处理,Natual Language Processing,NLP,包括自然语言识别和自然语言生成。 用途是从非结构化的文本数据中,发掘洞见,并访问这些信息&#xff0…

C++——二叉树

引入 map和set特性需要先铺垫二叉搜索树,而二叉搜索树也是一种树形结构 二叉搜索树的特性了解,有助于更好的理解map和set的特性 1.二叉搜索树的概念及优缺点 1.1二叉搜索树的概念 二叉搜索树又称二叉排序树,它或者是一棵空树,或…

CSP-202109-1-数组推导

CSP-202109-1-数组推导 解题思路 如果 currentValue 与 previousValue 相同,说明这个值不是一个独特的新值,因此只将它加到 sumTotal 上。如果 currentValue 与 previousValue 不相同,说明这是一个新的独特值,因此既将它加到 su…

逐行拆解Guava限流器RateLimiter

逐行拆解Guava限流器RateLimiter 常见限流算法 计数器法 设置一个时间窗口内允许的最大请求量,如果当前窗口请求数超过这个设定数量,则拒绝该窗口内之后的请求。 关键词:时间窗口,计数器。 举个例子,我们设置1秒钟…

面试经典150题 -- 栈(总结)

总的链接 面试经典 150 题 - 学习计划 - 力扣(LeetCode)全球极客挚爱的技术成长平台 关于栈 -- stack 的学习链接 c的STL中的栈 -- stack-CSDN博客 20 . 有效的括号 这题直接用栈模拟就好了; 这里用一种取巧的方法 , 当遇见左括号,加入右…

【Langchain+Streamlit】旅游聊天机器人

【LangchainStreamlit】打造一个旅游问答AI-CSDN博客 项目线上地址,无需openai秘钥可直接体验:http://101.33.225.241:8502/ github地址:GitHub - jerry1900/langchain_chatbot: langchainstreamlit打造的一个有memory的旅游聊天机器人&…

Linux 命令基础

Shell概述 Linux操作系统的Shell作为操作系统的外壳,为用户提供使用操作系统的接口。它是命令语言、命令解释程序及程序设计语言的统称。 Shell是用户和Linux内核之间的接口程序,如果把硬件想象成一个球体的中心,内核围绕在硬件的外层管理着…

【JS逆向九】逆向某混淆网站源码,模拟 加密,解密,密钥生成

逆向日期:2024.02.09 使用工具:Node.js 是否有混淆:源代码混淆 加密方法:AES标准库 文章全程已做去敏处理!!! 【需要做的可联系我】 可使用AES进行解密处理(直接解密即可&#xff0…

读千脑智能笔记09_大脑的错误信念

1. 人类智能的未来 1.1. 气候变化如此剧烈,在下一个百年里,一些城市很可能会不再适合人类居住,大面积的农业区或将变得更加贫瘠 1.1.1. 气候并非唯一需要关注的问题 1.1.2. 人类的一些技术,如核武器和基因编辑,为少…

win32编程系统BUG(Win32 API中的WM_SETTEXT消息)

由于频繁使用Win32 API中的WM_SETTEXT消息,导致内存占用直线上升。 暂未找到有效解决方案。

【SpringBoot】Redis集中管理Session和自定义用户参数解决登录状态及校验问题

🏡浩泽学编程:个人主页 🔥 推荐专栏:《深入浅出SpringBoot》《java对AI的调用开发》 《RabbitMQ》《Spring》《SpringMVC》 🛸学无止境,不骄不躁,知行合一 文章目录 前言一、分布…

全网最快2024刘谦春晚魔术揭秘

早点关注我,精彩不错过! 来来来,我的手机快被私信爆炸了,一次性给大家说清楚。 原版 Woody Arogon的教学《Woodyland》 数学原理 约瑟夫问题与魔术(五)——魔术《自我匹配的奇迹》中的数学原理 魔术原理 约…

vim常用命令以及配置文件

layout: article title: “vim文本编译器” vim文本编辑器 有三种模式: 命令模式 文本模式, 末行模式 vim命令大全 - 知乎 (zhihu.com) 命令模式 插入 i: 切换到输入模式,在光标当前位置开始输入文本。 a: 进入插入模式,在光标下一个位置开始输入文…

小巨人大爆发:紧凑型大型语言模型效率之谜揭晓!

每周跟踪AI热点新闻动向和震撼发展 想要探索生成式人工智能的前沿进展吗?订阅我们的简报,深入解析最新的技术突破、实际应用案例和未来的趋势。与全球数同行一同,从行业内部的深度分析和实用指南中受益。不要错过这个机会,成为AI领…