Auto Byte

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

微信扫一扫获取更多资讯

Science AI

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

微信扫一扫获取更多资讯

机器之心编辑部编译

叫板DALL·E 2,预训练大模型做编码器,谷歌把文字转图像模型卷上天

OpenAI:DALL・E 2 就是最好的。谷歌:看下我们 Imagen 生成的柴犬?

多模态学习近来受到重视,特别是文本 - 图像合成和图像 - 文本对比学习两个方向。一些模型因在创意图像生成、编辑方面的应用引起了公众的广泛关注,例如 OpenAI 的文本转图像模型 DALL・E、英伟达的 GauGAN。现在,来自谷歌的研究者也在这一方向做出了探索,提出了一种文本到图像的扩散模型 Imagen。

Imagen 结合了 Transformer 语言模型和高保真扩散模型的强大功能,在文本到图像的合成中提供前所未有的逼真度和语言理解能力。与仅使用图像 - 文本数据进行模型训练的先前工作相比,Imagen 的关键突破在于:谷歌的研究者发现在纯文本语料库上预训练的大型 LM 的文本嵌入对文本到图像的合成显著有效。Imagen 的文本到图像生成可谓天马行空,能生成多种奇幻却逼真的有趣图像。

比如正在户外享受骑行的柴犬:
泰迪熊的 400 米蝶泳首秀:
狗狗照镜子发现自己是只猫:
火龙果成精要打空手道了:
如果你觉得这些图片过于魔幻,那下面这张小鸟生气的图就非常真实了,隔着屏幕都能感觉到它的愤怒:
我们发现这些图片的分辨率都很高,像是人工精心 PS 过的。然而这些模型都出自 Imagen 这个 AI 模型之手。

Imagen 模型中包含一个 frozen T5-XXL 编码器,用于将输入文本映射到一系列嵌入和一个 64×64 的图像扩散模型中,并带有两个超分辨率扩散模型,用于生成 256×256 和 1024×1024 的图像。
其中,所有扩散模型都以文本嵌入序列为条件,并使用无分类器指导。借助新型采样技术,Imagen 允许使用较大的指导权重,而不会发生样本质量下降,使得生成的图像具有更高的保真度、图像与文本更加吻合。

虽然架构简单且易于训练,但 Imagen 产生了令人惊讶的强大结果。Imagen 在 COCO 上的零样本 FID-30K 分数为 7.27,性能显著优于之前的方法(GLIDE、DALL-E 2 等),并超越了当前的 SOTA 模型 Make-A-Scene(7.27 VS 7.55)。从人工评估看,Imagen 生成的样本在图像文本对齐方面与 COCO captions 的参考图像相当。

此外,研究者还提出了一种用于文本到图像评估的文本 prompt 结构化新套件 DrawBench。DrawBench 对文本到图像模型进行多维评估,文本 prompt 旨在探索模型的不同语义属性。这些 prompt 包括组合性、基数、空间关系、处理复杂文本 prompt 或带有稀有单词的 prompt 的能力,它们包括创造性 prompt,这些 prompt 将模型生成高度难以置信的场景的能力扩展到训练数据范围之外。

借助 DrawBench,研究者进行了广泛的人工评估,结果表明,Imagen 的性能明显优于其他方法。研究者进一步展示了相对于多模态嵌入(例如 CLIP), 使用大型预训练语言模型作为 Imagen 的文本编码器具有明显的优势。
论文地址:https://gweb-research-imagen.appspot.com/paper.pdf

不过,和前段时间大火的 DALL・E 2 一样,我们很难指望谷歌将这个模型开源。对此,有网友建议说,可以去 GitHub 上找一些「野生」复现来玩一玩,比如已经放出一段时间的「DALL-E 2-Pytorch」项目:
项目地址:https://github.com/lucidrains/DALLE2-pytorch

Imagen 细节

Imagen 由一个文本编码器和一系列条件扩散模型组成,前者将文本映射为一系列嵌入,后者将这些嵌入映射为分辨率不断提高的图像,如图 Fig. A.4 所示。

预训练文本编码器

在构建 Imagen 的过程中,研究者探索了几个预训练文本编码器:BERT、T5 和 CLIP。为了简单起见,他们冻结了这些文本编码器的权重。冻结有几个优点,例如嵌入的离线计算,这使得文本 - 图像模型训练期间的计算或内存占用可以忽略。

在这项工作中,研究者发现,扩展文本编码器的大小可以提高文本到图像生成的质量。他们还发现,虽然 T5-XXL 和 CLIP 文本编码器在 MS-COCO 等简单基准上性能相似,但在 DrawBench 上的图像 - 文本对齐和图像保真度方面,人类评估员更喜欢 T5-XXL 编码器而不是 CLIP 文本编码器。

扩散模型和无分类器指导

扩散模型是一类生成模型,通过迭代去噪过程,将高斯噪声从已知的数据分布转换为样本。这类模型可以是有条件的,例如类标签、文本或低分辨率图像。

分类器指导是一种在采样期间使用来自预训练模型 p (c|z_t) 的梯度来提高样本质量,同时减少条件扩散模型多样性的技术。无分类器指导是一种替代技术,通过在训练期间随机丢弃 c(例如 10% 的概率),在有条件和无条件目标上联合训练单个扩散模型,从而避开上述预训练模型。

较大指导权重采样器

研究者证实了最近的文本指导扩散工作的结果,并发现增加无分类器指导权重可以改善图像 - 文本对齐,但也会损害图像保真度,产生高度饱和、不自然的图像。他们发现这是由于高指导权重引起的训练 - 测试不匹配所造成的。并且由于扩散模型在整个采样过程中迭代地应用于其自身的输出,采样过程就产生了不自然的图像。

为了解决这个问题,他们研究了静态阈值(static thresholding)和动态阈值(dynamic thresholding)。他们发现,动态阈值对于提升图像真实感和图像 - 文本对齐能力要有效得多,特别是在使用非常大的指导权重的时候。

稳健的扩散模型组

Imagen 利用一个 64 × 64 基本模型、两个文本条件超分辨率扩散模型将生成的 64 × 64 图像上采样为 256 × 256 图像,然后再上采样为 1024 × 1024 图像。具有噪声调节增强的扩散模型组在逐步生成高保真图像方面非常有效。

此外,研究者通过噪声水平调节使超分辨率模型意识到添加的噪声量,显著提高了样本质量,而且有助于提高超分辨率模型处理较低分辨率模型产生的 artifacts 的稳健性。Imagen 对两个超分辨率模型都使用了噪声调节增强。研究者发现这是生成高保真图像的关键。

给定调节低分辨率图像和增强水平(aug_level,例如高斯噪声或模糊的强度),研究者用增强(对应于 aug_level)破坏低分辨率图像,并在 aug_level 上调节扩散模型。在训练期间,aug_level 是随机选择的,而在推理期间,可以扫描它的不同值以找到最佳样本质量。在这项研究中,研究者使用高斯噪声作为一种增强形式,并应用类似于扩散模型中使用的正向过程的方差来保持高斯噪声增强。

神经网络架构
  • 基本模型

研究者采用 U-Net 架构作为基本的 64 × 64 文本到图像扩散模型。该网络通过池化嵌入向量以文本嵌入为条件,加入到扩散时间步嵌入中,类似于 [16, 29] 中使用的类嵌入条件方法。通过在多分辨率的文本嵌入上添加交叉注意力,研究者进一步对整个文本嵌入序列进行了限制。此外,他们在注意力层和池化层发现了用于文本嵌入、可以大大提高性能的层归一化
  • 超分辨率模型

对于 64 × 64→256 × 256 的超分辨率模型,研究者采用了改编自 [40,58] 的 U-Net 模型。为了提高内存效率、推理时间和收敛速度,研究者对 U-Net 模型进行了一些修改(该变体比 [40,58] 中使用的 U-Net 模型的每秒速度快 2-3 倍),并称这种变体为 Efficient U-Net。256 × 256→1024 × 1024 的超分辨率模型是在 1024 × 1024 图像的 64×64 → 256×256 crop 上训练的。他们去掉了自注意力层,但保留了文本交叉注意力层,这一点是很关键的。

在推理过程中,模型接收完整 256 × 256 低分辨率图像作为输入,输出上采样的 1024 × 1024 图像。注意,研究者在两个超分辨率模型上都使用了文本交叉注意力。

DrawBench

尽管 COCO 是一个很有价值的基准,但很明显它的 prompt 范围是有限的,不能很好地提供对模型之间差异的洞察。因此,研究者提出了 DrawBench,这是一个综合的、具有挑战性的 prompt 集,支持文本到图像模型的评估和比较。

DrawBench 包含 11 种类型的 prompt,用于测试模型的不同功能,比如颜色渲染、对象数量、空间关系、场景中的文本以及对象之间的非常规交互。类别中还包括复杂的 prompt,包括冗长复杂的文本描述、不常见词汇以及拼写错误的 prompt。此外也包含从 DALL-E、Gary Marcus et al. [38]、Reddit 收集的几个 prompt 集。

在 11 个类别中,DrawBench 共包含 200 个 prompt,且在「足够大而全面」与「足够小而人工评估可行」之间取得了很好的平衡。图 2 展示了来自带有 Imagen 样本的 DrawBench 的示例 prompt。

实验

第 4.1 节描述了训练细节,第 4.2 节和第 4.3 节分析了 MS-COCO 和 DrawBench 上的实验结果,第 4.4 节总结了消融研究和主要发现。对于下面的所有实验,图像是来自 Imagen 的公平随机样本,没有后期处理或重新排序。

COCO 实验结果

研究者使用了 FID 评分对 COCO 验证集上的 Imagen 进行了评估,结果如表 1 所示。
Imagen 以 7.27 的得分在 COCO 上实现了 zero-shot FID 的 SOTA 结果,超越了 DALL-E 2 及其他同期工作,甚至超过了其他在 COCO 上训练的模型。

表 2 展示了在 COCO 验证集上测试图像质量和对齐的人工评估结果,包括原始 COCO 验证集和过滤后的版本。在这个版本中,所有与人相关的参考数据都被删除了。在没有人的设置下,Imagen 的偏好率提高到了 43.6% ,这表明 Imagen 生成逼真人物的能力有限。在标题相似度方面,Imagen 的得分与原始的参考图片相当,这表明 Imagen 有能力生成与 COCO 标题相一致的图片。

DrawBench 实验结果

使用 DrawBench,研究者将 Imagen 与 DALL-E 2 (公共版本)、 GLIDE、Latent Diffusion 和 CLIP-guided VQGAN 进行了比较。

图 3 展示了三个模型中每一个模型对 Imagen 成对比较的人类评估结果,包括偏好模型 A、模型 B,或者不受图像保真度和图像文本对齐影响。可以看出,在图文对齐和图像保真度方面,人类评估者极其偏爱 Imagen 模型。读者可以参考附录 E,了解更详细的类别对比和定性对比。

更多研究细节,可参考原论文。
理论谷歌多模态学习
相关数据
重采样技术

重采样是指根据一类象元的信息内插出另一类象元信息的过程。在遥感中,重采样是从高分辨率遥感影像中提取出低分辨率影像的过程。常用的重采样方法有最邻近内插法(nearest neighbor interpolation)、双线性内插法(bilinear interpolation)和三次卷积法内插(cubic convolution interpolation)。

池化技术

池化(Pooling)是卷积神经网络中的一个重要的概念,它实际上是一种形式的降采样。有多种不同形式的非线性池化函数,而其中“最大池化(Max pooling)”是最为常见的。它是将输入的图像划分为若干个矩形区域,对每个子区域输出最大值。直觉上,这种机制能够有效的原因在于,在发现一个特征之后,它的精确位置远不及它和其他特征的相对位置的关系重要。池化层会不断地减小数据的空间大小,因此参数的数量和计算量也会下降,这在一定程度上也控制了过拟合。通常来说,CNN的卷积层之间都会周期性地插入池化层。

权重技术

线性模型中特征的系数,或深度网络中的边。训练线性模型的目标是确定每个特征的理想权重。如果权重为 0,则相应的特征对模型来说没有任何贡献。

自注意力技术

自注意力(Self-attention),有时也称为内部注意力,它是一种涉及单序列不同位置的注意力机制,并能计算序列的表征。自注意力在多种任务中都有非常成功的应用,例如阅读理解、摘要概括、文字蕴含和语句表征等。自注意力这种在序列内部执行 Attention 的方法可以视为搜索序列内部的隐藏关系,这种内部关系对于翻译以及序列任务的性能非常重要。

基准技术

一种简单的模型或启发法,用作比较模型效果时的参考点。基准有助于模型开发者针对特定问题量化最低预期效果。

收敛技术

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

多模态学习技术

现实世界中的信息通常以不同的模态出现。例如,图像通常与标签和文本解释联系在一起;文本包含图像以便更清楚地表达文章的主要思想。不同的模态由迥异的统计特性刻画。例如,图像通常表示为特征提取器的像素强度或输出,而文本则表示为离散的词向量。由于不同信息资源的统计特性不同,发现不同模态之间的关系是非常重要的。多模态学习是一个很好的模型,可以用来表示不同模态的联合表示。多模态学习模型也能在观察到的情况下填补缺失的模态。多模态学习模型中,每个模态对应结合了两个深度玻尔兹曼机(deep boltzmann machines).另外一个隐藏层被放置在两个玻尔兹曼机上层,以给出联合表示。

验证集技术

验证数据集是用于调整分类器超参数(即模型结构)的一组数据集,它有时也被称为开发集(dev set)。

神经网络技术

(人工)神经网络是一种起源于 20 世纪 50 年代的监督式机器学习模型,那时候研究者构想了「感知器(perceptron)」的想法。这一领域的研究者通常被称为「联结主义者(Connectionist)」,因为这种模型模拟了人脑的功能。神经网络模型通常是通过反向传播算法应用梯度下降训练的。目前神经网络有两大主要类型,它们都是前馈神经网络:卷积神经网络(CNN)和循环神经网络(RNN),其中 RNN 又包含长短期记忆(LSTM)、门控循环单元(GRU)等等。深度学习是一种主要应用于神经网络帮助其取得更好结果的技术。尽管神经网络主要用于监督学习,但也有一些为无监督学习设计的变体,比如自动编码器和生成对抗网络(GAN)。

映射技术

映射指的是具有某种特殊结构的函数,或泛指类函数思想的范畴论中的态射。 逻辑和图论中也有一些不太常规的用法。其数学定义为:两个非空集合A与B间存在着对应关系f,而且对于A中的每一个元素x,B中总有有唯一的一个元素y与它对应,就这种对应为从A到B的映射,记作f:A→B。其中,y称为元素x在映射f下的象,记作:y=f(x)。x称为y关于映射f的原象*。*集合A中所有元素的象的集合称为映射f的值域,记作f(A)。同样的,在机器学习中,映射就是输入与输出之间的对应关系。

图像生成技术

图像生成(合成)是从现有数据集生成新图像的任务。

上采样技术

在数字信号处理中,上采样、扩展和内插是与多速率数字信号处理系统中的重采样过程相关的术语。 上采样可以与扩展同义,也可以描述整个扩展和过滤(插值)过程。

生成模型技术

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

层归一化技术

深度神经网络的训练是具有高度的计算复杂性的。减少训练的时间成本的一种方法是对神经元的输入进行规范化处理进而加快网络的收敛速度。层规范化是在训练时和测试时对数据同时进行处理,通过对输入同一层的数据进行汇总,计算平均值和方差,来对每一层的输入数据做规范化处理。层规范化是基于批规范化进行优化得到的。相比较而言,批规范化是对一个神经元输入的数据以mini-batch为单位来进行汇总,计算平均值和方法,再用这个数据对每个训练样例的输入进行规整。层规范化在面对RNN等问题的时候效果更加优越,也不会受到mini-batch选值的影响。

QGAN技术

清华和中科大的研究者在 Science Advances 上发表论文《Quantum generative adversarial learning in a superconducting quantum circuit》,介绍了他们在超导量子电路上实现了第一个生成对抗学习的原理验证,即量子版本的 GAN。据介绍,实验中生成的单个 qubit 的平均保真度为 98.8%。

语言模型技术

统计式的语言模型是借由一个几率分布,而指派几率给字词所组成的字串。语言模型经常使用在许多自然语言处理方面的应用,如语音识别,机器翻译,词性标注,句法分析和资讯检索。

文本到图像生成技术

文本到图像生成是从文本描述或标题生成图像的任务。

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