文本生成图像这么火,你需要了解这些技术的演变(3)

简介: 文本生成图像这么火,你需要了解这些技术的演变

CLIP 模型使用 ViT-H/16 图像编码器,它使用 256×256 分辨率的图像,宽度为 1280,带有 32 个 Transformer 块(它比原始 CLIP 工作中最大的 ViT-L 更深)。文本编码器是一个带有因果注意掩码的 Transformer,宽度为 1024 和 24 个 Transformer 块(原始 CLIP 模型有 12 个 Transformer 块)。尚不清楚文本 transformer 的注意力跨度是否与原始 CLIP 模型中的相同(76 个 token)。

扩散解码器是经过修改的 GLIDE,具有 3.5B 参数。CLIP 图像嵌入被投影并添加到现有的时间步嵌入中。CLIP 嵌入也被投影到四个额外的上下文 token 中,这些 token 连接到 GLIDE 文本编码器的输出序列。保留了原始 GLIDE 的文本条件路径,因为它可以让扩散模型学习 CLIP 未能捕获的自然语言方面(然而,它帮助不大)。在训练期间,10% 的时间用于将 CLIP 嵌入随机设置为零,50% 的时间随机删除文本标题。

解码器生成 64×64 像素的图像,然后两个上采样扩散模型随后生成 256×256 和 1024×1024 的图像,前者具有 700M 参数,后者具有 300M 参数。为了提高上采样的鲁棒性,在训练过程中条件图像被轻微损坏。第一个上采样阶段使用高斯模糊,第二个阶段使用更多样化的 BSR 降级,包括 JPEG 压缩伪影、相机传感器噪声、双线性和双三次插值、高斯噪声。这些模型在目标大小的四分之一的随机图像上进行训练。文本调节不用于上采样模型。

先验根据文本描述生成图像嵌入。作者探索了先验模型的两个不同模型类:自回归 (AR) 先验和扩散先验。两种先验的模型都有 1B 参数。

在 AR 先验中,CLIP 图像嵌入被转换为一系列离散代码,并根据标题进行自回归预测。在扩散先验中,连续嵌入向量直接使用以标题为条件的高斯扩散模型进行建模。

除了标题之外,先验模型还可以以 CLIP 文本嵌入为条件,因为它是标题的确定性函数。为了提高采样质量,作者还通过在训练期间 10% 的时间随机删除此文本条件信息,启用了对 AR 和扩散先验使用无分类器引导的采样。

对于 AR 先验,主成分分析 (PCA) 降低了 CLIP 图像嵌入的维数。1024 个主成分中有 319 个保留了 99% 以上的信息。每个维度量化为 1024 个桶。作者通过将文本标题和 CLIP 文本嵌入编码为序列的前缀来调节 AR 先验。此外,它们在文本嵌入和图像嵌入之间添加一个表征(量化的)点积的 token。这允许在更高的点积上调整模型,因为更高的文本图像点积对应于更好地描述图像的标题。点积是从分布的上半部分采样的。使用带有因果注意掩码的 Transformer 模型预测生成的序列。

对于扩散先验,具有因果注意掩码的仅解码器(decoder-only) Transformer 在由以下成分组成的序列上进行训练:

  1. 编码的文本
  2. CLIP 文本嵌入
  3. 扩散时间步长的嵌入
  4. 噪声 CLIP 图像嵌入
  5. 最终的嵌入,其来自 Transformer 的输出用于预测无噪声 CLIP 图像嵌入。


不使用点积来调节扩散先验。相反,为了提高采样时间的质量,生成了两个图像嵌入样本,并选择了一个具有更高点积和文本嵌入的样本。

对于可比较的模型大小和减少的训练计算,扩散先验优于 AR 先验。在与 GLIDE 的成对比较中,扩散先验也比 AR 先验表现更好。


作者还对先验的重要性进行了调查。他们尝试使用不同的信号来调节相同的解码器:1、文本标题和零 CLIP 嵌入,2、文本标题和 CLIP 文本嵌入(就好像它是图像嵌入一样),3、由先验生成的文本和 CLIP 图像嵌入。仅根据标题对解码器进行调节显然是最差的,但对文本嵌入零样本进行调节确实会产生符合期望的结果。

使用不同的调节信号,图片来自原文。

在训练编码器时,作者以相同的概率从 CLIP 和 DALL-E 数据集(总共约 6.5 亿张图像)中采样。在训练解码器、上采样器和之前的模型时,他们只使用了 DALL-E 数据集(大约 2.5 亿张图像),因为在训练生成堆栈时合并了噪声更大的 CLIP 数据集,从而在初始评估中对样本质量产生了负面影响。

模型总大小似乎是:632M?参数(CLIP ViT-H/16 图像编码器)+ 340M?(CLIP 文本编码器)+ 1B(扩散先验)+ 3.5B(扩散解码器)+ 1B(两个扩散上采样器)=~ 大约 6.5B 参数(如果我没记错的话)。
这个方法允许基于文本描述生成图像。然而,其他一些有趣的应用也是可能的。

原论文中的示例。

每个图像 x 可以被编码成一个二分 latent 表示 (z_i, x_T),这足以让解码器产生准确的重建。latent  z_i 是一个 CLIP 图像嵌入,它描述了 CLIP 识别的图像方面。latent  x_T 是通过使用解码器对 x 应用 DDIM(去噪扩散隐式模型)反演获得的,同时以 z_i 为条件。换句话说,它是在生成图像 x(或等效为 x_0,参见 GLIDE 部分中的去噪扩散模型方案)时扩散过程的起始噪声。

这种二分表示可以实现三种有趣的操作。

首先,你可以通过在解码器中使用 η > 0 的 DDIM 进行采样,为给定的二分潜在表示 (z_i, x_T) 创建图像变体。当 η = 0 时,解码器变得具有确定性,并将重建给定的图像 x。η 参数越大,变化越大,我们可以看到在 CLIP 图像嵌入中捕获了哪些信息并呈现在所有样本中。

探索图像的变化。


其次,你可以在图像 x1 和 x2 之间进行插值。为此,你必须采用 CLIP 图像嵌入 z_i1 和 z_i2,然后应用 slerp(球面线性插值)来获得中间 CLIP 图像表示。对应的中间 DDIM latent  x_Ti 有两个选项:1)使用 slerp 在 x_T1 和 x_T2 之间进行插值,2)将 DDIM latent 固定为轨迹中所有插值的随机采样值(可以生成无限数量的轨迹)。以下图像是使用第二个选项生成的。

探索两个图像的插值。

最后,第三件事是语言引导的图像操作或文本差异。为了修改图像以反映新的文本描述 y,你首先获取其 CLIP 文本嵌入 z_t,以及描述当前图像的标题的 CLIP 文本嵌入 z_t0(可能是像「照片」这样的虚拟标题或一个空的标题)。然后计算文本差异向量 z_d = norm(z_t - z_t0)。然后使用 slerp 在嵌入 z_i 的图像 CLIP 和文本差异向量 z_d 之间旋转,并在整个轨迹中生成具有固定基本 DDIM 噪声 x_T 的图像。

探索文本差异,来自原文中。

作者还进行了一系列实验来探索 CLIP 潜在空间。先前的研究表明,CLIP 容易受到印刷攻击。在这些攻击中,一段文本覆盖在一个对象的顶部,这导致 CLIP 预测文本描述的对象而不是图像中描述的对象(还记得带有 “iPod” 横幅的苹果吗?)。现在,作者尝试生成此类图像的变体,发现尽管图像正确分类的概率非常低,但生成的变体以很高的概率是正确的。尽管该标题的相对预测概率非常高,但该模型从未生成 iPod 的图片。

印刷攻击案例。

另一个有趣的实验是用越来越多的主成分重建图像。在下图中,他们获取了少量源图像的 CLIP 图像嵌入,并以逐渐增加的 PCA 维度重建它们,然后使用带有 DDIM 的解码器将重建的图像嵌入可视化。这允许查看不同维度编码的语义信息。

越来越多的主成分,来自原始论文。

还要记住 unCLIP 在属性绑定、文本生成和复杂场景中的细节方面遇到的困难。

前两个问题可能是由于 CLIP 嵌入属性。

可能会出现属性绑定问题,因为 CLIP 嵌入本身并没有将属性显式绑定到对象,因此解码器在生成图像时会混淆属性和对象。

另一组针对难绑定问题的重构,来自原文。

文本生成问题可能是因为 CLIP 嵌入没有精确编码渲染文本的拼写信息。

由于解码器层次结构以 64×64 的基本分辨率生成图像然后对其进行上采样,可能会出现低细节问题。因此,使用更高的基本分辨率,问题可能会消失(以额外的训练和推理计算为代价)。

我们已经看到了 OpenAI 基于文本的图像生成模型的演变。也有其他公司在这个领域展开工作。


DALL·E 2(或 unCLIP)是对系统的第一个版本 DALL·E 1 的巨大改进,仅用了一年时间。不过,它还有很大的提升空间。

遗憾的是,这些强大而有趣的模型一直未开源。作者希望看到更多这样的模型被发布或至少通过 API 提供。否则,所有这些成果都只能适用于一些非常有限的受众。

不可否认,此类模型可能存在误差,有时会产生不正确类型的内容,或被恶意代理使用。作者呼吁人们有必要讨论如何处理这些问题。这些模型有无数潜在的良好用途,但未能解决上述问题阻碍了这些探索。

作者希望 DALL·E 2(或其他类似模型)能很快通过开放的 API 来使得所有人都可以使用。

原文链接:https://blog.inten.to/openai-and-the-road-to-text-guided-image-generation-dall-e-clip-glide-dall-e-2-unclip-c6e28f7194ea

相关文章
|
24天前
|
数据采集 人工智能 安全
2025 年主流数据中台系统推荐,企业数据系统建设方案
摘要:在数字化转型中,数据中台是企业释放数据价值的核心载体。本文聚焦2025年主流数据中台系统,从全链路治理能力、部署灵活性、业务适配性三大维度,对比瓴羊Dataphin、腾讯WeData等产品的核心优势与适用场景,结合行业案例覆盖度、用户评价、权威认证分析市场表现。研究发现,各类产品特色鲜明,如瓴羊Dataphin兼具阿里方法论与AI能力,字节Dataleap擅长实时处理。文章提出企业选型需遵循业务目标导向、能力匹配、长期适配原则,明确建设路径。数据中台未来将呈现AI融合、轻量与专业并存等趋势,其核心价值始终是“以数据服务业务”,助力企业数字化转型。
|
3月前
|
存储 算法 定位技术
软考中级软件设计师专项-操作系统篇
专为软考打造的操作系统终极攻略,涵盖进程管理、死锁、存储系统等核心考点,结合20+真题与答题模板,助你高效掌握命题规律,提升应试能力。
236 1
软考中级软件设计师专项-操作系统篇
|
机器学习/深度学习 自然语言处理 并行计算
|
机器学习/深度学习 人工智能 算法
【AI系统】推理参数
本文介绍了AI模型网络参数的基本概念及硬件性能指标,探讨了模型轻量化的重要性。随着深度学习的发展,模型参数量和计算量不断增大,导致难以直接部署到移动端。文章详细解析了FLOPs、FLOPS、MACCs等计算指标,并对比了标准卷积层、Group卷积、Depth-wise卷积和全连接层的参数计算方法,为模型优化提供了理论基础。
576 1
|
机器学习/深度学习 存储 自然语言处理
Transformers从入门到精通:token和它的三种粒度
大家对于token的概念可能司空见惯了,现在的大语言模型的计费方式一般都采用输入和输出的token数量来计费。那到底什么是token,它的作用是什么?【6月更文挑战第6天】
1310 6
|
运维 监控 前端开发
功能强大的国产API管理神器 Eolink,亲测好用
功能强大的国产API管理神器 Eolink,亲测好用
510 0
功能强大的国产API管理神器 Eolink,亲测好用
|
资源调度 JavaScript 前端开发
如何安装 Vue 3 并配置开发环境
如何安装 Vue 3 并配置开发环境
1367 0
如何安装 Vue 3 并配置开发环境
|
Linux 数据安全/隐私保护
linux特殊权限rws和rwt
Linux文件,除了rwx这些权限外,还有一些特殊的权限,如rws、rwt
745 0
|
机器学习/深度学习 传感器 算法
【论文速递】ICCCS2022 - FedMMD:基于多教师和多特征蒸馏的异构联邦学习
【论文速递】ICCCS2022 - FedMMD:基于多教师和多特征蒸馏的异构联邦学习
924 0
【论文速递】ICCCS2022 - FedMMD:基于多教师和多特征蒸馏的异构联邦学习
|
机器学习/深度学习 编解码 自动驾驶
【论文解读】MV3D-Net 用于自动驾驶的多视图3D目标检测网络
​MV3D-Net融合了视觉图像和激光雷达点云信息;它只用了点云的俯视图和前视图,这样既能减少计算量,又保留了主要的特征信息。随后生成3D候选区域,把特征和候选区域融合后输出最终的目标检测框。 论文地址:Multi-View 3D Object Detection Network for Autonomous Driving 开源代码:GitHub - bostondiditeam/MV3D: Multi-View 3D Object Detection Network for Autonomous Driving
1364 0