Auto Byte

专注未来出行及智能汽车科技

微信扫一扫获取更多资讯

Science AI

关注人工智能与其他前沿技术、基础学科的交叉研究与融合发展

微信扫一扫获取更多资讯

真正实现一步文生图,谷歌UFOGen极速采样,生成高质量图像

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

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

图片

论文链接:https://arxiv.org/abs/2311.09257

从下图可以看到,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(《Tackling the Generative Learning Trilemma with Denoising Diffusion GANs》)。其灵感来自于普通扩散模型对降噪分布进行高斯假设的根本缺陷。简单来说,扩散模型假设其降噪分布(给定一个加了噪音的样本,对噪音含量更少的样本的条件分布)是一个简单的高斯分布。然而,随机微分方程理论证明这样的假设只在降噪步长趋于 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 的内部信息,尤其是关于图片和文字的关系的信息。这样的信息很难通过对抗学习来获得。训练算法和图示见下。

图片

图片

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

1. 纯粹的 GAN 训练非常不稳定,尤其是对文生图任务来说,判别器不但需要判别图片的纹理,还需要理解图片和文字的匹配程度,而这是十分困难的任务,尤其在训练早期。因此,之前的 GAN 模型比如 GigaGAN,引入大量的辅助 loss 来帮助训练,这使得训练和调参变得异常困难。UFOGen 因为有重构损失,GAN 在这里起到辅助作用,因此训练非常稳定。

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

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

图片

实验表明,UFOGen 只需一步采样便可以生成高质量的,符合文字描述的图片。在和近期提出的针对扩散模型的高速采样方法的对比中(包括 Instaflow,以及大火的 LCM),UFOGen 展示出了很强的竞争力。甚至和 50 步采样的 Stable Diffusion 相比,UFOGen 生成的样本在观感上也没有表现得更弱。下面是一些对比结果:

图片

总结

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

工程UFOGen 模型扩散模型
相关数据
朱军人物

朱军,清华大学计算机系长聘副教授、卡内基梅隆大学兼职教授。2001 到 2009 年获清华大学计算机学士和博士学位,之后在卡内基梅隆大学做博士后,2011 年回清华任教。主要从事人工智能基础理论、高效算法及相关应用研究,在国际重要期刊与会议发表学术论文百余篇。担任人工智能顶级杂志 IEEE TPAMI 和 AI 的编委、《自动化学报》编委,担任机器学习国际大会 ICML2014 地区联合主席, ICML (2014-2018)、NIPS (2013, 2015, 2018)、UAI (2014-2018)、IJCAI(2015,2017)、AAAI(2016-2018)等国际会议的领域主席。获 CCF 自然科学一等奖、CCF 青年科学家奖、国家优秀青年基金、中创软件人才奖、北京市优秀青年人才奖等,入选国家「万人计划」青年拔尖人才、MIT TR35 中国区先锋者、IEEE Intelligent Systems 杂志评选的「AI's 10 to Watch」(人工智能青年十杰)、及清华大学 221 基础研究人才计划。

高斯分布技术

正态分布是一个非常常见的连续概率分布。由于中心极限定理(Central Limit Theorem)的广泛应用,正态分布在统计学上非常重要。中心极限定理表明,由一组独立同分布,并且具有有限的数学期望和方差的随机变量X1,X2,X3,...Xn构成的平均随机变量Y近似的服从正态分布当n趋近于无穷。另外众多物理计量是由许多独立随机过程的和构成,因而往往也具有正态分布。

重构技术

代码重构(英语:Code refactoring)指对软件代码做任何更动以增加可读性或者简化结构而不影响输出结果。 软件重构需要借助工具完成,重构工具能够修改代码同时修改所有引用该代码的地方。在极限编程的方法学中,重构需要单元测试来支持。

参数技术

在数学和统计学裡,参数(英语:parameter)是使用通用变量来建立函数和变量之间关系(当这种关系很难用方程来阐述时)的一个数量。

收敛技术

在数学,计算机科学和逻辑学中,收敛指的是不同的变换序列在有限的时间内达到一个结论(变换终止),并且得出的结论是独立于达到它的路径(他们是融合的)。 通俗来说,收敛通常是指在训练期间达到的一种状态,即经过一定次数的迭代之后,训练损失和验证损失在每次迭代中的变化都非常小或根本没有变化。也就是说,如果采用当前数据进行额外的训练将无法改进模型,模型即达到收敛状态。在深度学习中,损失值有时会在最终下降之前的多次迭代中保持不变或几乎保持不变,暂时形成收敛的假象。

损失函数技术

在数学优化,统计学,计量经济学,决策理论,机器学习和计算神经科学等领域,损失函数或成本函数是将一或多个变量的一个事件或值映射为可以直观地表示某种与之相关“成本”的实数的函数。

噪音技术

噪音是一个随机误差或观测变量的方差。在拟合数据的过程中,我们常见的公式$y=f(x)+\epsilon$中$\epsilon$即为噪音。 数据通常包含噪音,错误,例外或不确定性,或者不完整。 错误和噪音可能会混淆数据挖掘过程,从而导致错误模式的衍生。去除噪音是数据挖掘(data mining)或知识发现(Knowledge Discovery in Database,KDD)的一个重要步骤。

目标函数技术

目标函数f(x)就是用设计变量来表示的所追求的目标形式,所以目标函数就是设计变量的函数,是一个标量。从工程意义讲,目标函数是系统的性能标准,比如,一个结构的最轻重量、最低造价、最合理形式;一件产品的最短生产时间、最小能量消耗;一个实验的最佳配方等等,建立目标函数的过程就是寻找设计变量与目标的关系的过程,目标函数和设计变量的关系可用曲线、曲面或超曲面表示。

生成模型技术

在概率统计理论中, 生成模型是指能够随机生成观测数据的模型,尤其是在给定某些隐含参数的条件下。 它给观测值和标注数据序列指定一个联合概率分布。 在机器学习中,生成模型可以用来直接对数据建模(例如根据某个变量的概率密度函数进行数据采样),也可以用来建立变量间的条件概率分布。

知识蒸馏技术

Hinton 的工作引入了知识蒸馏压缩框架,即通过遵循“学生-教师”的范式减少深度网络的训练量,这种“学生-教师”的范式,即通过软化“教师”的输出而惩罚“学生”。为了完成这一点,学生学要训练以预测教师的输出,即真实的分类标签。这种方法十分简单,但它同样在各种图像分类任务中表现出较好的结果。

推荐文章
暂无评论
暂无评论~