当前位置: 首页 > news >正文

【AI论文】扩散对抗后训练用于一步视频生成总结

摘要:扩散模型被广泛应用于图像和视频生成,但其迭代生成过程缓慢且资源消耗大。尽管现有的蒸馏方法已显示出在图像领域实现一步生成的潜力,但它们仍存在显著的质量退化问题。在本研究中,我们提出了一种在扩散预训练后针对真实数据进行的对抗后训练(APT)方法,用于一步视频生成。为了提高训练稳定性和质量,我们对模型架构和训练过程进行了多项改进,并引入了一种近似R1正则化目标。实验表明,我们的对抗后训练模型Seaweed-APT能够使用单个前向评估步骤实时生成2秒、1280x720分辨率、24帧每秒的视频。此外,我们的模型还能够在一步内生成1024px分辨率的图像,质量可与最先进的方法相媲美。Huggingface链接:Paper page 论文链接:2501.08316

一、引言

随着生成对抗网络(GANs)和扩散模型(Diffusion Models)的兴起,图像和视频生成领域取得了显著进展。然而,传统的扩散模型由于其迭代生成过程,导致生成成本高且耗时。尽管现有的蒸馏方法已经展示了在图像领域实现一步生成的可能性,但这些方法往往伴随着显著的质量下降。为了解决这个问题,本文提出了一种新的方法,即对抗后训练(Adversarial Post-Training, APT),通过对抗训练来加速扩散模型,实现图像和视频的一步生成。

二、背景与相关工作

1. 扩散模型加速

扩散模型已成为学习大规模图像和视频生成的标准方法。为了减少生成成本,研究者们提出了多种方法,其中扩散步长蒸馏(Diffusion Step Distillation)是一种有效的方法。这种方法通过预训练的扩散模型作为教师模型,生成目标,然后使用知识蒸馏技术训练学生模型,使学生模型能够使用更少的扩散步长复制教师模型的输出。尽管这些方法在减少推理步长方面取得了进展,但一步生成仍然面临巨大挑战,特别是在实现细粒度细节、最小化伪影和保持结构完整性方面。

2. 一步视频生成

一步视频生成的工作可以追溯到使用GANs的方法,如DVD-GAN、MoCoGAN-HD和StyleGAN-V等。然而,这些方法通常只能在受限的数据域上生成低质量的视频。最近,一些研究尝试将图像扩散模型蒸馏为一步视频生成模型,但这些方法生成的视频分辨率较低,且存在显著的质量下降。

3. 稳定对抗训练

在GANs中,R1正则化已被证明对于促进收敛是有效的。然而,在大规模对抗工作中,由于高阶梯度计算的计算成本高昂,且不被现代深度学习软件栈支持,因此R1正则化的使用受到限制。本文提出了一种近似R1正则化方法,以解决这一问题。

三、方法

1. 概述

本文的目标是将一个文本到视频的扩散模型转换为一步生成器。为此,我们采用对抗后训练(APT)方法,通过对抗优化来实现这一目标。整个训练过程遵循一个最小-最大游戏,其中判别器D尝试区分真实样本和生成样本,而生成器G则试图生成能够欺骗判别器的样本。

2. 生成器

直接对抗训练扩散模型会导致训练崩溃。为了解决这个问题,我们首先使用确定性蒸馏方法初始化生成器。具体来说,我们采用离散时间一致性蒸馏方法,通过均方误差损失进行简单蒸馏。蒸馏后的模型虽然生成的样本很模糊,但为后续的对抗训练提供了一个有效的初始化。

在后续的训练中,我们主要关注一步生成能力,并始终将最终时间步长T传递给基础模型。生成器的损失函数定义为:

其中,gG​(x)=log(1−σ(x)),σ(x)是sigmoid函数。

3. 判别器

判别器被训练为产生一个标量对数,以有效区分真实样本x和生成样本x^。为了实现稳定训练和提高质量,我们对判别器进行了多项改进:

  • 初始化:判别器骨干网络使用预训练的扩散模型进行初始化,并直接在潜在空间中操作。
  • 架构修改:在判别器的第16、26和36层引入新的仅交叉注意力变换器块,每个块使用一个可学习令牌作为查询,以交叉注意力到所有视觉令牌。
  • 输入处理:直接为判别器提供原始样本x和x^,避免引入伪影。由于判别器骨干网络是从扩散模型初始化的,且扩散预训练目标在t=0时没有意义,因此我们使用不同时间步长的集合作为输入。

判别器的损失函数定义为:

其中,,λ是正则化项的权重,σ是高斯噪声的方差。

4. 近似R1正则化

由于高阶梯度计算的计算成本高昂,且不被现代深度学习软件栈支持,因此我们提出了一种近似R1正则化方法。具体来说,我们通过对真实数据添加高斯噪声来扰动真实数据,并鼓励判别器对真实数据和其扰动之间的预测保持接近。这种方法减少了判别器在真实数据上的梯度,从而实现了与原始R1正则化一致的目标。

四、实验结果

1. 定性评估

我们首先在图像生成方面比较了我们的APT模型与原始扩散模型。实验结果显示,APT模型在保持细节和真实感方面表现更好。此外,我们还与其他一步图像生成方法进行了比较,结果显示我们的方法在细节保持和结构完整性方面表现优异。

在视频生成方面,APT模型在视觉细节和真实感方面也有所提升,但在结构完整性和文本对齐方面仍然存在一定的降解。然而,即使如此,APT模型生成的视频在1280×720分辨率下仍然保持了相当的质量。

2. 用户研究

我们进行了一系列用户研究,以评估生成样本的视觉保真度、结构完整性和文本对齐性。实验结果显示,我们的APT模型在视觉保真度方面表现优于其他一步生成方法,但在结构完整性和文本对齐性方面仍存在一定的不足。尽管如此,我们的模型仍然达到了与当前最先进方法相当的性能。

3. 消融研究

我们进行了一系列消融研究,以评估不同组件对模型性能的影响。实验结果显示,近似R1正则化对于维持稳定训练至关重要,没有它训练会迅速崩溃。此外,使用更深的判别器网络和多层特征可以显著提高图像质量。我们还发现,指数移动平均(EMA)和较大的批量大小对于稳定训练和提高模型性能也是有益的。

五、结论与局限

本文提出了一种新的对抗后训练方法(APT),用于加速扩散模型的一步生成。通过引入近似R1正则化和对判别器进行多项改进,我们成功训练了一个能够实时生成高分辨率视频和图像的模型。尽管我们的模型在视觉保真度方面表现优异,但在结构完整性和文本对齐性方面仍存在一定的不足。未来的工作将致力于进一步提高模型的结构完整性和文本对齐性,并探索生成更长时间视频的可能性。

六、局限性与未来工作

尽管我们的方法在一步生成高分辨率视频方面取得了显著进展,但仍存在一些局限性。首先,由于计算资源的限制,我们目前只能训练模型生成最多两秒的视频。未来的工作将探索使用更多的计算资源来生成更长时间的视频。其次,我们观察到APT可能会对文本对齐产生负面影响,这将是未来工作中的一个重要研究方向。最后,我们将继续探索如何进一步提高模型的结构完整性和生成质量。


本文通过引入对抗后训练方法(APT),成功实现了扩散模型的一步生成,显著提高了生成速度和效率。尽管仍存在一些局限性,但本文的研究为未来的工作提供了有价值的参考和启示。

相关文章:

【AI论文】扩散对抗后训练用于一步视频生成总结

摘要:扩散模型被广泛应用于图像和视频生成,但其迭代生成过程缓慢且资源消耗大。尽管现有的蒸馏方法已显示出在图像领域实现一步生成的潜力,但它们仍存在显著的质量退化问题。在本研究中,我们提出了一种在扩散预训练后针对真实数据…...

重回C语言之老兵重装上阵(十六)C语言可变参数

C语言可变参数 在C语言中,标准库提供了一些函数允许接收可变数量的参数。最典型的例子就是 printf 和 scanf,它们能够处理不确定数量的参数。为了实现这一功能,C语言提供了可变参数函数的概念。 1. 可变参数函数的概念 可变参数函数是指函数…...

深拷贝、浅拷贝、移动语义

C 中的拷贝方式 1. 深拷贝(Deep Copy) 定义 深拷贝会复制对象的全部内容,包括对象中动态分配的资源。新对象与原对象完全独立,任何对新对象的修改都不会影响原对象。 实现 通常通过显式的拷贝构造函数或拷贝赋值运算符&#…...

双向链表在系统调度、游戏、文本编辑及组态方面的应用

在编程的奇妙世界里,数据结构就像是一把把神奇的钥匙(前面我们介绍过单向链表的基础了,这里我们更进一步),能帮我们打开解决各种问题的大门。今天,咱们就来聊聊其中一把特别的钥匙——双向链表。双向链表和…...

实践网络安全:常见威胁与应对策略详解

📝个人主页🌹:一ge科研小菜鸡-CSDN博客 🌹🌹期待您的关注 🌹🌹 引言 在数字化转型的浪潮中,网络安全的重要性已达到前所未有的高度。无论是个人用户、企业,还是政府机构…...

关于2024年

关于2024年 十分钟前我从床上爬起来,坐在电脑面前先后听了《黄金时代》——声音碎片和《Song F》——达达两首歌,我觉得躺着有些无聊,又或者除夕夜的晚上躺着让我觉得有些不适,我觉得自己应该爬起来,爬起来记录一下我…...

Hive:Hive Shell技巧

在终端命令窗口不能直接执行select,creat等HQL命令,需要先进入hive之后才能执行,比较麻烦,但是如果使用Hive Shell就可以直接执行 在终端只执行一次Hive命令 -e 参数, "execute"(执行),使用-e参数后会在执行完Hive的命令后退出Hive 使用场景:…...

Markdown Viewer 浏览器, vscode

使用VS Code插件打造完美的MarkDown编辑器(插件安装、插件配置、markdown语法)_vscode markdown-CSDN博客 右键 .md 文件,选择打开 方式 (安装一些markdown的插件) vscode如何预览markdown文件 | Fromidea GitCode - 全球开发者…...

快速分析LabVIEW主要特征进行判断

在LabVIEW中,快速分析程序特征进行判断是提升开发效率和减少调试时间的重要技巧。本文将介绍如何高效地识别和分析程序的关键特征,从而帮助开发者在编写和优化程序时做出及时的判断,避免不必要的错误。 ​ 数据流和并行性分析 LabVIEW的图形…...

【Super Tilemap Editor使用详解】(十五):从 TMX 文件导入地图(Importing from TMX files)

Super Tilemap Editor 支持从 TMX 文件(Tiled Map Editor 的文件格式)导入图块地图。通过导入 TMX 文件,你可以将 Tiled 中设计的地图快速转换为 Unity 中的图块地图,并自动创建图块地图组(Tilemap Group)。以下是详细的导入步骤和准备工作。 一、导入前的准备工作 在导…...

JavaScript系列(45)--响应式编程实现详解

JavaScript响应式编程实现详解 🔄 今天,让我们深入探讨JavaScript的响应式编程实现。响应式编程是一种基于数据流和变化传播的编程范式,它使我们能够以声明式的方式处理异步数据流。 响应式编程基础概念 🌟 💡 小知识…...

Lustre Core 语法 - 布尔表达式

Lustre v6 中的 Lustre Core 部分支持的表达式种类中,支持布尔表达式。相关的表达式包括and, or, xor, not, #, nor。 相应的文法定义为 Expression :: not Expression| Expression and Expression| Expression or Expression | Expression xor Expression | # (…...

python学opencv|读取图像(四十六)使用cv2.bitwise_or()函数实现图像按位或运算

【0】基础定义 按位与运算:全1取1,其余取0。按位或运算:全0取0,其余取1。 【1】引言 前序学习进程中,已经对图像按位与计算进行了详细探究,相关文章链接如下: python学opencv|读取图像&…...

C# 添加、替换、提取、或删除Excel中的图片

在Excel中插入与数据相关的图片,能将关键数据或信息以更直观的方式呈现出来,使文档更加美观。此外,对于已有图片,你有事可能需要更新图片以确保信息的准确性,或者将Excel 中的图片单独保存,用于资料归档、备…...

工作总结:压测篇

前言 压测是测试需要会的一项技能,作为开发,有点时候也要会一点压测。也是被逼着现学现卖的。 一、压测是什么,以及压测工具的选择 压测,即压力测试,是一种性能测试手段,通过模拟大量用户同时访问系统&am…...

11JavaWeb——SpringBootWeb案例02

前面我们已经实现了员工信息的条件分页查询以及删除操作。 关于员工管理的功能,还有两个需要实现: 新增员工 修改员工 首先我们先完成"新增员工"的功能开发,再完成"修改员工"的功能开发。而在"新增员工"中…...

vs2022+tesseract ocr识别中英文 编译好的库下载

测试图片 效果 编译其实挺麻烦的&#xff0c;可参考&#xff1a;在Windows上用Visual Studio编译Tesseract_windows编译tesseract-CSDN博客 #include "baseapi.h" #include "allheaders.h" #include <iostream> #include <fstream> // 用于文…...

状态模式——C++实现

目录 1. 状态模式简介 2. 代码示例 3. 单例状态对象 4. 状态模式与策略模式的辨析 1. 状态模式简介 状态模式是一种行为型模式。 状态模式的定义&#xff1a;状态模式允许对象在内部状态改变时改变它的行为&#xff0c;对象看起来好像修改了它的类。 通俗的说就是一个对象…...

3.观察者模式(Observer)

组件协作模式 现代软件专业分工之后的第一个结果是 “框架与应用程序的划分”,“组件协作” 模式通过晚期绑定&#xff0c;来实现框架与应用程序直接的松耦合&#xff0c;是二者之间协作时常用的模式 典型模式 Template Method Strategy Observer /Event 动机&#xff08;M…...

Kotlin判空辅助工具

1&#xff09;?.操作符 //执行逻辑 if (person ! null) {person.doSomething() } //表达式 person?.doSomething() 2&#xff09;?:操作符 //执行逻辑 val c if (a ! null) {a } else {b } //表达式 val c a ?: b 3&#xff09;!!表达式 var message: String? &qu…...

第19节 Node.js Express 框架

Express 是一个为Node.js设计的web开发框架&#xff0c;它基于nodejs平台。 Express 简介 Express是一个简洁而灵活的node.js Web应用框架, 提供了一系列强大特性帮助你创建各种Web应用&#xff0c;和丰富的HTTP工具。 使用Express可以快速地搭建一个完整功能的网站。 Expre…...

C++实现分布式网络通信框架RPC(3)--rpc调用端

目录 一、前言 二、UserServiceRpc_Stub 三、 CallMethod方法的重写 头文件 实现 四、rpc调用端的调用 实现 五、 google::protobuf::RpcController *controller 头文件 实现 六、总结 一、前言 在前边的文章中&#xff0c;我们已经大致实现了rpc服务端的各项功能代…...

智慧医疗能源事业线深度画像分析(上)

引言 医疗行业作为现代社会的关键基础设施,其能源消耗与环境影响正日益受到关注。随着全球"双碳"目标的推进和可持续发展理念的深入,智慧医疗能源事业线应运而生,致力于通过创新技术与管理方案,重构医疗领域的能源使用模式。这一事业线融合了能源管理、可持续发…...

树莓派超全系列教程文档--(62)使用rpicam-app通过网络流式传输视频

使用rpicam-app通过网络流式传输视频 使用 rpicam-app 通过网络流式传输视频UDPTCPRTSPlibavGStreamerRTPlibcamerasrc GStreamer 元素 文章来源&#xff1a; http://raspberry.dns8844.cn/documentation 原文网址 使用 rpicam-app 通过网络流式传输视频 本节介绍来自 rpica…...

简易版抽奖活动的设计技术方案

1.前言 本技术方案旨在设计一套完整且可靠的抽奖活动逻辑,确保抽奖活动能够公平、公正、公开地进行,同时满足高并发访问、数据安全存储与高效处理等需求,为用户提供流畅的抽奖体验,助力业务顺利开展。本方案将涵盖抽奖活动的整体架构设计、核心流程逻辑、关键功能实现以及…...

《Qt C++ 与 OpenCV:解锁视频播放程序设计的奥秘》

引言:探索视频播放程序设计之旅 在当今数字化时代,多媒体应用已渗透到我们生活的方方面面,从日常的视频娱乐到专业的视频监控、视频会议系统,视频播放程序作为多媒体应用的核心组成部分,扮演着至关重要的角色。无论是在个人电脑、移动设备还是智能电视等平台上,用户都期望…...

Caliper 配置文件解析:config.yaml

Caliper 是一个区块链性能基准测试工具,用于评估不同区块链平台的性能。下面我将详细解释你提供的 fisco-bcos.json 文件结构,并说明它与 config.yaml 文件的关系。 fisco-bcos.json 文件解析 这个文件是针对 FISCO-BCOS 区块链网络的 Caliper 配置文件,主要包含以下几个部…...

selenium学习实战【Python爬虫】

selenium学习实战【Python爬虫】 文章目录 selenium学习实战【Python爬虫】一、声明二、学习目标三、安装依赖3.1 安装selenium库3.2 安装浏览器驱动3.2.1 查看Edge版本3.2.2 驱动安装 四、代码讲解4.1 配置浏览器4.2 加载更多4.3 寻找内容4.4 完整代码 五、报告文件爬取5.1 提…...

OPENCV形态学基础之二腐蚀

一.腐蚀的原理 (图1) 数学表达式&#xff1a;dst(x,y) erode(src(x,y)) min(x,y)src(xx,yy) 腐蚀也是图像形态学的基本功能之一&#xff0c;腐蚀跟膨胀属于反向操作&#xff0c;膨胀是把图像图像变大&#xff0c;而腐蚀就是把图像变小。腐蚀后的图像变小变暗淡。 腐蚀…...

重启Eureka集群中的节点,对已经注册的服务有什么影响

先看答案&#xff0c;如果正确地操作&#xff0c;重启Eureka集群中的节点&#xff0c;对已经注册的服务影响非常小&#xff0c;甚至可以做到无感知。 但如果操作不当&#xff0c;可能会引发短暂的服务发现问题。 下面我们从Eureka的核心工作原理来详细分析这个问题。 Eureka的…...