【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识别中英文 编译好的库下载
测试图片 效果 编译其实挺麻烦的,可参考:在Windows上用Visual Studio编译Tesseract_windows编译tesseract-CSDN博客 #include "baseapi.h" #include "allheaders.h" #include <iostream> #include <fstream> // 用于文…...

状态模式——C++实现
目录 1. 状态模式简介 2. 代码示例 3. 单例状态对象 4. 状态模式与策略模式的辨析 1. 状态模式简介 状态模式是一种行为型模式。 状态模式的定义:状态模式允许对象在内部状态改变时改变它的行为,对象看起来好像修改了它的类。 通俗的说就是一个对象…...
3.观察者模式(Observer)
组件协作模式 现代软件专业分工之后的第一个结果是 “框架与应用程序的划分”,“组件协作” 模式通过晚期绑定,来实现框架与应用程序直接的松耦合,是二者之间协作时常用的模式 典型模式 Template Method Strategy Observer /Event 动机(M…...
Kotlin判空辅助工具
1)?.操作符 //执行逻辑 if (person ! null) {person.doSomething() } //表达式 person?.doSomething() 2)?:操作符 //执行逻辑 val c if (a ! null) {a } else {b } //表达式 val c a ?: b 3)!!表达式 var message: String? &qu…...

8k长序列建模,蛋白质语言模型Prot42仅利用目标蛋白序列即可生成高亲和力结合剂
蛋白质结合剂(如抗体、抑制肽)在疾病诊断、成像分析及靶向药物递送等关键场景中发挥着不可替代的作用。传统上,高特异性蛋白质结合剂的开发高度依赖噬菌体展示、定向进化等实验技术,但这类方法普遍面临资源消耗巨大、研发周期冗长…...
IGP(Interior Gateway Protocol,内部网关协议)
IGP(Interior Gateway Protocol,内部网关协议) 是一种用于在一个自治系统(AS)内部传递路由信息的路由协议,主要用于在一个组织或机构的内部网络中决定数据包的最佳路径。与用于自治系统之间通信的 EGP&…...

Docker 运行 Kafka 带 SASL 认证教程
Docker 运行 Kafka 带 SASL 认证教程 Docker 运行 Kafka 带 SASL 认证教程一、说明二、环境准备三、编写 Docker Compose 和 jaas文件docker-compose.yml代码说明:server_jaas.conf 四、启动服务五、验证服务六、连接kafka服务七、总结 Docker 运行 Kafka 带 SASL 认…...
Python爬虫实战:研究feedparser库相关技术
1. 引言 1.1 研究背景与意义 在当今信息爆炸的时代,互联网上存在着海量的信息资源。RSS(Really Simple Syndication)作为一种标准化的信息聚合技术,被广泛用于网站内容的发布和订阅。通过 RSS,用户可以方便地获取网站更新的内容,而无需频繁访问各个网站。 然而,互联网…...
测试markdown--肇兴
day1: 1、去程:7:04 --11:32高铁 高铁右转上售票大厅2楼,穿过候车厅下一楼,上大巴车 ¥10/人 **2、到达:**12点多到达寨子,买门票,美团/抖音:¥78人 3、中饭&a…...

1.3 VSCode安装与环境配置
进入网址Visual Studio Code - Code Editing. Redefined下载.deb文件,然后打开终端,进入下载文件夹,键入命令 sudo dpkg -i code_1.100.3-1748872405_amd64.deb 在终端键入命令code即启动vscode 需要安装插件列表 1.Chinese简化 2.ros …...
全面解析各类VPN技术:GRE、IPsec、L2TP、SSL与MPLS VPN对比
目录 引言 VPN技术概述 GRE VPN 3.1 GRE封装结构 3.2 GRE的应用场景 GRE over IPsec 4.1 GRE over IPsec封装结构 4.2 为什么使用GRE over IPsec? IPsec VPN 5.1 IPsec传输模式(Transport Mode) 5.2 IPsec隧道模式(Tunne…...
大语言模型(LLM)中的KV缓存压缩与动态稀疏注意力机制设计
随着大语言模型(LLM)参数规模的增长,推理阶段的内存占用和计算复杂度成为核心挑战。传统注意力机制的计算复杂度随序列长度呈二次方增长,而KV缓存的内存消耗可能高达数十GB(例如Llama2-7B处理100K token时需50GB内存&a…...

用机器学习破解新能源领域的“弃风”难题
音乐发烧友深有体会,玩音乐的本质就是玩电网。火电声音偏暖,水电偏冷,风电偏空旷。至于太阳能发的电,则略显朦胧和单薄。 不知你是否有感觉,近两年家里的音响声音越来越冷,听起来越来越单薄? —…...

JVM 内存结构 详解
内存结构 运行时数据区: Java虚拟机在运行Java程序过程中管理的内存区域。 程序计数器: 线程私有,程序控制流的指示器,分支、循环、跳转、异常处理、线程恢复等基础功能都依赖这个计数器完成。 每个线程都有一个程序计数…...