vector quantized diffusion model for text-to-image synthesis

news/2024/7/10 22:08:15 标签: stable diffusion

CVPR 2022论文分享会 - 基于VQ-Diffusion的文本到图像合成_哔哩哔哩_bilibiliCVPR 2022论文分享会 - 基于VQ-Diffusion的文本到图像合成, 视频播放量 1438、弹幕量 2、点赞数 38、投硬币枚数 12、收藏人数 40、转发人数 13, 视频作者 微软科技, 作者简介 大家好我是田老师,田字间不定期开课,定期抽奖。记得关注哦,相关视频:2023 CVPR论文分享会|Session1:Visual Generation - 张博,微软2023 Microsoft 365 Copilot发布会全程回顾 中文字幕版,2023 CVPR论文分享会|Session1:Visual Generation - 董晶,2023 CVPR论文分享会|Poster 分享,【AAAI 2023论文分享】针对从离线到在线强化学习的自适应策略学习,ICSE 2021论文分享——用于深度学习模型的资源导向的配置空间约简,【豆瓣狂砍9.5分】SCI论文写作教科书,为非英语母语国家研究者量身定制,专门指导英语学术论文写作!-SCI/学术论文/期刊,【AAAI 2023论文分享】基于因果的组合在线学习,面对“数字化转型”的挑战,你准备好了吗?,享受AI编码 装CodeGeeX插件就行 | VSCode插件推荐 | CodeGeeX使用教程https://www.bilibili.com/video/BV13Y4y1r7CH/?spm_id_from=333.1007.top_right_bar_window_dynamic.content.click&vd_source=4aed82e35f26bb600bc5b46e65e25c22

2021年前的方法都是基于GAN的,一般把文本和noise放入一个生成网络中,然后生成一个图像之后,通过判别器判定其和文本是否match,然后同时判real和fake,这种方法有两个缺点,1只能建模单一场景,比如只能去生成人脸相关的,gan模型就只能是在人脸这个场景上训练的;2.无法对场景中存在的多个物体进行建模。右边是基于GPT的方法,如果dalle,对于一个给定的文本,从图像的最左上角开始生成,依次从左上往右下,逐块生成这个图,但对于一些复杂的多样性图片,前一个token错误,后面的生成就都有问题了,并且非常的慢。

1.把denoise diffusion引入到文生图领域;2.提出了VQ diffusion算法;3.比自回归要快15倍。

diffusion model有两个步骤,forward step,从右往左看,加噪,马尔可夫过程,当一张图像不断加噪声,最终会成为一个纯噪声图,reverse step, 去噪,使用网络对噪声图像进行消除噪声,最终的到图片。

VQ diffusion不是在纯像素空间去做,而是在一个量化的像素空间去做,pixel空间图像分辨率很高,用transformer对每一个像素进行建模的话,sequence长度会很长,不利于建模。因此对图像空间的分辨率进行压缩,用到了VQVAE,把图片变成一个分辨率较低的离散的code,如上图分辨率是256x256,压缩后变成32x32。

在第二步,引入了mask和replace的策略,加噪全部在一个离散空间中进行,有两种加噪方式,第一种是随机的把某一个code给去掉,mask掉,第二种是replace,随机的把code替换成其他code,这样在加噪中我就会得到一个随机code和mask code组成的一个向量,通过带噪声的一串code以及文本信息可以恢复出原来的图像。


http://www.niftyadmin.cn/n/4974316.html

相关文章

在Java8的forEach()中使用break/continue

今天在开发中,使用forEach()来遍历元素执行业务操作,发现如果判断不符合某个条件时就要continue,不能继续向后执行了。但是在forEach()中不能使用for循环中的continue和break,那改如何退出呢? 答案是:使用…

C语言 printf 和 scanf 详解

printf 和 scanf 详解 printf介绍基本用法占位符 定制输出格式限定宽度总是显示正负号限定小数位数输出部分字符串 scanf 介绍基本用法特点VS2022使用 scanf 函数如何不报错?scanf 的返回值占位符特点赋值忽略符 printf介绍 基本用法 printf() 的作用是将参数文本…

区间分组(贪心)

思路: (1)按左端点排序(保证分组尽量稠密) (2)逐个遍历,对于每个区间, 设左右端点分别为l,r;如果还没有分组或者l 小于所有分组中r的最小值,即…

将第三方库改为我自己想要的

将第三方库改为我自己想要的 方法:比较常用的:给出一些例子React组合方法高阶组件方法 方法: 修改第三方库以适应自己的需求可以通过多种方法实现。下面是一些常见的策略: 继承: 通过创建继承自第三方库组件或类的子类…

【云原生之Docker实战】使用Docker部署excalidraw-cn白板工具

【云原生之Docker实战】使用Docker部署excalidraw-cn白板工具 一、excalidraw-cn介绍二、本地环境介绍2.1 本地环境规划2.2 本次实践介绍三、本地环境检查3.1 检查Docker服务状态3.2 检查Docker版本3.3 检查docker compose 版本四、部署excalidraw-cn白板工具4.1 创建目录4.2 下…

MySQL学习笔记(八)—— 锁

首先要说明,有的锁是我们自己想加的时候加的,比如全局锁要靠我们自己用命令去加。而有的锁是mysql默认就给你加上了,因为mysql要保证自己最起码的安全性。 InnoDB默认加的是行级锁。 一、全局锁 1.1 用途 全局锁就是把所有的表都给锁了&am…

《C和指针》笔记13: static关键字总结

这里对static关键字做一下总结,可以回顾一下前面两篇博客的文章。 《C和指针》笔记11: external和internal链接属性 《C和指针》笔记12: 存储类型(自动变量、静态变量和寄存器变量) 当它用于函数定义时,或用于代码块之外的变量声…

dvwa xss通关

反射型XSS通关 low难度 选择难度&#xff1a; 直接用下面JS代码尝试&#xff1a; <script>alert(/xss/)</script>通关成功&#xff1a; medium难度 直接下面代码尝试后失败 <script>alert(/xss/)</script>发现这段代码直接被输出&#xff1a; 尝试…