网站建站公司模板,免费网页模板素材网站,河北建基官网,用js做的网站代码文章目录 一、前言二、摘要三、方法#xff08;一#xff09;主要目标#xff08;二#xff09;stage 1#xff1a;训练离散变分自动编码器#xff08;dVAE#xff09;#xff08;三#xff09;stage 2#xff1a;训练自回归转换器#xff08;四#xff09;公式表达… 文章目录 一、前言二、摘要三、方法一主要目标二stage 1训练离散变分自动编码器dVAE三stage 2训练自回归转换器四公式表达 四、模型细节一Stage One: Learning the Visual Codebook1、最大化证据下界ELB2、模型优化3、模型结构4、输入归一化和输出还原 二Stage Two: Learning the Prior1、模型输入2、模型结构稀疏Transformer 三图像生成四混合精度训练五分布式运算 五、实验结果一对比效果二消融研究 一、前言
https://openai.com/research/dall-e DALL·E 是GPT-3的 120 亿参数版本 经过训练可以使用文本-图像对的数据集从文本描述生成图像。我们发现它具有多种功能包括创建动物和物体的拟人化版本、以合理的方式组合不相关的概念、渲染文本以及对现有图像应用转换。 DALL·E 2可以生成更逼真、更准确的图像分辨率提高 4 倍。 二、摘要
研究现状的缺点 文本到图像生成传统上专注于寻找更好的建模假设以在固定数据集上进行训练而这些假设会涉及到复杂的架构、辅助损失或辅助信息。
作者的研究
基于transformer将文本和图像标记自回归建模为单个数据流凭借足够的数据和规模当以零样本方式评估时我们的方法与以前的特定领域模型具有竞争力。 三、方法
一主要目标
训练一个 Transformer 将文本和图像标记作为单个数据流 进行自回归建模 图像是连续的可以采用VQVAE离散化 图片的分辨率很大如果把单个pixel当成一个token处理会导致计算量过于庞大于是DALL·E引入了一个dVAE模型来降低图片的分辨率。似然目标倾向于优先考虑对像素之间的短程依赖性进行建模因此大部分建模能力将用于捕获高频细节而不是使我们在视觉上可识别对象的低频结构。 二stage 1训练离散变分自动编码器dVAE
将每个 256×256 RGB 图像压缩为 32×32 图像令牌网格每个图像令牌可以取到8192个可能的离散值之一这将transformer的上下文大小减少了 192 倍而视觉质量没有大幅下降 192 ( 256 ÷ 32 ) × ( 256 ÷ 32 ) × 3 192(256\div 32) \times (256\div 32) \times 3 192(256÷32)×(256÷32)×3
三stage 2训练自回归转换器
文本token256个BPE编码图像token32 × 32 1024 个连接文本token和图像token训练自回归转换器来对文本和图像标记上的联合分布进行建模 BPEByte Pair Encoding编码是一种常用的无损数据压缩算法也常被用于自然语言处理中的词汇表示和分词任务。它基于统计的方法通过不断合并数据中出现频率最高的字节对来构建编码表。 四公式表达
整个过程可以被视为最大化 x、y 和z 上模型分布的联合似然的证据下界 (ELB)
x图像imagesy图像的文字描述captionsz编码的RGB 图像 p θ , ψ ( x , y , z ) p θ ( x ∣ y , z ) p ψ ( y , z ) p_{θ,ψ}(x, y, z) p_θ(x | y, z)p_ψ(y, z) pθ,ψ(x,y,z)pθ(x∣y,z)pψ(y,z) q φ q_φ qφ在给定 RGB 图像的情况下dVAE 编码器 生成的 32 × 32 图像令牌上的分布 p θ p_θ pθ给定图像标记的 dVAE 解码器 生成的 RGB 图像上的分布 p ψ p_ψ pψ由transformer 建模的文本和图像标记上的联合分布。 四、模型细节 一Stage One: Learning the Visual Codebook
1、最大化证据下界ELB 证据下界是用于评估概率模型的变分推断方法中的一个重要概念。 在变分推断中我们通常试图近似一个复杂的后验分布以使其更容易计算和处理。而证据下界是一个下界用于评估我们近似的后验分布和真实后验分布之间的接近程度。如果我们的近似分布可以很好地拟合真实后验分布那么证据下界将会比较高。在机器学习中通常使用 “Evidence Lower Bound” 作为损失函数用于训练概率生成模型如变分自编码器VAE和概率图模型。通过最大化证据下界我们可以使生成模型更好地拟合数据并学习到数据背后的潜在结构。 普通的变分自编码器VAE的证据下界Evidence Lower BoundELB的推导过程利用率琴生不等式
DALL-E的Stage1中的证据下界可以写为
2、模型优化
问题1 q ψ q_ψ qψ是离散分布one-hot编码我们无法使用重新参数化梯度来最大化它。 重新参数化梯度是一种常用于训练变分自编码器VAE等生成模型的技术。 在训练VAE时我们希望从一个分布中采样出一些隐变量以生成模型的输出。然而由于采样操作是不可导的因此通常不能直接对采样操作求梯度。为了解决这个问题我们可以使用重新参数化技术。重新参数化技术的基本思想是将采样过程拆分为两步首先从一个固定的分布中采样一些固定的随机变量然后通过一个确定的函数将这些随机变量转换为我们所需的随机变量。这样我们就可以对这个确定的函数求导从而能够计算出采样操作对于损失函数的梯度。 解决方案 使用gumbel-softmax 松弛 Gumbel-Softmax 松弛的思想是从 Gumbel 分布中采样一些随机噪声并与离散分布的 logits 相结合然后通过 softmax 操作将结果归一化为一个概率分布。这样我们就可以用一个连续、可导的操作来近似离散分布的采样过程并且可以通过反向传播来训练模型。 DALL-E中的gumbel-softmax向sotfmax中引入超参数 Υ \Upsilon Υ使得argmax可导。设置 Υ 1 16 \Upsilon \frac{1}{16} Υ161 超参数 Υ \Upsilon Υ在深度学习中有一个专业术语叫温度可以通过调整softmax曲线的平滑程度来实现不同的功能。 当 Υ \Upsilon Υ的值大于1时我们可以得到的更加平滑的softmax曲线这种方式可以得到更加平滑的置信度分布当 Υ \Upsilon Υ的值小于1时得到的softmax曲线更加陡峭当 Υ \Upsilon Υ的值趋近0时可以得到近似argmax的效果但是这时softmax还是可导的。 问题2 在构建生成图像时图像的像素是有值域范围的而VAE中通过拉普拉斯分布或者高斯分布得到的值域是整个实数集这就造成了模型目标和实际生成内容的不匹配问题。
解决方案 DALL-E提出了拉普拉斯分布的变体log-拉普拉斯分布。它的核心思想是将sigmoid作用到拉普拉斯分布的随机变量上从而得到一个值域是(0,1)的随机变量。
3、模型结构
DALL-E的离散VAE的编码器和解码器都是基于残差网络构建的DALL-E保持了残差网络的基础结构但也有其针对性的调整核心修改如下
编码器的输入层的卷积核的大小是7x7编码器的最后一个卷积的卷积核的大小是1x1用于产生大小是32x32x8192的Feature Map使用最大池化而非原来的平均池化进行降采样解码器的的第一个卷积核最后一个卷积的卷积核的大小均为1x1解码器使用了最近邻的方式进行上采样为了提升训练速度MAE使用了混合精度训练。
4、输入归一化和输出还原
输入归一化图像像素范围是0到255DALL-E中将输入像素的范围映射到 ( ϵ , 1 − ϵ ) (\epsilon,1-\epsilon) (ϵ,1−ϵ)的范围。
输出还原在解码器中通过log-拉普拉斯分布预测得到的结果的范围是 ( 0 , 1 ) (0,1) (0,1)通过 φ \varphi φ 的逆运算即可得到解码器的生成内容。
二Stage Two: Learning the Prior
1、模型输入
阶段2的输入是拼接的文本特征和图像特征以及各自的位置编码等信息。 如图一个模型输入的例子在这个示例中文本嵌入的长度是6图像嵌入的长度是2。文本的输入是文本的嵌入和文本的位置编码图像的输入是图像的标志嵌入行位置编码以及列位置编码。这些编码的长度均是3968。 2、模型结构稀疏Transformer
DALL-E使用的Transformer是稀疏Transformer它的特点是只关注Top-k个贡献最大的特征的状态因此比普通的Transformer更能关注重要的特征。DALL-E的Transformer有64个自注意力层每个层的头数是62每个注意力头的维度是64。
DALLE共使用了3个不同形式的稀疏自注意力编码
(a)是行注意力每个标志只关注top-5的相关标志(b)是列注意力(c)是列注意力的转置它能够更好的利用GPU(d)是卷积自注意力。
三图像生成
图像生成过程
将输入文本编码成特征向量然将特征向量送入到自回归的Transformer中生成图像的token将图像的token送入到dVAE的解码器中得到生成图像通过CLIP对生成样本进行评估得到最终的生成结果 四混合精度训练
问题 为了提升GPU的计算效率DALL-E的大量参数以及激活都使用了16位的低精度存储。这种低精度模型的最大挑战是梯度下溢underflow的问题也就是计算的梯度值超出了16位浮点数能表示的最低值。 传统的低精度训练通过将梯度值限制在一个模型能表示的范围内来避免梯度下溢。但是这种粗暴的限制每一个梯度的范围的方法并不适合DALL-E这种文本到图像更复杂的任务它需要更过的精度表示。 解决方案 DALL-E使用了大量的技术来解决这一问题其中最重要的一个点每个残差块的梯度缩放per-resblock gradient scaling。
对每个残差块使用单独的梯度缩放比例因此命名为混合精度训练对于每个残差块进行缩放替代传统的对损失函数进行缩放只在有必要使用低精度浮点数来提速的地方才使用16位精度表示除以梯度的时候避免下溢。
DALL-E的一个残差块的混合精度训练实线表示前向传播的计算顺序虚线表示反向传播的计算流程
在前向计算时对于单位映射我们先将其缩放到16位当进行完卷积运算时我们再将其放到到32位。在进行反向运算时我们先对梯度进行过滤和缩放其中过滤操作会将所有NaN和Inf的值置0经过卷积操作权值的更新后再将其放大到32位。
五分布式运算
DALL-E的模型即使使用16位的精度来存储也要占用大约24G的显存这超过了他们训练环境的单卡NVIDIA V100 16G的硬件显存这里他们使用了参数分片Parameter Sharding来解决显存不足的问题。在进行模型的参数分片训练时一个问题是不同机器的通信问题它们之间的带宽是远小于同一台机器的不同显卡之间的带宽的这成为了多机多卡训练。
五、实验结果
一对比效果 在不同程度的可靠性下我们的模型似乎能够以合理的方式组合不同的概念创建动物的拟人化版本呈现文本并执行某些类型的图像到图像的翻译 将模型中的样本与MS-COCO中先前方法的样本进行比较。每个模型样本都是由对比模型排名的512个样本中最好的 人类对模型(在没有温度降低的情况下评估零射击)与先前对MS-COCO标题的工作(DF-GAN)的评估。在五选一的投票中模型的样本在90.0%的情况下被选为最真实的在93.3%的情况下被选为最匹配共享标题的图像。 MS-COCO和CUB的定量结果。实线表示针对原始验证集计算的FID虚线表示针对删除重叠图像的验证集计算的FID。对于MS-COCO我们在从验证集中采样的30,000个标题的子集上评估所有模型。对于CUB我们在测试集中的所有唯一标题上评估所有模型。
二消融研究
我们展示了模型大小和梯度的最小压缩等级(最高128的倍数)之间的关系这是避免在训练的前10%的训练损失中出现差距所必需的。这些结果表明在我们的设置中我们可以实现约85%的压缩率与模型大小无关。 增加对比重排序过程中图像数量对MS-COCO标题的影响。
参考 【一起读论文】OpenAI文本驱动的图像生成DALL-E (DALLE) DALL-E:Zero-Shot Text-to-Image Generation 如何评价DALL-E模型的实现 [PMLR 2021] Zero-Shot Text-to-Image Generation零样本文本到图像生成 非官方实现DALLE-pytorch