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

Stable Diffusion详解

文章目录

  • 前言
  • 一、LDM原理
  • 二、模型结构
  • 三、模型训练与推理
  • 总结


前言

 Stable Diffusion在图像生成方面取得了很大的成功,其核心原理是LDM(Latent Diffusion Models),在论文《High-Resolution Image Synthesis with Latent Diffusion Models》中被提出,使用潜在扩散模型进行高分辨率图像生成,发表在CVPR2022上。LDM作者和VQGAN的作者相同。接下来对LDM这篇论文进行详细介绍。

一、LDM原理

 Diffusion Model(DM)的训练和推理速度太慢,需要占用大量的计算资源。因此LDM想解决的就是在不降低DM的图像生成能力的基础上降低计算量。
在这里插入图片描述
 论文中总结到,对于基于最大似然的模型,训练可以分为两部分,先是进行感知压缩(perceptual compression),然后进行语义压缩(semantic compression)。(图像感知指的是图像的细节,图像语义指的是图像的主体是什么)。对于DM来说,在进行图像生成的时候,在前面的步骤中先是进行图像的语义生成,也就是确定图像的内容大概是什么东西,接下来的很多步骤都是进行图像的感知生成,也就是负责图像的细节生成。由于DM是在像素层面进行生成,所以计算量很大,并且DM的很多计算量都集中在图像的感知(细节)生成方面。
 基于此LDM的目标就是想让DM只负责图像语义方面,而图像的感知(细节)方面交给其他的模型去负责。也就是让DM在潜在空间上去训练和推理。

二、模型结构

在这里插入图片描述
 LDM的模型结构如上图所示。其主体是由自编码器部分(粉色)、DM部分(绿色)以及条件机制(灰色)三部分组成。在进行图像生成时,首先使用DM进行扩散获得具有语义信息的特征图,然后使用自编码器的解码器进行图像的感知生成获得最终的图片。
 这样做有三个好处:1.DM在低维潜在空间进行扩散,计算量减少。2.利用了DM中的UNet模型的归纳偏置,这使得模型可以获得图像的空间结构,不用像之前VQVAE,VQGAN对于输入图像的极致压缩而失去了图像原有的空间结构。3.获得了一个通用的压缩模型,其潜在空间可以用于训练多个生成模型。接下里对LDM的三个部分分别进行介绍。
图像感知压缩
 图像感知压缩模型(粉色部分)是基于之前的VQGAN工作,由自编码器组成,在训练时结合了感知损失和对抗损失,避免了只使用L1或L2损失引入的模糊现象。
 对于输入的图像,编码器将其进行编码变换到潜在空间,然后解码器在潜在空间重构图像。为了避免高方差分布的潜在空间,LDM引入了两种正则化。一种是KL正则化,一种是VQ正则化。(在VQGAN中通过将潜在空间进行离散化避免高方差,而LDM的潜在空间是连续的。)
 VQGAN在潜在空间进行自回归建模生成采样的时候,是使用的Transformer模型,相当于采样的是一维的序列,没有图片的空间结构。而LDM在潜在空间进行采样时,是由DM生成的具有归纳偏置的二维分布,具有空间特征结构。因此,LDM生成的图像更好的保留了细节部分。
 同时,VQGAN由于使用的是Transformer进行建模采样,受Transformer自身特性影响,其序列长度是一维的且不会很长,这就导致最后将一维序列Reshape成二维特征图的时候特征图尺寸不会很大,所以其采样是高度压缩的,自然生成的图像失去了很多细节。而LDM使用DM生成的本身就是具有归纳偏置的二维特征采样,所以具有生成效果好。
DM
 DM模型就是使用经典的DDPM模型,只不过扩散和采样从图像的像素空间转移到了潜在空间。对于DDPM的详细介绍可以看一下这篇博文:
DDPM详解
 通过在潜在空间训练DM,可以使DM集中于图片中重要的语义信息减少计算量。

条件机制
 在进行条件生成时是在DM的UNet中使用cross-attention机制实现。为了对不同的模态进行处理,使用不同利用的专业编码器 τ θ \tau_\theta τθ(上图灰色部分)对条件进行编码获得 τ θ ( y ) \tau_\theta(y) τθ(y),然后将其输入到UNet中的cross-attention作交叉注意力计算。在进行条件生成的时候,LDM中的DM训练可以表示为下述公式:
在这里插入图片描述

三、模型训练与推理

 LDM的训练与VQGAN一样是分为两部分。首先是先训练感知自编码器(粉色部分),接着在潜在空间上训练DM。
 在进行推理的时候,先使用DM在潜在空间进行采样获得特征图,然后将其给解码器进行最终的图片生成。

总结

 LDM通过在潜在空间进行DM训练采样,在没有降低图像生成质量的情况下大大提高了训练和推理速度,同时基于cross-attention条件机制,LDM与当时的SOTA方法相比取得了很好的结果。

相关文章:

  • Javaweb学习之Vue数据绑定(五)
  • 经验笔记:选择消息中间件——RabbitMQ vs RocketMQ vs Apache Kafka
  • 【自动化】考试答题自动化完成答案,如何实现100%正确呢
  • springsecurity 在web中如何获取用户信息(后端/前端)
  • 普通项目解决跨域问题,springSecurity解决跨域问题以及文件配置
  • C++ 设计模式——迭代器模式
  • ATL宁德新能源25届校招社招:Verify测评及四色测评考什么?真题分析
  • es集群详解
  • Eureka的生命周期管理:服务注册、续约与下线的完整流程解析
  • Visual Basic调试全景:解锁高效开发的秘密武器
  • 数据结构——队的基本操作
  • MATLAB 地面点构建三角网(83)
  • c++ 谷歌的招聘 题解
  • 基于PHP的文件包含介绍
  • 英伟达财报引爆AI投资狂潮?华尔街众说纷纭
  • 利用“2+1链动模式小程序AI智能名片S2B2C商城源码”优化企业参与外部社群策略
  • Web前端性能优化合集
  • node-sass@^4.13.0 run postinstall node scripts/build.js error:
  • IS-IS路由基础配置
  • html2canvas ios慎用和createImageBitmap ios慎用
  • 中方拟解除对5名欧洲议会议员制裁?外交部:望中欧立法机构相向而行
  • 体坛联播|欧冠半决赛阿森纳主场不敌巴黎,北京男篮险胜山西
  • 160名老人报旅行团被扔服务区?张家界官方通报
  • 邮储银行一季度净赚超252亿降逾2%,营收微降
  • 上海科创的三种品格
  • 王毅会见泰国外长玛里:坚决有力打击电诈等跨境犯罪