首页 > 编程语言 >算法进阶 | Transformer+Diffusion? Transfusion!

算法进阶 | Transformer+Diffusion? Transfusion!

时间:2025-01-10 17:29:02浏览次数:3  
标签:Diffusion Transformer 进阶 标记 Transfusion 模型 图像

本文来源公众号“算法进阶”,仅用于学术分享,侵权删,干货满满。

原文链接:Transformer+Diffusion? Transfusion!

近日,Meta 和 Waymo 发布了最新论文《Transfusion: Predict the Next Token and Diffuse Images with One Multi-Modal Model》,该论文将流行的 Transformer 模型与 Diffusion 模型相结合,用于多模态训练和预测。

与 Meta 之前的工作一样,Transfusion 模型基于 Llama 架构和早期融合,该架构同时采用文本标记序列和图像标记序列,并使用单个 Transformer 模型生成预测。但与之前的技术不同,Transfusion 模型对图像标记的处理方式不同:

  • 图像标记序列由预先训练的变分自动编码器部分生成。

  • Transformer 对图像序列的注意力是双向的,而不是因果的。

带有预训练任务的 Transfusion 模型架构。

文本预训练是下一个单词预测任务。

图像预训练是去噪扩散任务。图片来源:

https://www.arxiv.org/pdf/2408.11039

自回归模型 

如今,大型语言模型 (LLM) 主要基于 Transformer 架构,该架构于 2017 年在《Attention is All You Need》论文中提出。Transformer 架构包含两部分:编码器和解码器。

像 BERT 这样的掩码语言模型使用经过随机双向掩码标记预测任务(以及下一个句子预测)预训练的编码器部分。对于像最新的 LLM 这样的自回归模型,解码器部分通常在下一个标记预测任务上进行训练,其中 LM 损失最小化:

在上面的等式中,theta 是模型参数集,y_i 是长度为 n 的序列中索引 i 处的标记。y<i 是 y_i 之前的所有标记。

Diffusion 模型

Diffusion 模型是计算机视觉(尤其是医学图像分析)中常用于图像生成/去噪等目的的一系列深度学习模型。最著名的 Diffusion 模型之一是 DDPM,它来自 2020 年发表的 Denoising 扩散概率模型论文。该模型是一个参数化的马尔可夫链,包含后向和前向转换,如下所示。

什么是马尔可夫链?这是一个统计过程,其中当前步骤仅依赖于前一步,而反向则相反。通过假设马尔可夫过程,模型可以从干净的图像开始,在前向过程中迭代添加高斯噪声(上图中的右 -> 左),并在反向过程中使用基于 Unet 的架构迭代“学习”噪声(上图中的左 -> 右)。这就是为什么我们有时可以将扩散模型视为生成模型(从左到右使用时),有时将其视为去噪模型(从右到左使用时)。DDPM 损失如下所示,其中 theta 是模型参数集,epsilon 是已知噪声,epsilon_theta 是深度学习模型(通常是 UNet)估计的噪声:

潜在空间中的 Diffusion 模型

在 CVPR’22 论文中,扩散(diffusion)的概念被进一步扩展到潜在空间,其中首先使用预训练的变分自动编码器 (VAE) 的编码器部分将图像“压缩”到潜在空间。然后,在潜在空间上执行扩散和逆过程,并使用 VAE 的解码器部分将其映射回像素空间。这可以大大提高学习速度和效率,因为大多数计算都是在低维空间中执行的。

基于 VAE 的图像 Transfusion

Transfusion 模型的核心部分是将输入图像的扩散和变换器进行融合。首先,将图像分成 8*8 的块序列;每个块被传入预先训练的 VAE 编码器以“压缩”为 8 元素的潜在向量表示。然后,将噪声添加到潜在表示中,并通过线性层/U-Net 编码器进一步处理以生成“嘈杂的”x_t。第三,Transformer 模型处理嘈杂的潜在表示序列。最后,输出由另一个线性/U-Net 解码器进行反向处理,然后使用 VAE 解码器生成“真实的”x_0 图像。

在实际实现中,图像的开头(BOI)标记和图像的结尾(EOI)标记在连接文本标记之前被填充到图像表示序列的两侧。图像训练的自注意力是双向注意力,而文本标记的自注意力是因果的。在训练阶段,图像序列的损失是 DDPM 损失,而其余文本标记使用 LM 损失。

那么为什么要费心呢?为什么我们需要如此复杂的程序来处理图像补丁标记?本文解释说,文本和图像的标记空间是不同的。虽然文本标记是离散的,但图像标记/补丁自然是连续的。在以前的技术中,图像标记需要先“离散化”才能融合到 Transformer 模型中,而直接集成 Diffusion 模型可以解决这个问题。

与最先进的技术进行比较

本文比较的主要多模态模型是 Meta 于今年早些时候提出的 Chameleon 模型。在这里,我们比较了 Chameleon-7B 和 Transfusion-7B 在架构和训练集大小方面的差异。

论文列出了与 Llama2 预训练套件准确率、COCO 零样本 Frechet Inception Distance (FID) 和 GenEval 基准的性能比较。我们可以看到,在与图像相关的基准(COCO 和 Gen)上,Transfusion 的表现比 Chameleon 好得多,而与 Chameleon 相比,在参数量相同的情况下,损失的幅度很小。

写在最后的想法

虽然论文的想法非常有趣,但 Transfusion 中的 “Diffusion” 部分几乎算不上真正的Diffusion,因为 Markov 过程中只有两个时间戳。此外,预训练的 VAE 使模型不再严格是端到端的。此外,VAE + Linear/UNet + Transformer Encoder + Linear/UNet + VAE 的设计看起来如此复杂,这让观众不禁要问,有没有更优雅的方式来实现这个想法?

THE END !

文章结束,感谢阅读。您的点赞,收藏,评论是我继续更新的动力。大家有推荐的公众号可以评论区留言,共同学习,一起进步。

标签:Diffusion,Transformer,进阶,标记,Transfusion,模型,图像
From: https://blog.csdn.net/csdn_xmj/article/details/145059925

相关文章

  • 异地多活架构进阶:如何解决写后立即读场景问题?【转】
    在《醍醐灌顶!异地多活架构设计看这篇就够了》一文中,基于容灾需要,讨论了数据写入的架构模型。数据读取方面,重点在于解决读取请求的负载分担、路由选择的问题,对于容灾架构的选择影响不大。不过,其中的“写后立即读”场景,是个一致性范畴的问题,即写入的数据和写入后读到的数据是否一致......
  • 洛谷题单指南-线段树的进阶用法-P3157 [CQOI2011] 动态逆序对
    原题链接:https://www.luogu.com.cn/problem/P3157题意解读:长度为n的序列,序列是1~n的排列,一共m个删除操作,每一个删除之前输出逆序对。解题思路:要计算静态的逆序对,可以通过树状数组、权值线段树等方式,时间复杂度都是O(nlogn)要计算动态的逆序对,算上每一次删除,暴力做法需要O(mnlo......
  • Stable Diffusion超详细教程!从0-1入门到进阶
    一、本地部署StableDiffusion(全套教程文末领取哈)前言目前市面上比较权威,并能用于工作中的AI绘画软件其实就两款。一个叫Midjourney(简称MJ),另一个叫Stable-Diffusion(简称SD)。MJ需要付费使用,而SD开源免费,但是上手难度和学习成本略大,并且非常吃电脑配置(显卡、内存)。E和Mid......
  • AI绘画工具中,为什么专业玩家爱用Stable Diffusion,普通玩家却喜欢Midjourney?
    专业玩家与普通玩家,用的「AI绘画工具」有什么不同?今天有个朋友找我聊天,发现他的头像是个线稿,感觉用来练手AI生成建筑效果图挺好的。我觉得现在比较好用的AI绘画主要有三个,分别是开源的StableDiffusion和收费的Midjourney、以及ChatGPT中集成的DALL-E。后面两个的注册相......
  • Spring Bean生命周期管理:高手进阶的必修课
    SpringBean的生命周期就像一颗种子的成长过程,经历了从播种到发芽、成长、开花、结果,最终凋零的各个阶段。播种阶段(Bean定义与配置):就像农民将种子播撒在土壤中,为种子的生长做好准备。在Spring中,这是Bean定义的阶段,通过XML配置、注解或Java代码等方式,将Bean的定义信息注册到......
  • 学习笔记:C#高级进阶语法——委托(Delegate)
    四、委托4.1、什么是委托,委托的本质是什么呢?​ 1、形似一个方法,用delegate修饰符修饰。所谓委托,ILSpy反编译识别底层----生成一个一个的类。如果定义在class外部:独立生成一个类,如果定义在class内部,生成了一个类中类:包含一个2、所以委托的本质:就是一个类。4.2、委托的实例化,......
  • 豆包视觉理解模型主要采用了卷积神经网络(CNN)和变换器(Transformer)架构
    豆包视觉理解模型主要采用了卷积神经网络(CNN)和变换器(Transformer)架构。具体介绍如下:卷积神经网络(CNN)特征提取能力:CNN的卷积层通过卷积核在图像上滑动进行卷积操作,能够自动提取图像的局部特征,如边缘、纹理、形状等。这些特征对于图像的理解和识别至关重要,不同的卷积核可以提取不......
  • Flutter进阶(5):EventBus全局事件总线
    一、EventBus的基本概念FlutterEventBus是一种用于在Flutter应用程序中实现组件间通信的事件总线机制。可以用于在应用程序中实现各个组件之间的通信。它基于发布/订阅模式,允许组件订阅感兴趣的事件,并在事件发生时接收通知。二、FlutterEventBus的工作原理FlutterEventBu......
  • 【AIGC-ChatGPT进阶提示词指令】职场老油条的生存智慧:化解办公室困境的艺术
    引言在现代职场中,每个人都可能遇到各种挑战和困境。从项目管理的突发变更,到薪资谈判的微妙博弈,再到功劳归属的争议,这些都考验着职场人的智慧和情商。本文将通过实际案例,深入剖析职场常见困境的应对之道,助你在职场中游刃有余。最近比较忙,可能更新不及时,这两天忙完就恢复......
  • 【AIGC-ChatGPT进阶提示词指令】解析职场人群的心理密码
    今天逛某瓣,发现有人分享了一个【人生四季照片】,挺有意思的,然后就结合咱们的工作,想着能不能把【职业也进行四季的具象化】,所以就有了这篇文章。引言在当代职场中,每个专业领域都如同一个独特的小宇宙,塑造着从业者特定的思维方式、行为模式和情感体验。本文将深入剖析金融投......