[PMLR 2021] Zero-Shot Text-to-Image Generation:零样本文本到图像生成

news2024/10/6 8:30:57

[PMLR 2021]Zero-Shot Text-to-Image Generation:零样本文本到图像生成

Fig 1. 原始图像(上)和离散VAE重建图像(下)的比较。编码器对空间分辨率进行8倍的下采样。虽然细节(例如,猫毛的纹理、店面上的文字和插图中的细线)有时会丢失或扭曲,但图像的主要特征通常仍然是可识别的。我们使用8192的大词汇量来减轻信息的丢失

Fig 1. 原始图像(上)和离散VAE重建图像(下)的比较。编码器对空间分辨率进行8倍的下采样。虽然细节(例如,猫毛的纹理、店面上的文字和插图中的细线)有时会丢失或扭曲,但图像的主要特征通常仍然是可识别的。我们使用8192的大词汇量来减轻信息的丢失

原文链接:[PMLR 2021]Zero-Shot Text-to-Image Generation:零样本文本到图像生成 (by)小样本视觉与智能前沿

文章目录

  • [PMLR 2021]Zero-Shot Text-to-Image Generation:零样本文本到图像生成
    • 01 现有工作的不足?
    • 02 文章解决了什么问题?
    • 03 关键的解决方案是什么?
    • 04 主要的贡献是什么?
    • 05 方法具体是如何实现的?
    • 06 实验结果和对比效果如何?
    • 07 消融研究告诉了我们什么?
    • 08 结论

01 现有工作的不足?

文本到图像生成的重点是为固定数据集的训练找到更好的建模假设。这些假设可能涉及复杂的体系结构、辅助损失或在训练期间提供的诸如对象部分标签或分割掩码之类的侧信息。

02 文章解决了什么问题?

我们描述了一种基于转换器的简单方法,该转换器将文本和图像标记自回归地建模为单个数据流, 实现了零样本的文本到图像的生成。

03 关键的解决方案是什么?

在这项工作中,我们展示了在从互联网收集的2.5亿个图像-文本对上训练一个120亿个参数的自回归转换器,会产生一个灵活的、高保真的图像生成模型,可以通过自然语言控制。

04 主要的贡献是什么?

  • 我们研究了一种基于自回归转换器的文本到图像生成的简单方法.
  • 提出的方法能够在初级水平上执行复杂的任务,如图像到图像的翻译。这以前需要定制方法(Isola等人,2017),而不是作为单个大型生成模型的能力出现。

05 方法具体是如何实现的?

我们的目标是训练一个转换器将文本和图像标记作为单个数据流进行自回归建模。然而,对于高分辨率图像,直接使用像素作为图像标记将需要过多的内存。可能性目标倾向于优先考虑像素之间的短程依赖关系建模,因此大部分建模能力将用于捕获高频细节,而不是使物体在视觉上可识别的低频结构。

我们通过使用两阶段的训练来解决这些问题:

  1. 我们训练了一个离散变分自编码器(dVAE)1,将每个256×256 RGB图像压缩成一个32 × 32的图像标记网格,它的每个元素可以有8192个可能的值。这将变压器的上下文大小减少了192倍,而视觉质量没有大的下降(参见图1)。
  2. 我们将多达256个BPE编码的文本标记与32 × 32 = 1024个图像标记连接起来,并训练一个自回归转换器来对文本和图像标记的联合分布进行建模。

我们用因式分解对这个分布建模:

产生下界:

Fig 4. 变压器resblock的逐resblock梯度缩放说明。实线表示正向传播的操作序列,虚线表示反向传播的操作序列。我们根据每个resblock的梯度缩放来缩放传入梯度,并在将其添加到连续resblock的梯度之和之前取消对传出梯度的缩放。沿着标识路径的激活和梯度以32位精度存储。“filter”操作将激活梯度中的所有Inf和NaN值设置为零。如果没有这一点,当前resblock中的非有限事件将导致之前所有resblock的梯度尺度不必要地下降,从而导致下溢。

Fig 4. 变压器resblock的逐resblock梯度缩放说明。实线表示正向传播的操作序列,虚线表示反向传播的操作序列。我们根据每个resblock的梯度缩放来缩放传入梯度,并在将其添加到连续resblock的梯度之和之前取消对传出梯度的缩放。沿着标识路径的激活和梯度以32位精度存储。“filter”操作将激活梯度中的所有Inf和NaN值设置为零。如果没有这一点,当前resblock中的非有限事件将导致之前所有resblock的梯度尺度不必要地下降,从而导致下溢。

06 实验结果和对比效果如何?

Fig 2. 在不同程度的可靠性下,我们的模型似乎能够以合理的方式组合不同的概念,创建动物的拟人化版本,呈现文本,并执行某些类型的图像到图像的翻译。
Fig 2. 在不同程度的可靠性下,我们的模型似乎能够以合理的方式组合不同的概念,创建动物的拟人化版本,呈现文本,并执行某些类型的图像到图像的翻译。

Fig 3. 将我们模型中的样本与MS-COCO中先前方法的样本进行比较。我们的每个模型样本都是由对比模型排名的512个样本中最好的。我们不使用任何手动挑选与任何模型的标题或样品的选择。
Fig 3. 将我们模型中的样本与MS-COCO中先前方法的样本进行比较。我们的每个模型样本都是由对比模型排名的512个样本中最好的。我们不使用任何手动挑选与任何模型的标题或样品的选择。

Fig 7. 人类对我们的模型(在没有温度降低的情况下评估零射击)与先前对MS-COCO标题的工作(DF-GAN)的评估。在五选一的投票中,我们模型的样本在90.0%的情况下被选为最真实的,在93.3%的情况下被选为最匹配共享标题的图像。
Fig 7. 人类对我们的模型(在没有温度降低的情况下评估零射击)与先前对MS-COCO标题的工作(DF-GAN)的评估。在五选一的投票中,我们模型的样本在90.0%的情况下被选为最真实的,在93.3%的情况下被选为最匹配共享标题的图像。

Fig 8. 我们的模型在CUB数据集上的Zero-shot样本。

Fig 8. 我们的模型在CUB数据集上的Zero-shot样本。

Fig 9. MS-COCO和CUB的定量结果。实线表示针对原始验证集计算的FID,虚线表示针对删除重叠图像的验证集计算的FID(参见3.2节)。对于MS-COCO,我们在从验证集中采样的30,000个标题的子集上评估所有模型。对于CUB,我们在测试集中的所有唯一标题上评估所有模型。
Fig 9. MS-COCO和CUB的定量结果。实线表示针对原始验证集计算的FID,虚线表示针对删除重叠图像的验证集计算的FID(参见3.2节)。对于MS-COCO,我们在从验证集中采样的30,000个标题的子集上评估所有模型。对于CUB,我们在测试集中的所有唯一标题上评估所有模型。

07 消融研究告诉了我们什么?

Tab 1. 我们展示了模型大小和梯度的最小压缩等级(最高128的倍数)之间的关系,这是避免在训练的前10%的训练损失中出现差距所必需的。这些结果表明,在我们的设置中,我们可以实现约85%的压缩率,与模型大小无关。
Tab 1. 我们展示了模型大小和梯度的最小压缩等级(最高128的倍数)之间的关系,这是避免在训练的前10%的训练损失中出现差距所必需的。这些结果表明,在我们的设置中,我们可以实现约85%的压缩率,与模型大小无关。

Fig 6. 增加对比重排序过程中图像数量对MS-COCO标题的影响。Fig 6. 增加对比重排序过程中图像数量对MS-COCO标题的影响。

08 结论

我们研究了一种基于自回归转换器的文本到图像生成的简单方法,当它在大规模执行时。我们发现,规模可以导致改进的泛化,无论是相对于以前的领域特定方法的零射击性能,还是从单个生成模型产生的功能范围来看。我们的研究结果表明,作为规模的函数提高泛化可能是这一任务进展的有用驱动因素。

原文链接:[PMLR 2021]Zero-Shot Text-to-Image Generation:零样本文本到图像生成 (by)小样本视觉与智能前沿

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

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

相关文章

为什么有些前端一直用 div 当按钮,而不是用 button?

💂 个人网站:【海拥】【游戏大全】【神级源码资源网】🤟 前端学习课程:👉【28个案例趣学前端】【400个JS面试题】💅 寻找学习交流、摸鱼划水的小伙伴,请点击【摸鱼学习交流群】 目录 前言div 和 button使用…

Linux学习之进程控制和进程之间的关系

nice值的设定 关于vim四种模式一些介绍,可以看《Linux学习之vim正常模式和插入模式》 vim a.sh,按i进入到插入模式,这样才能输入字符到a.sh文件中。 把下边的内容写进去: #!/bin/bashecho $$ while : # 无限循环 do: done按Es…

Redis设计与实现笔记之SDS

1 数据结构与对象 1.1 简单动态字符串 SDS简单动态字符串(simple dynamic string,SDS)是Redis中字符串的底层数据结构。 struct sdshdr {// 记录 buf 数组中已使用字节的数量// 等于 SDS 所保存字符串的长度int len;// 记录 buf 数组中未使…

房屋信息怎么做二维码?户型文件怎么批量转二维码?

现在很多房产开发商都会用二维码来储存各个楼每户的信息,可能是建筑平面图、验房信息、楼区信息等等。那么如果将每户信息导出单独的文件之后,怎样才能够将每个文件批量转成二维码呢?下面教大家使用二维码生成器(免费在线二维码生…

pytorch快速入门中文——07(TensorBoard)

使用 TensorBoard 可视化模型,数据和训练 原文:https://pytorch.org/tutorials/intermediate/tensorboard_tutorial.html 在 60 分钟突击中,我们向您展示了如何加载数据,如何通过定义为nn.Module子类的模型提供数据,如…

HTTP协议、存储、Ajax

HTTP协议、存储、Ajax 前端数据交互与HTTP协议 前后端通信 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8" /><title>初识前后端通信</title></head><body><script>// 1.前后端通信…

手术麻醉临床信息系统源码:实现手术全流程自动化和信息化

手术麻醉临床信息系统遵循“以病人为中心、服务于临床”的宗旨&#xff0c;使医护人员从繁琐的病历书写中解放出来&#xff0c;集中精力关注病人的诊疗&#xff0c;将更多的时间用于分析、诊断。以服务围术期临床业务工作的开展为核心&#xff0c;为医护人员、业务管理人员、院…

APP外包开发闪退解决工具

APP上线后出现闪退问题往往不好解决&#xff0c;解决这些问题耗时耗力&#xff0c;但解决好了会对用户体验有非常大的帮助。今天和大家分享解决APP闪退问题的一般流程&#xff0c;但具体情况可能会因为问题的复杂性和具体情况有所不同。北京木奇移动技术有限公司&#xff0c;专…

机器学习李宏毅学习笔记34

文章目录 前言一、Knowledge distillation二、Parameter quantization三、Architecture design四、Dynamic computation总结 前言 神经网络压缩&#xff08;二&#xff09;其他方法 一、Knowledge distillation 先train一个大的network叫做teacher network&#xff0c;小的ne…

Java微服务金融项目智牛股-基础知识二(Sentinel简介)

Sentinel 背景 微服务架构设计由众多为服务组成&#xff0c;为保障高可用&#xff0c;通常会采用集群方式部署。由于服务自身原因或网络等其他问题&#xff0c;并不能保证100%可用性&#xff0c; 若单个服务出现问题&#xff0c; 会导致进入该服务的线程阻塞&#xff0c; 如果…

【Linux】操作系统的基本概念 {冯诺依曼体系结构,操作系统的基本概念,系统调用及用户操作接口,shell程序}

一、冯诺依曼体系结构 现代计算机设计大都遵守冯诺依曼体系结构&#xff1a; 截至目前&#xff0c;我们所认识的计算机&#xff0c;都是由一个个的硬件组件组成 输入单元&#xff1a;包括键盘, 鼠标&#xff0c;扫描仪, 磁盘&#xff0c;网卡等 存储器&#xff1a;内存&#…

cuda 安装(windows)简单

除了在linux上用&#xff0c;部分初学者也会在windows上用 需要在linux上安装的参考这篇&#xff1a;cuda linux安装 有的教程讲的很复杂&#xff0c;起始很简单 1.下载Cuda Toolkit&#xff08;全家桶&#xff09; cuda-toolkit官方页面 找到需要的版本 2.安装 双击然后下…

MySQL MHA高可用集群部署及故障切换

MySQL MHA高可用集群部署及故障切换 一、MHA概述二、MHA的组成三、MHA的特点四、MHA的原理五、搭建MySQLMHA1、所有服务器&#xff0c;关闭系统防火墙和安全机制2、修改 master&#xff08;192.168.92.11&#xff09;、Slave1&#xff08;192.168.92.12&#xff09;、Slave2&am…

使用Gradio创建交互式复选框组件

❤️觉得内容不错的话&#xff0c;欢迎点赞收藏加关注&#x1f60a;&#x1f60a;&#x1f60a;&#xff0c;后续会继续输入更多优质内容❤️ &#x1f449;有问题欢迎大家加关注私戳或者评论&#xff08;包括但不限于NLP算法相关&#xff0c;linux学习相关&#xff0c;读研读博…

Web (27号培训)

Get_POST Upload1 最后蚁剑链接寻找文件即可 简单的登录 用给好的字典爆破就好了 这仅仅只是爆破吗&#xff1f; 账户hacker 密码123456 1.爆破hacker帐号的密码 2.登录hacker帐号 3.抓包后将user改成vvvlllll&#xff0c;放包 4.即得flag

今日份分享:转换音频格式的软件有哪些

曾经有一位音乐爱好者&#xff0c;名叫张丽。她热爱收集高质量的音乐&#xff0c;尤其钟爱flac这种无损音频格式。然而&#xff0c;有一天&#xff0c;她遇到了一个问题&#xff1a;她的音乐播放器不支持flac格式&#xff0c;因此她迫切需要找到一种软件来转换flac音频格式。那…

助你丝滑过度到 Vue3 初识 ②②

作者 : SYFStrive 博客首页 : HomePage &#x1f4dc;&#xff1a; VUE3~TS &#x1f4cc;&#xff1a;个人社区&#xff08;欢迎大佬们加入&#xff09; &#x1f449;&#xff1a;社区链接&#x1f517; &#x1f4cc;&#xff1a;觉得文章不错可以点点关注 &#x1f449;…

读发布!设计与部署稳定的分布式系统(第2版)笔记15_快速失败和替换

1. 快速失败而非缓慢响应 1.1. 如果响应缓慢比没有响应更糟&#xff0c;那么最坏的情况肯定是缓慢的失败响应 1.2. 如果系统能够预先确定某次调用会失败&#xff0c;那么最好快速失败 2. 快速失败模式通过避免响应缓慢来提高整个系统的稳定性 2.1. 当系统由于部分失效而面临…

【pytorch,onnx,bug解决】pytorch的op:pixel unshuffle转到onnx的op:SpaceToDepth

文章目录 问题1&#xff0c; 转换失败问题1解决问题2&#xff0c;精度对不上问题2解决训练时转换时 问题1&#xff0c; 转换失败 pytorch训练好的模型想要在onnx上部署&#xff0c;但是发现算子F.pixel_unshuffle 不能直接转到onnx 的 SpaceToDepth&#xff0c; 发生以下报错&…

Android——基本控件(下)(十六)

1. 随笔提示文本&#xff1a;AutoCompleteTextView 1.1 知识点 &#xff08;1&#xff09;了解随笔提示功能的应用&#xff1b; &#xff08;2&#xff09;可以使用AutoCompleteTextView类完成随笔提示功能的实现。 1.2 具体内容 这个组件就是提供了一个文本输入的功能&…