1前言在DALL·E发布15个月后,OpenAI在今年春天带来了续作DALL·E2,其更惊人的效果和丰富的可玩性该游戏迅速成为主要AI社区的头条新闻。近年来,随着生成对抗网络(GAN)、变分自编码器(VAE)、扩散模型(Diffusionmodels)的出现,深度学习向世人展示了其强大的图像生成能力;加上GPT-3、BERT等NLP模型的成功,人类正在逐渐打破文本和图像的信息边界。在DALL·E2中,只需输入简单的文字(提示),即可生成多张1024*1024的高清图片。这些图像甚至可以表达不合理的语义,并以超现实主义的形式创造出富有想象力的视觉效果,如图1中“逼真的宇航员骑马”。图1.DALL·E2代示例本文将给出一个in-深入解释DALL·E等新范式如何通过文字创造出许多令人惊叹的图像。2图像生成图2.主流图像生成方法自2014年生成对抗网络(GAN)诞生以来,图像生成研究已经成为深度学习领域乃至整个人工智能领域的重要前沿课题。.除了众所周知的生成对抗网络(GAN),主流的方法还包括变分自动编码器(VAE)和基于流的生成模型(Flow-basedmodels),以及最近流行的扩散模型(Diffusionmodels)。在图2的帮助下,我们探索了每种方法的特点和差异。2.1生成对抗网络(GAN)GAN的全称是GenerativeAdversarialNetworks。从名字不难看出《Adversarial》是其成功的精髓。对抗的思想是受博弈论的启发。在训练生成器(Generator)的同时,训练一个鉴别器(Discriminator)来判断输入是真实图像还是生成图像。两人在极小极大游戏中相互竞争并变得更强,如式(1)。当被充分“愚弄”的图像是由随机噪声生成时,我们认为真实图像的数据分布拟合得更好,并且可以通过采样生成大量逼真的图像。GAN是生成模型中应用最为广泛的技术,在图像、视频、语音、NLP等众多数据合成场景中大放异彩。除了直接从随机噪声中生成内容,我们还可以在生成器和判别器中加入条件(如分类标签)作为输入,使生成的结果符合条件输入的属性,从而使生成的内容可控.GAN虽然效果突出,但由于博弈机制的存在,其训练稳定性较差,容易出现modecollapse。如何使模型顺利达到博弈均衡点也是GAN研究的热点。2.2变分自编码器(VAE)变分自编码器(VariationalAutoencoder)是自编码器的一种变体。传统的自动编码器旨在以无监督的方式训练神经网络并完成对原始输入的压缩。转化为中间表示和还原成两个过程,前者通过编码器(Encoder)将原始高维输入转化为低维隐层编码,后者通过解码器(Decoder)从编码中重构出数据).不难看出自编码器的目标是学习一个恒等函数,我们可以用交叉熵(Cross-entropy)或均方误差(MeanSquareError)构造一个重建损失来量化输入和输出之间的差异。如图3所示,在上述过程中我们得到了一个低维隐藏层编码,它捕获了原始数据的潜在属性,可用于数据压缩和特征表示。图3自编码器的潜在属性编码由于自编码器只关注隐层编码的重构能力,其隐层空间分布往往不规则、不均匀,连续隐层中的一组随机采样或插值获得空间。编码通常会产生无意义且无法解释的生成结果。为了构造一个规则的隐藏层空间,以便我们可以在不同的潜在属性上随机采样和平滑插值,最终通过解码器生成有意义的图像,研究人员在2014年提出了变分自动编码器。变分自动编码器不再将输入映射到隐层空间中的固定编码,但将其转化为隐层空间的概率分布估计。为了表示方便,我们假设先验分布是标准的高斯分布。同样,我们训练一个概率解码器来模拟从隐藏空间分布到真实数据分布的映射。当给定一个输入时,我们通过后验分布估计分布的参数(多元高斯模型的均值和协方差),并对该分布进行采样,我们可以使用重参数化技术使采样可导(作为随机变量),最后通过概率解码器输出关于的分布,如图4所示。为了使生成的图像尽可能逼真,我们需要求解后验分布,目标是最大化对数似然真实图像。图4.变分自动编码器的样本生成过程。不幸的是,根据涉及连续空间积分的贝叶斯模型,真正的后验分布不能直接求解。为了解决上述问题,变分自编码器采用变分推理的方法,引入可学习的概率编码器来逼近真实后验分布,使用KL散度来衡量两个分布的差异,从真实后验中解决这个问题分布转化为如何缩小两个分布之间的距离。我们省略中间的推导过程,将上式展开,得到式(2)。由于KL散度是非负的,我们可以将我们的最大化目标转化为公式(3)。综上所述,我们将讨论概率编码器和概率解码滤波器的定义是模型的损失函数,其负形式称为证据下界(EvidenceLowerBound)。最大化证据下界等同于最大化目标。上述变分过程是VAE及其变体的核心思想。通过变分推理,将问题转化为最大化真实数据生成的证据下界。2.3基于流的模型(Flow-basedmodels)图5基于流的生成过程如图5所示,假设原始数据分布可以通过一系列可逆变换函数从已知分布得到,即。通过雅可比矩阵的行列式和变量变化规律,我们可以直接估计真实数据的概率密度函数(方程(4)),最大化可计算的对数似然。是转换函数的雅可比行列式,因此要求其雅可比行列式除了可逆外还易于计算。Glow等基于流的生成模型使用1x1可逆卷积进行精确的密度估计,在人脸生成方面取得了不错的效果。2.4扩散模型(Diffusionmodels)图6.扩散模型的扩散和逆向过程扩散模型定义了两个过程,正向和反向。前向过程或扩散过程是从真实的数据分布中采样,并逐渐向样本中加入高斯噪声。为了生成噪声样本序列,添加噪声的过程可以通过方差参数来控制,可以近似等价于高斯分布。扩散过程是预先设定的可控过程。加噪过程的条件分布可表示为式(5)。从扩散过程的定义来看,我们可以使用上面的公式以任意步长进行采样。同样,我们也可以将扩散过程逆向,从高斯噪声中采样,学习一个模型来估计真实的条件概率分布。因此,逆过程可以定义为式(7)。扩散模型的优化目标有多种选择。比如在训练过程中,可以从正向过程中直接计算得到,所以我们可以从预测分布中采样。采样过程可以加入图像分类和文本标签作为条件输入,以最小均方误差优化重建损失。这个过程相当于一个自动编码器。在去噪扩散概率模型DDPM中,作者通过重参数化技术构建了一个简化版的噪声预测模型loss(式(8)),输入加噪数据训练模型以步长预测噪声,并且在推理过程中使用预测去噪数据的高斯分布均值来对人脸图像进行去噪。3MultimodalRepresentationLearning3.1NLPonTransformer图7.BERT和GPTBERT和GPT是近年来NLP领域非常强大的预训练语言模型,在文章生成、代码生成、机器学习等下游任务上取得了很大的突破翻译和问答。两者均使用Transformer作为算法的主要框架,实现细节略有不同(图7)。BERT本质上是一个双向编码器。它使用MaskLanguageModel(MLM)和NextSentencePrediction(NSP)两个任务以自监督的方式学习文本的特征表示,可以迁移到其他学习任务而不是Word2Vec。GPT的本质是一个自回归解码器。通过使用海量数据和不断堆叠的模型,它最大限度地提高了语言模型预测下一个文本的可能性。重要的是在训练过程中,GPT的后序文本被mask掉,使其在前序文本的训练和预测过程中不可见,而在BERT中,所有文本相互可见,参与self-attention计算。BERT通过随机掩码或替换输入,提高模型的鲁棒性和表达能力。3.2ViT(VisionTransformer)Transformer在NLP领域的巨大成功引发了研究者对其表达图像特征能力的思考。与NLP不同的是,图像信息庞大且冗余。直接使用Transformer进行建模会导致模型因Token数量过多而无法学习。直到2020年,研究人员提出了ViT,通过Patch和线性投影的方法对图像数据进行降维,使用TransformerEncoder作为图像编码器输出分类预测结果,取得了可观的效果。图8.ViTNowTransformer成为图像处理领域的新研究对象,以其强大的潜力不断挑战CNN的地位。3.3CLIPCLIP(ContrastiveLanguage-ImagePretraining)是OpenAI提出的一种连接图像和文本特征表示的比较学习方法。如图9所示,CLIP通过Transformer成功对文本-图像对进行编码生成Tokens对,并使用点积运算来衡量相似度,这样对于每个文本我们就得到了所有图像的one-hot分类概率,反之亦然,也可以获得每张图片所有文本的分类概率。在训练过程中,我们优化了图9(1)中概率矩阵的每一行和每一列的交叉熵损失的计算。图9.CLIPCLIP将文本和图像的特征表示映射到同一空间。虽然它没有实现跨模态信息传递,但作为特征压缩、相似性度量和跨模态表示学习的方法非常有效。直观上,我们将图像Token放在标签范围内,生成所有文本提示中最相似的输出,即完成一次图像分类(图9(2)),尤其是当图像和标签的数据分布还没有在训练集。看来CLIP仍然具有零样本学习的能力。4跨模态图像生成经过前两章的介绍,我们系统地回顾了图像生成和多模态表示学习相关的基础技术。本章将介绍三种最新的跨模态图像生成方法,并解释它们如何使用这些基本技术进行建模。4.1DALL·EDALL·E由OpenAI于2021年初提出,旨在训练一个从输入文本到输出图像的自回归解码器。根据CLIP的成功经验,文本特征和图像特征可以编码在同一个特征空间中,因此我们可以使用Transformer将文本和图像特征自回归建模为单个数据流(“autoregressivelymodelsthetextandimagetokenasasinglestreamofdata")。DALLE的训练过程分为两个阶段,一个是训练一个变分自动编码器进行图像编解码,另一个是训练一个用于文本和图像的自回归解码器来预测Tokens生成的图像,如图10所示。图10.DALLE的训练过程。推理过程比较直观。文本token通过自回归Transformer逐渐解码生成图像token。在解码过程中,我们可以采样多个通过分类概率得到多组样本,然后将多组样本??token输入到变体中通过CLIP相似度计算进行排序和选择,如图11所示。图11.DALL·E的推理过程与VAE相同。我们使用probabilisticencoder和probabilisticdecoder分别对隐藏层特征的后验概率分布和生成图像的似然概率分布进行建模,将Transformer预测的文本和图像的联合概率分布作为先验(初始化为第一阶段均匀分布),同理可求出优化目标的证据下界。在第一阶段的训练过程中,DALL·E使用离散变分自编码器DiscreteVAE,简称dVAE,是矢量量化VAE(VQ-VAE)的升级版。在VAE中,我们用一个概率分布来描述连续的隐层空间,通过随机采样得到隐层编码,但是这个编码不像离散语言那样具有确定性。为了学习图像隐层空间的“语言”,VQ-VAE使用了一组可学习的向量量化来表示隐层空间。这个量化的隐藏层空间称为嵌入空间或代码本/词汇表。VQ-VAE的训练过程和预测过程旨在找到最接近图像编码向量的隐藏层向量,然后将映射的向量语言解码成图像(图12)。损失函数由三部分组成,分别优化重建损失、更新嵌入空间和更新编码器,梯度终止。图12.VQ-VAEVQ-VAE的后验概率是由最近邻选择假设决定的,即最近隐层向量的概率为1,其余为0,不是随机的;最近向量的选择过程是不可导的,将直通估计器的梯度传递给。图13.dVAE为了优化上述问题,DALL·E使用Gumbel-Softmax构造了一个新的dVAE(图13)。解码器的输出在EmbeddingSpace上变成了32*32K=8192维的分类概率。在训练过程中,在分类概率的Softmax计算中加入噪声引入随机性,使用逐渐降低的温度使概率分布近似one-hot编码,重新参数化选择隐层向量使其可导(Equation(11))),在推理过程中还是取最近邻。在PyTorch实现中,可以设置hard=True来输出近似的one-hot编码,同时通过y_hard=y_hard-y_soft.detach()+y_soft保持可推导性。当第一阶段训练完成后,我们可以固定dVAE为每对文本图像生成图像Token来预测目标。在第二阶段训练中,DALLE使用BPE方法先将文本编码成与图像token同维的texttokend=3968,然后将texttoken和imagetoken拼接在一起,加入positionencoding和paddingencoding,使用TransformerEncoder进行自回归预测,如图14所示。为了提高计算速度,DALL·E还采用了Row、Column、Convolutional三种稀疏attentionmask机制。图14.DALL·E的自回归解码器基于上述实现,DALL·E不仅可以根据文本输入生成“真实”图像,还可以进行融合创建、场景理解和风格转换,如图15所示。另外,DALL·E在零样本和专业领域的效果可能会变差,生成的图像分辨率(256*256)较低。图15.DALL·E的各种生成场景4.2DALL·E2为了进一步提高图像生成质量和探索文本-图像特征空间的可解释性,OpenAI结合扩散模型和CLIP提出了DALL·E在April2022.2.不仅将generationsize增加到1024*1024,还通过特征空间的插值操作可视化了text-image特征空间的迁移过程。如图16所示,DALL·E2使用CLIP比较学习得到的textembedding和imageembedding作为模型输入和预测对象。具体过程是学习先验Prior,从文本中预测出对应的imageembedding。文章使用自回归Transformer和扩散模型两种方式进行训练,后者在每个数据集上表现更好;然后学习一个扩散模型解码器UnCLIP,可以看作是CLIP图像编码器的逆过程,以Prior预测的图像嵌入为条件加入控制,文本嵌入和文本内容为可选条件。为了提高分辨率,UnCLIP还增加了两个上采样解码器(CNN网络),用于反向生成更大尺寸的图像。图16.在Prior扩散模型的DALL·E2训练期间,DALL·E2使用TransformerDecoder来预测扩散过程。输入序列为BPE-encodedtext+textembedding+timestepembedding+当前加噪图像embedding,预测去Noisyimageembedding,使用MSE构造损失函数,DALLE2降低特征丰富度以防止模型从针对特定文本标签生成方向性结果,增加对扩散模型预测条件的限制,保证无分类器指导(classifier-freeguidance)。比如在Prior和UnCLIP的扩散模型训练中,为添加textembedding等条件设置了dropprobability,使得生成过程不完成依赖条件输入。因此,在反向生成过程中,我们可以在保持基本特征的情况下,通过图像嵌入采样生成同一图像的不同变体。我们也可以分别在imageembedding和textembedding中进行插值,控制插值比例,生成平滑迁移的可视化结果,如图17所示。图17.DALL·E2DALL·E2可实现的图像特征保存和迁移有对Prior和UnCLIP的有效性做了很多验证实验,例如通过三种方法:1)UnCLIP生成模型只输入文本内容;2)只有文本内容和文本嵌入被输入到UnCLIP生成模型中;3)在上述方法的基础上,加入了Prior预测的imageembedding,三种方法的生成效果逐渐提升,验证了Prior的有效性。此外,DALL·E2在隐层空间中使用PCA对embedding进行降维,随着降维,生成图像的语义特征逐渐减弱。最后,DALL·E2在MS-COCO数据集上比较了其他方法,并以FID=10.39获得了最佳生成质量(图18)。图18DALL·E2在MS-COCO数据集上的对比结果4.3ERNIE-VILGERNIE-VILG是百度文心2022年初提出的中文场景双向图文生成模型。图19.ERNIE-VILGERNIE-VILG的思路与DALLE类似,使用预训练的变分自编码器对图像特征进行编码,使用Transformer自回归预测文本token和图像token。主要区别在于ERNIE-VILG依托百度文心平台技术可以处理中文场景;除了Text-to-Image自回归过程之外,还对Image-to-Text方向过程进行建模,双向过程参数共享;在Text-to-Image自回归过程中,Text与Token之间没有mask处理;图像编解码使用VQ-VAE和VQ-GAN,图像解码过程通过map&flatten与自回归过程连接,实现端到端的训练。ERNIE-VILG的另一个强大的特性是可以处理中文场景中多个物体和复杂位置关系的生成,如图20所示。图20.ERNIE-VILG的生成示例4.总结本文解读最新的新文生图范式通过实例,包括变分自动编码器和扩散模型等生成方法的应用,以及CLIP方法等文本-图像潜在空间表示学习,以及离散化和重参数化等建模技术的应用。如今的文本转图像生成技术门槛很高,其训练成本远超人脸识别、机器翻译、语音合成等单模态方法。以DALLE为例,OpenAI收集并标注了2.5亿对样本。使用1024个V100GPU训练了一个具有120亿个参数的模型。此外,图像生成领域一直存在种族歧视、暴力色情、敏感隐私等问题。从2020年开始,越来越多的AI团队开始投入跨模态生成研究,在不久的将来,我们可能在现实世界和生成世界中真假难辨。
