ICML 2024 | 即插即用!无需训练!基于球面高斯约束引导的条件扩散模型

news2024/12/28 18:20:29

c2ad02a4af6f099ebb372a1f9065e65c.gif

©PaperWeekly 原创 · 作者 | 杨凌霄

单位 | 上海科技大学信息学院

3e227da271377adb8c3d3b4e4c872f1f.png

论文标题:

Guidance with Spherical Gaussian Constraint for Conditional Diffusion

论文作者:

杨凌霄、丁枢桐、蔡逸凡、虞晶怡、汪婧雅、石野

通讯作者:

石野

论文链接:

https://arxiv.org/abs/2402.03201

代码链接:

https://github.com/LingxiaoYang2023/DSG2024

b077c540a8498665c42e6080ca99915f.png

摘要

最近的 Guidance 方法试图通过利用预训练的扩散模型实现损失函数引导的、无需训练的条件生成。虽然这些方法取得了一定的成功,但它们通常会损失生成样本的质量,并且只能使用较小的 Guidance 步长,从而导致较长的采样过程

在本文中,我们揭示了导致这一现象的原因,即采样过程中的流形偏离(Manifold Deviation)。我们通过建立引导过程中估计误差的下界,从理论上证明了流形偏离的存在。

为了解决这个问题,我们提出了基于球形高斯约束的 Guidance 方法(DSG),通过解决一个优化问题将 Guidance 步长约束在中间数据流形内,使得更大的引导步长可以被使用。

此外,我们提出了该 DSG 的闭式解(Closed-Form Solution), 仅用几行代码,就能够使得 DSG 可以无缝 地插入(Plug-and-Play)到现有的无需训练的条件扩散方法,在几乎不产生额外的计算开销的同时大幅改 善了模型性能。我们在各个条件生成任务(Inpainting, Super Resolution, Gaussian Deblurring, Text- Segmentation Guidance, Style Guidance, Text-Style Guidance, and FaceID Guidance)中验证了 DSG 的有效性。

8993bbb0bfed35a6eaa4bda03847b67c.png

21239acae8cc2b67e0225c12cb8f17ab.png

506efbba69e30c33e9d6816f556da063.png

背景:无需训练的条件扩散模型

Classifier guidance 首先提出使用预训练的扩散模型进行条件生成。它利用贝叶斯公式 ,通过引入额外的似然项 来实现条件生成:

d1874d3a65d90f269420165cdd3d9e53.png

目前无需训练的方法,将 time-dependent classifier 替换成某个定义在 上的可微损失函数 , 并利用 Tweedie’s formula 求解额外的似然项:

4b1974b2083c7899b99c56e7834d5e4d.png

这里 表示加噪 t 步的 data, 表示引导步长。因此,总体的采样过程可以被写成

10d59e47f7cfcdae488cae1f3bb72955.png

761b406f86c51a253e36c9421f4fc40a.png

损失函数引导过程中的流形偏离(Manifold Deviation)

尽管先前的工作由于其灵活的特性在各种条件生成任务中取得了巨大成功,但它们会牺牲生成样本的质量。在本文中,我们提出这种现象产生的原因是线性流形假设(Linear Manifold Assumption)和 Jensen Gap 导致的流形偏离:

1. 线性流形假设:线性流形假设是一个相当强的假设,因此在实践中通常会引入误差。


2. Jensen Gap:在实际情况下, 的分布是未知的,将其简单地用 Tweedie’s formula 的估计均值替代会引入 Jensen Gap:

6437acd7b5af04ca32e8550d426af30c.png

本文指出,即使 DPS 提供了 Jensen Gap 的上界,它仍然具有下界,也会引入估计误差:

d12dd32d0f28ea0b6930769a10bb5b42.png

71512f610646bbd5e03002a128df464d.png

基于球面高斯约束引导的条件扩散模型(DSG)

既然无论 Jensen Gap 还是线性流形假设都会不可避免地引入估计误差,那么为什么不在已经无条件的中间数据流形(Intermediate Data Manifold)中,找到那个最接近条件采样的点呢?

因此,我们提出了 DSG(Diffusion with Spherical Gaussian constraint);一种在无条件中间流形的高 置信区间内进行 Guidance 的优化方法:

cfdcc18a33dedb0872799e19fdb971cb.png

这里 表示高斯分布的概率为()的置信区间。在这个优化问题中目标函数倾向于让采样过程在 梯度下降方向进行,约束则是将采样约束在高斯分布的高置信区间。

然而,当高置信区间包含 n 维空间中时,优化问题就变得具有挑战性。幸运的是,高维各向同性高斯分布的高置信区间集中在一个超球上,我们可以通过用这个超球近似它来简化约束,称为球面高斯约束(Spherical Gaussian Constraint):

f379f93e201b319451dfec6094001129.png

这里

e3129d5d89f07e72fef2cfeac0acda83.png

表示 n 维高斯分布近似的超球。通过这种近似方法,我们能够得到优化问题的闭式解:

c9a2f69e8df4e3bd9041abea3984c0e4.png

这个闭式解的求得能够表明,DSG 可以无缝插入目前的无需训练的条件扩散模型,如 DPS、Freedom、UGD,而不造成额外的计算复杂度。并且,只需要修改几行代码就能够产生更好的样本和达到更快的推理速度。

另外,从另一个角度看,DSG 也可以看成在预测均值 上进行梯度下降。而且,由于 与 正相关,DSG 可以看作是自适应的梯度下降方法,在一开始下降步长大,在最后下降步长小。在实验中,我们发现 DSG 最大的步长能够达到 DPS 的 400 倍,因此能够在更小的 DDIM steps 下相比于 DPS 更加鲁棒。

此外,我们发现 DSG 虽然增强了对齐能力和真实性,但是在多样性方面有所损失。因此,我们对原始采样方向和梯度下降方向的进行加权,就像 Classifier-free Guidance 那样:

edce2ba4ff30ae779f886502b02b7a72.png

这里 表示无条件采样方向, 表示最速梯度下降方向。另外, 会被缩放以满足球面高斯约束。

算法流程图如下:

22fba5e6023e3e9bd1ddda3f6bb6771a.png

25683d84de9b7ce6801a59490ac8583a.png

实验结果

我们验证了 DSG 在各个任务上的性能都能够显著地超过 baseline。

Linear Inverse Problems in FFHQ with DDIM steps=1000

60e8b558fa88d5445aaec2f1794a6997.png

Linear Inverse Problems in FFHQ with DDIM steps=100,50,20

6d5ce6875701ef2acba32106e58507db.png

c831867412bb4d8b9a657eaae11c0e1c.png

9f8d80b991e08795731d460dbcc9cc9d.png

可以看到,DPS+DSG 在 DDIM steps=1000,100,50,20 都远超 DPS,并且在 DDIM steps 较小的时候能够观察到与 DPS 更大的性能差距。这种现象可归因于 DPS 的局限性,即为了不远离流形使用的小步长。因此,随着 guidance 步数的减少,测量结果的对齐变得越来越具有挑战性。

相比之下,我们的模型在性能上只有轻微的下降。这是因为 DSG 允许更大的步长,同时仍然保留在中间流形上。因此,即使减少了去噪步骤,我们仍然可以在生成真实样本的同时实现与测量结果的精确对齐,如图 6 所示。

FaceID Guidance in Celeba-HQ

c0e24532046171423295ea90dc596e0d.png

e957413b0e681a665637ad20333400a8.png

Text-Segmentation Guidance

c68077339d27101428e0d9be4286181f.png

Style Guidance

90fc088388631c5321fe89da1a03bfea.png

Text-Style Guidance

3c8a99659983c0856f841be4104851eb.png

Other Tasks

由于篇幅限制,更多实验结果、实验设置请查看原文以获取更多细节。

48aa3ad1b3ec4230f9d23fa349e5a7f2.png

总结

在本文中,我们揭示了无需训练的条件扩散模型中的一个关键问题:在使用基于损失函数的引导时,在采样过程中会出现流形偏移现象。为解决这一问题,我们提出了一种基于球面高斯约束引导的条件扩散(DSG)方法,灵感来源于高维高斯分布中的集中现象。DSG 通过优化有效地限制引导步骤在中间数据流形内,从而减轻流形偏移问题,并能够使用更大的引导步长。

此外,我们为基于球形高斯约束的 DSG 去噪过程提供了一个封闭形式的解决方案。(CDM)。将 DSG 整合到这些 CDM 中,仅涉及修改几行代码,几乎不增加额外的计算成本,但却显著提高了性能。我们已将 DSG 整合到几个最新的 CDM 中,用于各种条件生成任务。实验结果验证了 DSG 在样本质量和时间效率方面的优越性和适应性。

更多阅读

bfef592d59035a3d714852887ded3431.png

bce440bf1fe407be2907884c90796013.png

641cc4d43c940daa63ee0569e739d5fa.png

379c4c3b5a100bd14fdf4d3290cfa4ea.gif

#投 稿 通 道#

 让你的文字被更多人看到 

如何才能让更多的优质内容以更短路径到达读者群体,缩短读者寻找优质内容的成本呢?答案就是:你不认识的人。

总有一些你不认识的人,知道你想知道的东西。PaperWeekly 或许可以成为一座桥梁,促使不同背景、不同方向的学者和学术灵感相互碰撞,迸发出更多的可能性。 

PaperWeekly 鼓励高校实验室或个人,在我们的平台上分享各类优质内容,可以是最新论文解读,也可以是学术热点剖析科研心得竞赛经验讲解等。我们的目的只有一个,让知识真正流动起来。

📝 稿件基本要求:

• 文章确系个人原创作品,未曾在公开渠道发表,如为其他平台已发表或待发表的文章,请明确标注 

• 稿件建议以 markdown 格式撰写,文中配图以附件形式发送,要求图片清晰,无版权问题

• PaperWeekly 尊重原作者署名权,并将为每篇被采纳的原创首发稿件,提供业内具有竞争力稿酬,具体依据文章阅读量和文章质量阶梯制结算

📬 投稿通道:

• 投稿邮箱:hr@paperweekly.site 

• 来稿请备注即时联系方式(微信),以便我们在稿件选用的第一时间联系作者

• 您也可以直接添加小编微信(pwbot02)快速投稿,备注:姓名-投稿

87c5e92e90024d022e5f980b35b54260.png

△长按添加PaperWeekly小编

🔍

现在,在「知乎」也能找到我们了

进入知乎首页搜索「PaperWeekly」

点击「关注」订阅我们的专栏吧

·

·

·

73ad65c99c9ec903ecc60edd76f36495.jpeg

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

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

相关文章

【数据结构】二叉树-堆(上)

个人主页~ 二叉树-堆 一、树的概念及结构1、概念2、相关概念3、树的表示4、树的实际应用 二、二叉树的概念和结构1、概念2、特殊二叉树3、二叉树的性质4、二叉树的存储结构(1)顺序存储(2)链式存储 三、二叉树的顺序结构以及实现1、…

【Linux-时间管理和内核定时器】

Linux-时间管理和内核定时器 ■ 设置系统节拍率■ 高节拍率和低节拍率的优缺点:■ jiffies 系统节拍数■ get_jiffies_64 这个函数可以获取 jiffies_64 的值■ 处理绕回■ 使用 jiffies 判断超时 ■ jiffies 和 ms、 us、 ns 之间的转换函数在这里插入代码片■ 内核…

pytest:指定测试用例执行顺序

在自动化测试中,测试用例的执行顺序有时对测试结果具有重要影响。本文将介绍如何在pytest框架中使用pytest-ordering插件以及Collection hooks来控制测试用例的执行顺序。 方式1: 使用pytest-ordering插件控制执行顺序 1.1 安装pytest-ordering插件 首…

Android Studio开发之路(十三)主题影响Button颜色问题解决及button自定义样式

一、问题描述 在开发过程中发现安卓的默认主题色是紫色,并且会导致button也是紫色,有时直接在xml布局文件中直接设置button的背景色或者设置背景图片不起效果 方案一、如果是app,可以直接设置主题颜色 比如,将主题设置为白色&a…

【STM32】 独立看门狗配置方法

什么是看门狗 看门狗(watchdog)指的是一种监控系统或程序,用于定期检测和监控其他系统或程序的运行状态,并在出现问题或故障时采取相应的措施。它可以是硬件设备,也可以是软件程序。 在计算机领域中,看门狗…

Java Swing + MySQL图书借阅管理系统

系列文章目录 Java Swing MySQL 图书管理系统 Java Swing MySQL 图书借阅管理系统 文章目录 系列文章目录前言一、项目展示二、部分代码1.Book2.BookDao3.DBUtil4.BookAddInternalFrame5.Login 三、配置 前言 项目是使用Java swing开发,界面设计比较简洁、适合作…

Taipy快速打造数据驱动的Web应用

Taipy: 用Taipy,让数据洞察与应用开发无缝对接- 精选真开源,释放新价值。 概览 Taipy快速打造数据驱动的 Web 应用。这是一个基于 Python 和 Flask 的项目,结合了 React 等前端技术,为开发者提供了一个简洁、高效的开…

【计算机毕业设计】基于SSM+Vue的新能源汽车在线租赁管理系统【源码+lw+部署文档】

摘 要 随着科学技术的飞速发展,社会的方方面面、各行各业都在努力与现代的先进技术接轨,通过科技手段来提高自身的优势,新能源汽车在线租赁当然也不能排除在外。新能源汽车在线租赁是以实际运用为开发背景,运用软件工程开发方法&…

docker安装Elasticsearch(ES)详细教程

使用Docker来安装Elasticsearch(简称ES)的详细教程如下: 1. 前提条件 确保你的系统已经安装了Docker,并且Docker服务正在运行。如果你使用的是Windows系统,还需要确保已经启用了Hyper-V和容器功能。 2. 拉取Elastic…

AOP、注解、EL表达、若依权限,Security原理综合分析

AOP、注解、EL表达、若依权限,Security原理综合分析 案例一:更新、创建增强 需求产生 每个表中均有创建时间、创建人、修改时间、修改人等字段。 在操作时候手动赋值,就会导致编码相对冗余、繁琐,那能不能对于这些公共字段在某…

【c++基础】和谐分组

题目描述 s 班共有 n 名学生,按照学号从 1 到的顺序每名学生的身高分别为 a[1],a[2]...a[n]。由于是新学期,s 班需要进行分组,分组的要求如下: 进行分组的组数不能超过 k。 每组的人的学号必须相邻。 由于身高差过大的人分在同一…

今天又一次在金边搬家了

target:离开柬埔寨倒计时-220day 前言 前天,银行的行政告诉我之前住的地方那个中介说房东不租了,重新给我租了个地方,还是在同一栋楼,只是楼层和房间不一样,今天搬了好多躺呀… 周末的日子 昨天下午 同事&…

2024 在Pycharm管理数据库

2024 在Pycharm管理数据库 Pycharm 社区版DataBase Navigator 数据库管理插件(Plugins)安装使用(sqlite为例添加数据) 文章目录 2024 在Pycharm管理数据库一、Pycharm数据库配置1、Database Navigator插件安装2、连接数据库 二、数据库使用1、插件自带基本操作2、控制台操作 …

linux centos循环ping网段ip

循环ping,检测ip是否可用,ping通为正在使用yes,no为不通 vim test.sh#!/bin/bash ip"192.168.1."echo "ping log:" > ./ping.txt for i in {1..128} doping -c 1 -w 1 -W 1 $ip$i | grep -q "ttl" &&a…

Redis崩溃后,如何进行数据恢复的?no.24

本课时我们主要学习通过 RDB、AOF、混合存储等数据持久化方案来解决如何进行数据恢复的问题。 Redis 持久化是一个将内存数据转储到磁盘的过程。Redis 目前支持 RDB、AOF,以及混合存储三种模式。 RDB Redis 的 RDB 持久化是以快照的方式将内存数据存储到磁盘。在…

【数据结构与算法 经典例题】相交链表

💓 博客主页:倔强的石头的CSDN主页 📝Gitee主页:倔强的石头的gitee主页 ⏩ 文章专栏:数据结构与算法刷题系列(C语言) 期待您的关注 目录 一、问题描述 二、解题思路 方法一:双循环对比法 方…

Minecraft服务器如何搭建

Minecraft这是原版英文名称,在中国大陆被译为《我的世界》,这款游戏很火爆。台湾的很多小伙伴也在玩,其译名为《我的创世神》。现在这款游戏在国内已经被网易代理了。因为这款游戏开源,所以任何人都可以搭建服务器端,如…

群晖nas连接(路由器设置)--群晖配置下文

目录 前言 本文目的与核心 一、打开IPV6和关闭防火墙 路由器后台 二、打开群晖查看是否有ipv6和记住ipv4地址 群晖后台界面 三、路由器设置端口转发 路由器后台 四、打开DDNS-GO的配置页面查看是否配置生效成功 群晖另一个配置后台 五、访问测试 前言 群晖配置上…

Java整合ELK实现日志收集 之 Elasticsearch、Logstash、Kibana

简介 Logstash:用于收集并处理日志,将日志信息存储到Elasticsearch里面 Elasticsearch:用于存储收集到的日志信息 Kibana:通过Web端的可视化界面来查看日志(数据可视化) Logstash 是免费且开放的服务器端数…

尼姆游戏(人机对战)-Python

1.实验要求 编写程序设计和实现聪明的尼姆游戏(人机对战)。尼姆游戏是个著名的游戏,有很多变种玩法。两个玩家轮流从一堆物品中拿走一部分。在每一步中,玩家可以自由选择拿走多少物品,但是必须至少拿走一个并且最多只…