目录
总结
首页 科技周边 人工智能 实现高质量图像生成的新一步:谷歌UFOGen极速采样方法

实现高质量图像生成的新一步:谷歌UFOGen极速采样方法

Nov 20, 2023 pm 02:30 PM
ai 模型

最近一年来,以 Stable Diffusion 为代表的一系列文生图扩散模型彻底改变了视觉创作领域。数不清的用户通过扩散模型产生的图片提升生产力。但是,扩散模型的生成速度是一个老生常谈的问题。因为降噪模型依赖于多步降噪来逐渐将初始的高斯噪音变为图片,因此需要对网络多次计算,导致生成速度很慢。这导致大规模的文生图扩散模型对一些注重实时性,互动性的应用非常不友好。随着一系列技术的提出,从扩散模型中采样所需的步数已经从最初的几百步,到几十步,甚至只需要 4-8 步。

最近,来自谷歌的研究团队提出了 UFOGen 模型,一种能极速采样的扩散模型变种。通过论文提出的方法对 Stable Diffusion 进行微调,UFOGen 只需要一步就能生成高质量的图片。与此同时,Stable Diffusion 的下游应用,比如图生图,ControlNet 等能力也能得到保留。

实现高质量图像生成的新一步:谷歌UFOGen极速采样方法

请点击以下链接查看论文:https://arxiv.org/abs/2311.09257

从下图可以看到,UFOGen 只需一步即可生成高质量,多样的图片。

实现高质量图像生成的新一步:谷歌UFOGen极速采样方法

提升扩散模型的生成速度并不是一个新的研究方向。之前关于这方面的研究主要集中在两个方向。一个方向是设计更高效的数值计算方法,以求能达到利用更少的离散步数求解扩散模型的采样 ODE 的目的。比如清华的朱军团队提出的 DPM 系列数值求解器,被验证在 Stable Diffusion 上非常有效,能显著地把求解步数从 DDIM 默认的 50 步降到 20 步以内。另一个方向是利用知识蒸馏的方法,将模型的基于 ODE 的采样路径压缩到更小的步数。这个方向的例子是 CVPR2023 最佳论文候选之一的 Guided distillation,以及最近大火的 Latent Consistency Model (LCM)。尤其是 LCM,通过对一致性目标进行蒸馏,能够将采样步数降到只需 4 步,由此催生了不少实时生成的应用。

然而,谷歌的研究团队在 UFOGen 模型中并没有跟随以上大方向,而是另辟蹊径,利用了一年多前提出的扩散模型和 GAN 的混合模型思路。他们认为前面提到的基于 ODE 的采样和蒸馏有其根本的局限性,很难将采样步数压缩到极限。因此想实现一步生成的目标,需要打开新的思路。

混合模型是指结合了扩散模型和生成对抗网络(GAN)的方法。这个方法最早由英伟达的研究团队在ICLR 2022上提出,被称为DDGAN(《用去噪扩散GAN解决生成学习三难题》)。DDGAN的灵感来自于普通扩散模型对降噪分布进行高斯假设的缺陷。简单来说,扩散模型假设降噪分布(给定一个带噪音的样本,生成一个噪音更少的样本的条件分布)是一个简单的高斯分布。然而,随机微分方程理论证明,这样的假设只在降噪步长趋近于0时成立。因此,扩散模型需要大量重复的降噪步骤来保证较小的降噪步长,导致生成速度较慢

DDGAN 提出抛弃降噪分布的高斯假设,而是用一个带条件的 GAN 来模拟这个降噪分布。因为 GAN 具有极强的表示能力,能模拟复杂的分布,所以可以取较大的降噪步长来达到减少步数的目的。然而,DDGAN 将扩散模型稳定的重构训练目标变成了 GAN 的训练目标,很容易造成训练不稳定,从而难以延伸到更复杂的任务。在 NeurIPS 2023 上,和创造 UGOGen 的同样的谷歌研究团队提出了 SIDDM(论文标题 Semi-Implicit Denoising Diffusion Models),将重构目标函数重新引入了 DDGAN 的训练目标,使训练的稳定性和生成质量都相比于 DDGAN 大幅提高。

SIDDM 作为 UFOGen 的前身,只需要 4 步就能在 CIFAR-10, ImageNet 等研究数据集上生成高质量的图片。但是 SIDDM 有两个问题需要解决:首先,它不能做到理想状况的一步生成;其次,将其扩展到更受关注的文生图领域并不简单。为此,谷歌的研究团队提出了 UFOGen,解决这两个问题。

具体来说,对于问题一,通过简单的数学分析,该团队发现通过改变生成器的参数化方式,以及改变重构损失函数计算的计算方式,理论上模型可以实现一步生成。对于问题二,该团队提出利用已有的 Stable Diffusion 模型进行初始化来让 UFOGen 模型更快更好的扩展到文生图任务上。值得注意的是,SIDDM 就已经提出让生成器和判别器都采用 UNet 架构,因此基于该设计,UFOGen 的生成器和判别器都是由 Stable Diffusion 模型初始化的。这样做可以最大限度地利用 Stable Diffusion 的内部信息,尤其是关于图片和文字的关系的信息。这样的信息很难通过对抗学习来获得。训练算法和图示见下。

实现高质量图像生成的新一步:谷歌UFOGen极速采样方法

实现高质量图像生成的新一步:谷歌UFOGen极速采样方法

值得注意的是,在这之前也有一些利用 GAN 做文生图的工作,比如英伟达的 StyleGAN-T,Adobe 的 GigaGAN,都是将 StyleGAN 的基本架构扩展到更大的规模,从而也能一步文生图。UFOGen 的作者指出,比起之前基于 GAN 的工作,除了生成质量外,UFOGen 还有几点优势:

重写后的内容:1. 在文生图任务中,纯粹的生成对抗网络(GAN)训练非常不稳定。判别器不仅需要判断图像的纹理,还需要理解图像和文字之间的匹配程度,这是一项非常困难的任务,尤其是在训练的早期阶段。因此,之前的GAN模型,如GigaGAN,引入了大量的辅助损失来帮助训练,这使得训练和调参变得异常困难。然而,UFOGen通过引入重构损失,使GAN在这方面发挥了辅助作用,从而实现了非常稳定的训练

2. 直接从头开始训练 GAN 除了不稳定还异常昂贵,尤其是在文生图这样需要大量数据和训练步数的任务下。因为需要同时更新两组参数,GAN 的训练比扩散模型来说消耗的时间和内存都更大。UFOGen 的创新设计能从 Stable Diffusion 中初始化参数,大大节约了训练时间。通常收敛只需要几万步训练。

3. 文生图扩散模型的一大魅力在于能适用于其他任务,包括不需要微调的应用比如图生图,已经需要微调的应用比如可控生成。之前的 GAN 模型很难扩展到这些下游任务,因为微调 GAN 一直是个难题。相反,UFOGen 拥有扩散模型的框架,因此能更简单地应用到这些任务上。下图展示了 UFOGen 的图生图以及可控生成的例子,注意这些生成也只需要一步采样。

实现高质量图像生成的新一步:谷歌UFOGen极速采样方法

经过实验表明,UFOGen 只需要一步采样就能生成高质量、符合文字描述的图片。与近期提出的针对扩散模型的高速采样方法(如Instaflow和LCM)相比,UFOGen展现出了很强的竞争力。即使与需要50步采样的Stable Diffusion相比,UFOGen生成的样本在观感上也不逊色。以下是一些对比结果:

实现高质量图像生成的新一步:谷歌UFOGen极速采样方法

总结

谷歌团队提出了一种名为UFOGen的强大模型,通过提升现有的扩散模型和GAN的混合模型来实现。这个模型是由Stable Diffusion微调而来的,并且在保证一步文生成图的能力的同时,还适用于不同的下游应用。作为早期实现超快速文本到图像合成的工作之一,UFOGen为高效率生成模型领域开辟了一条新的道路

以上是实现高质量图像生成的新一步:谷歌UFOGen极速采样方法的详细内容。更多信息请关注PHP中文网其他相关文章!

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

AI Hentai Generator

AI Hentai Generator

免费生成ai无尽的。

热门文章

R.E.P.O.能量晶体解释及其做什么(黄色晶体)
3 周前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳图形设置
3 周前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您听不到任何人,如何修复音频
3 周前 By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25:如何解锁Myrise中的所有内容
4 周前 By 尊渡假赌尊渡假赌尊渡假赌

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

phpmyadmin建立数据表 phpmyadmin建立数据表 Apr 10, 2025 pm 11:00 PM

要使用 phpMyAdmin 创建数据表,以下步骤必不可少:连接到数据库并单击“新建”标签。为表命名并选择存储引擎(推荐 InnoDB)。通过单击“添加列”按钮添加列详细信息,包括列名、数据类型、是否允许空值以及其他属性。选择一个或多个列作为主键。单击“保存”按钮创建表和列。

怎么创建oracle数据库 oracle怎么创建数据库 怎么创建oracle数据库 oracle怎么创建数据库 Apr 11, 2025 pm 02:33 PM

创建Oracle数据库并非易事,需理解底层机制。1. 需了解数据库和Oracle DBMS的概念;2. 掌握SID、CDB(容器数据库)、PDB(可插拔数据库)等核心概念;3. 使用SQL*Plus创建CDB,再创建PDB,需指定大小、数据文件数、路径等参数;4. 高级应用需调整字符集、内存等参数,并进行性能调优;5. 需注意磁盘空间、权限和参数设置,并持续监控和优化数据库性能。 熟练掌握需不断实践,才能真正理解Oracle数据库的创建和管理。

oracle数据库怎么创建 oracle数据库怎么建库 oracle数据库怎么创建 oracle数据库怎么建库 Apr 11, 2025 pm 02:36 PM

创建Oracle数据库,常用方法是使用dbca图形化工具,步骤如下:1. 使用dbca工具,设置dbName指定数据库名;2. 设置sysPassword和systemPassword为强密码;3. 设置characterSet和nationalCharacterSet为AL32UTF8;4. 设置memorySize和tablespaceSize根据实际需求调整;5. 指定logFile路径。 高级方法为使用SQL命令手动创建,但更复杂易错。 需要注意密码强度、字符集选择、表空间大小及内存

oracle数据库的语句怎么写 oracle数据库的语句怎么写 Apr 11, 2025 pm 02:42 PM

Oracle SQL语句的核心是SELECT、INSERT、UPDATE和DELETE,以及各种子句的灵活运用。理解语句背后的执行机制至关重要,如索引优化。高级用法包括子查询、连接查询、分析函数和PL/SQL。常见错误包括语法错误、性能问题和数据一致性问题。性能优化最佳实践涉及使用适当的索引、避免使用SELECT *、优化WHERE子句和使用绑定变量。掌握Oracle SQL需要实践,包括代码编写、调试、思考和理解底层机制。

MySQL数据表字段操作指南之添加、修改与删除方法 MySQL数据表字段操作指南之添加、修改与删除方法 Apr 11, 2025 pm 05:42 PM

MySQL 中字段操作指南:添加、修改和删除字段。添加字段:ALTER TABLE table_name ADD column_name data_type [NOT NULL] [DEFAULT default_value] [PRIMARY KEY] [AUTO_INCREMENT]修改字段:ALTER TABLE table_name MODIFY column_name data_type [NOT NULL] [DEFAULT default_value] [PRIMARY KEY]

oracle数据库表的完整性约束有哪些 oracle数据库表的完整性约束有哪些 Apr 11, 2025 pm 03:42 PM

Oracle 数据库的完整性约束可确保数据准确性,包括:NOT NULL:禁止空值;UNIQUE:保证唯一性,允许单个 NULL 值;PRIMARY KEY:主键约束,加强 UNIQUE,禁止 NULL 值;FOREIGN KEY:维护表间关系,外键引用主表主键;CHECK:根据条件限制列值。

MySQL数据库中的嵌套查询实例详解 MySQL数据库中的嵌套查询实例详解 Apr 11, 2025 pm 05:48 PM

嵌套查询是一种在一个查询中包含另一个查询的方式,主要用于检索满足复杂条件、关联多张表以及计算汇总值或统计信息的数据。实例示例包括:查找高于平均工资的雇员、查找特定类别的订单以及计算每种产品的总订购量。编写嵌套查询时,需要遵循:编写子查询、将其结果写入外层查询(使用别名或 AS 子句引用)、优化查询性能(使用索引)。

Tomcat日志如何帮助排查内存泄漏 Tomcat日志如何帮助排查内存泄漏 Apr 12, 2025 pm 11:42 PM

Tomcat日志是诊断内存泄漏问题的关键。通过分析Tomcat日志,您可以深入了解内存使用情况和垃圾回收(GC)行为,从而有效定位和解决内存泄漏。以下是如何利用Tomcat日志排查内存泄漏:1.GC日志分析首先,启用详细的GC日志记录。在Tomcat启动参数中添加以下JVM选项:-XX: PrintGCDetails-XX: PrintGCDateStamps-Xloggc:gc.log这些参数会生成详细的GC日志(gc.log),包含GC类型、回收对象大小和时间等信息。分析gc.log

See all articles