读论文-使用潜在扩散模型进行高分辨率图像合成

论文名称:High-Resolution Image Synthesis with Latent Diffusion Models

论文地址:arxiv.org/pdf/2112.10752v2

项目地址:GitHub - CompVis/stable-diffusion: A latent text-to-image diffusion model

        潜在扩散模型(LDMs)通过在预训练的自动编码器的潜在空间中应用扩散模型,实现了高分辨率图像合成。这种方法的关键是在像素空间和潜在空间之间找到一个平衡点,既能减少计算复杂性,又能保留足够的细节信息。

核心思想

  1. 分解图像形成过程:将图像形成过程分解为去噪自编码器的顺序应用,这种分解允许在不重新训练的情况下通过引导机制控制图像生成过程。

  2. 潜在空间的应用:在强大的预训练自动编码器的潜在空间中应用扩散模型,这允许在降低计算复杂性的同时,保持图像质量。

  3. 跨注意力层:通过引入跨注意力层,将扩散模型转变为能够处理一般条件输入(如文本或边界框)的强大且灵活的生成器。

说明感知和语义压缩:数字图像的大多数位对应于难以察觉的细节。虽然 DMsallow 通过最小化负责任的损失项来抑制这种语义上无意义的信息,但梯度(在训练期间)和神经网络主干(训练和推理)仍然需要在所有像素上进行评估,从而导致多余的计算和不必要的昂贵优化和推理。我们提出潜在扩散模型 (LDM) 作为一种有效的生成模型和一个单独的轻度压缩阶段,仅消除难以察觉的细节。数据和图像来自 [30]。

 

1. 模型框架

通过串联或更通用的交叉注意力机制来调节 LDM。

LDMs的核心框架包括以下几个关键步骤:

  1. 感知图像压缩: 通过训练一个自动编码器(由编码器E和解码器D组成),将高维的像素空间压缩到低维的潜在空间,同时尽量保留感知上重要的信息。这一步使用了感知损失和对抗性损失来训练自动编码器。

  2. 潜在扩散模型: 在低维的潜在空间上训练扩散模型,通过逐步去噪的方式生成图像。相比于在像素空间训练,在潜在空间训练扩散模型大大减少了计算复杂度。

  3. 条件机制: 通过引入跨注意力层,将条件信息(如文本、图像等)编码为潜在表示,并将其融入扩散模型中。这使得LDMs能够进行条件图像生成。

2. 感知图像压缩

感知图像压缩的目标是学习一个从像素空间到潜在空间的映射,同时保留图像的重要信息。具体步骤如下:

(1) 使用编码器E将输入图像x编码为潜在表示z=E(x)。

(2) 使用解码器D将潜在表示z解码为重建图像x'=D(z)。

(3) 训练自动编码器,使其重建误差最小化,同时使用感知损失和对抗性损失来保证重建图像的质量。

(4) 为了控制潜在空间的尺度,引入正则化项,包括KL散度和向量量化。

3. 潜在扩散模型

在潜在空间上训练扩散模型,具体步骤如下:

(1) 定义一个从数据分布逐渐加入噪声的过程,形成噪声数据分布。

(2) 训练一个神经网络来预测每一步的去噪结果,即预测噪声数据的去噪版本。

(3) 通过最小化重构误差来训练去噪模型,使其能够逐步还原出干净的数据分布。

(4) 在生成阶段,从噪声分布中采样并逐步去噪,最终生成目标图像。

4. 条件机制

为了让LDMs能够进行条件图像生成,引入了跨注意力层作为条件机制。具体步骤如下:

(1) 对于文本、图像等条件输入,使用特定的编码器(如BERT)将其编码为潜在表示。

(2) 将条件潜在表示通过跨注意力层融入扩散模型的UNet网络中。

(3) 在训练阶段,最小化条件图像的重构误差,使模型能够根据条件信息生成相应的图像。

(4) 在生成阶段,提供条件信息并进行扩散过程,生成与条件信息一致的图像。

实验结果

  • LDMs在图像修复、类条件图像合成以及各种任务(包括文本到图像合成、无条件图像生成和超分辨率)上取得了新的最先进成绩。
  • 与基于像素的扩散模型相比,LDMs在显著降低计算需求的同时,保持了竞争力的性能。
来自在 CelebAHQ [39]、FFHQ [41]、LSUN-Churches [102]、LSUN-Bedrooms [102] 和类条件 ImageNet [12] 上训练的 LDM 样本,每个分辨率为 256 256。放大时查看效果最佳。更多示例参见 Supplement.

用户定义的文本提示样本来自我们的文本到图像合成模型 LDM-8(KL),该模型是在 LAION[78] 数据库上训练的
当提供语义映射作为条件时,我们的 LDM 泛化为比训练期间看到的分辨率大得多的分辨率。尽管此模型是在大小为 2562 的输入上进行训练的,但它可用于创建高分辨率样本,如此处所示,分辨率为 1024 384。

社会影响和局限性

  • 社会影响:生成模型可能被用于创造和传播操纵数据或虚假信息,需要谨慎使用。
  • 局限性:尽管LDMs减少了计算需求,但其顺序采样过程仍然比GANs慢。在需要高精度的应用中,自动编码器的重建能力可能成为瓶颈。

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

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

相关文章

Mac使用技巧-来自苹果专人在线辅导服务2

好记性不如烂笔头! 其实高效的学习途径还是尽量跟着苹果工作人员在线进行学习,这样一对一,有来有往,学习有反馈,并且很高效,很多东西演示一遍就学会了,自己看还是会花更长的时间。 苹果专人在线…

AI测试|利用OpenAI的文本生成模型,自动生成测试用例的几个场景示例

将人工智能 (AI) 融入软件测试将彻底改变游戏规则,可以显著提高效率和有效性。本文利用 OpenAI 的文本生成模型(text generation model),特别是 GPT-3.5-turbo 和 GPT-4-turbo-preview,在 Google Colab 中构建文本生成…

102.SAPUI5 sap.ndc.BarcodeScannerButton调用摄像头时,localhost访问正常,使用IP访问失败

目录 原因 解决办法 1.修改谷歌浏览器的setting 2.在tomcat中配置https访问 参考 使用SAPUI5的sap.ndc.BarcodeScannerButton调用摄像头时,localhost访问正常,使用IP访问时,一直打不开摄像头,提示getUserMedia()问题。 原因…

有关JS下隐藏的敏感信息

免责声明:本文仅做分享! 目录 JavaScript 介绍 核心组成 工具 FindSomething ** 浏览器检查 ** LinkFinder URLfinder ** SuperSearchPlus ** ffuf ParasCollector waymore Packer Fuzzer JS逆向 应用: 小结: Ja…

简明linux系统编程--互斥锁--TCP--UDP初识

目录 1.互斥锁 2.信号 2.1介绍 2.2信号的内核机制 3.linux网络编程概述 3.1一览七层协议 3.2一览数据传输过程 3.3四层网络模型 3.4服务端和客户端的数据交互 4.TCP服务端编程 5.TCP客户端编程 6.UDP服务端编程 7.UDP客户端编程 1.互斥锁 互斥锁也是和信号量一样&a…

【C++】——优先级队列和容器适配器

文章目录 优先级队列容器适配器 优先级队列 优先级队列是一种特殊的队列,他的元素出队列顺序并不按照先进先出原则,而是根据元素的优先级来。优先级高的先出,优先级低的后出。(类似于堆) 优先级队列常用成员函数: empty()&#x…

6.C++程序中的基本数据类型

数据类型是指在C中用于声明不同类型变量或函数的一个系统或抽象或者是一个分类,它决定了变量存储占用的内存空间以及解析存储的位模式。其实数据类型可以理解为固定内存大小的别名,是创建变量的模具,具体使用哪种模具(包括自定义&…

ai写作软件排行榜前十名,5个软件帮助你快速使用ai写作

ai写作软件排行榜前十名,5个软件帮助你快速使用ai写作 AI写作软件已经成为许多人工作和创作中的重要工具,尤其是在快速生成内容、提高写作效率以及优化文本方面。以下是五款优秀的AI写作软件,它们能够帮助你轻松完成各种写作任务&#xff0c…

芯片级配件产品研发的小众企业生存之路

在半导体行业中,芯片级配件产品的研发一直是一个充满挑战的领域,尤其是对于小众企业而言,如何在技术壁垒高、资金需求大的市场中生存并发展,成为了业界普遍关注的问题。芯片级配件产品涉及到晶圆制造、封装、测试等多个复杂工艺环…

计算机人工智能前沿进展-大语言模型方向-2024-09-20

计算机人工智能前沿进展-大语言模型方向-2024-09-20 1. Multimodal Fusion with LLMs for Engagement Prediction in Natural Conversation Authors: Cheng Charles Ma, Kevin Hyekang Joo, Alexandria K. Vail, Sunreeta Bhattacharya, Alvaro Fern’andez Garc’ia, Kailan…

码头童话,“丈量”行业数智化转型

作者 | 曾响铃 文 | 响铃说 一箱车厘子从地球正对的另一边远渡重洋来到中国,而一旦到达,5个小时内它就能变成北京、天津、河北、河南等区域老百姓果盘里的美味。 这一幕,来自央视联合华为制作发布的《新智中国说-谈智一会间》第一期“码头…

win10下使用docker、k8s部署java应用

在上一篇文章 Windows10上Docker和Kubernetes的安装 中,已经介绍了在 Windows10上安装Docker和Kubernetes ,有了这个环境基础之后,就可以用来部署服务了 在项目目录下新建Dockfile文件,内容如下(请根据实际情况调整&am…

鸿蒙开发之ArkUI 界面篇 十五 交叉轴对其方式

鸿蒙界面有两个容器一个是Colum、一个是Row,Colum主轴是垂直方向,交叉轴是水平方向,Row的主轴是水平方向,交叉轴是垂直方向,对应方向调整子控件的话,justifyContent调整的是主轴方向的子控件距离&#xff0…

Java发送Outlook邮件:从设置到发送攻略!

Java发送Outlook邮件详细步骤!如何使用Java发邮件? Java作为一种广泛使用的编程语言,提供了强大的功能来实现自动化邮件发送。AokSend将详细介绍如何使用Java发送Outlook邮件,从基本的设置到最终的发送过程。 Java发送Outlook邮…

美元降息,对普通人有哪些影响?

美元降息,对普通人有哪些影响? 美元降息了。很多朋友都说我又不炒股,我手里又没有美金,美元跟我有啥关系啊?那我们就来聊聊美元降息,对我们国内经济到底有哪些影响?你再来看看跟你有没有关系&a…

短视频矩阵系统开发|技术源代码部署

产品功能亮点: 1. 支持多账号多平台一键 授权管理 2.支持矩阵视频批量剪辑,批量发布 3. 多平台关键词布局,提升企业及产品曝光 4. 评论区关键词自动回复,意向线索智能挖掘 5. 多账号投放数据统计,省时省力 6. 留资…

Jmeter 线程组解析

1.seUp线程组 一种特殊的 threadGroup ,可用于执行预测试操作;它的行为完全像一个正常的线程组元件,不同的是执行顺序。 它会在普通线程组执行之前被触发。 应用场景: 测试数据库操作功能时,用于执行打开数据库连接的…

jetcache-阿里多级缓存框架神器一定要掌握

文章目录 1. 简介2. springboot集成jetcache2.1 引入依赖2.2 配置文件2.3 高级API模式:通过CacheManager使用缓存,2.7 版本才可使用2.4 (推荐)AOP模式:通过Cached,CacheUpdate,CacheInvalidate注解 1. 简介 JetCache是…

Redis基本命令详解

1. 基本命令 命令不区分大小写,而key是区分大小写的 # select 数据库间的切换 数据库共计16个 127.0.0.1:6379> select 1# dbsize 返回当前数据库的 key 的数量 127.0.0.1:6379[1]> dbsize# keys * 查看数据库所有的key 127.0.0.1:6379[1]> keys *# fl…

SpringBoot+Vue+MySQL驾校预约管理系统

目录 前言 功能设计 系统实现 获取源码 博主主页:百成Java 往期系列:Spring Boot、SSM、JavaWeb、python、小程序 前言 随着社会的进步,各行各业都在充分利用信息化时代的优势。由于计算机技术的广泛应用和普及,各种信息系统…