unCLIP:Hierarchical Text-Conditional Image Generation with CLIP Latents(DALLE2)
unCLIP | DALLE2
这篇文章与之前几篇可控图像生成的文章有个不同的地方,就是这篇文章发表于2022年(其他的基本都是2023、2024年),算是“前辈”
前几篇的文章的实验部分多多少少都与unCLIP进行了对比。那我就觉得可能unCLIP这个模型也比较经典。所以打算单拎出来写一篇博客
了解一下它的思想以及具体的改进方法,学习学习。 原来unCLIP就是DALLE2!!!
一、研究目的
提供了一种新的图像生成和编辑的方式。
开头先来介绍一下这篇文章为什么被称作 unCLIP
CLIP模型主要做了以下几件事情:
CLIP模型通过利用网络上的图文配对数据,训练了一个文本编码器(text encoder)和一个图像编码器(image encoder)。这两个编码器分别将文本和图像转换成文本特征(text embedding)和图像特征(image embedding)。通过对比学习的方式,CLIP模型能够识别正样本(匹配的图文对)和负样本(不匹配的图文对),最终实现通过文本特征检索最相似的图像特征,用于分类和检索任务。简而言之,CLIP模型能够从文本和图像中提取出它们的特征嵌入。
而本文(unCLIP)所做的工作大概是这样的:
本文首先使用预训练的CLIP模型将文本转换为文本特征(text embedding)。然后,利用CLIP模型处理大量的图文配对数据,得到文本和图像特征的配对数据。接着,使用这些数据训练了一个扩散模型(diffusion model)。这个模型能够根据文本特征生成相应的图像特征(image embedding),再通过解码器(decoder)将图像特征转换成一张具体的图像。这个过程与CLIP模型的工作流程相反,CLIP是从图文信息中提取特征,而本文的方法则是从特征中重建图像。因此,这项工作最初被称为unCLIP。
二、研究背景
计算机视觉领域的最新进展是在从互联网上收集的大量带标题图像数据集上扩展模。在此框架内,CLIP已成为一种成功的图像表征学习器。CLIP 嵌入具有许多理想的特性:它们对图像分布偏移具有鲁棒性,具有令人印象深刻的zero-shot能力,并经过微调,在各种视觉和语言任务中取得了最先进的结果。与此同时,扩散模型已成为一种很有前途的生成建模框架,推动了图像和视频生成任务的发展。为了达到最佳效果,扩散模型利用了一种引导技术,该技术以样本多样性为代价,提高了样本的保真度(对于图像而言,即逼真度)。
这里指的引导技术分别是分类器引导(Classifier Guidance)和无分类器引导(Classifier-free Guidance) 后面也会具体介绍
三、研究内容(主要贡献)
我们提出了一个两阶段模型:一个先验模型,根据文字说明生成 CLIP 图像嵌入;一个解码器,根据图像嵌入生成图像。我们的研究表明,显式生成图像表征可提高图像多样性,同时将逼真度和标题相似性的损失降到最低。我们以图像表征为条件的解码器还能生成图像的变体,既能保留图像的语义和风格,又能改变图像表征中缺失的非必要细节。
我们的训练数据集由成对 ( x , y ) (x, y) (x,y) 的图像 x x x 及其相应的标题 y y y 组成。给定图像 x x x,让 z i z_i zi 和 z t z_t zt 分别表示其 CLIP 图像和文本嵌入。我们设计的生成堆栈使用两个组件从标题生成图像:
- 先验 P ( z i ∣ y ) P (z_i|y) P(zi∣y),以标题 y y y 为条件生成 CLIP 图像嵌入 z i z_i zi。
- 解码器 P ( x ∣ z i , y ) P (x|z_i, y) P(x∣zi,y),根据 CLIP 图像嵌入信息 z i z_i zi(可选文本标题 y y y)生成图像 x x x。
解码器允许我们根据 CLIP 图像嵌入对图像进行反转,而先验器则允许我们学习图像嵌入本身的生成模型。将这两个部分堆叠起来,就能得到给定字幕 y y y 的图像 x 的生成模型 P ( x ∣ y ) P (x|y) P(x∣y):
P ( x ∣ y ) = P ( x , z i ∣ y ) = P ( x ∣ z i , y ) P ( z i ∣ y ) . P(x|y)=P(x,z_i|y)=P(x|z_i,y)P(z_i|y). P(x∣y)=P(x,zi∣y)=P(x∣zi,y)P(zi∣y).
第一个等式成立是因为 z i z_i