扩散+超分辨率模型强强联合,谷歌图像生成器Imagen背后的技术

酷静小哥_2779

酷静小哥_2779

2023-04-10

1841人浏览

转载

近年来,多模态学习受到重视,特别是文本 - 图像合成和图像 - 文本对比学习两个方向。一些 ai 模型因在创意图像生成、编辑方面的应用引起了公众的广泛关注,例如 openai 先后推出的文本图像模型 dall・e 和 dall-e 2,以及英伟达的 gaugan 和 gaugan2。

谷歌也不甘落后,在 5 月底发布了自己的文本到图像模型 Imagen,看起来进一步拓展了字幕条件(caption-conditional)图像生成的边界。

☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

扩散+超分辨率模型强强联合,谷歌图像生成器Imagen背后的技术

仅仅给出一个场景的描述,Imagen 就能生成高质量、高分辨率的图像,无论这种场景在现实世界中是否合乎逻辑。下图为 Imagen 文本生成图像的几个示例,在图像下方显示出了相应的字幕。

扩散+超分辨率模型强强联合,谷歌图像生成器Imagen背后的技术

这些令人印象深刻的生成图像不禁让人想了解:Imagen 到底是如何工作的呢?

近期,开发者讲师 Ryan O'Connor 在 AssemblyAI 博客撰写了一篇长文《How Imagen Actually Works》,详细解读了 Imagen 的工作原理,对 Imagen 进行了概览介绍,分析并理解其高级组件以及它们之间的关联。

Imagen 工作原理概览

在这部分,作者展示了 Imagen 的整体架构,并对其它的工作原理做了高级解读;然后依次更透彻地剖析了 Imagen 的每个组件。如下动图为 Imagen 的工作流程。

扩散+超分辨率模型强强联合,谷歌图像生成器Imagen背后的技术

首先,将字幕输入到文本编码器。该编码器将文本字幕转换成数值表示,后者将语义信息封装在文本中。Imagen 中的文本编码器是一个 Transformer 编码器,其确保文本编码能够理解字幕中的单词如何彼此关联,这里使用自注意力方法。

如果 Imagen 只关注单个单词而不是它们之间的关联,虽然可以获得能够捕获字幕各个元素的高质量图像,但描述这些图像时无法以恰当的方式反映字幕语义。如下图示例所示,如果不考虑单词之间的关联,就会产生截然不同的生成效果。

扩散+超分辨率模型强强联合,谷歌图像生成器Imagen背后的技术

虽然文本编码器为 Imagen 的字幕输入生成了有用的表示,但仍需要设计一种方法生成使用这一表示的图像,也即图像生成器。为此,Imagen 使用了扩散模型,它是一种生成模型,近年来得益于其在多项任务上的 SOTA 性能而广受欢迎。

扩散模型通过添加噪声来破坏训练数据以实现训练,然后通过反转这个噪声过程来学习恢复数据。给定输入图像,扩散模型将在一系列时间步中迭代地利用高斯噪声破坏图像,最终留下高斯噪声或电视噪音静态(TV static)。下图为扩散模型的迭代噪声过程:

扩散+超分辨率模型强强联合,谷歌图像生成器Imagen背后的技术

然后,扩散模型将向后 work,学习如何在每个时间步上隔离和消除噪声,抵消刚刚发生的破坏过程。训练完成后,模型可以一分为二。这样可以从随机采样高斯噪声开始,使用扩散模型逐渐去噪以生成图像,具体如下图所示:

扩散+超分辨率模型强强联合,谷歌图像生成器Imagen背后的技术

总之,经过训练的扩散模型从高斯噪声开始,然后迭代地生成与训练图像类似的图像。很明显的是,无法控制图像的实际输出,仅仅是将高斯噪声输入到模型中,并且它会输出一张看起来属于训练数据集的随机图像。

但是,目标是创建能够将输入到 Imagen 的字幕的语义信息封装起来的图像,因此需要一种将字幕合并到扩散过程中的方法。如何做到这一点呢?

笔目鱼英文论文写作器
笔目鱼英文论文写作器

一款AI论文写作工具,主要用于写高质量英文论文,就用笔目鱼,适合需要提升相关任务效率的用户。

下载

上文提到文本编码器产生了有代表性的字幕编码,这种编码实际上是向量序列。为了将这一编码信息注入到扩散模型中,这些向量被聚合在一起,并在它们的基础上调整扩散模型。通过调整这一向量,扩散模型学习如何调整其去噪过程以生成与字幕匹配良好的图像。过程可视化图如下所示:

扩散+超分辨率模型强强联合,谷歌图像生成器Imagen背后的技术

由于图像生成器或基础模型输出一个小的 64x64 图像,为了将这一模型上采样到最终的 1024x1024 版本,使用超分辨率模型智能地对图像进行上采样。

对于超分辨率模型,Imagen 再次使用了扩散模型。整体流程与基础模型基本相同,除了仅仅基于字幕编码调整外,还以正在上采样的更小图像来调整。整个过程的可视化图如下所示:

扩散+超分辨率模型强强联合,谷歌图像生成器Imagen背后的技术

这个超分辨率模型的输出实际上并不是最终输出,而是一个中等大小的图像。为了将该图像放大到最终的 1024x1024 分辨率,又使用了另一个超分辨率模型。两个超分辨率架构大致相同,因此不再赘述。而第二个超分辨率模型的输出才是 Imagen 的最终输出。

为什么 Imagen 比 DALL-E 2 更好?

确切地回答为什么 Imagen 比 DALL-E 2 更好是困难的。然而,性能差距中不可忽视的一部分源于字幕以及提示差异。DALL-E 2 使用对比目标来确定文本编码与图像(本质上是 CLIP)的相关程度。文本和图像编码器调整它们的参数,使得相似的字幕 - 图像对的余弦相似度最大化,而不同的字幕 - 图像对的余弦相似度最小化。

性能差距的一个显著部分源于 Imagen 的文本编码器比 DALL-E 2 的文本编码器大得多,并且接受了更多数据的训练。作为这一假设的证据,我们可以在文本编码器扩展时检查 Imagen 的性能。下面为 Imagen 性能的帕累托曲线:

扩散+超分辨率模型强强联合,谷歌图像生成器Imagen背后的技术

放大文本编码器的效果高得惊人,而放大 U-Net 的效果却低得惊人。这一结果表明,相对简单的扩散模型只要以强大的编码为条件,就可以产生高质量的结果。

鉴于 T5 文本编码器比 CLIP 文本编码器大得多,再加上自然语言训练数据必然比图像 - 字幕对更丰富这一事实,大部分性能差距可能归因于这种差异。

除此以外,作者还列出了 Imagen 的几个关键要点,包括以下内容:

  • 扩展文本编码器是非常有效的;
  • 扩展文本编码器比扩展 U-Net 大小更重要;
  • 动态阈值至关重要;
  • 噪声条件增强在超分辨率模型中至关重要;
  • 将交叉注意用于文本条件反射至关重要;
  • 高效的 U-Net 至关重要。

这些见解为正在研究扩散模型的研究人员提供了有价值的方向,而不是只在文本到图像的子领域有用。

相关文章

谷歌浏览器
谷歌浏览器

谷歌浏览器Google Chrome是一款可让您更快速、轻松且安全地使用网络的浏览器。Google Chrome的设计超级简洁,使用起来得心应手。这里提供了谷歌浏览器纯净安装包,有需要的小伙伴快来保存下载体验吧!

下载

相关标签:

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
Go-Zero API开发使用教程
Go-Zero API开发使用教程

本专题聚焦Go-Zero的API开发,拆解.api描述文件的语法结构、路由与分组定义、参数绑定与校验规则,说明统一响应体、JWT鉴权、跨域与接口文档生成的落地方式,并给出网关聚合与接口测试的实践建议。

2026.11.12

80

15

Go-Zero安装与goctl环境配置教程
Go-Zero安装与goctl环境配置教程

本专题围绕Go-Zero的安装与工具链配置展开,讲清Go版本要求、goctl安装方式、代理镜像、protoc依赖与环境变量设置,说明多版本共存、升级回退与CI流水线安装的做法,并整理安装阶段的常见报错与验证步骤。

2026.11.12

60

15

Go-Zero零基础入门教程
Go-Zero零基础入门教程

本专题整理Go-Zero的入门知识,从框架定位、环境准备到跑通第一个API服务,讲清目录分层、配置加载、日志与中间件的基本用法,并对比Gin、Kratos的差异,帮助Go开发者建立整体认知,判断它是否适合当前项目。

2026.11.12

40

15

Postman身份认证怎么配置
Postman身份认证怎么配置

本专题从实际API接口调试场景出发,讲解Postman身份认证的完整配置流程,包括常见认证协议介绍、授权参数设置、访问令牌填写、OAuth 2.0授权及认证失败排查,帮助用户正确完成接口授权与访问验证。

2026.11.06

140

12

Postman请求头Headers怎么设置
Postman请求头Headers怎么设置

围绕Postman HTTP请求头配置展开,讲解Headers选项的具体使用方式,包括Key和Value参数填写、请求头信息添加、常见Header字段设置及请求头修改方法,帮助用户解决接口调试过程中遇到的请求头配置问题。

2026.11.06

120

13

Postman接口请求发送教程
Postman接口请求发送教程

详细介绍Postman接口请求的创建与发送方法,涵盖GET和POST请求、URL配置、请求参数、Headers请求头、Body请求体设置以及响应结果查看,帮助用户掌握Postman接口请求的完整操作流程。

2026.11.06

120

10

DBeaver怎么导入数据
DBeaver怎么导入数据

DBeaver数据导入专题,整理Excel、CSV、SQL、TXT等常见文件的数据导入方法,涵盖目标数据库选择、数据表创建、字段映射、数据类型设置及导入参数配置等操作,帮助用户将本地文件中的数据写入数据库,并了解批量导入、重复数据处理和导入失败等常见问题的解决方法。

2026.11.05

100

12

DBeaver安全防护教程大全
DBeaver安全防护教程大全

DBeaver安全防护专题,围绕数据库连接安全、账号密码保护和访问权限管理展开,整理SSL/TLS加密连接、SSH隧道、数据库凭据保存及证书验证等配置方法,同时介绍敏感信息保护、远程连接风险和高权限账号使用等注意事项,帮助用户提高数据库日常管理的安全性。

2026.11.05

80

12

DBeaver连接创建与配置教程
DBeaver连接创建与配置教程

本专题聚焦DBeaver数据库连接配置与管理,覆盖从新建连接、选择数据库类型到填写连接参数和验证连接的完整流程。针对MySQL、PostgreSQL、SQL Server等常见数据库,整理相应的连接设置方法,并提供驱动缺失、认证失败和连接异常等问题的排查方向。

2026.11.04

100

16

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
DBeaver AI数据隐私指南
DBeaver AI数据隐私指南

共0课时 | 0人学习

XORM框架官方中文文档
XORM框架官方中文文档

共0课时 | 0人学习

Conan 2 新特性与架构变化
Conan 2 新特性与架构变化

共0课时 | 0人学习