(2024,扩散,多概念擦除,概念无关表示生成,权重解耦)扩散模型中可分离的多概念擦除

Separable Multi-Concept Erasure from Diffusion Models

公和众和号:EDPJ(进 Q 交流群:922230617 或加 VX:CV_EDPJ 进 V 交流群)

目录

0. 摘要

1. 简介

2. 相关工作

3. 方法

3.1. G-CiRs

3.2. 权重解耦(WD)

4. 实验

5. 结论


0. 摘要

大规模扩散模型,以其印象深刻的图像生成能力而闻名,引起了研究人员对社会影响的关切,如模仿受版权保护的艺术风格。作为回应,现有方法转向机器遗忘(machine unlearning)技术,以消除预训练模型中的不安全概念。然而,这些方法牺牲了生成性能,并忽视了多概念擦除之间的耦合,以及概念恢复问题。为了解决这些问题,我们提出了一个可分离的多概念擦除器(Separable
Multi-concept Eraser,SepME)
,主要包括两个部分:概念无关表示的生成权重解耦。前者旨在避免遗忘概念无关的实质性信息。后者分离可优化的模型权重,使每个权重增量对应于特定概念的擦除,而不影响其他概念上的生成性能。具体而言,擦除指定概念的权重增量被制定为基于其他已知不良概念计算的解的线性组合。大量实验证明了我们的方法在消除概念、保持模型性能并在各种概念的擦除或恢复方面提供的灵活性。

代码:https://github.com/Dlut-lab-zmn/SepCE4MU

1. 简介

扩散模型的一个关键挑战来自各种训练数据来源,可能导致不安全的图像生成 [50, 10],例如创建暴力内容或模仿特定艺术家风格。为解决这一问题,提出了机器遗忘(machine unlearning,MU)技术 [51, 27, 45, 40],涉及擦除特定数据点或概念的影响,以增强模型安全性,而无需完全从头开始重新训练

最近的 MU 研究,如 Erased Stable Diffusion(ESD)[10],Forget-me-not(FMN)[50],Safe self-distillation diffusion(SDD)[23] 和 Ablation Concept(AbConcept)[27],可以广泛分类为非定向概念擦除(例如 FMN)和定向概念擦除(例如ESD,SDD和AbConcept)。具体而言,FMN最小化了被遗忘概念的注意力图。相反,ESD、SDD 和 AbConcept 将被遗忘概念的去噪分布与预定义分布对齐。

尽管 MU 在最近取得了进展[16, 33],但存在一些缺点。

  • 首先,先前的努力集中于概念擦除,导致生成能力的相当降级。
  • 其次,当前的擦除程序仅限于单一概念的消除,并在将其扩展到多概念擦除时面临挑战。

多概念擦除可以采取两种形式:多概念同时擦除和多概念迭代擦除。前者意味着多个被遗忘的概念在预先已知,而后者意味着每个擦除步骤仅具有其先前被遗忘概念的知识。

最后,据我们所知,概念恢复问题尚未得到考虑。例如,在擦除多种艺术风格后,模型所有者可能会重新获得与一些被擦除的风格相关联的版权。

2. 相关工作

现有研究主要分为三个明确的方向:删除不安全数据和模型重新训练 [4],集成额外插件以指导模型输出 [2, 32],以及通过 MU 技术微调模型权重 [10, 50, 27]。第一方向的缺点是大规模模型重新训练需要相当的计算资源和时间。第二方向的风险在于,随着模型结构和权重的公开可用,恶意用户可以轻松删除插件。本文侧重于第三个方向,即机器遗忘。

用于 DM 的大多数遗忘方法可以总结为:

其中,θop 代表可优化的模型权重,例如 DM 中的交叉注意力模块的参数。xt 可以通过扩散过程或抽样过程获得。ϵθop(xt, cf, t) 表示在第 t 步 DM 中未学习的模型预测的噪声。Df 是包含被遗忘概念 cf 的数据集。ϵtarget 和 ϵGT 分别表示预定义目标概念的噪声和在扩散过程中添加的地面实况噪声。

例如,ESD [10] 利用了对无概念 c∅ 和被遗忘概念 cf 的预测噪声来构建 ϵtarget,

其中 θdm 代表冻结 DM 的参数。η 是超参数。SDD [23] 直接将被擦除概念cf的预测分布映射到无概念c∅的预测分布,ϵtarget = ϵθdm (xt, c∅, t)。AbConcept [27] 为每个被擦除概念 cf 分配锚定概念 c∗,例如,cf 是 “梵高的绘画”,c* 是 “绘画”,或 cf 是 “Grumpy 猫的照片”,c* 是 “猫的照片”,ϵtarget = ϵθdm (xt, c∗, t)。相比之下,FMN [50] 是一种非定向概念擦除方法,最小化了与被遗忘概念 cf 对应的注意权重。

这些先进的方法专注于遗忘概念,但显著牺牲了模型性能。此外,它们尚未考虑多概念遗忘和随后恢复的场景。在本研究中,我们引入了一个可分离的多概念遗忘框架。它包括一个非定向的概念无关遗忘机制,在概念遗忘过程中保持模型性能,以及一个权重解耦机制,为概念的遗忘和恢复提供灵活性。

3. 方法

我们提出的可分离多概念擦除器(SepME)旨在在保持整体模型性能的同时,灵活地擦除或恢复多个概念。SepME 的概览如图 1 所示,它包括生成概念无关表示(generation of concept-irrelevant representations,G-CiRs)权重解耦(weight decoupling,WD)

3.1. G-CiRs

为了在遗忘过程中保持扩散模型(DMs)对常规概念(或无概念 c∅)的生成能力,G-CiRs 防止对已遗忘概念 c_(i,f) ∈ c_f,i ∈ [1, N] 的重要但不相关信息的擦除,其中 N 是被擦除概念的数量。具体而言,给定由 θ_dm 参数化的原始 DMs,我们使用噪声差异 Δϵ(ci,f, θdm) = ϵθdm(xt, ci,f, t) − ϵθdm(xt, c∅, t)来表示概念 c_(i,f)。为了成功从 DM 中擦除概念 cf,遗忘的概念和原始 DM 的概念 cf 的表示应该是不相关的,即

其中 Δθdm 表示遗忘的 DMs 的可学习权重增量,⊙ 表示逐元素乘积,Avg(·) 计算平均值。公式(2)实际上计算了概念 ci,f 的两个表示之间的相关性。

(注:微调 DM,使 DM 遗忘概念 ci,f,导致微调前后噪声差异 Δϵ 无关)

在此基础上,我们通过公式 3 微调 Δθdm

其中,ηi 用于平衡多个概念的损失。λ表示超参数。∥Δθdm∥p 限制了未学习的 DM 与原始 DM 之间的权重偏差。

为了满足等式(3)中零相关性的条件,我们使用动量统计方法,因为从各种噪声样本 xt 计算的Lcor(ci,f ,Δθdm) 的值存在显著变化。具体而言,一旦 Ln mom ≤ τ,就会启动早停,其中 τ 表示阈值,其默认值为 0。

其中α是超参数,n 是遗忘步骤。

3.2. 权重解耦(WD)

为了解决多概念遗忘后的恢复问题,我们将方程(2)中的权重 Δθdm 分解为 Δθ1∼N,dm,以灵活地操纵各种概念。每个独立的权重增量 Δθi,dm 旨在遗忘特定概念 ci,f,而不影响模型对其他概念的生成性能。可分离遗忘的过程可以表示为:

其中,xt 可以是任意图像,c ∉ f 表示不属于 cf 的概念。第一个条件旨在擦除被遗忘的概念,而其余条件则减缓对其他概念进行微调的影响。

为了满足这些条件,我们首先需要确定 Δθi,dm 的非零位置。从等式(6)可以明显看出,这些位置与图像无关。因此,只选择交叉注意力模块的 to_k 和 to_v 层,这些层专门设计用于提取 DM 中的文本嵌入。其他位置,例如用于提取图像嵌入的 to_q 层和用于更新融合嵌入的 FFN(前馈网络),已经被固定。对于 ∀i∈[1,N]Δθi,dm,它们共享相同的非零位置,但具有不同的值。

接下来,我们以 Δθto_k 为例来分析如何确定其值,其中 ∀Δθto_k ∈ Δθi,dm。值得注意的是,ϵθdm (xt, ck, t) == ϵθdm + Δθto_k (xt, ck, t) 意味着 ck ⊗ Δθto_k == 0,其中 ck ∈ R^(d_emb × d_in),Δθto_k ∈ R^(d_in × d_out)。d_emb,d_in 和 d_out 表示特征维度。⊗ 表示矩阵乘法。因此,等式(6)可以重写为:

♦ 为了使 Δθto_k 满足等式(7)中的第二和第三条件,我们首先计算线性方程组 A ⊗ Sp = 0 的特解 Sp,

其中,A 是用于指定概念 cf 的常数矩阵,A ∈ R^((N·d_emb) × d_in)。 ⊤ 表示矩阵转置。Sp ∈ R(d_in × (d_in−r)),其中 r 是 A 的秩,满足 r ≤ N·d_emb。d_in−r表示 Sp 中的解的数量。在 DM 中,d_in ≫ d_emb。值得注意的是,为了消除解 Sp 中的原始偏差,我们将 Sp 的每个元素归一化为单位向量。

然后,Δθto_k 的每一列可以表示为这些解 Sp 的线性组合,

其中,w 是一个可优化的变量,表示线性组合的权重,w ∈ R^(d_out × (d_in−r))。

♦ 为了进一步使 Δθto_k 满足等式(7)中的第四个条件,我们引入一个缩放因子 β,如下所示,

同时,w 被初始化为零矩阵。此外,我们用 ∥W∥p 替换等式(5)中的 ∥Δθ1∼N,dm∥p。这里, W 表示为 to_k 和 to_v 层定义的可优化变量 w 的集合。

总体而言,SepME 的目标简化为:

其中,W 表示对 to_k 和 to_v 层定义的可优化变量 w 的集合。

整体评估 SepME。我们组合各种 Δθi,dm 以擦除相应的概念。例如,具有

的 DM 消除了概念 cj,f 和 ck,f。

4. 实验

评估指标。评估指标包括模型参数的修改 ∥Δθdm∥p = ∥Δθdm∥/ M,由感知图像块相似度(LPIPS)测量的感知距离,以及分类准确率(ACC)。其中,M 表示层数。LPIPS 量化了原始图像和遗忘 DM 生成的图像之间的相似性,根据 AlexNet [26] 的设置计算。 

定量结果如表 1 所示。一方面,我们的 G-CiRs 在三种艺术风格的 ACC 和 LPIPS 指标方面表现出最佳性能。另一方面,所提出的 G-CiRs 对模型权重的修改较少。此外,在图 2∼4 中的定性比较中,我们的方法在擦除艺术风格和保持其他概念的生成性能方面也表现出有效性。这些视觉样本是使用包含艺术家名字或句子的提示为各种遗忘 DM 生成的。

5. 结论

在这项研究中,我们提出了一种创新的扩散模型机器遗忘技术,即可分离多概念擦除器(SepME)。SepME 利用相关项和动量统计产生与概念无关的表示。它不仅在概念遗忘过程中保持整体模型性能,还灵活地平衡多个概念之间的损失幅度。此外,SepME 允许分离权重增量,提供操纵各种概念的灵活性,包括概念恢复和迭代概念遗忘。大量实验证实了我们方法的有效性。

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

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

相关文章

模型 “焦糖布丁”理论

系列文章 主要是 分享 思维模型,涉及各个领域,重在提升认知。关注需求本质。 1 “焦糖布丁”理论的应用 1.1 “焦糖布丁”理论-海底捞的创新 海底捞以其优质的服务而闻名,它的成功之处在于深刻理解了消费者的需求和任务,并提供了…

算法沉淀——链表(leetcode真题剖析)

算法沉淀——链表 01.两数相加02.两两交换链表中的节点03.重排链表04.合并 K 个升序链表05.K个一组翻转链表 链表常用技巧 1、画图->直观形象、便于理解 2、引入虚拟"头节点" 3、要学会定义辅助节点(比如双向链表的节点插入) 4、快慢双指针…

Codeforces Round 923 (Div. 3) C. Choose the Different Ones(Java)

比赛链接:Round 923 (Div. 3) C题传送门:C. Choose the Different Ones! 题目: ** Example** ** input** 6 6 5 6 2 3 8 5 6 5 1 3 4 10 5 6 5 6 2 3 4 5 6 5 1 3 8 10 3 3 3 4 1 3 5 2 4 6 2 5 4 1 4 7 3 4 4 2 1 4 2 2 6 4 4 2 1 5 2 3 …

【Java程序设计】【C00270】基于Springboot的moba类游戏攻略分享平台(有论文)

基于Springboot的moba类游戏攻略分享平台(有论文) 项目简介项目获取开发环境项目技术运行截图 项目简介 这是一个基于Springboot的游戏攻略分享平台 本系统分为系统功能模块、管理员功能模块、以及用户后台功能模块。 系统功能模块:在平台首…

力扣精选算法100道——【模板】前缀和(一维)

【模板】前缀和_牛客题霸_牛客网 (nowcoder.com) 目录 🚩了解题意 🚩算法原理 🎈设定下标为1开始 🎈取值的范围 🚩实现代码 🚩了解题意 第一行的3和2,3代表行数,2代表q次查询(…

每日五道java面试题之java基础篇(七)

第一题. HashMap和HashTable有什么区别?其底层实现是什么? 区别 : HashMap⽅法没有synchronized修饰,线程⾮安全,HashTable线程安全;HashMap允许key和value为null,⽽HashTable不允许 底层实现…

在Ubuntu22.04上部署FoooCUS2.1

Fooocus 是一款基于 Gradio的图像生成软件,Fooocus 是对 Stable Diffusion 和 Midjourney 设计的重新思考: 1、从 Stable Diffusion 学习,该软件是离线的、开源的和免费的。 2、从 Midjourney 中学到,不需要手动调整,…

langchain==win11搭建使用GPU

annaconda安装Python 3.11.7 下载代码: GitHub - chatchat-space/Langchain-Chatchat: Langchain-Chatchat(原Langchain-ChatGLM)基于 Langchain 与 ChatGLM 等语言模型的本地知识库问答 | Langchain-Chatchat (formerly langchain-ChatGLM)…

从零开始学howtoheap:理解fastbins的​unsorted bin攻击

how2heap是由shellphish团队制作的堆利用教程,介绍了多种堆利用技术,后续系列实验我们就通过这个教程来学习。环境可参见从零开始配置pwn环境:从零开始配置pwn环境:从零开始配置pwn环境:优化pwn虚拟机配置支持libc等指…

在程序中使用日志功能

在应用中,需要记录程序运行过程中的一些关键信息以及异常输出等。这些信息用来排查程序故障或者其他用途。 日志模块可以自己实现或者是借用第三方库,之前写过一个类似的使用Qt的打印重定向将打印输出到文件:Qt将打印信息输出到文件_qt log输…

牛客——递归实现指数型枚举(枚举,dfs)

链接:登录—专业IT笔试面试备考平台_牛客网 来源:牛客网 题目描述 从 1∼n1\sim n1∼n这 n (n≤16)(n \leq 16)(n≤16) 个整数中随机选取任意多个,输出所有可能的选择方案。 输入描述: 一个整数n。 输出描述: 每行一种方案。同一行内…

第6个-滚动动画

Day 6 - Scroll Animation 1. 演示效果 2. 分析思路 布局 所有的内容进行水平垂直居中,可以使用**margin:0 auto;,也可以使用flex**布局: body {background-color: #efedd6;display: flex;flex-direction: column;justify-content: center…