极市平台 | NeurIPS 2024|浙大/微信/清华提出:彻底解决扩散模型反演问题

本文来源公众号“极市平台”,仅用于学术分享,侵权删,干货满满。

原文链接:NeurIPS 2024|浙大/微信/清华提出:彻底解决扩散模型反演问题

极市导读

本文介绍了浙江大学、微信和清华大学联合提出的BELM算法,这是一种基于双向显式线性多步法的扩散模型精确反演采样器,它能够彻底解决扩散模型反演问题,同时提升生成样本的质量。BELM算法通过截断误差分析确定了最优采样器系数,具有精确反演性质,并在图像与视频编辑、插值等下游任务中展现出广泛的应用前景。

本篇论文已经被NeurIPS 2024接收。第一作者王方懿康是微信视觉团队实习生,同时也是浙江大学一年级硕士研究生。共同一作是微信高级研究员Hubery。通讯作者是浙江大学助理教授张超。其他作者包括来自清华大学的董玥江,来自浙江大学的朱胡旻昊,赵涵斌助理教授和钱徽教授,以及微信基础视觉和视觉生成技术负责人李琛。

随着扩散生成模型的发展,人工智能步入了属于 AIGC 的新纪元。扩散生成模型可以对初始高斯噪声进行逐步去噪而得到高质量的采样。当前,许多应用都涉及扩散模型的反演,即找到一个生成样本对应的初始噪声。当前的采样器不能兼顾反演的准确性和采样的质量。

为彻底解决这一问题,微信视觉团队与浙江大学和清华大学联手提出了基于双向显式线性多步法的扩散模型精确反演采样器(BELM)这一通用算法,并通过截断误差分析确定了最优的 BELM 采样器系数。此方法在确保精确反演的同时还提升了生成样本的质量,在图像与视频的编辑、插值等下游任务中有广泛的应用前景。这一研究成果已被 NeurIPS 2024 会议接收。

当前,扩散模型在图像生成、文字生成、音频生成等多个领域得到了广泛应用,表现出了卓越的性能。扩散模型的反演操作,即找到一个生成样本对应的初始噪声,对若干下游任务起到关键的作用。传统的 DDIM 反演会造成严重的不一致问题,即原始图片加噪再去噪的结果与原图相差甚远。

近期,研究者们提出了多种启发式的精确反演采样器来解决 DDIM 反演的不一致问题。然而,这些启发式的精确反演采样器的理论特性尚不明确,且采样质量常常不尽如人意,这在一定程度上限制了它们的应用。

为此,本研究引入了一种通用的精确反演采样器范式 —— 双向显式线性多步(BELM)采样器,该范式包含了上文提到的启发式精确反演采样器。该团队在 BELM 范式内系统地研究了局部截断误差(LTE),发现现有的精确反演采样器的 LTE 并非最优。

因此,研究团队通过 LTE 最小化方法提出了最优的 BELM(Optimal-BELM,O-BELM)采样器。实验表明,O-BELM 采样器在实现精确反演的同时,也提升了采样的质量。

  • 论文链接:https://arxiv.org/abs/2410.07273

  • 项目地址:https://github.com/zituitui/BELM

背景:DDIM 反演造成的不一致问题

由于 DDIM 的正向过程和反演过程使用的迭代式并不相同,所以 DDIM 的反演重构样本与初始的样本存在较大差别。

实际使用中,DDIM 的反演有显著的不一致问题:

现有精确反演方法

Null-text-inversion

以 Null-tex-inversion 为代表的方法对 unconditional 占位符进行 fine-tune,以达到精确反演。

问题:这类方法局限于 text-classifier-free-guidance 场景下的扩散模型;需要额外训练,低效。

EDICT

EDICT 是基于 DDIM 的启发式算法,借鉴了可逆网络的做法,有两个相互糅合的采样链。

其逆过程如下,精确可逆:

问题:需要两倍计算量;超参数 p 不鲁棒,导致采样质量不可控。

BDIA

BDIA 改进了 EDICT,使用 x_i 的速度,x_i 和 x_{i+1} 的位置,通过下述公式实现精确可逆:

问题:超参数 gamma 不鲁棒,导致采样质量不佳。

EDICT 和 BDIA 参数的不鲁棒:

EDICT 和 BDIA 超参数的意义不明,没有理论指导如何调整,导致不同情形下超参数的选择差别巨大。使用起来极为不便。

双向显式线性多步法(BELM)框架

思路起源:DDIM 的正向过程(由蓝线表示)与反演过程(由红线表示)是两种不同的关系,这导致了 DDIM 的反演不准确。如果强制正过程与反过程使用相同关系,又会引入隐式方法,大大增加计算复杂度。如果多引入一个点,不用隐式方法也可逆(由绿线表示)。

该论文中的算法,正向和反演过程都服从相同的关系,因此能够精确反演。具体来说,为了系统地设计这种采样器,首先要将扩散模型的采样过程建模为一个 IVP(Initial Value Problem,初值问题):

以下是 IVP 的一般形式,这实际上是一个变步长变公式线性多步方法(VSVFM):

为了避免隐式方法的复杂计算,上式需要在正向和反向都是显式的,该团队称这一性质为双向显性(bidirectional explicit)。

代入双向显性条件,可以得到一般的 k 步 BELM 采样器:

最简单的形式是 k=2,称为 2-BELM,其表达式如下:

据此很容易证明,一个满足双向显性性质的线性多步法采样器拥有精确反演性质:

研究团队还发现,前文提到的 EDICT 和 BDIA 都是 BELM 框架的特例:

这也解释了 EDICT 和 BDIA 能够精确反演的原因。

最优双向显式线性多步(O-BELM)采样器

研究团队在推导 BELM 框架暂时没有给出具体的系数选择,而启发式的系数选择(如 EDICT 和 BDIA)会造成采样质量的退化。因此,他们提出使用局部截断误差(LTE)来获取最优系数。

首先分析 BELM 的局部截断误差:

通过对局部截断误差的最小化,我们得到了最优的 BELM 系数,我们称此系数下的 BELM 采样器为最优 BELM(O-BELM):

O-BELM 的正向过程表达式如下:

O-BELM 的反演过程表达式如下:

此外,研究团队还证明了 O-BELM 满足稳定性和全局收敛性:

至此,可以对比几种不同反演采样器的性质:

可见,O-BELM 是第一种在严格的理论保证下兼顾精确反演性质和采样质量的采样器。

实验

重建实验(验证 O-BELM 精确反演性质)

latent 空间上的 O-BELM 的重建误差为 0,这表明 O-BELM 具有精确反演的性质:

 

采样实验(验证 O-BELM 的高质量采样性质)

不论在无条件生成还是条件生成中,O-BELM 都表现出了高于 DDIM,EDICT 和 BDIA 的采样质量:

下游任务 —— 图像编辑

图像编辑实验体现了:

1. 由于 DDIM 不具有精确反演性质,编辑的结果中存在不一致问题(红色框);

2. 由于 EDICT 和 BDIA 具有较大的采样误差,编辑的结果出现了不真实区域(黄色框);

3.O-BELM 在保持图像一致的条件下完成了高质量的编辑。

由于 O-BELM 是一个采样方法,因此可以无缝地与 controlNet 结合,编辑效果也优于其他方法:

下游任务 —— 图像插值

由于 O-BELM 精确地建立了噪声和生成样本的对应关系,这个关系是 probability flow ODE 的近似,因此 O-BELM 也使得图像插值更符合人的直觉:

结语

本研究提出的双向显式线性多步法采样器从理论上分析并彻底解决了现有扩散生成模型中的反演问题,进一步拓宽了扩散模型在计算机视觉领域的能力边界。在图像和视频的编辑任务上有巨大的应用前景。

THE END !

文章结束,感谢阅读。您的点赞,收藏,评论是我继续更新的动力。大家有推荐的公众号可以评论区留言,共同学习,一起进步。

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

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

相关文章

心觉:人每日60000念头,如何让你的时间精力只专注于核心目标?

Hi,我是心觉,带你用潜意识化解各种焦虑、内耗,建立无敌自信;教你财富精准显化的实操方法;关注我,伴你一路成长! 每日一省写作220/1000天 据说一个人每天会产生60000个念头 有些我们的意识能察觉到&#x…

89.冒泡算法(代码编写)

目录 一.代码编写 二.视频教程 一.代码编写 #include <stdio.h>void main(void) {int data[10];int j,i;int temp;printf("Please input data:\n");for(i0;i<10;i){scanf("%d",&data[i]);}for(i0;i<10;i){for(j0;j<9-i;j){if(data[j…

SQL CASE表达式与窗口函数

CASE 表达式是一种通用的条件表达式&#xff0c;类似于其他编程语言中的if/else语句。 窗口函数类似于group by&#xff0c;但是不会改变记录行数&#xff0c;能扫描所有行&#xff0c;能对每一行执行聚合计算或其他复杂计算&#xff0c;并把结果填到每一行中。 1 CASE 表达式…

ubuntu22-安装vscode-配置shell命令环境-mac安装

文章目录 1.安装vscode2.修改语言为中文3.配置bash调试环境3.1.安装插件3.2.添加配置文件 4.调试bash4.1.新建tmp.sh文件4.2.运行启动 5.mac安装6.mac卸载 1.安装vscode 从官网下载安装包Code_1.93.1-1726079302_amd64.deb。 在ubuntu系统中&#xff0c;安装包所在目录打开命令…

Chromium127编译指南 Linux篇 - 同步第三方库以及Hooks(六)

引言 在成功克隆 Chromium 源代码仓库并建立新分支之后&#xff0c;配置开发环境成为至关重要的下一步。这一过程涉及获取必要的第三方依赖库以及设置钩子&#xff08;hooks&#xff09;&#xff0c;这些步骤对于确保后续的编译和开发工作能够顺利进行起着决定性作用。本指南旨…

【NOIP提高组】虫食算

【NOIP提高组】虫食算 C语言C &#x1f490;The Begin&#x1f490;点点关注&#xff0c;收藏不迷路&#x1f490; 所谓虫食算&#xff0c;就是原先的算式中有一部分被虫子啃掉了&#xff0c;需要我们根据剩下的数字来判定被啃掉的字母。来看一个简单的例子&#xff1a; 43#98…

练习LabVIEW第三十题

学习目标&#xff1a; 刚学了LabVIEW&#xff0c;在网上找了些题&#xff0c;练习一下LabVIEW&#xff0c;有不对不好不足的地方欢迎指正&#xff01; 第三十题&#xff1a; 用labview写一个获取当前系统时间的程序 开始编写&#xff1a; 前面板添加一个字符串显示控件&am…

书生大模型实战营 L0 入门岛

书生大模型训练营入门岛任务——训练营链接 1. Linux前置知识 任务&#xff1a;端口转发 当使用vscode远程连接服务器时&#xff0c;在服务器运行的任务&#xff0c;vscode会自动帮忙进行端口映射&#xff0c;方便本地进行访问。 2. Python前置知识 任务1&#xff1a;Leec…

【本科毕业设计】基于单片机的智能家居防火防盗报警系统

基于单片机的智能家居防火防盗报警系统 源码下载摘要Abstract第1章 绪论1.1课题的背景1.2 研究的目的和意义 第2章 系统总体方案设计2.1 设计要求2.2 方案选择和论证2.2.1 单片机的选择2.2.2 显示方案的选择 第3章 系统硬件设计3.1 整体方案设计3.1.1 系统概述3.1.2 系统框图 3…

<项目代码>YOLOv8 猫狗识别<目标检测>

YOLOv8是一种单阶段&#xff08;one-stage&#xff09;检测算法&#xff0c;它将目标检测问题转化为一个回归问题&#xff0c;能够在一次前向传播过程中同时完成目标的分类和定位任务。相较于两阶段检测算法&#xff08;如Faster R-CNN&#xff09;&#xff0c;YOLOv8具有更高的…

前端项目使用高德地图插件

高德开放平台 | 高德地图API 1、注册成为开发者 登录 高德开放平台控制台&#xff0c;如果没有开发者账号&#xff0c;请 注册开发者。 2. 创建key&#xff0c;项目里面要用 进入应用管理&#xff0c;创建新应用&#xff0c;新应用中添加 key&#xff0c;服务平台选择 Web端…

统信UOS开发环境支持php

UOS对PHP开发环境提供了灵活的选择,在这里开发者可以轻松搭建开发环境,是开发者最理想的选择。 文章目录 一、环境部署php开发环境安装二、代码示例PHP开发案例三、常见问题1. 权限问题2. PHP-FPM服务未正确启动或配置错误一、环境部署 php开发环境安装 php为服务器开发语言…

word转ppt软件哪个好?这些工具你值得拥有

在日常工作和学习中&#xff0c;我们经常需要将word文档转换为ppt幻灯片&#xff0c;以便于展示和汇报。 为了提高效率&#xff0c;市场上涌现了许多word转ppt工具&#xff0c;它们能够自动排版&#xff0c;帮助我们快速完成转换工作。 一、迅捷PPT &#x1f525;优势——多样…

idm扩展自动更新,导致不能正常使用处理方法

idm扩展自动更新&#xff0c;导致不能正常使用处理方法 针对于edge和chrome浏览器的设置 处理思路&#xff0c;设置权限&#xff0c;让浏览器的没有权限修改扩展的文件&#xff0c;从而关闭自动更新 具体做法 1找到idm安装路径&#xff0c;里面有IDMGCE.crx的文件就是扩展文…

Spring框架的声明式事务

目录 一.配置文件的方式 1.配置文件 2.业务层 3.持久层 4.测试类 5.运行 6.查看数据库 7.出现异常运行 二.半注解的方式 1.配置文件 2.db.properties 3.持久层 4.业务层 5.测试类 6.运行 7.查看数据库 8.加上异常 三.纯注解的方式 1.持久层 2.业务层 3.配置…

弹性布局flex-direction

通常来讲&#xff0c;要布局一个底部按钮固定&#xff0c;中间内容可以滑动&#xff0c;都会用中间内容padding-bottom固定内容的高度来使内容可以滑动到看见全部。 如果在固定的内容里&#xff0c;有一个数据为动态&#xff0c;并且可以很多&#xff0c;会导致固定的内容高度不…

spring ai 入门 之 结构化输出 - 把大模型llm返回的内容转换成java bean

目录 ​编辑 将AI非结构化文本转换为特定格式数据的应用场景说明 Spring AI 介绍 &#xff1a;为Java开发者打造的AI应用开发框架 Qwen 介绍 &#xff1a; 一个国内领先的开源大模型 Spring AI Alibaba框架介绍 &#xff1a; 一个国内最好的spring ai实现 使用spring ai …

深入解析:物联网技术及其应用

&#x1f493; 博客主页&#xff1a;瑕疵的CSDN主页 &#x1f4dd; Gitee主页&#xff1a;瑕疵的gitee主页 ⏩ 文章专栏&#xff1a;《热点资讯》 深入解析&#xff1a;物联网技术及其应用 深入解析&#xff1a;物联网技术及其应用 深入解析&#xff1a;物联网技术及其应用 物…

.net core 接口,动态接收各类型请求的参数

[HttpPost] public async Task<IActionResult> testpost([FromForm] object info) { //Postman工具测试结果&#xff1a; //FromBody,Postman的body只有rawjson时才进的来 //参数为空时&#xff0c;Body(form-data、x-www-form-urlencoded)解析到的数据也有所…

Python装饰器执行的顺序你知道吗

1. 引言 前面的文章中&#xff0c;讲到了 Python 装饰器的基础使用方式&#xff0c;在实际使用中&#xff0c;可能会遇到一个函数使用多个装饰器的情况&#xff0c;这个时候装饰器的顺序同样至关重要。本文将讨论装饰器的顺序如何影响函数的行为&#xff0c;并通过几个例子来说…