(2023,完全非自回归,迭代非自回归,掩蔽预测)Emage:非自回归文本到图像生成

Emage: Non-Autoregressive Text-to-Image Generation

公众:EDPJ(添加 VX:CV_EDPJ 或直接进 Q 交流群:922230617 获取资料)

目录

0. 摘要

1. 非自回归模型

1.1 完全非自回归模型

1.2 迭代非自回归模型 #1

1.3 迭代非自回归模型 #2

1.4 迭代非自回归模型 #3

2. 结果

3. 讨论和局限性

S. 总结

S.1 主要贡献

S.2 方法


0. 摘要

自回归和扩散模型推动了最近在文本到图像生成领域的突破。尽管它们在生成高逼真图像方面取得了巨大成功,但这些模型的一个共同缺点是推理延迟很高 —— 自回归模型需要连续运行一千次以上来生成图像标记,而扩散模型将高斯噪声转换为图像则需要经过数百个去噪步骤。在这项工作中,我们探索了一种非自回归的文本到图像模型(EmageEfficient text-to-image generation),能够高效并行生成数百个图像标记。我们开发了许多模型变体,采用不同的学习和推理策略,初始化文本编码器等。与需要运行一千次的自回归基线相比,我们的模型只需要运行 16 次,就能以更低的推理延迟生成具有竞争力质量的图像。我们的非自回归模型具有 346M 参数,在一个 V100 GPU 上生成一张 256×256 的图像只需要大约一秒。我们将这些非自回归模型命名为 Emage(高效文本到图像生成)。

1. 非自回归模型

在这一部分,我们首先描述一个完全非自回归的模型(fully non-autoregressive model),然后介绍三个迭代非自回归模型(iterative non-autoregressive model)。

1.1 完全非自回归模型

我们的探索始于开发一个完全非自回归模型,这是最基础和直观的非自回归解决方案。我们以这个完全非自回归模型为例,来说明模型训练和推理过程的整体情况。

整体框架包括两个组件。第一个组件是图像矢量量化变分自编码器(VQVAE)[36]。它包括(1)将图像映射到一系列离散图像标记的图像标记器,可以看作是来自图像特殊语言的一系列单词,以及(2)从图像标记重构图像的图像解标记器。我们遵循现有的自回归模型 [29, 39],使用一个单独训练的 VQVAE,并将文本到图像生成的问题转化为文本到图像到标记生成的问题。 第二个组件,也是本文关注的重点,是一个非自回归模型,将文本描述映射到图像标记。

我们用 X 表示输入文本序列,用 Y = {y1, y2, ..., yn} 表示目标图像标记序列。在我们的实验中,我们将 n 设置为 1024,每个图像标记 yi 是来自一个包含 8192 个元素的词汇表的元素。与自回归模型不同,其生成一个图像标记取决于先前生成的所有标记,完全非自回归模型预期在一个前向传播中同时生成所有图像标记。生成输出序列 Y 的概率计算如下:

其中 p(yi | X) 表示在第 i 位置生成图像标记 yi 的概率。图 1 描述了这个完全非自回归模型的训练和推理过程。在推理阶段,图像标记是从模型输出的概率中采样得到的。该模型使用标准的交叉熵损失进行训练。

尽管这个完全非自回归模型具有极低的推理延迟,但它完全忽略了图像标记之间的依赖关系,这对于解码超过一千个标记的长序列是重要的。在我们的实验中,我们发现这个模型的训练几乎不会收敛(详见第 4.2 节)。在接下来的小节中,我们描述了三种迭代非自回归模型,它们都考虑图像标记的依赖关系,并经过几次迭代(例如,16 次)逐渐完成生成给定的观察到部分图像标记的图像。

1.2 迭代非自回归模型 #1

在这部分中,我们介绍第一个迭代非自回归模型。基本思想是图像的生成,相当于生成 1024 个图像标记,分为几个迭代进行。我们用 T 表示迭代的次数(例如,16 次)。为简单起见,我们在这里采用线性掩蔽(mask)策略。在每次迭代中,以所有先前迭代生成的图像标记为条件,同时生成 1024/T 个图像标记。随着生成过程的推进,条件图像标记的数量逐渐增加,并在完成最后一次迭代时生成所有图像标记。这种方法与自回归模型根本不同,因为后者采用逐标记生成,需要 1024 次解码步骤才能生成 1024 个图像标记。在我们的方法中,如果将 T 设置为 16,在每次迭代中同时生成 64 个图像标记。

在训练阶段,我们随机掩蔽 k 个图像标记,其中 k 是从均匀分布中采样的(k ∼ Uniform(0, n]),n 是图像标记的数量(例如,1024)。模型学习在给定文本描述 X 和未被掩蔽的部分观察到的图像标记的情况下,预测被掩蔽位置的原始图像标记。 

在推理阶段,我们采用迭代解码。算法 1 总结了推理过程。我们用 T 表示迭代的次数。在生成开始之前,我们有一个长度为 n(例如,1024)的 [mask] 的序列,表示为 Y_obs。整个生成过程可以被视为通过填充 [mask] 标记逐渐更新 Y_obs。随着时间的推移,Y_obs 中的 [mask] 标记数量减少,并在完成第 T 轮后减少到零。在每一轮中,我们保留总共前 ⌊τ (t / T) × n⌋ 个图像标记作为更新后的 Y_obs,按照模型输出概率 P_obs 排名。我们不对先前生成的图像标记进行更改,这通过将先前图像标记的概率设置为 1.0 实现(第 5 行)。如果我们在训练阶段使用线性函数作为掩蔽策略 τ (·),就像我们在训练阶段所做的那样,在每一轮中我们将填充相同数量的 [mask] 标记。实际上,我们发现凹余弦掩蔽策略(concave cosine masking strategy) [2] 在开始时鼓励更少的预测,并在结束时鼓励更多的预测,因此在推理阶段我们使用余弦函数。在高层次上,这个模型可以被视为 MaskGit [2] 对文本到图像生成的扩展。 

1.3 迭代非自回归模型 #2

我们介绍第二个迭代非自回归模型,通过弥合训练和推理之间的差距,改进了第一个迭代模型 —— 推理阶段观察到的部分标记 Y_obs 是模型预测的,而在训练期间是从真实图像中获取的。 我们使用简单而有效的解决方案来解决这个问题 —— 在训练过程中执行两次前向传播。推理过程与迭代非自回归模型 #1 相同。

我们在这里简要描述训练过程。在第一次前向传播中,我们从均匀分布(∼ Uniform(0, |Y|])中随机掩蔽 Y 中的一些位置,并使用模型预测这些被掩蔽位置的图像标记,得到包含真实图像标记和模型预测的图像标记的 Y_mix。在第二次前向传播中,我们采用几乎与迭代模型 #1 相同的训练过程,只是用 Y_mix 替换 Y。 

1.4 迭代非自回归模型 #3

我们通过使模型能够纠正先前轮次的错误来进一步改进前面提到的迭代模型。我们认为,修正的能力使模型能够产生更全局一致的输出,在我们的情况下尤其有价值。原因可能是在先前的轮次中做出的预测不够自信,因为这些决策是在大量的 [mask] 标记的条件下做出的。

算法 3 总结了推理过程。具体而言,在每个迭代中,模型并行地为所有目标位置进行预测,包括 [mask] 标记和先前生成的图像标记。对于先前生成的标记,我们使用新预测的图像标记来更新这些值。这些标记将不会在后续轮次中被 [mask] 替换(第 5 行)。对于被掩蔽的位置,在每一轮中,我们按模型输出概率填充排名靠前的图像标记。在完成第 t 轮后,Y_obs 中将有 ⌊τ (t / T) × n⌋ 个图像标记。

在训练阶段,我们进行两次前向传播。在第一次前向传播中,我们从均匀分布(∼ Uniform(0, |Y|])中随机掩蔽 Y 的一些位置,并使用模型预测所有位置的标记。我们将模型预测的图像标记序列称为 Y_pred。在第二次前向传播中,我们在 Y_pred 上使用均匀分布进行另一次采样,重复掩蔽过程,得到 Y_obs。这样,Y_obs 包括 [mask] 标记和错误的图像标记。模型以 X 和 Y_obs 为输入,为所有目标位置进行预测,并计算所有目标位置的交叉熵损失。通过这种方式,模型学习了预测新标记和修订错误图像标记的能力。算法 2 总结了训练过程。 

2. 结果

不同图像标记器性能对比。VAGAN 表现良好。 

本文提出的四种非自回归模型性能对比。

与基线自回归模型的对比。Emage 虽然 FID 略高,但是推断时间大幅度降低。 

与其他文本到图像生成模型的对比, Emage 表现良好。

使用不同文本编码器的性能对比。CLIP 表现良好。

在 #3 模型下,不同推断步数(迭代轮次)对性能的影响。

使用不同掩蔽策略对性能的影响。线性函数使用不同掩蔽率均匀地产生样本,而余弦函数倾向于比线性函数更多的掩蔽标记。我们可以看到,对于所有迭代非自回归模型,使用线性策略进行训练效果更好。原因可能是,学习在较少和较多图像标记的语境中预测对我们的模型都很重要。 

3. 讨论和局限性

我们讨论了这项工作的一些观察和潜在局限性。首先,与具有相似模型规模的 BERT 编码器相比,CLIP 嵌入在成功训练我们的非自回归模型中发挥了重要作用。在 Imagen [32] 的结果中,大约 120M 参数的 CLIP 文本编码器甚至与大约 4.6B 参数的更大型文本编码器(T5 XXL)表现相当。我们计划查看使用更大型的文本编码器是否会缓解这巨大的性能差距。其次,我们观察到我们的模型在生成漂亮的人脸方面存在困难。我们计划将模型扩展到一个数量级更大的参数,并改善数据的图像质量、多样性和规模。 

S. 总结

S.1 主要贡献

以往的文本到图像生成模型的一个共同缺点是推理延迟很高 —— 自回归模型需要连续运行一千次以上来串行生成图像标记,而扩散模型将高斯噪声转换为图像则需要经过数百个去噪步骤。

本文探索了一种非自回归的文本到图像模型(EmageEfficient text-to-image generation),能够高效并行生成图像标记。

S.2 方法

本文提出的完全非自回归和三种迭代非自回归生成模型的训练示意图如图 2 所示。

完全非自回归模型。在训练阶段,使用与真实图像标记的交叉熵损失一次性预测所有掩蔽的标记。

迭代非自回归模型 #1。在训练阶段,每轮预测固定数目的标记,迭代进行,直至预测出所有标记。

迭代非自回归模型 #2

  • 该方法解决了一个问题:推理阶段观察到的部分标记是模型预测的,而在训练期间是从真实图像中获取的。
  • 在训练阶段,执行两次前向传播。
  • 在第一次前向传播中,随机掩蔽真实标记 Y 的一些位置,并预测被掩蔽的图像标记,得到包含真实图像标记和模型预测的图像标记的 Y_mix。
  • 在第二次前向传播中,我们采用几乎与迭代模型 #1 相同的训练过程,只是用 Y_mix 替换真实标记 Y。 

迭代非自回归模型 #3

  • 在先前的轮次中,预测是在大量的掩蔽的条件下做出的,很可能出错。该方法可以解决这个问题。
  • 在训练阶段,执行两次前向传播。
  • 在第一次前向传播中,随机掩蔽真实标记 Y 的一些位置,并预测所有位置的标记,预测的图像标记序列称为 Y_pred。
  • 在第二次前向传播中,在 Y_pred 上重复随机掩蔽过程,得到 Y_obs,Y_obs 包括 [mask] 标记和错误的图像标记。
  • 模型以 X 和 Y_obs 为输入,为所有目标位置进行预测,并计算所有目标位置的交叉熵损失。
  • 通过这种方式,模型学习了预测新标记和修订错误图像标记的能力。
  • 18
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Vue3渐进式加载图片是指使用v-progressive-image插件来实现的一种图片加载效果。该插件可以通过两个指令来实现图片的渐进加载,从高斯模糊的缩略图逐步加载到清晰的原图。这种方式可以提供更好的用户体验,同时减少了图片加载对网络带宽的需求。 要在Vue3中使用v-progressive-image插件,首先需要在main.js中引入相关文件并配置插件参数。具体步骤如下: 1. 在main.js文件中,使用import语句引入Vue和v-progressive-image插件: ``` import Vue from 'vue' import progressive from 'progressive-image/dist/vue' import 'progressive-image/dist/index.css' ``` 2. 使用Vue.use()方法安装v-progressive-image插件,并配置插件参数: ``` Vue.use(progressive, { removePreview: true, scale: true }) ``` 这样就完成了v-progressive-image插件的配置。接下来,在需要加载渐进式图片的地方,可以使用v-progressive-image的指令来实现渐进式加载效果。 总结起来,Vue3渐进式加载图片可以通过v-progressive-image插件来实现,通过配置插件参数和使用指令来实现图片的渐进加载效果。这种方式可以提供更好的用户体验和减少网络带宽的需求。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [vue-emage:适用于vue3的渐进式图片加载插件](https://download.csdn.net/download/weixin_42168745/16545426)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *2* *3* [适用于 vue.js的渐进式图片加载](https://blog.csdn.net/qq_39146122/article/details/111480212)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值