Transfusion: Predict the Next Token and Diffuse Images with One Multi-Modal Model(2024,8)

Transfusion: Predict the Next Token and Diffuse Images with One Multi-Modal Model(2024,8)

Paper
TODO: 目前没有开源代码,实时关注一下official code,Meta的工作基本开源的.本文给出了一种新的T2I的方法.
lucidrains的代码

transfusion_2024-09-04_

本质是将LLM的transformer和图像中的diffusion结合了起来,使用同一个transformer来同时处理文本和图像信息.之前的DiT架构都是使用一个预训练的TextEncoder来提取文本信息,,并通过Concat、AdaLN、
CrossAttention、MMDit等方式将文本信息融入模型,而本文的方式直接同时训练文本和图像信息,并且是使用同一个模型来进行处理.

transfusion_2024-09-04_

如上图,图像经过一个VAE来得到tokens,并插入到文本token中,文本也会在经过一个tokenizer之后通过一个轻量级的模块进行处理,然后再通过一个transformer来处理文本和图像的信息.

transfusion_2024-09-04_

文本的attention方式和图像不一致,文本因为要采用causal的方式,而图像则需要采用bidirectional的方式.

Loss : \(\mathcal{L}_\text{Transfusion}=\mathcal{L}_\text{LM}+\lambda\cdot\mathcal{L}_\text{DDPM}\)

对于文本采用了LLM modeing,对于图像采用了DDPM的loss,训练细节和效果可以参看论文.

论文通过提出Transfusion方法来解决多模态模型的训练问题。Transfusion的核心思想是训练一个单一的模型来同时处理离散和连续的数据模态,具体解决方案包括以下几个关键步骤:

  • 数据表示:将文本数据表示为离散的token序列,将图像数据通过变分自编码器(VAE)编码为连续的潜在空间补丁序列。在混合模态的示例中,使用特殊的开始图像(BOI)和结束图像(EOI)标记来分隔文本和图像序列。

  • 模型架构:使用一个单一的Transformer模型来处理所有序列,无论其模态如何。对于文本,使用嵌入层将token转换为向量;对于图像,尝试了两种将局部窗口的补丁向量压缩成单个Transformer向量的方法:简单的线性层和U-Net的上下块。

  • 注意力机制:结合了因果注意力(用于文本token)和双向注意力(用于图像补丁)。这允许图像内的每个补丁能够相互注意,同时只能注意序列中先前出现的文本或图像补丁。

  • 训练目标:对文本token应用语言建模目标(LLM),对图像补丁应用扩散目标(LDDPM)。通过简单地将两种模态上计算的损失相加,并引入一个平衡系数λ,来训练模型。

  • 推理算法:根据训练目标,解码算法在两种模式(LM和扩散)之间切换。在LM模式下,从预测分布中逐个采样token。当采样到BOI标记时,切换到扩散模式,按照扩散模型的标准程序解码图像。

  • 实验验证:通过一系列受控实验,论文展示了Transfusion在不同模型大小和数据量下的性能,以及与Chameleon方法的比较。实验结果表明,Transfusion在每种模态组合中的扩展性都优于Chameleon方法。

  • 架构改进:论文还探讨了Transfusion模型的不同变体,包括使用不同大小的图像补丁、不同的编码/解码架构(线性层与U-Net块),以及限制图像噪声的程度,以提高特定任务的性能。

  • 图像编辑能力:论文进一步展示了Transfusion模型在图像编辑任务上的潜力,通过在少量图像编辑数据上微调预训练模型,使其能够根据指令执行图像编辑。

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

代码整洁之道--读书笔记(1)

代码整洁之道简介: 本书是编程大师“Bob 大叔”40余年编程生涯的心得体会的总结,讲解要成为真正专业的程序员需要具备什么样的态度,需要遵循什么样的原则,需要采取什么样的行动。作者以自己以及身边的同事走过的弯路、犯过的错误为例,意在为后来者引路,助其职业生涯迈上更…

Towards Robust Blind Face Restoration with Codebook Lookup Transformer(NeurIPS 2022) | Codeformer

Towards Robust Blind Face Restoration with Codebook Lookup Transformer(NeurIPS 2022) 这篇论文试图解决的是盲目面部恢复(blind face restoration)问题,这是一个高度不确定的任务,通常需要辅助指导来改善从低质量(LQ)输入到高质量(HQ)输出的映射,或者补充输入中丢…

[MySQL]B+树能存储多少数据

MySQL中一个B+树能存储多少数据MySQL中InnoDB页的大小默认是16k。也可以自己进行设置。(计算机在存储数据的时候,最小存储单元是扇区,一个扇区的大小是 512 字节,而文件系统(例如 XFS/EXT4)最小单元是块,一个块的大小是 4KB。 InnoDB 引擎存储数据的时候,是以页为单位的…

基于 GoFrame 框架的 Go 项目打包成镜像,并上传至 Harbor 镜像库

本文通过将一个简单的 gf 项目推送到 harbor,简单介绍了整个流程和过程中用到的命令。〇、前言 在云服务时代最流行的部署方式就是容器部署,这也是最推荐的部署方式。 对于 GoFrame 框架就不多介绍了,直接来初始化一个 demo,备用。 // 初始化一个项目:gf-demo gf init gf-…

ChatOn安卓版(智能AI聊天机器人) v1.48.435-476 高级版

概述 ChatOn 构建于ChatGPT和GPT-4o之上,为用户提供市场上最优秀的中文AI聊天机器人。AI聊天机器人能够达到一个全新水平的仿人类互动:当你为某一场正式会议准备演讲,苦思动人的措辞,或寻求写作方面的帮助时,这款智能机器人和AI助手都会统统帮你搞定。 软件功能 1、AI 写…

JPEG格式研究——(2)JPEG文件格式

JPEG文件除了图像数据之外,还保存了与图片相关的各种信息,这些信息通过不同类型的TAG存储在文件中。 TAG JPEG通过TAG标记压缩书记之外的信息。所有的TAG都包含一个TAG类型,TAG类型大小为两个字节,位于一个TAG的最前面。TAG类型的第一个字节一定为0xFF 以下是部分常见的TAG…

【python】一篇搞懂多解释器与虚拟环境

一.同一PC上,python同时支持多个版本的解释器共存1.1:安装不同版本python解释器(参考百度资料)# python安装后,解释器目录介绍 C:\python39- python.exe [解释器]-Scripts- pip.exe- pip3.exe- pip3.9.exe- Lib- re.py- random.py 内置模块- site-packages- requests …

LeeCode-104. 二叉树的最大深度

要求给定一个二叉树 root ,返回其最大深度。 二叉树的 最大深度 是指从根节点到最远叶子节点的最长路径上的节点数。 如下图所示的二叉树最大深度为5.解题思路与94题类似,采用递归调用遍历子节点。在基本结构中,节点的最大深度等于根深度(1)加上左右较大深度,左右较大的深…

# LeeCode-104. 二叉树的最大深度

要求给定一个二叉树 root ,返回其最大深度。 二叉树的 最大深度 是指从根节点到最远叶子节点的最长路径上的节点数。 如下图所示的二叉树最大深度为5.解题思路与94题类似,采用递归调用遍历子节点。在基本结构中,节点的最大深度等于根深度(1)加上左右较大深度,左右较大的深…

遥感技术在环境监测中的应用:揭秘地球变化的天眼

当我们仰望星空,探索宇宙的奥秘时,别忘了脚下的这片土地同样蕴藏着无数未解之谜。遥感技术,这个听起来似乎遥不可及的名字,其实正是我们透视地球环境变化的“天眼”。今天将带大家一探遥感技术如何在环境监测中大显身手,帮助我们更精准地监测和评估这个星球的每一次呼吸与…

c#程序反编译

工具ilspy https://nchc.dl.sourceforge.net/project/ilspy.mirror/v9.0-preview2/ILSpy_binaries_9.0.0.7660-preview2-arm64.zip?viasf=1 visualstudio反编译方法将需要反编译的程序拖入ilspy 选择vs版本导出项目 右键项目→保存代码vs打开项目文件即可添加库方法反编译库,…