【论文阅读】UniDiffuser: Transformer+Diffusion 用于图、文互相推理

news2024/11/20 16:27:47

而多模态大模型将能够打通各种模态能力,实现任意模态之间转化,被认为是通用式生成模型的未来发展方向。

最近看到不少多模态大模型的工作,有医学、金融混合,还有CV&NLP。

今天介绍: One Transformer Fits All Distributions in Multi-Modal Diffusion at Scale
论文链接:https://ml.cs.tsinghua.edu.cn/diffusion/unidiffuser.pdf
开源代码:https://github.com/thu-ml/unidiffuser

前置知识

U-ViT

大规模图文数据集 LAION-5B 80TB

https://laion.ai/blog/laion-5b/
58.5 亿个 CLIP 过滤的图像文本对组成的数据集。2,3B 包含英语,2,2B 样本来自 100 多种其他语言,1B 样本包含不允许特定语言分配的文本(例如名称)。

We provide these columns :

URL: the image url, millions of domains are covered
TEXT: captions, in english for en, other languages for multi and nolang
WIDTH: picture width
HEIGHT: picture height
LANGUAGE: the language of the sample, only for laion2B-multi, computed using cld3
similarity: cosine between text and image ViT-B/32 embeddings, clip for en, mclip for multi and nolang
pwatermark: probability of being a watermarked image, computed using our watermark detector
punsafe: probability of being an unsafe image, computed using our clip based detector
pwatermark and punsafe are available either as individual collections that must be joined with the hash of url+text, either as prejoined collections.

Diffusion

大致公式:
在这里插入图片描述

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

UniDiffusion

不同分布的扩散模型学习都可以统一成一个视角:首先向两个模态的数据分别加入某种大小的噪声,然后再预测两个模态数据上的噪声。其中两个模态数据上的噪声大小决定了具体的分布。

不同模态的扰动级别(即时间步长,timesteps)不同。UniDiffuser通过在所有模态中扰动数据而不是单个模态,输入不同模态的单独时间步长,并预测所有模态的噪声而不是单个模态,同时学习所有分布。

时间步长是指在扩散过程中,数据被扰动的次数或级别。在不同的模态中,时间步长可以不同,用于控制不同模态之间的条件和联合分布。例如,一个零时间步长意味着在相应的模态上进行条件生成,而一个绑定的时间步长意味着同时采样两个模态。
在这里插入图片描述

目标函数

在这里插入图片描述
目标函数由两部分组成:(1) 用于估计条件分布的对数似然项,(2) 用于估计噪声分布的对数似然项。这两个项都是通过对数据进行扰动来计算的。

零成本 CFG

Classifier-Free Guidance (CFG)是一种用于改善条件扩散模型采样质量的技术。它通过线性组合条件模型和无条件模型来进行采样,其中条件模型用于生成与给定条件相匹配的样本,无条件模型用于生成高质量的样本。CFG的关键是在采样过程中动态地调整条件和无条件模型的权重,以平衡两者的影响。在UniDiffuser中,CFG可以直接应用于条件和联合采样,而无需修改训练过程

CFG能直接应用于条件和联合采样,是因为UniDiffuser中的条件和联合采样都是通过对数据进行扰动来实现的

具体而言,它通过线性组合条件模型和无条件模型进行采样。

ˆ ϵ θ ( x t , y 0 , t ) = ( 1 + s ) ϵ θ ( x t , y 0 , t ) − s ϵ θ ( x t , t ) ˆϵθ(xt, y0, t) = (1 + s)ϵθ(xt, y0, t) − sϵθ(xt, t) ˆϵθ(xt,y0,t)=(1+s)ϵθ(xt,y0,t)θ(xt,t)

其中 s 是比例因子。条件和无条件模型通过引入空标记 ∅ 共享参数,即$ ϵθ(xt, t) = ϵθ(xt, y0 = ∅, t)$。

CFG 技术在采样过程中动态调整条件和无条件模型之间的权重,以平衡它们的影响。这种方法可以有效地提高样本质量和图像文本对齐。

网络结构

在这里插入图片描述

“Transformer as Joint Noise Prediction Network”

是 UniDiffuser 中用于预测注入到输入数据中的噪声的Transformer 。
采用了一个联合噪声预测网络来预测注入到输入数据中的噪声,通过最小化回归损失来训练网络。该网络是基于输入数据及其对应的时间步长所得到的嵌入向量进行训练的。

在 UniDiffuser 中,我们采用了基于 Transformer 的骨干网络来处理来自不同模态的输入数据。我们对 Transformer 进行了修改,将数据的两种模态及其对应的时间步长视为标记。此外,我们还对原始 Transformer 中的预层归一化进行了修改,以避免在使用混合精度训练时出现溢出问题。

结果

没有特别优化,我的实验结果相对一般。
The experiments demonstrate the ability of UniDiffuser to perform multiple generation tasks and directly compare it with existing large models in Section 6.2. UniDiffuser is shown to naturally support applications like data variation, blocked Gibbs sampling between modalities (see Section 6.3), and interpolation between images in the wild (see Section 6.4). The experiments also show that UniDiffuser outperforms existing models in terms of sample quality and diversity. The experiments are conducted on three subsets of LAION-5B dataset following Stable Diffusion.
在这里插入图片描述

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

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

相关文章

七、装饰者模式

这里写自定义目录标题 1、项目需求2、解决方案13、解决方案24、装饰者模式定义5、装饰者模式原理6、装饰者模式解决上述需求7、装饰者模式在jdk应用的源码分析 1、项目需求 2、解决方案1 3、解决方案2 可以控制类的数量,不至于造成很多的类在增加或者删除调料种类…

100万级连接,石墨文档WebSocket网关如何架构?

说在前面 在40岁老架构师 尼恩的读者交流群(50)中,很多小伙伴拿到一线互联网企业如阿里、网易、有赞、希音、百度、滴滴的面试资格。 最近,尼恩指导一个小伙伴简历,写了一个《高并发网关项目》,此项目帮这个小伙拿到 字节/阿里/…

自学WEB后端05-Node.js后端服务链接数据库redis

嘿,亲爱的小伙伴们!😄 今天我要给大家分享一个超级方便且高效的 NoSQL 类型数据库——Redis!💡 它可不是一般的关系型数据库哦,而是以键值对形式存储数据的内存数据库。📚 快跟着我一起来学习如…

GEO生信数据挖掘(一)数据集下载和初步观察

检索到目标数据集后,开始数据挖掘,本文以阿尔兹海默症数据集GSE1297为例 目录 GEOquery 简介 安装并加载GEOquery包 getGEO函数获取数据(联网下载) 更换下载数据源 对数据集进行初步观察处理 GEOquery 简介 GEOquery是一个…

基于springboot+vue的旅游系统(前后端分离)

博主主页:猫头鹰源码 博主简介:Java领域优质创作者、CSDN博客专家、公司架构师、全网粉丝5万、专注Java技术领域和毕业设计项目实战 主要内容:毕业设计(Javaweb项目|小程序等)、简历模板、学习资料、面试题库、技术咨询 文末联系获取 项目介绍…

如何看待程序员这个职业?

程序员作为高薪职业,主要是指从事程序开发、程序维护的专业人员。一般将程序员分为程序设计人员和程序编码人员,但两者的界限并不非常清楚,特别是在中国。软件从业人员分为初级程序员、中级程序员、高级程序员(现为软件设计师&…

基于体系结构-架构真题2022(四十一)

给定关系模式R(U,F),其中U为属性集,F是U上的一组函数依赖,那么函数依赖的公理系统中分解规则是指()为F所蕴含。 解析: 伪传递是x到y,wy到z,则xw到z 传递是z…

【性能测试】jmeter连接数据库jdbc

一、下载第三方工具包驱动数据库   1. 因为JMeter本身没有提供链接数据库的功能,所以我们需要借助第三方的工具包来实现。 (有这个jar包之后,jmeter可以发起jdbc请求,没有这个jar包,也有jdbc取样器,但不能…

服务断路器_Resilience4j信号量隔离实现

POM引入依赖 <dependency><groupId>io.github.resilience4j</groupId><artifactId>resilience4j-bulkhead</artifactId><version>1.7.0</version> </dependency>信号量隔离修改YML文件 resilience4j:#信号量隔离bulkhead:ins…

【数据结构】八大排序算法-代码实现+复杂度分析+稳定性分析+总结

文章目录 关于稳定性插入排序直接插入排序希尔排序 选择排序直接选择排序堆排序 交换排序冒泡排序快速排序hoare版本挖坑法两路划分 快排致命点三路划分小区间优化 快排非递归 归并排序非递归版本 计数排序-鸽巢原理绝对映射相对映射 插入排序和选择排序的对比总结 关于稳定性 …

UNITY—2D游戏制作入门!

Unity作为当今最流行的游戏引擎之一&#xff0c;受到各大厂商的喜爱。 像是炉石传说&#xff0c;以及逃离塔克夫&#xff0c;都是由unity引擎开发制作。 作为初学者的我们&#xff0c;虽然无法直接做出完成度那么高的作品&#xff0c;但每一个伟大的目标&#xff0c;都有一个…

机柜PDU产品采购与安装指南——TOWE精选

机柜PDU指的是Power Distribution Unit&#xff0c;即电源分配单元。它是一种电子设备&#xff0c;通常用于为数据中心、服务器机房等设施中的计算机和其他设备提供电力&#xff0c;是各行业数据中心“标配”构成部分&#xff0c;以确保服务器等用电设备的安全和稳定运行。 数据…

Android的GNSS功能,搜索卫星数量、并获取每颗卫星的信噪比

一、信噪比概念 信噪比&#xff0c;英文名称叫做SNR或S/N&#xff08;SIGNAL-NOISE RATIO)&#xff0c;又称为讯噪比。是指一个电子设备或者电子系统中信号与噪声的比例。 信噪比越大&#xff0c;此颗卫星越有效&#xff08;也就是说可以定位&#xff09;。也就是说&#xff0…

2023最新最详细软件测试技术面试题【含答案】

【软件测试面试突击班】如何逼自己一周刷完软件测试八股文教程&#xff0c;刷完面试就稳了&#xff0c;你也可以当高薪软件测试工程师&#xff08;自动化测试&#xff09; 有这样一个面试题&#xff1a;在一个Web测试页面上&#xff0c;有一个输入框&#xff0c;一个计数器&…

【考研数学】概率论与数理统计 —— 第三章 | 二维随机变量及其分布(3,二维随机变量函数的分布)

文章目录 七、二维随机变量函数的分布7.1 二维随机变量函数分布的基本情形 ( X , Y ) (X,Y) (X,Y) 为二维离散型随机变量 ( X , Y ) (X,Y) (X,Y) 为二维连续型随机变量 X X X 为离散型变量&#xff0c; Y Y Y 为连续型变量 7.2 常见二维随机变量的函数及其分布 Z min ⁡ { X ,…

使用“讯飞星火”快速生成高质量PPT文档

随着互联网的发展,人们获取信息的渠道越来越多,如何在有限的时间内快速完成工作任务变得尤为重要。在此背景下,各类智能写作工具应运而生。讯飞星火(https://xinghuo.xfyun.cn/desk)就是这样一款非常实用的工具。它能够通过AI技术,仅需输入标题、关键词等信息,就能快速生成完整…

从零学算法(LCR 191)

为了深入了解这些生物群体的生态特征&#xff0c;你们进行了大量的实地观察和数据采集。数组 arrayA 记录了各个生物群体数量数据&#xff0c;其中 arrayA[i] 表示第 i 个生物群体的数量。请返回一个数组 arrayB&#xff0c;该数组为基于数组 arrayA 中的数据计算得出的结果&am…

基于MAC地址划分VLAN实验

背景 随着互联网迅速发展,及电脑终端的小型化,企业移动化办公需求日益增加。 传统的基于接口划分VLAN已不能满足移动办公环境下位置变化导致终端所在子网变化,从而影响企业员工固定ip的终端位置移动后不能正常获取原IP;另一方面也影响网络安全,如部门之间子网不能互通,…

Kafka快速实战以及基本原理详解

文章目录 1、Kafka介绍1.1、MQ的作用1.2、为什么要用Kafka 2、Kafka快速上手2.1、实验环境2.2、单机服务体验2.3、理解Kakfa的消息传递机制 1、Kafka介绍 ​ ChatGPT对于Apache Kafka的介绍&#xff1a; Apache Kafka是一个分布式流处理平台&#xff0c;最初由LinkedIn开发并于…

Android studio升级Giraffe | 2022.3.1 Patch 1踩坑

这里写自定义目录标题 not "opens java.io" to unnamed module错误报错信息解决 superclass access check failed: class butterknife.compiler.ButterKnifeProcessor$RScanner报错报错信息解决 Android studio升级Giraffe | 2022.3.1 Patch 1后&#xff0c;出现项目…