大模型 Dalle2 学习三部曲(二)Latent Diffusion Models学习

news2024/11/25 6:56:51

引言

Diffusion model大获成功,但是它的短板也很明显,需要大量的计算资源,并且推理速度比较慢。如何才能提升Diffusion model的计算效率。业界有各种各样的改进,无疑Latent Diffusion Models(潜在扩散模型,LDMs)是比较成功的一篇,那就来学习一下LDMS是怎么做的吧


论文贡献

1,与基于变换的方法相比,论文的方法在处理更高维度数据,可以高效地应用于高分辨率图像的合成,具体措施如下

  1. )使用潜在空间进行训练:作者在空间而不是像素空间上训练扩散模型。这使得模型可以在更高分辨率的图像上实现高效的图像合成,同时降低计算复杂性。
  2. )训练自动编码器:首先,作者训练了一个自动编码器,它提供了一个低维(因此高效)的表示空间,该空间在感知上等价于数据空间。这种表示空间使得模型可以更好地处理高维数据,同时保留了图像的细节。
  3. )在潜在空间中训练扩散模型:在自动编码器的潜在空间上训练扩散模型,使得模型可以在更高分辨率的图像上实现高效的图像合成和条件生成。这种方法在降低计算复杂性的同时,保留了扩散模型的高质量和灵活性。

2论文在多个任务(无条件图像合成、修复、随机超分辨率)和数据集上实现了竞争性的性能,同时显著降低了计算成本。与基于像素的扩散方法相比,论文还显著降低了推断成本。

3,论文发现,与先前同时学习编码器/解码器架构的方法相比,论文的方法不需要精细权衡重建和生成能力。这确保了极其准确的重建,并且对潜在空间的正则化要求非常低。

4,此外,论文设计了一种基于交叉注意力的通用条件机制,实现了多模态训练。

  1. )引入交叉注意力层:作者在模型架构中引入了交叉注意力层,使得潜在扩散模型(LDMs)能够处理各种条件输入,例如文本或边界框。
  2. )条件潜在扩散模型:作者将交叉注意力层与 UNet 结合,以实现条件图像生成。这使得模型可以在各种条件图像合成任务中实现高效的图像生成。
  3. )文本到图像合成:作者在 LAION-400M 数据集上训练了一个基于文本提示的条件 LDM。他们使用 BERT-tokenizer 对文本进行编码,并实现 τθ 作为 Transformer,以从文本中推断出潜在编码,然后通过(多头)交叉注意力将其映射到 UNet。
  4. )多模态训练:作者在多个数据集上训练了模型,以实现类别条件、文本到图像和布局到图像的生成。这种方法可以在不同的任务上获得高度竞争性的性能,而无需针对特定任务的架构。

5,最后,论文在https://github.com/CompVis/latent-diffusion上发布了预训练的潜在扩散和自编码模型。

具体方法

1,结构整体理解

Latent Diffusion Models整体框架如图,分为左中右三个部分,左边是一个训练好自编码模型(AutoEncoder,包括一个编码器 E 和一个解码器 D ),中间是个Diffusion Models,右边是个condition模块

首先为什么要加入左边红色这个模块,我们可以这么想,Diffusion Models的问题在于耗时和耗费资源,那么最耗资源的部分是哪里,肯定是从清晰图像到相对模糊的这部分,因为这时候要从图像的每个像素点开始计算,占用了大量的资源和时间,

解决的方法也很直观,我们先把像素点压缩合并一下,大图像变小图像,然后从小图像开始做diffusion,因为压缩和解压缩的这个过程远比diffusion过程来的快和节省资源,所以整个过程也就一下子压缩节省了大量资源和时间。

同理我们把像素点压缩的方法替换成编码器和解码器,小图片理解成隐空间,对这就是Latent Diffusion Models的做法了,是不是很自然的一个思路了。

好那让我们再具体看看Latent Diffusion Models是怎么做的。对应图左中右三部分,分别为图片感知压缩(Perceptual Image Compression),潜在扩散模型(Latent Diffusion Models),条件机制(Conditioning Mechanisms)

2,图片感知压缩(Perceptual Image Compression)对应图最左边AutoEncoder部分

感知压缩的扩散模型的训练本质上是一个两阶段训练的过程的第一阶段,第一阶段训练一个自编码器

在第一阶段训练自编码器时,为了避免潜在表示空间出现高度的异化,作者使用了两种正则化方法,一种是KL-reg,另一种是VQ-reg。

具体地说,给定一个在RGB空间中的图像x∈R H×W×3,编码器E将x编码为一个潜在表示z = E(x) 编码图像,解码器 D 从潜在空间重构图像,得到 x˜ = D(z) = D(E(x)),其中 z ∈ R^(h×w×c)

3,潜在扩散模型(Latent Diffusion Models)对应图1中间部分

潜在扩散模型对应的是两阶段训练的过程的阶段针对第一阶段得到的隐空间进行diffusion操作

回忆一下Diffusion Models的公式

LDM = Ex,ε∼N(0,1),th [ (ε - εθ(xt, t))^2 / 2 ]

我们把编码器 E 和一个解码器 D代入公式得到

LDM = E[x, ε ∼ N(0,1), t]((ε - ε_θ(z_t, t))^2 / 2)

好我们就得到了LDM的训练公式了

4,条件机制(Conditioning Mechanisms)对应图1右边部分

其实到上一步Latent Diffusion Models主体工作已经可以完成,不过作者觉得可以无条件扩散生成,也可以有条件引导模型进行更好的扩散。如图1右边部分。通过使用交叉注意力机制将DM的底层UNet骨干增强为更灵活的条件图像生成器。

具体来说,引入一个特定领域的编码器τθ,该编码器将y投影到中间表示τθ(y)∈RM×dτ,然后通过交叉注意力层将其映射到UNet的中间层,该层算法实现如下

Attention(Q, K, V) = softmax  QKT √ d  · V,

其中

Q = W (i) Q · ϕi(zt),

K = W (i) K · τθ(y),

V = W (i) V · τθ(y)

好,到这里LDM的算法部分就结束了,是不是还挺直观的。

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

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

相关文章

基于Java+SpringBoot+Vue前后端分离善筹网(众筹)设计和实现

博主介绍:✌全网粉丝30W,csdn特邀作者、博客专家、CSDN新星计划导师、Java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ 🍅文末获取源码联系🍅 👇🏻 精彩专…

Bootstrap的行、列布局设计(网络系统设计)

目录 00-基础知识01-等宽列布局02-指定某一列的宽度03-根据内容自动改变列的宽度04-五种预定义列宽度 .col、.col-sm-*、.col-md-*、.col-lg-*、.col-xl-*05-不同视口宽度按不同的分列方案划分06-删除列内容的盒模型的外边距07-超过12列怎么办?08-重新排列各列的顺序…

【数据结构初阶】一. 复杂度讲解

相关代码gitee自取: C语言学习日记: 加油努力 (gitee.com) 接上期: 学C的第三十四天【程序环境和预处理】_高高的胖子的博客-CSDN博客 1 . 算法效率 (1). 什么是数据结构: 数据结构(Data Structure)是计算机存储、…

MyBatis Plus 学习笔记

MyBatis Plus 国产的开源框架,基于 MyBatis 核心功能就是简化 MyBatis 的开发,提高效率。 MyBatis Plus 快速上手 Spring Boot(2.3.0) MyBatis Plus(国产的开源框架,并没有接入到 Spring 官方孵化器中) 1、创建 …

Grad-CAM 小陈读paper系列(摘要加引言)

Abstract 我们提出了一种基于卷积神经网络 (CNN) 的模型的决策生成“视觉解释”的技术,使它们更加透明。我们的方法——梯度加权类激活映射(Grad-CAM), 使用任何目标概念的梯度(例如“狗”甚至标题的 logits&#xf…

新品登场!雅特力发布AT32F402与AT32F405高速USB2.0 OTG MCU

因应高速USB市场需求,产品技术不断推陈出新,USB2.0发展带来的高速连接能力,优化消费者的产品使用体验,且由于支持即插即用和热插拔,提高设备易用性,USB接口在各项设备中成为主流通用接口。在USB2.0标准中&a…

网站做SEO为什么见效慢?都有哪些原因导致?

SEO是一种具有一定运营周期的网络营销模式,与其他网络营销方式不同,它在短时间内可能不会产生营销效果,因为网站SEO优化是一项依赖于积累和坚持的工作。一般来说,搜索引擎优化的结果在一年左右会更加稳定。之所以在一些情况下见效…

【⑰MySQL】 变量 | 循环 | 游标 | 处理程序

前言 ✨欢迎来到小K的MySQL专栏,本节将为大家带来MySQL变量 | 循环 | 游标 | 处理程序的分享✨ 目录 前言1. 变量1.1系统变量1.2 用户变量 2. 定义条件与处理程序2.1 案例分析2.2 定义条件2.3 定义处理程序2.4 案例解决 3. 流程控制3.1 分支结构3.2 循环结构3.3 跳转…

leaflet · 初体验

首先关于地图的组件有很多,leaflet就是其一,Leaflet 是一个开源的 JavaScript 库,用于在网页上创建交互式地图。它提供了一系列易于使用的函数和方法,使开发者可以轻松地添加地图、标记、图层和交互功能。 通过命令下载插件l…

Astro建站教程:安装nodejs,npm下载Astro,安装扩展

下载Nodejs LTS版:https://nodejs.org/en 安装步骤全默认即可,安装路径可以根据自己的爱好更改在桌面右键打开cmd或powershell,输入node -v和npm -v测试是否安装成功 浏览器打开https://docs.astro.build/en/install/auto/ 复制里面的npm cre…

Sigrity Power DC 19 导入translator转换后文件显示unsupported file

Sigrity Power DC 19 导入translator转换后文件显示unsupported file的解决办法 先create New Workspace,然后load Layout 选择Load an existing Layout 选择spd文件 List item

Transform和小写transform的关系

1.为什么Transform类是保护的不能通过new 来实例化对象,也没有静态函数,而Rotate()这种方法却属于它,该如何访问? Transform 类还是被保护的不允许用户修改! protected Transform(); 是一个受保护的构造函数,不能直接实例化 Transform 类。 2.为甚么transform可以访问Tr…

华为数通方向HCIP-DataCom H12-821题库(单选题:281-300)

第281题 OSPF 协议对邻居路由器之间交换的所有数据包都具有认证能力,在VRP系统中,OSPF支持以下哪一种算法? A、DES B、MD5 C、AES D、RSA 答案:B 解析: 在VRP系统中,OSPF协议支持的认证算法是MD5。 第282题 以下关于堆叠拓扑连接方式的描述,错误的是哪一项? A、根…

Meta AI 多语言阅读理解数据集 Belebele

Meta AI 宣布推出一款涵盖 122 种语言变体的多语言阅读理解数据集,名为 Belebele。“我们希望这项工作能够引发围绕 LLM 多语言性的新讨论”。 BELEBELE 是首个跨语言并行数据集,可以直接比较所有语言的模型性能。该数据集涵盖了 29 种脚本和 27 个语系中…

2.4 PE结构:节表详细解析

节表(Section Table)是Windows PE/COFF格式的可执行文件中一个非常重要的数据结构,它记录了各个代码段、数据段、资源段、重定向表等在文件中的位置和大小信息,是操作系统加载文件时根据节表来进行各个段的映射和初始化的重要依据…

百度自研高性能ANN检索引擎,开源了

作者 | Puck项目组 导读 Puck是百度自研的开源ANN检索引擎。Puck开源项目包含两种百度自研的检索算法,以高召回、高准确、高吞吐为目标,适用于多种数据规模和场景。随着业务发展不断的优化和迭代,进行充分的技术开发和测试,确保了…

深入剖析计算机网络和操作系统:面试必备知识解析

深入剖析计算机网络和操作系统的核心概念和面试题,帮助大家全面理解和掌握这两个重要领域的关键知识,为面试做好准备。 计算机网络 什么是TCP拥塞控制?它的目的是什么? TCP拥塞控制是一种机制,用于在网络中控制数据流…

简述电子企业MES管理系统解决方案的实施策略

引言:在电子制造企业中,随着产品种类的增多和订单数量的增长,传统的手工管理方式已经无法满足企业的生产需求。为了提高生产效率,降低成本,提高订单的履行速度和准确性,电子企业需要实施MES管理系统。本文将…

【C++】STL-函数对象 + 谓词

1.函数对象使用 #include <iostream> using namespace std;//STL-函数对象&#xff08;仿函数&#xff09;class MyAdd { public:int operator()(int v1, int v2){return v1 v2;} }; //1、函数对象在使用时&#xff0c;可以像普通函数那用调用&#xff0c;可以有参数&am…

NineData 中标移动云数据库传输项目

导读近日&#xff0c;玖章算术 NineData 智能数据管理平台成功中标《2023 年移动云数据库传输服务软件项目》&#xff0c;中标金额为 406 万。这标志着玖章算术 NineData 平台已成功落地顶级运营商行业&#xff0c;并在数据管理方面实现了大规模应用实践。 NineData 中标 2023 …