【论文阅读】(DALL-E)Zero-Shot Text-to-Image Generation

news2025/2/27 5:37:03

(DALL-E)Zero-Shot Text-to-Image Generation

引用: Ramesh A, Pavlov M, Goh G, et al. Zero-shot text-to-image generation[C]//International conference on machine learning. Pmlr, 2021: 8821-8831.

论文链接: [2102.12092] Zero-Shot Text-to-Image Generation (arxiv.org)

代码链接: https://github.com/openai/DALL-E

简介

传统上,文本到图像生成侧重于为固定数据集上的训练找到更好的建模假设。这些假设可能涉及复杂的架构、辅助损耗或侧面信息,例如训练期间提供的对象的部分标签或分割掩码。论文提出了一种基于transformer的简单方法,transformer将文本和图像tokens自回归的建模为单个数据流

Method

在这里插入图片描述

直接使用像素作为图像tokens对于高分辨率图像将需要过多的内存。可能性目标倾向于优先考虑像素之间的短程依赖关系建模,因此大部分建模能力将用于捕获高频细节,而不是在视觉上可识别对象的低频结构。因此,使用了一个两阶段的方法:

  1. 训练一个离散变分自动编码器(dVAE),将每个256×256 RGB图像压缩成一个32×32的图像标记网格,其中每个元素可以假设8192个可能的值。这将转换器的上下文大小减小了 192 倍,而不会大幅降低视觉质量,如图1所示。
  2. 将多达 256 个 BPE 编码的文本tokens与 32 × 32 = 1024 个图像tokens连接起来,并训练一个autoregressive transformer来模拟文本和图像标记上的联合分布。

整个过程可以被视为最大化关于编码 RGB 图像的图像 x x x、标题 y y y 和toknes z z z 上的模型分布的联合似然的置信下限(evidence lower bound,ELB)。使用因式分解 p θ , ψ ( x , y , z ) = p θ ( x ∣ y , z ) p ψ ( y , z ) p _ { \theta , \psi } ( x , y , z ) = p _ { \theta } ( x | y , z ) p _ { \psi } ( y , z ) pθ,ψ(x,y,z)=pθ(xy,z)pψ(y,z) 来模拟这个分布,从而产生下界:

ln ⁡ p θ , ψ ( x , y ) ≥ E z ∼ q ϕ ( z ∣ x ) ( ln ⁡ p θ ( x ∣ y , z ) − β D K L ( q ϕ ( y , z ∣ x ) , p ψ ( y , z ) ) ) \ln p _ { \theta , \psi } ( x , y ) \geq E _ { z \sim q _ { \phi } ( z | x ) } ( \ln p _ { \theta } ( x | y , z ) - \beta D _ { K L } ( q _ { \phi } ( y , z | x ) , p _ { \psi } ( y , z ) ) ) lnpθ,ψ(x,y)Ezqϕ(zx)(lnpθ(xy,z)βDKL(qϕ(y,zx),pψ(y,z)))

  • 假设 y y y 在给定 z z z 的情况下条件独立于 x x x q ϕ q_\phi qϕ 表示给定 RGB 图像 x x x 的 dVAE 编码器生成的 32 × 32 32 × 32 32×32 个图像tokens的分布;

  • p θ p_\theta pθ 表示给定图像tokens的 dVAE 解码器生成的 RGB 图像的分布;

  • p ψ p_\psi pψ 表示 Transformer 建模的文本和图像tokens上的联合分布。

即第一项希望提升重建质量,第二项衡量图像与文本tokens的差异程度,希望KL散度越来越小。注意,边界仅适用于 β = 1 β = 1 β=1,而在实践中,使用更大的值会有所帮助。

Stage One: Learning the Visual Codebook

dVAE编码器和解码器是基于卷积的ResNets,具有bottleneck-style的残差块。这些模型主要使用 3 × 3 个卷积,其中 1 × 1 个卷积沿跳跃连接,其中特征图的数量在重新块的输入和输出之间变化。编码器的第一次卷积是 7 × 7,编码器的最后一个卷积(产生 32 × 32 × 8192 输出,用作图像标记分类分布的对数)为 1 × 1。解码器的第一个卷积和最后一个卷积都是 1 × 1。编码器使用最大池化(比平均池化产生更好的 ELB)来对特征图进行下采样,而解码器使用最近邻上采样。

第一阶段将初始先验 p θ p_\theta pθ 设置为 K = 8192 K = 8192 K=8192 codebook向量上的均匀类别分布,并将 q ϕ q_\phi qϕ 设置为编码器输出的 32 × 32 32×32 32×32 网格中相同空间位置的 8192 8192 8192 logits 参数化的类别分布。

因为 q ϕ q_\phi qϕ 是一个离散分布,所以不能使用重参数化梯度来最大化它。以前的工作使用online cluster assignment procedure和straight-through estimator解决了这个问题。这里改用gumbel-softmax松弛,用对 q ϕ τ q _ { \phi } ^ { \tau } qϕτ 的期望代替对 q ϕ q _ { \phi } qϕ 的期望,其中当温度 τ → 0 \tau → 0 τ0 时,弛豫变得紧密 p θ p_\theta pθ 的似然使用对数-拉普拉斯分布进行评估。使用Adam和指数加权迭代平均法最大化松弛的ELB,以下内容对于稳定训练尤为重要:

  • 退火 τ \tau τ 1 / 16 1/16 1/16 足以缩小宽松验证ELB与 q ϕ q _ { \phi } qϕ 替换为 q ϕ τ q _ { \phi } ^ { \tau } qϕτ 的真实验证ELB之间的差距(在前 150000 次更新中从 1 退火到 1/16)。

  • 在编码器的末尾和解码器的开头使用 1 × 1 1 × 1 1×1 卷积。减小弛豫周围卷积的感受野大小会导致它更好地泛化到真正的 ELB。

  • 将编码器和解码器残差块的输出激活乘以一个小常数,以确保初始化时的稳定训练。

  • K L KL KL 权重增加到 β = 6.6 β = 6.6 β=6.6 (在前 5000 次更新中,从 0 增加到 6.6)可以促进更好的codebook使用,并最终导致训练结束时重建误差较小。

Stage Two: Learning the Prior

在第二阶段,固定 ϕ \phi ϕ θ \theta θ,并通过最大化相对于 ψ \psi ψ 的 ELB 来学习文本和图像tokens的先验分布。这里, p ψ p_\psi pψ 由一个 120 亿参数的稀疏transformer表示。

给定文本-图像对,使用最多 256 256 256个词汇大小为 16384 16384 16384的标记对小写caption进行BPE编码,并使用3 2 × 32 = 1024 2×32=1024 2×32=1024个词汇大小 8192 8192 8192的tokens对图像进行编码。图像标记是使用dVAE编码器logits的最大化采样获得的,不添加任何gumbel噪声。最后,将文本和图像标记连接起来,并自回归建模为单个数据流。transformer是一个仅有解码器的模型,其中每个图像tokens都可以注意其 64 个自注意力层中的任何一个中的所有文本tokens,使用交叉熵损失。由于主要对图像建模感兴趣,因此将文本的交叉熵损失乘以 1/8,将图像的交叉熵损失乘以 7/8。

实验结果

在这里插入图片描述
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1528558.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

基于Spring Boot框架的文学名著分享系统的设计与实现

摘 要 随着世界经济信息化、全球化的到来和互联网的飞速发展,推动了各行业的改革。若想达到安全,快捷的目的,就需要拥有信息化的组织和管理模式,建立一套合理、动态的、交互友好的、高效的文学名著分享系统。当前的信息管理存在工…

渲染农场:怎么提高设计效率与质量?

作为设计师,在各行业中我们经常需要渲染出效果图来展示我们的设计作品。当设计项目需要大量的效果图来展示产品时,如何能够利用渲染农场来提高渲图的效率呢? 渲染农场一般就是指:云渲染农场,利用云计算和高性能服务器来…

MySQL数据导入的方式介绍

MySQL数据库中的数据导入是一个常见操作,它涉及将数据从外部源转移到MySQL数据库表中。在本教程中,我们将探讨几种常见的数据导入方式,包括它们的特点、使用场景以及简单的示例。 1. 命令行导入 使用MySQL命令行工具mysql是导入数据的…

ASP .Net Core 8.0 依赖注入的三种注入模式

🐳前言 🍀在.NET中,依赖注入(Dependency Injection,简称DI)是一种设计模式,用于解耦组件之间的依赖关系。 依赖注入的核心思想是将对象的依赖关系(即对象所需的其他服务或组件&#…

如何确保OKR既具有挑战性又实际可行?

在目标管理的世界里,OKR(Objectives and Key Results)作为一种高效的目标设定和跟踪工具,已经越来越受到企业的青睐。然而,制定既具有挑战性又实际可行的OKR并非易事。本文将探讨如何确保OKR既具有挑战性又实际可行&am…

Kubernetes 项目整体布局 el-container

整体布局整体布局 你可能会去敲不同的项目,有很多种平台。那么其实都是可以复用的。唯一不同的就是main里面的内容是不同的,边框架子都是相同的。其实框架是不怎么变化的,变化的是main里面。 src/layout/Layout.vue 这里需要新增一个页面Lay…

Gitlab部署及使用

1. 简介 GitLab 是一个用于仓库管理系统的开源项目,使用 Git 作为代码管理工具,并在此基础上搭建起来的Web服务。Gitlab是目前被广泛使用的基于 git 的开源代码管理平台,基于Ruby on Rails构建,主要针对软件开发过程中产生的代码…

抖音视频批量提取软件|无水印视频下载

抖音视频批量提取软件,让您高效下载精彩内容! 您是否经常需要下载抖音视频,但传统的下载方式繁琐且低效?别担心,我们为您提供了一款强大而智能的抖音视频批量提取软件,让您轻松实现下载无水印的精彩内容&am…

怎么制作电子版报纸

​随着科技的飞速发展,电子版报纸已成为信息传播的重要渠道。它不仅方便快捷,而且环保节能,深受读者喜爱。如何制作电子版报纸,让您轻松掌握这一技能呢? 1.打开FLBOOK电子杂志制作网站 2.点击模板,FLBOOK有…

塑料工厂5G智能制造数字孪生可视化平台,推进塑料行业数字化转型

塑料工厂5G智能制造数字孪生可视化平台,推进塑料行业数字化转型。塑料制造行业作为重要的工业领域,亟需借助这一平台实现产业升级与转型,以适应市场的变化和提高生产效率。传统的塑料制造过程往往存在生产效率低下、资源浪费、环境污染等问题…

为什么技术人员副业赚钱那么难?

公众号:小北技术圈。 34岁老程序员,长期探索副业项目,写过IDEA插件,搞过工具导航,做过出海网站,运营过自媒体。欢迎提前探索35岁程序员的第二赛道。 每周分享干货内容。寻找100个技术人员,聚在…

掌握关键技巧!音频转换精灵如何使用?

在数字媒体时代,音频格式的转换已成为日常工作中不可或缺的一部分。为了满足这一需求,市场上涌现出众多音频转换工具。其中,音频转换精灵以其强大的功能和简便的操作赢得了广泛好评。本文将为你详细介绍如何使用该软件,让你轻松完…

推动新质生产力的创新引擎——AI Agent 结合的数字员工

今年全国两会,“新质生产力”成为“C位”热词。政府工作报告提出,大力推进现代化产业体系建设,加快发展新质生产力。 何为新质生产力?概括地说,新质生产力是创新起主导作用,摆脱传统经济增长方式、生产力发…

深入探索Java并发编程:ConcurrentSkipListSet的高效使用与实现原理

码到三十五 : 个人主页 心中有诗画,指尖舞代码,目光览世界,步履越千山,人间尽值得 ! 在Java的并发编程中,ConcurrentSkipListSet是一个提供高并发访问能力的有序集合实现。它基于Skip List(跳…

爬虫技术实战案例解析

目录 前言 案例背景 案例实现 案例总结 结语 前言 作者简介: 懒大王敲代码,计算机专业应届生 今天给大家聊聊爬虫技术实战案例解析,希望大家能觉得实用! 欢迎大家点赞 👍 收藏 ⭐ 加关注哦!&#x1…

HCIP的学习(2)

TCP----传输控制协议 是一种面向连接的可靠传输协议。 注:与我之前博客HCIA的学习(2)结合一起看 面向连接:数据传输前收发双方建立一条逻辑通路 特点: TCP是一种面向连接的传输协议每一条TCP连接有且只能存在两个端…

(德迅零域)微隔离安全平台是什么,有什么作用?

网络隔离并不是新的概念,而微隔离技术(Micro-Segmentation)是VMware在应对虚拟化隔离技术时提出来的,但真正让微隔离备受大家关注是从2016年起连续3年微隔离技术都进入Gartner年度安全技术榜单开始。在2016年的Gartner安全与风险管…

动态规划(算法竞赛、蓝桥杯)--单调队列优化修建草坪

1、B站视频链接&#xff1a;E44 单调队列优化DP 修剪草坪_哔哩哔哩_bilibili #include <bits/stdc.h> using namespace std; typedef long long LL; const int N1e510; int n,k,q[N]; LL w[N],f[N],sum;int main(){cin>>n>>k; k; //for(int i1;i<n;i){ci…

用python模拟天体运动(二体运动与天体轨道稳定问题)

目录 1. 模拟天体运动的代码 2. 运行效果 3. 非平方反比(轨道稳定性问题) 1. 模拟天体运动的代码 接下来我们将用python模拟实现天体运动 以下是我们所需要的库&#xff1a; import matplotlib.pyplot as plt import matplotlib.animation as animation import numpy …

如何视频转文字?试试这三款工具!

随着信息化时代的来临&#xff0c;视频内容愈发丰富多样&#xff0c;但如何从海量的视频中快速提取出关键信息呢&#xff1f;视频转文字工具应运而生&#xff0c;它们能够帮助我们高效地将视频内容转化为可编辑的文字形式。那么&#xff0c;在众多的视频转文字工具中&#xff0…