[ECCV 2024] [复旦]RECE:扩散模型概念移除,只需3秒即可充分移除风险概念!

本文内容来自公众号粉丝投稿,作者来自复旦大学的视觉与学习实验室(FVL)。研究团队提出了一种可靠、高效的概念移除方法(RECE)。该方法以解析解的形式,迭代地进行风险概念移除、风险概念嵌入推导,从而确保模型彻底移除风险概念。本篇工作的论文和代码均已开源。

相关链接

论文链接:https://arxiv.org/abs/2407.12383

代码链接:GitHub - CharlesGong12/RECE: [ECCV 2024] Reliable and Efficient Concept Erasure of Text-to-Image Diffusion Models

论文阅读

问题背景

近年来,基于扩散模型的文生图(T2I)技术取得了重大进展,已经可以生成十分逼真的图像。然而,在生成高质量图像内容的同时,上述模型也存在被滥用的风险,例如生成侵犯版权和包含风险内容(如虚假新闻、暴力色情内容)的图像。尤其是Stable Diffusion(SD)的开源,使得文生图技术变得更加普及。

目前,已有的安全措施包括使用安全检查器对输出进行检查,以及应用无分类器引导来规避风险概念等。然而,由于代码和模型参数的开源,这些方法都容易被攻击者轻易绕过。

针对上述问题,一种有效的解决方案是从T2I扩散模型中移除风险概念,即通过微调模型参数,使其不再具备生成特定不当内容的能力。这种方法不需要从头训练模型,也不易被绕过。尽管概念移除取得了一定进展,但仍存在问题。首先,现有的大多数概念移除方法在微调时需要大量的迭代,导致模型生成能力下降并消耗大量计算资源。其次,已有方法都不能充分移除不当概念,即模型仍有很大几率生成风险图像。

方法简介

为了解决上述问题,研究团队提出了一种可靠、高效的概念移除方法(RECE)。该方法以解析解的形式,迭代地进行风险概念移除、风险概念嵌入推导,从而确保模型彻底移除风险概念。RECE借鉴了对抗训练的思想,通过计算目标函数的解析解,高效地推导出新的风险概念嵌入,然后通过修改交叉注意力层,将它们与无害概念对齐。此外,为了保留模型的生成能力,RECE在嵌入推导过程中证明并引入了一个额外的正则项,从而最小化对生成能力的损害。

可靠高效的概念移除

前置知识

SD等T2I模型通过CLIP对文本进行编码,并通过交叉注意力层将文本嵌入集成到U-Net中。在交叉注意力中,SD用文本嵌入生成key和value,用视觉特征生成query,然后计算交叉注意力输出:

现有的一些概念移除方法需要进行大量微调,效率较低。与之相比,UCE是一种高效的概念移除方法,通过解析解来编辑交叉注意力的权重。

UCE需要一个“源”概念(例如,“裸露”)和一个“目标”概念(例如,空文本“ ”)。给定一个交叉注意力的K/V投影矩阵,UCE的目标是找到新权重,使得新权重下的源概念的映射值对齐到目标概念。同时,为了控制参数变化,UCE最小化对无关概念映射值的影响,并引入L2正则化项:

这是一个凸函数,可以直接求出解析解,并赋值给新权重,速度极快:

可靠高效的概念移除

风险概念嵌入推导

尽管UCE的效率很高,但它概念删除很不彻底,仍有很大几率生成风险图片。为了充分移除风险概念,研究团队首先推导得到风险概念的新嵌入表示,这些新嵌入表示可以使UCE编辑后的模型重新生成风险图片:

以“裸露”为例,我们的目标是得到一个新的概念嵌入,其在新交叉注意力下能引导生成裸露图片。换句话说,经过映射后,应当接近经过的映射值:

上式为凸函数,因此具有解析解:

上述推导得到的可以引导编辑后的模型重新生成裸露图片。

正则项

我们发现直接编辑交叉注意力来将公式(5)中的擦除,会对模型能力产生极大的破坏。因此研究团队引入额外的约束来保证概念移除后模型的能力,即在两轮概念移除过程中,约束无关概念映射值的变化:

利用矩阵范数的相容性,可证明得到:

因此得到最终推导的目标函数为:

其解析解为:

综上,RECE的算法流程归纳为:

实验

不安全概念移除

研究团队在I2P基准数据集上对比了不同概念移除方法对裸露的移除效果,所提出方法的移除效果超过了全部已有方法。编辑后的模型在无关概念集COCO-30k上的FID指标,也远超CA等方法。

艺术风格移除

对于艺术风格移除,所提方法在目标艺术家擦除效果,无关艺术家保留效果以及综合效果方面都表现极佳。

红队鲁棒性

此外,研究团队还验证了RECE对于恶意红队工具的鲁棒性。实验表明,即使在红队攻击下,RECE生成风险图片的几率仍是最低。

模型编辑耗时

研究团队还统计了参数改动比例、模型编辑所需时间。RECE的参数改动比例、编辑耗时远低于CA等方法。尽管UCE的耗时也很短,但RECE的概念移除效果远远好于UCE。

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

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

相关文章

【MySQL进阶之路 | 高级篇】优化数据库结构和大表优化

目录结构: 目录 目录结构: 1. 优化数据库结构 1.1 拆分表:冷热数据分离 1.2 增加冗余字段 1.3 优化数据类型 情况1:对整数类型数据进行优化 情况2:既可以使用文本类型也可以使用整数类型的字段,要选…

IPython中的LaTeX魔法:%%latex 指南

IPython中的LaTeX魔法:%%latex 指南 在数据科学和科学计算领域,IPython因其强大的交互式特性而广受欢迎。IPython提供了一个名为Jupyter Notebook的环境,它允许用户在网页浏览器中以网页应用的形式编写和运行代码。而LaTeX,作为一…

vue3【详解】组合式函数

什么是组合式函数? 利用 Vue 的组合式 API 来封装和复用有状态逻辑的函数,用于实现逻辑复用,类似 react18 中的 hook 函数名称 – 以 use 开头,采用驼峰命名,如 useTitle参数 – 建议使用 toValue() 处理(…

LeetCode热题100刷题17:124. 二叉树中的最大路径和、437. 路径总和 III、199. 二叉树的右视图

124. 二叉树中的最大路径和 /*** Definition for a binary tree node.* struct TreeNode {* int val;* TreeNode *left;* TreeNode *right;* TreeNode() : val(0), left(nullptr), right(nullptr) {}* TreeNode(int x) : val(x), left(nullptr), right(nul…

主页目录导航

Java核心 JVM专题一:深入分析Java工作机制 JVM专题二:Java如何进行编译的 JVM专题三:Java代码如何运行 JVM专题四:JVM的类加载机制 JVM专题五:类加载器与双亲委派机制 JVM专题六:JVM的内存模型 JVM专…

llama3.1数据集处理方法

一、预训练数据 截止到23年底。 1.网页数据清洗 1.个人身份信息和安全性过滤:设计过滤器,会删除根据多种Meta安全标准被评定为有害的域名,以及已知包含成人内容的域名。 2.文本提取和清洗:处理未截断的网页文档的原始HTML内容&…

Github 2024-07-17 开源项目日报 Top10

根据Github Trendings的统计,今日(2024-07-17统计)共有10个项目上榜。根据开发语言中项目的数量,汇总情况如下: 开发语言项目数量非开发语言项目3Python项目3Rust项目2TypeScript项目2MDX项目1项目化学习 创建周期:2538 天协议类型:MIT LicenseStar数量:161973 个Fork数量…

基于51单片机的指纹红外密码电子锁

基于51单片机的指纹红外密码电子锁 1、系统功能介绍2、演示视频3、系统框图4、系统电路介绍4.1、STC89C52单片机最小系统设计4.2、LCD12864显示屏电路设计4.3、矩阵键盘按键控制部分电路设计4.4、AS608指纹模块电路设计 5、程序设计5.1、LCD12864屏幕初始化5.2、AT24C02存储芯片…

打造直播工具详解:从零开始开发直播美颜SDK

今天,笔者将详细讲解如何从零开始开发一个直播美颜SDK,帮助开发者了解开发过程中的关键环节和技术要点。 一、需求分析与规划 在开发之前,首先需要明确美颜SDK的功能需求。一般来说,美颜SDK应包含以下几个核心: 基础…

【TAROT学习日记】韦特体系塔罗牌学习(7)——恋人 THE LOVERS VI

韦特体系塔罗牌学习(7)——恋人 THE LOVERS VI 目录 韦特体系塔罗牌学习(7)——恋人 THE LOVERS VI牌面分析1. 基础信息2. 图片元素 正位牌意1. 关键词/句2.爱情婚姻3. 学业事业4. 人际财富5. 其他象征意 逆位牌意1. 关键词/句2. …

uniapp在手机端预览文件

handlePdf(url) {uni.showLoading({title: 加载中,mask: true,})wx.downloadFile({url: url,success: function(res) {console.log(res)uni.hideLoading()var filePath res.tempFilePathuni.showLoading({title: 正在打开,mask: true,})wx.openDocument({filePath: filePath,f…

从零开始的CPP(23)动态规划解决最长回文串

leetcode5 给你一个字符串 s,找到 s 中最长的 回文串 示例 1: 输入:s "babad" 输出:"bab" 解释:"aba" 同样是符合题意的答案。 最开始我是将回文串都存入map。使用substr进行切割…

css快捷代码【超出一行文本显示省略号/超出三行显示省略号/超出n行...】

常见的css小tips:显示省略号,文本超出容器显示省略号…没啥好说的,直接拷贝代码吧 .containers {overflow:hidden;text-overflow:ellipsis;text-align:justify;word-break:break-all;display:-webkit-box;-webkit-box-orient:vertical;-webk…

MS17-010漏洞复现+利用

1、 漏洞简述 漏洞名称:“永恒之蓝”漏洞 漏洞编号:MS17-010,CVE-2017-0143/0144/0145/0146/0147/0148 漏洞类型:缓冲区溢出漏洞 漏洞影响:信息泄露 CVSS评分:9.3(High) 利用难…

食家巷擀面皮:一口惊艳的传统美味

在美食的世界里,总有一些经典让人难以忘怀,食家巷擀面皮便是其中之一。食家巷擀面皮,那一张张薄而有劲道的面皮,宛如艺术品般细腻。它的外观晶莹剔透,散发着诱人的光泽,让人看一眼就忍不住想要品尝。制作擀…

Vue使用FullCalendar实现日历/周历/月历

Vue使用FullCalendar实现日历/周历/月历 需求背景:项目上遇到新需求,要求实现工单以日/周/月历形式展示。而且要求不同工单根据状态显示不同颜色,一个工单内部,需要以不同颜色显示三个阶段。 效果图 日历 周历 月历 安装插件…

MySQL学习——影响选项文件处理的命令行选项

大多数支持选项文件的MySQL程序都处理以下选项。因为这些选项会影响选项文件处理,所以必须在命令行上给出,而不是在选项文件中给出。为了正常工作,这些选项中的每一个都必须在其他选项之前给出,但以下情况除外: 打印默…

力扣第二十五题——K个一组反转链表

内容介绍 给你链表的头节点 head ,每 k 个节点一组进行翻转,请你返回修改后的链表。 k 是一个正整数,它的值小于或等于链表的长度。如果节点总数不是 k 的整数倍,那么请将最后剩余的节点保持原有顺序。 你不能只是单纯的改变节点内…

自定义IPython启动:打造个性化的交互式编程环境

自定义IPython启动:打造个性化的交互式编程环境 IPython,一个强大的交互式Python解释器,提供了丰富的定制选项,允许用户根据个人或团队的需求定制其行为和外观。设置自定义的启动命令是IPython定制功能的一部分,它可以…

1万6千多传统文化之古代地名大全ACCESS\EXCEL数据库

继续采集传统文化数据,之前采集过《传统文化之非物质文化大全ACCESS数据库》、《名人大全古今人物ACCESS数据库》、《传统文化之民俗文化大全ACCESS数据库》,今天的是古代地名查询: 截图下方有显示“共有记录数”,截图包含了表的所…