当前位置: 首页 > news >正文

【经典论文阅读】Latent Diffusion Models(LDM)

Latent Diffusion Models

High-Resolution Image Synthesis with Latent Diffusion Models

摘要

动机:在有限的计算资源下进行扩散模型训练,同时保持质量和灵活性

引入跨注意力层,以卷积方式实现对一般条件输入(如文本或边界框)的响应以及高分辨率合成

1:引言

贡献

1:与纯粹基于 Transformer 的方法相比,在高维数据上的扩展更优雅

1.1 ==> 在压缩级别上工作,提供比之前工作更真实、更细致的重建

1.2 ==> 高效地应用于高分辨率的百万像素图像合成

2:与基于像素的扩散方法相比,在多种任务上(无条件图像生成、修复、随机超分辨率)取得了具有竞争力的性能,显著降低了计算成本和推理成本

3:与之前需要同时学习编码器/解码器架构和基于分数的先验的工作相比,无需对重建能力和生成能力进行复杂的权衡,确保了极高的重建忠实度,对潜在空间的正则化需求极低

4:对于密集条件约束任务(超分辨率、修复、语义合成),可以以卷积方式应用,并生成一致的超大图像

5:设计了基于跨注意力的通用条件机制,支持多模态训练

6:发布了预训练的潜在扩散模型和自编码模型

2:相关工作

1:generative models for image synthesis

2:diffusion probabilistic models(DM)

3:two-stage image synthesis

ARM:自回归模型

3:方法

autoencoding model(自编码模型) ==> learn a space that is perceptually equivalent to the image space

自编码模型的优点:

  • 低维空间采样

  • 利用从UNet继承的inductive bias,使得在处理具有空间结构的数据时**有效,无需激进的压缩

  • 通用压缩模型,其潜在空间可以用于训练多种生成模型

3.1:Perceptual Image Compression

autoencoder(自编码器)==> 通过 感知损失 + patch-based对抗目标 训练

  • 给定RGB空间的图像 x,编码器 e 把 x 编码到潜在表示 z,z = e(x)

  • 解码器 D 从潜在表示中重建图像 x^~,x^~ = D(z) = D(e(x))

    x的维度:

    z的维度:

  • 编码器下采样因子 f = H/h = W/w,讨论不同的下采样因子(2的指数倍)

避免潜在空间具有任意的高方差,采用了2种不同的正则化:

  • KL正则化:对学习到的潜在表示施加轻微的 KL 惩罚,使其趋向于标准正态分布(类似VAE)

  • VQ正则化:在解码器中使用向量量化层

3.2:Latent Diffusion Models

Diffusion Models

扩散模型:通过逐步对正态分布变量去噪,学习数据分布 p(x),对应学习固定长度为 T 的马尔可夫链的反向过程

图像合成模型,依赖于变分下界的重新加权变体

目标函数:

Generative Modeling of Latent Representations

通过训练的感知压缩模型(由 e 和 D 组成),可以访问一个高效的、低维的潜在空间

与高维像素空间相比,这个潜在空间更适合基于似然的生成模型,因为:

  • 专注于数据中重要的语义信息

  • 在一个更低维、计算上更高效的空间中进行训练

利用模型提供的与图像相关的归纳偏置:包括构建主要基于 2D 卷积层的 U-Net 的能力,并进一步将目标集中在感知上最相关的信息位上,使用重新加权的目标函数

目标函数修改为:

神经网络的主干:time-conditional UNet

zt 可以在训练期间通过 e 高效地获取

从 p(z) 的采样,可以通过 D 的一次前向传递,解码到图像空间

3.3:Conditioning Mechanisms

底层 U-Net 主干中加入跨注意力机制

为处理来自各种模态的 y,引入了一个特定领域的编码器 Tθ, 把 y 映射到一个中间表示 Tθ(y),维度为

跨注意力层的实现:

对于参数的解释:

framework

通过拼接(concatenation)或更通用的跨注意力机制(cross-attention mechanism)对潜在扩散模型 (LDMs) 进行条件化

基于图像条件对,目标函数修改为:

4:实验

4.1:感知压缩的权衡分析

实验内容:比较不同下采样因子 f(如 1, 2, 4, 8, 16, 32)对 LDM 模型性能的影响。下采样因子越大,压缩越强。

结果与分析

  • 小的下采样因子(如 f=1,2)导致训练进展缓慢,因为未能充分利用低维潜在空间的优势。

  • 过大的下采样因子(如 f=32)会导致信息损失,限制最终生成质量。

  • 最优权衡出现在 f=4 到 f=8 之间,既保证了高效的训练和推理,又提供了感知上忠实的生成结果。

结论中等强度的压缩(如 f=4 和 f=8)在效率和质量之间提供了最佳平衡。

4.2:无条件图像生成

实验内容:在多个数据集(CelebA-HQ, FFHQ, LSUN-Churches, LSUN-Bedrooms)上评估 LDM 的无条件生成能力,并通过 FID、Precision 和 Recall 指标与其他方法(如 GAN, DDPM)进行比较。

结果与分析

  • LDM 在大多数数据集上的 FID 指标优于现有扩散模型(例如 ADM)和 GAN 方法,尤其在 CelebA-HQ 数据集上达到 SOTA 性能。

  • 与现有基于像素空间的扩散方法相比,LDM 显著降低了推理和训练的计算成本。

结论:LDM 在无条件图像生成任务中表现出色,能够在更低的计算资源下实现更好的质量。

4.3:条件图像生成

实验内容

  • 通过引入交叉注意力机制(cross-attention),LDM 被扩展到条件生成任务(例如文本到图像生成)。

  • 使用 MS-COCO 数据集评估文本生成性能,并在语义地图条件下进行语义合成。

结果与分析

  • 在文本到图像生成上,LDM 超越了 DALL-E 和 CogView 等方法,FID 指标显著降低。

  • 在语义合成任务中,LDM 能够在低分辨率训练的基础上生成更高分辨率的图像(如 512×1024)。

结论:LDM 的交叉注意力机制极大地增强了条件生成的灵活性,尤其适用于文本到图像等复杂条件。

4.4:超分辨率任务

实验内容:在 ImageNet 数据集上进行 64×64→256×256 超分辨率任务,与 SR3 模型进行比较。

结果与分析

  • LDM 在 FID 指标上优于 SR3,但 IS 指标稍逊。

  • 用户研究表明,在感知一致性上,LDM 生成的高分辨率图像更受欢迎。

结论:LDM 能有效进行超分辨率生成,且具有更高的生成质量。

4.5:图像修复

实验内容:在 Places 数据集上进行图像修复,与 LaMa 等方法比较,评估填补遮挡区域的效果。

结果与分析

  • LDM 修复质量(FID)优于大多数现有方法,并通过用户研究证明更受人类偏好。

  • 高分辨率的修复任务(如 512×512)得益于潜在空间的特性。

结论:LDM 提供了一种通用的条件生成方法,在高质量修复任务中表现突出。

总结

性能提升:LDM 在多个任务上展现出较传统扩散模型显著的性能提升,尤其是在计算效率和感知质量之间实现了良好平衡。

通用性与灵活性:LDM 的架构设计(如交叉注意力机制)使其适应多种条件生成任务,例如文本、语义地图到图像生成。

计算优势:相较于像素空间的扩散模型,LDM 大幅减少了训练时间和推理计算需求,降低了硬件门槛。

相关文章:

【经典论文阅读】Latent Diffusion Models(LDM)

Latent Diffusion Models High-Resolution Image Synthesis with Latent Diffusion Models 摘要 动机:在有限的计算资源下进行扩散模型训练,同时保持质量和灵活性 引入跨注意力层,以卷积方式实现对一般条件输入(如文本或边界框…...

智能指针中的weak_ptr(弱引用智能指针)

弱引用智能指针 std::weak_ptr 可以看做是shared_ptr的助手,它不管理 shared_ptr 内部的指针。std::weak_ptr 没有重载操作符*和->,因为它不共享指针, 不能操作资源,所以它的构造不会增加引用计数,析构也不会减少引用计数,它的…...

【电子通识】机电继电器和固态继电器的区别

机电继电器 机电继电器于19世纪中叶发明。这些器件将线圈与可移动的金属触点结合使用来充当电动开关。这些器件会因为金属触点出现磨损而发生故障,例如焊死在一起。因此,在完全失效之前器件能够进行的开关周期数有限,从而限制了其总体可靠性。 一般情况下继电器控制…...

工业异常检测-CVPR2024-新的3D异常数据合成办法和自监督网络IMRNet

论文:https://arxiv.org/pdf/2311.14897v3.pdf 项目:https://github.com/chopper-233/anomaly-shapenet 这篇论文主要关注的是3D异常检测和定位,这是一个在工业质量检查中至关重要的任务。作者们提出了一种新的方法来合成3D异常数据&#x…...

如何创建对话窗口

文章目录 1. 概念介绍2. 使用方法3. 示例代码我们在上一章回中介绍了Dismissible Widget相关的内容,本章回中将介绍AlertDialog Widget.闲话休提,让我们一起Talk Flutter吧。 1. 概念介绍 我们介绍的AlertDialog是指程序中弹出的确认窗口,其实我们在上一章回中删除ListView中…...

新手上路,学Go还是Python

对于新手来说,Go和Python都是很好的编程语言,它们各有特点,以下是详细的对比来帮助你决定先学哪一个: 一、语法和学习难度 Python 语法简洁易懂:Python以其简洁、优雅的语法而闻名,代码的可读性很高。例如…...

<!DOCTYPE html>的作用是什么

一、背景 从今天开始会不定时的发布一些前端的常见面试题,供大家参考。今天要发布的内容是关于html的面试题的作用是什么。接下来就一起讨论以下吧 二、概念 DOCTYPE 是html5中一种标准通用标记语言的文档类型的声明,它的目的就是为了告诉浏览器应该以…...

EasyExcel改名为FastExce做了那些改变呢

回到:github原作者地址:https://github.com/CodePhiliaX/fastexcel 中文 |English | 什么是 FastExcel FastExcel 是由原 EasyExcel 作者创建的新项目。2023 年我已从阿里离职,近期阿里宣布停止更新 EasyExcel,作者他本人决定继…...

狗狗的生育周期:关注与呵护

狗狗的繁殖是一个复杂且需要谨慎对待的过程,了解其生产周期对于宠物主人以及从事相关行业的人员至关重要。 一般而言,狗狗的怀孕周期约为两个月左右,但这并非绝对固定。从受孕到分娩,通常在 58 至 65 天之间波动。小型犬可能相对…...

ABAP DIALOG屏幕编程2

在上一篇博客ABAP DIALOG屏幕编程1中阐述了DIALOG、PBO、PAI的概念并且对常用页面元素怎么用进行了演示。在这一篇博文中会讲述怎么添加下拉框、搜索帮助,怎么创建表控件、屏幕跳转等。会用到上一篇里面的内容。 有关程序包含文件结构如下。 一、响应用户指令 如上…...

获取缓存大小与清除 Web 缓存 - 鸿蒙 HarmonyOS Next

针对浏览器 Web 组件清除缓存相关,具体实现如下 code 实例所示: /*公共方法类*/ export class PublicUtils {/*获取缓存大小*/static async getCacheSize(): Promise<number> {try {let bundleStats await storageStatistics.getCurrentBundleStats()let size bundleS…...

在Unreal Engine中,UHT与反射机制

UHT&#xff08;Unreal Header Tool&#xff09; 是虚幻引擎&#xff08;Unreal Engine&#xff09;中的一个重要工具&#xff0c;它用于处理和生成引擎所需的元数据&#xff0c;使得虚幻引擎能够执行许多复杂的功能&#xff0c;如反射、序列化、蓝图交互、垃圾回收等。简而言之…...

SQL项目实战与综合应用——项目设计与需求分析

项目设计与需求分析是软件开发过程中的核心环节&#xff0c;尤其在涉及数据库的应用时&#xff0c;良好的设计将直接影响到项目的可扩展性、性能和维护性。本文将深入探讨数据库设计的最佳实践&#xff0c;结合 C 与 SQL 的实际应用场景&#xff0c;涵盖项目需求收集、数据库设…...

分布式中的CAP定理和BASE理论与强弱一致性

分布式中的CAP定理和BASE理论与强弱一致性 CAP定理 CAP定理&#xff0c;也称为布鲁尔定理&#xff08;Brewer’s Theorem&#xff09;&#xff0c;是由加州大学伯克利分校的Eric Brewer教授在2000年提出的&#xff0c;并由麻省理工学院的Seth Gilbert和Nancy Lynch于2002年正…...

C/C++常见符号与运算符

C/C常见符号与运算符对照表 符号用法与意义与Java类比:在条件运算符中 (cond ? x : y) 表示条件为假的分支&#xff1b;在 switch-case 中如 case 1:表示标签结束点&#xff1b;在自定义标签如 label: 中用于 goto 跳转Java中? :三元运算相同&#xff1b;switch-case中也有:…...

了解 k8s 网络基础知识

了解 Docker 网络模式 在使用 Docker run 创建 Docker 容器时&#xff0c;可以使用 --net 选项指定容器的网络模式&#xff0c;Docker 可以有4种网络模式。 host 模式。–nethost 指定和宿主机共用一个 NetWork Namespace&#xff0c;容器中的网络环境&#xff08;ip 地址、路…...

用户信息界面按钮禁用+发送消息功能

用户信息界面按钮禁用发送消息功能 前言 那么在上一集我们就完成了个人信息窗口所有的内容的修改&#xff0c;那么我们就需要进一步来看我们别的用户的信息界面的窗口。 需求分析 在之前的我们也讲了用户信息界面窗口一共有下图几种组件。 用户头像、用户id、用户昵称、用户…...

接近开关传感器-PCB线图电感式传感器【衰减系数1】

设计和工作原理 衰减系数为1的传感器是在电感式接近开关的基础上装备了特殊的振荡器。传感器内部有两个耦合空心线圈&#xff0c;能够保证根据不同的金属特性作合适的检测调整。无需考虑目标物是不同的金属&#xff0c;因为传感器能在同一感应距离下检测所有金属。 衰减系数为…...

C/C++流星雨

系列文章 序号直达链接1C/C爱心代码2C/C跳动的爱心3C/C李峋同款跳动的爱心代码4C/C满屏飘字表白代码5C/C大雪纷飞代码6C/C烟花代码7C/C黑客帝国同款字母雨8C/C樱花树代码9C/C奥特曼代码10C/C精美圣诞树11C/C俄罗斯方块12C/C贪吃蛇13C/C孤单又灿烂的神-鬼怪14C/C闪烁的爱心15C/C…...

计算机网络:传输层、应用层、网络安全、视频/音频/无线网络、下一代因特网

目录 &#xff08;五&#xff09;传输层 1&#xff0e;传输层寻址与端口 2&#xff0e;无连接服务与面向连接服务 3. 传输连接的建立与释放 4. UDP 的优点 5. UDP 和 TCP 报文段报头格式 6. TCP 的流量控制 7&#xff0e;TCP 的拥塞控制 8. TCP 传送连接的管理 &#…...

Vue记事本应用实现教程

文章目录 1. 项目介绍2. 开发环境准备3. 设计应用界面4. 创建Vue实例和数据模型5. 实现记事本功能5.1 添加新记事项5.2 删除记事项5.3 清空所有记事 6. 添加样式7. 功能扩展&#xff1a;显示创建时间8. 功能扩展&#xff1a;记事项搜索9. 完整代码10. Vue知识点解析10.1 数据绑…...

内存分配函数malloc kmalloc vmalloc

内存分配函数malloc kmalloc vmalloc malloc实现步骤: 1)请求大小调整:首先,malloc 需要调整用户请求的大小,以适应内部数据结构(例如,可能需要存储额外的元数据)。通常,这包括对齐调整,确保分配的内存地址满足特定硬件要求(如对齐到8字节或16字节边界)。 2)空闲…...

CTF show Web 红包题第六弹

提示 1.不是SQL注入 2.需要找关键源码 思路 进入页面发现是一个登录框&#xff0c;很难让人不联想到SQL注入&#xff0c;但提示都说了不是SQL注入&#xff0c;所以就不往这方面想了 ​ 先查看一下网页源码&#xff0c;发现一段JavaScript代码&#xff0c;有一个关键类ctfs…...

《Qt C++ 与 OpenCV:解锁视频播放程序设计的奥秘》

引言:探索视频播放程序设计之旅 在当今数字化时代,多媒体应用已渗透到我们生活的方方面面,从日常的视频娱乐到专业的视频监控、视频会议系统,视频播放程序作为多媒体应用的核心组成部分,扮演着至关重要的角色。无论是在个人电脑、移动设备还是智能电视等平台上,用户都期望…...

STM32+rt-thread判断是否联网

一、根据NETDEV_FLAG_INTERNET_UP位判断 static bool is_conncected(void) {struct netdev *dev RT_NULL;dev netdev_get_first_by_flags(NETDEV_FLAG_INTERNET_UP);if (dev RT_NULL){printf("wait netdev internet up...");return false;}else{printf("loc…...

java调用dll出现unsatisfiedLinkError以及JNA和JNI的区别

UnsatisfiedLinkError 在对接硬件设备中&#xff0c;我们会遇到使用 java 调用 dll文件 的情况&#xff0c;此时大概率出现UnsatisfiedLinkError链接错误&#xff0c;原因可能有如下几种 类名错误包名错误方法名参数错误使用 JNI 协议调用&#xff0c;结果 dll 未实现 JNI 协…...

鸿蒙中用HarmonyOS SDK应用服务 HarmonyOS5开发一个医院查看报告小程序

一、开发环境准备 ​​工具安装​​&#xff1a; 下载安装DevEco Studio 4.0&#xff08;支持HarmonyOS 5&#xff09;配置HarmonyOS SDK 5.0确保Node.js版本≥14 ​​项目初始化​​&#xff1a; ohpm init harmony/hospital-report-app 二、核心功能模块实现 1. 报告列表…...

pikachu靶场通关笔记22-1 SQL注入05-1-insert注入(报错法)

目录 一、SQL注入 二、insert注入 三、报错型注入 四、updatexml函数 五、源码审计 六、insert渗透实战 1、渗透准备 2、获取数据库名database 3、获取表名table 4、获取列名column 5、获取字段 本系列为通过《pikachu靶场通关笔记》的SQL注入关卡(共10关&#xff0…...

管理学院权限管理系统开发总结

文章目录 &#x1f393; 管理学院权限管理系统开发总结 - 现代化Web应用实践之路&#x1f4dd; 项目概述&#x1f3d7;️ 技术架构设计后端技术栈前端技术栈 &#x1f4a1; 核心功能特性1. 用户管理模块2. 权限管理系统3. 统计报表功能4. 用户体验优化 &#x1f5c4;️ 数据库设…...

深度学习水论文:mamba+图像增强

&#x1f9c0;当前视觉领域对高效长序列建模需求激增&#xff0c;对Mamba图像增强这方向的研究自然也逐渐火热。原因在于其高效长程建模&#xff0c;以及动态计算优势&#xff0c;在图像质量提升和细节恢复方面有难以替代的作用。 &#x1f9c0;因此短时间内&#xff0c;就有不…...