转载自| 新智元
【导读】在各种Diffusion「AI大画家」中学习一番之后,这款全能型Diffusion要完成AIGC界的「大一统」!
Diffusion模型的最新进展在许多生成任务中树立了一个令人印象深刻的里程碑。诸如DALL·E 2、Imagen和Stable Diffusion(SD)等引人瞩目的工作,引起了学术界和工业界的极大兴趣。
不过,虽然这些模型表现惊艳,但基本都是专一于某一类任务,比如由给定文本生成图像,而对于不同类型的任务,则往往需要专门单独训练,或重新构建新模型。
那么能不能在前人基础上搞一个「全能型」的Diffusion,实现AIGC模型的大一统呢?有人就在努力沿着这个方向进行探索,并已经取得了进展。这个来自伊利诺伊大学厄巴纳-香槟分校、得克萨斯大学奥斯汀分校的联合团队,试图将现有的单流Diffusion扩展为多流网络,称为Versatile Diffusion(VD),这是第一个统一的多流多模态Diffusion框架,是迈向通用生成性人工智能的一步。、
论文地址:https://arxiv.org/abs/2211.08332
Versatile Diffusion除了普通的文字生成图像功能之外,还可以输入图像生成类似图像,输入图像生成文字,输入文字生成相似文字,图片语义解耦编辑,输入图像及文字生成视频,根据隐空间编辑图像内容等等。
未来的版本还将支持更多的模式,如语音、音乐、视频和3D。据论文介绍,现已证明VD及其基础框架具有以下优势:
[if !supportLists]a) [endif]可以以具有竞争力的高质量处理所有子任务。
[if !supportLists]b) [endif]支持新的扩展和应用,如图形风格和语义的分离、图像-文本双引导生成等。c) 通过这些实验和应用,为生成的输出提供了更丰富的语义洞察力。
在训练数据集方面,VD使用带有自定义数据过滤器的Laion2B-en作为主要数据集。
1
『首次探索』
VD的一个令人兴奋的发现是,它可以从语义中增强或减少图像风格,而无需进一步监督。
这样的现象激发作者去探索一个全新的领域,其中,风格和语义之间的分离可以发生在具有任意风格和任意内容的图像上。
作者表示,他们是第一个探索:a)在没有领域规范的情况下,对自然图像的语义和风格进行解读;b)扩散模型潜在空间上的语义和风格分解的团队。
在下图中,作者首先生成输入图像的变体,然后以语义(左边)或风格(右边)为重点对其进行操作。
由于VD同时支持图像到文本和文本到图像,因此作者团队第一次尝试了通过以下步骤从文本提示的角度编辑图像:a)将图像转换成文本,b)编辑文本,c)将文本转换回图像。
在实验中作者从图像中删除了描述的内容,然后用这种图像-文本-图像(I2T2I)范式添加新的内容。与绘画或其他需要物体位置作为输入的图像编辑方法不同,VD的I2T2I不需要掩码,因为它可以按照指令自动定位和替换物体。不过,I2T2I的输出图像与输入图像的像素不一致,这是由于图像到文本的语义提炼和文本到图像的内容创建造成的。
在下图的展示中,输入的图像首先被翻译成prompt,然后用减法(红框)和加法(绿框)对prompt进行编辑。最后,编辑后的prompt被翻译成图像。
此外,他们也是第一个探索基于给定的文字去生成相似文字的团队。
2
『网络框架』
具体来说,文中提出的VD框架是一个多流网络,有各种类型的数据作为输入和背景。
VD多流多模态diffusion框架继承了LDM/SD的优点,具有可解释的潜在空间、模态化结构和较低的计算成本。
VD可以联合训练多个流,每个流代表一个跨模式的任务。其核心设计是diffuser网络内的分组、共享和交换协议,使框架适应所有支持的任务和其他任务。
diffuser分为三组:全局层、数据层和语境层。全局层是时间嵌入层,数据层是剩余块,而语境层是交叉关注。
这种分组与层的功能相对应。当处理多个任务时,全局层在所有任务中共享。数据层和语境层包含多个数据流。每个数据流都可以根据当前的数据和上下文类型进行共享或交换。
比如,当处理文本-图像请求时,diffuser使用图像数据层与文本语境层。当处理图像变异任务时,则使用图像数据层与图像语境层。
单个VD流程包含一个VAE、一个diffuser和一个语境编码器,在一个数据类型(如图像)和一个语境类型(如文本)下处理一个任务(如文本转图像)。
Versatile Diffusion的多流结构如下图所示:
研究人员基于Versatile Diffusion,进一步提出了一个通用的多流多模态框架,其中包括VAE、上下文编码器和包含三层(即全局、数据和语境层)的diffuser。
Diffuser:
VD使用已被广泛采用的交叉关注的UNet作为diffuser网络的主要架构,将层分为全局层、数据层和语境层。其中数据层和语境层有两个数据流来支持图像和文本。
对于图像数据流,遵循LDM并使用残差块(ResBlock),其空间维度逐渐减少,通道数逐渐增加。
对于文本数据流,利用新的全连接残差块(FCResBlock),将768维的文本潜伏向量扩展为320*4的隐藏特征,并遵循类似的通道增加范式,再利用GroupNorms、SiLU和跳过连接,就像普通的ResBlock一样。
如上图所示,FCResBlock包含两组全连接层(FC)、分组归一化(GN)和sigmoid线性单元(SiLU)。x是输入文本潜伏代码,t是输入时间嵌入,hi是中间特征。
对于语境组,图像和语境流都采用交叉注意力层,其中内容嵌入通过投影层、点积和sigmoids来操作数据特征。
变分自编码器(VAE):
VD采用此前的潜在扩散模型(Latent Diffusion Model,LDM)的自编码器-KL作为图像数据VAE,采用Optimus作为文本数据VAE。Optimus由BERT文本编码器和GPT2文本解码器组成,可以将句子双向转化为768维正态分布的潜在向量。
同时,Optimus还以其可重构和可解释的文本潜空间显示出令人满意的VAE特性。因此选择Optimus作为文本VAE,因为它非常符合多流多模态框架的前提条件。语境编码器(Context Encoder):
VD使用CLIP文本和图像编码器作为上下文编码器。与只使用原始文本嵌入作为语境输入的LDM和SD不同,VD使用归一化和投影嵌入,使文本和图像的CLIP对比损失最小化。
实验表明,上下文类型之间更接近的嵌入空间有助于模型快速收敛,表现更好。类似的结论也可以在DALL·E 2中实现,DALL·E 2用额外的投影层来微调文本到图像的模型,以最小化文本和图像嵌入之间的差异,用于图像变化。
3
『性能表现』
作者将早期的单任务模型作为基线模型,并将VD的结果与这些基线进行比较。其中,SDv1.4作为文本到图像的基线模型,SD-variation用于图像-变体,而BLIP用于图像-文本。
同时,作者还对不同的VD模型进行了定性比较,其中VDDC和VD-official用于文本到图像,所有三个模型用于图像变体。
其中SD和VD的图像样本是用受控的随机种子生成的,以便更好地检查质量。
文本到图像的性能
虽然DALLE 2和Imagen在这些任务上也取得了SOTA,但由于没有公开的代码或训练细节,因此作者跳过了对它们的比较。
结果显示,多流程结构和多任务训练可以帮助VD捕获上下文语义并更精确地生成输出,并出色地完成了所有的子任务。
图像-变体的性能
此外,由VD生成的图像标注还包含了一些创造性的词语。相比起来,BLIP的生成就很短,缺乏对细节的描述。
图像到文本的性能
4
『效果展示』
文生图
图像变体
以语义为重点的图像变体
双引导
5
『总结』
作者介绍了Versatile Diffusion(VD),一个多流的多模态diffusion网络,在一个统一的模型中解决了文本、图像和变化。在VD的基础上,作者进一步介绍了一个通用的多流多模态框架,其中可以涉及新的任务和领域。
通过实验,作者发现VD在所有支持的任务上都能产生高质量的输出,其中VD的文本到图像和图像到变体的结果能更好地捕捉上下文中的语义,VD的图像到文本的结果具有创造性和说明性。
鉴于VD的多流多模态属性,作者引入了新颖的扩展和应用,可能会使从事这项技术的下游用户进一步受益。