high-resolution image synthesis with latent diffusion models

news2024/11/25 14:45:03

如何通俗理解扩散模型? - 知乎泻药。实验室最近人人都在做扩散,从连续到离散,从CV到NLP,基本上都被diffusion洗了一遍。但是观察发现,里面的数学基础并不是模型应用的必须。其实大部分的研究者都不需要理解扩散模型的数学本质,更需要的是对…https://zhuanlan.zhihu.com/p/563543020Stable Diffusion原理解读 - 知乎引言最近大火的AI作画吸引了很多人的目光,AI作画近期取得如此巨大进展的原因个人认为有很大的功劳归属于Stable Diffusion的开源。Stable diffusion是一个基于Latent Diffusion Models(潜在扩散模型,LDMs)的文…https://zhuanlan.zhihu.com/p/583124756

stable diffusion的出现极大的推动了文生图,图生图等领域的进展,我之前也解析过dalle2,文生图领域目前的论文还是非常多的,stable diffusion整体上最大的贡献还是极大的加速了diffusion的落地,扩散模型,是vae的延续,ae中的v其实就是通过kl散度来向ae中添加噪声,扩散则是就这个加噪的过程和马尔科夫过程关联起来,将加噪分步了。stable diffusion基于latent diffusion model,首先需要训练一个自编码器,包括一个编码器和一个解码器,利用编码器对图片进行压缩,然后在潜在表示空间上做diffusion操作,最后利用解码器恢复到原始像素空间即可。称之为感知压缩perceptual compression。在潜在表示空间上做diffusion操作其主要过程和标准的扩散模型没有太大的区别,所用到的扩散模型具体实现为time-conditional unet。论文为diffusion操作引入了条件机制,通过cross-attention的方式来实现多模态训练,使条件图片生成也可以实现。

结合上面的材料稍微解析一些diffusion。

上面这个是vae,vae的最大问题是变分后验,在vae中,我们先定义了右边蓝色的生成器,再学一个变分后验来适配这个生成器,先验分布是标准高斯分布。vae的生成器,是将标准高斯映射到数据样本,vae的后验是将数据样本映射到标准高斯(学出来的)。我现在想要设计一种方法A,使得A用一种简单的变分后验将数据样本映射到标准高斯,并且使得A的生成器,将标准高斯映射到数据样本,注意,因为生成器的搜索空间大于变分后验,vae的效率远不及A方法,因为A是学一个生成器(搜索空间大),所以可以直接模仿这个后验分布的一小步,A方法就是括但模型核心思路:定义一个类似于变分后验的从数据样本到高斯分布的映射,然后学一个生成器,这个生成器模仿我们定义的这个映射的每一小步。vae是数据样本->高斯->数据样本,扩散是数据样本->一小步一小步的扩散->高斯->去噪->数据样本。

abstract:通过将图片合成过程分解为顺序去噪自编码器(a sequential application of denosing autoencoders),diffusion models实现了广泛的应用。此外,dms允许一种引导机制来控制图像生成过程无须训练。但是在像素空间中运行对算力要求过高。

1.introduction

        高分辨率,复杂自然场景下的图像合成目前是被scaling up likelihood-based models所主导,这些模型可能在自回归transformer中有上亿参数量。对比Gans已被证明主要局限于具有相对有限可变性的数据,他们的对抗学习过程不容易扩展到建模复杂的多模态分布。dms属于基于似然的模型类别。训练一个dms通常需要数百个gpu days,150-1000 V100 days。

        任何一个基于似然的模型,学习大致可以分为两个阶段。1.是感知压缩阶段,它会去除高频细节,但仍然学习很少的语义变化,2.实际生成模型学习数据的语义和概念组成(语义压缩)。我们将训练分为两个阶段,首先训练一个自动编码器,它提供一个低维的表示空间,在感知上等同于数据空间,其次在学习的潜在空间上训练dm,将生成模型成为潜在扩散模型ldm。这种方式的优点在于我们只需要训练通用的自动编码器一次,就可以重复用于多次dm训练。

2.methods

2.1 perceptual image compression

        由此可知,基于感知压缩的扩散模型的训练本质上是一个两阶段训练的过程,第一阶段需要训练一个自编码器,第二阶段才需要训练扩散模型本身。在第一阶段训练自编码器时,为了避免潜在表示空间出现高度的异化,作者使用了两种正则化方法,一种是KL-reg,另一种是VQ-reg,因此在官方发布的一阶段预训练模型中,会看到KL和VQ两种实现。在Stable Diffusion中主要采用AutoencoderKL这种实现。

2.2 latent diffusion models

扩散模型是一个时序去噪自编码器,其目标是根据输入xt去预测一个对应去噪后的变体,xt是输入x的噪声版本。而潜在扩散模型中引入了预训练的感知压缩模型,它包括一个编码器和一个解码器,这样在训练时就可以用编码器得到zt,从而让模型在潜在表示空间中学习。与高维空间比,降维空间更适合基于似然的生成模型,因为1.可以专注于数据的重要语义,低维空间中高频的细节被抽象掉了,2.在低维空间中可以进行更有效的计算。

2.3 条件机制

后续就是作者的一系列实验了,整体来说作者基于latent的先验自编码器,训练一个dm,发现这样做的效果也非常好。

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

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

相关文章

理解linux虚拟网络设备veth

理解linux虚拟网络设备veth 上一章介绍了linux network namespace,接着来讨论一下如何让一个独立的网络命名空间的和主机的网络相互通信,这里我们需要用到linux虚拟网络设备veth。 veth设备 veth设备总是成对出现,通常就是用来连接不同网络命名空间(下面开始简称…

基于线性表的图书管理系统实验报告

目录 基于线性表的图书管理系统实验报告 1、成员分工 2、数据字典 3、抽象数据类型定义 4、图书存储结构描述 5、基本操作的算法描述 6、测试 6.1测试数据集 6.2测试程序运行结果截图 7、存在的问题与思考 基于线性表的图书管理系统实验报告 组长:xxx 组…

2022年学习机器人和人工智能的一些体会

前些日子开会,很受启发,比如有大佬指出: 总结:一般是高屋建瓴,通常是级别高的总揽全局,小虾虾不适用;感想和体会:小虾虾们学习完大佬讲话之后,自己的收获。 这才发现写博…

CRM能给企业带来什么价值

对于任何企业而言,客户都是企业生存下去的根本,管理客户也是企业一直在做的事情,有的企业尝试采用CRM来管理客户,有的企业还在观望CRM能给企业带来什么价值。 前言 对于任何企业而言,客户都是企业生存下去的根本&…

如何增加3d渲染的逼真感?提高3d渲染真实感的技巧

照片写实主义是一种艺术,它需要图形媒体来创造独特的艺术品,看起来非常有说服力。专业艺术家研究图像并使用照片写实技术从中创作艺术品。真实感可以在 2D 和 3D 渲染中实现,该过程称为真实感渲染。专业人士倾向于使用智能渲染过程&#xff0…

管理员权限功能和开机自启功能

前言 开机启动功能在Window下是很重要的一个功能,很多程序它都需要这样的功能 一.VS的配置选项(以管理员权限启动程序) 作用:用户在点击任务栏窗口等需要管理员权限时不会没有响应。 二.开机自启动(注册表&#xff…

解决Navicat打开表的速度慢的问题

前言 最近使用Navicat打开表或者设计表都很慢,需要等十几秒才能打开,一开始我以为是我电脑老了,配置比较差,慢点就慢点吧,好像慢的也比较合理,想到这里我也就没有追究先忍了。 但是这几天公司给我配置的新…

PriorityQueue详解

目录标题前言PriorityQueue特点API构造操作API底层显示:数组offer(E e)前言 PriorityQueue是优先队列,作用是保证每次取出的元素都是队列中权值最小的,这里涉及到了大小关系,元素大小的评判可以通过元素自身的自然顺序&#xff0…

手把手教你搭建环境和内核编译

环境搭建--安装Debian7.3 本系列文章假设读者已对linux有一定的了解,其实学习linux内核不需要有很深的关于linux的知识,只需要了解以下内容:linux基础知识及基本shell命令;现代操作系统的基本概念;C语言和gcc基本使用…

Python操作数据库及Python实现mysql数据库连接池源代码

简介 pymysql:纯Python实现的一个驱动。因为是纯Python编写的,因此执行效率不如MySQL-python。并且也因为是纯Python编写的,因此可以和Python代码无缝衔接。 MySQL Connector/Python:MySQL官方推出的使用纯Python连接MySQL的驱动…

react-router-dom v6.5.0实现路由守卫RouterBeforeEach及缓存

一、概述 最近留意下react-router-dom有更新到6.6.1的版本,在这个版本增加了不少的功能。研究了下,可以利用其提供的API实现一个类似Vue的路由守卫,从而简便达到路由鉴权的业务场景。这里我是使用npm的包,是react-router-dom v6.5…

leetcode 124. 二叉树中的最大路径和-java题解

题目所属分类 二叉树的最大值 dfs 原题链接 路径 被定义为一条从树中任意节点出发,沿父节点-子节点连接,达到任意节点的序列。同一个节点在一条路径序列中 至多出现一次 。该路径 至少包含一个 节点,且不一定经过根节点。 路径和 是路径中…

Web Services 基于Apache Axis2 生成客户端代码示例

webservice 一种古老的技术,现在基本上已经弃用,但也有许多古董项目在用,整理并记录下自己的使用过程,避免更多的人踩坑。 Web Services 生成客户端代码步骤1 Apache Axis2下载安装1.1 认识Apache Axis21.2 下载Apache Axis22 通过…

当地的新员工入职培训

香港 (Xinwengao.com) — 在中国生活和工作的所有外国人都面临文化冲击。在他们的入职前期,学校管理层通常会让他们接受广泛的入职培训。这些培训项目旨在为外籍教师提供文化和专业培训。在外籍教师开始他们的教学之旅之前,向他们灌输文化同理心的美德非…

天气后报网爬虫及数据分析(python)

从天气后报网(http://www.tianqihoubao.com)中爬取绵阳市某一年的历史天气信息,包括每天最高气温、最低气温、天气状况、风向等,完成以下功能: (1)将获取的数据信息存储到“data.csv”文件中&a…

微服务(三)——远程调用

目录前言1. RestTemplate1. 导入依赖2. 代码3. 常用方法2. jodd-http1. 引入依赖2. 代码3. 测试3. Feign1. 引入依赖2. 使用过程3. 自定义配置4. 优化前言 微服务都是独立部署的,要实现一个业务可能需要多个服务之间的通信,所以远程调用必不可少&#x…

html标签分类及其他知识

1、标签按照类型可以划分为三种类型: block:div、p、ul、li、h1… 1、独占一行2、支持所有样式3、不写宽的时候,跟父元素的宽相同4、所占区域是一个矩形 inline:span、a、em、strong、img… 1、挨在一起2、有些样式不支持&#x…

编译原理——求后缀表达式、三元式、四元式

一、求后缀表达式 可能就是一填空题,考试应该也不会太复杂,要会,掌握着由外到内求解思想即可; 其实就是二叉树的后序遍历,左右根;拆分的顺序就是由左到右顺序进行,小括号内的最后拆&#xff0…

4线触摸屏控制器ET2046介绍

4线触摸屏控制器ET2046简介 ET2046是4线触摸屏控制器,支持1.5V~5.5V的低压I/O 接口。ET2046具有内置2.5V电压源,可用于辅助输入、电池监测和温度检测模式的测量。在不使用时,也可将内置电压源关闭以节约电力。内置电压源最低可工作…

JS 执行机制

1、JS 是单线程 JavaScript 语言的一大特点就是单线程,也就是说,同一个时间只能做一件事。这是因为 Javascript 这门脚本语言诞生的使命所致——JavaScript 是为处理页面中用户的交互,以及操作 DOM 而诞生的。比如我们对某个 DOM 元素进行添加…