Latent Diffusion Models / Stable Diffusion(LDM)

这篇具有很好参考价值的文章主要介绍了Latent Diffusion Models / Stable Diffusion(LDM)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

High-Resolution Image Synthesis with Latent Diffusion Models(CVPR 2022)
https://arxiv.org/abs/2112.10752
latent-diffusion
stable-diffusion

cross-attention(用于多模态任务)

Cross-attention vs Self-attention:Cross-attention的输入来自不同的序列,Self-attention的输入来自同序列,也就是所谓的输入不同,但是除此之外,基本一致。

假设有文本数据和图像数据:

1.文本通过一个Transformer编码器处理,输出作为查询q向量。

2.图像通过CNN处理,输出经过线性变换生成键k和值v向量。

3.计算文本查询向量q与图像键向量k的点积,得到注意力分数。

4.使用这些分数对图像的值向量v进行加权,生成最终输出。


DDPM和LDM的区别和共同点

 Latent Diffusion Models / Stable Diffusion(LDM),Diffusion Model,stable diffusion

LDM基本思路:【论文将这个方法称之为感知压缩(Perceptual Compression)】:在AutoEncoder的编码器 E 对图片进行压缩 ==> 然后在潜在表示空间上做diffusion操作 ==> 最后再用解码器 D 恢复到原始像素空间

回顾DDPM:Diffusion Model(DDPM)训练过程就是训练UNet预测每一步的noise,从而逐步还原原始图像。原始图像空间的Diffusion Model目标函数如下:

共同点:这里函数  的参数使用神经网络UNet拟合,UNet在DDPM和LDM中的作用都是预测噪声。

区别:

1. 加入Autoencoder(上图中左侧红色部分),使得扩散过程在latent space下,提高图像生成的效率;

2. 加入条件机制,能够使用其他模态的数据控制图像的生成(上图中右侧灰色部分),其中条件生成控制通过Attention(上图中间部分QKV)机制实现。


论文贡献

  • Diffusion model相比GAN可以取得更好的图片生成效果,然而该模型是一种自回归模型,需要反复迭代计算,因此训练和推理代价都很高。论文提出一种在潜在表示空间(latent space)上进行diffusion过程的方法,从而能够大大减少计算复杂度,同时也能达到十分不错的图片生成效果。
  • 相比于其它空间压缩方法,论文提出的方法可以生成更细致的图像,并且在高分辨率图片生成任务(如风景图生成,百万像素图像)上表现得也很好。
  • 论文将该模型在无条件图片生成(unconditional image synthesis), 图片修复(inpainting),图片超分(super-resolution)任务上进行了实验,都取得了不错的效果。
  • 论文还提出了cross-attention的方法来实现多模态训练,使得条件图片生成任务也可以实现。论文中提到的条件图片生成任务包括类别条件图片生成(class-condition), 文图生成(text-to-image), 布局条件图片生成(layout-to-image)。这也为日后Stable Diffusion的开发奠定了基础。

使用Autoencoder减少需要的算力(感知压缩)

为了降低训练扩散模型的算力,LDMs使用一个Autoencoder去学习能尽量表达原始image space的低维空间表达(latent embedding),这样可以大大减少需要的算力。

自编码器的方法有几个优点:

  1. 通过离开高维图像空间,获得计算效率高得多的diffusion models,因为采样是在低维空间上进行的。
  2. 利用了从其UNet架构[71]继承而来的diffusion models的归纳偏差,这使它们对具有空间结构的数据特别有效,从而减轻了对之前方法所要求的激进的、降低质量的压缩水平的需求。
  3. 得到了通用的压缩模型,其潜空间可用于训练多个生成模型,也可用于其他下游应用,如单图像片段引导的合成。

Latent Diffusion Models整体框架如上图,首先需要训练好一个自编码模型(AutoEncoder,包括一个编码器 E 和一个解码器 D )。这样一来,我们就可以利用编码器对图片进行压缩,然后在潜在表示空间上做diffusion操作,最后我们再用解码器恢复到原始像素空间即可,论文将这个方法称之为感知压缩(Perceptual Compression)。个人认为这种将高维特征压缩到低维,然后在低维空间上进行操作的方法具有普适性,可以很容易推广到文本、音频、视频等领域。

在潜在表示空间上做diffusion操作其主要过程和标准的扩散模型没有太大的区别,所用到的扩散模型的具体实现为 time-conditional UNet。但是有一个重要的地方是论文为diffusion操作引入了条件机制(Conditioning Mechanisms),通过cross-attention的方式来实现多模态训练,使得条件图片生成任务也可以实现。

下面我们针对感知压缩、扩散模型、条件机制的具体细节进行展开。

条件图像生成器

DDPM的UNet可以根据当前采样的t预测noise,但没有引入其他额外条件。但是LDM实现了“以文生图”,“以图生图”等任务,就是因为LDM在预测noise的过程中加入了条件机制,即通过一个编码器(encoder)将条件和Unet连接起来。

将条件嵌入UNet中

Latent Diffusion Models / Stable Diffusion(LDM),Diffusion Model,stable diffusion

这里引入一个新的encoder E(这个是用于条件编码的encoder,和上面提到的用于降维的是不同的)来将条件 y 映射到 T(y)

LDM训练阶段

训练阶段每个模块之间的交互如图:

Latent Diffusion Models / Stable Diffusion(LDM),Diffusion Model,stable diffusion

 

LDM推理阶段

Latent Diffusion Models / Stable Diffusion(LDM),Diffusion Model,stable diffusion

一文读懂Stable Diffusion 论文原理+代码超详细解读 - 知乎文章来源地址https://www.toymoban.com/news/detail-831783.html

到了这里,关于Latent Diffusion Models / Stable Diffusion(LDM)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【论文简介】Stable Diffusion的基础论文:2112.High-Resolution Image Synthesis with Latent Diffusion Models

    稳定扩散生成模型(Stable Diffusion)是一种潜在的文本到图像扩散模型,能够在给定任何文本输入的情况下生成照片般逼真的图像 Stable Diffusion 是基于 latent-diffusion 并与 Stability AI and Runway合作实现的 paper: High-Resolution Image Synthesis with Latent Diffusion Models 本论文代码 :https://github.co

    2024年02月08日
    浏览(38)
  • Latent Diffusion(Stable Diffusion) 论文译文

    Latent Diffusion(Stable Diffusion) 论文译文: Latent Diffusion(Stable Diffusion) 论文译文 以下是 附录 的 H、其他定性结果: 最后,我们为我们的景观模型(图12、23、24和25)、我们的类条件ImageNet模型(图26-27)以及我们的CelebA-HQ、FFHQ和LSUN数据集的无条件模型(图28-31)提供了额外

    2024年02月15日
    浏览(36)
  • Stable diffusion相比于latent diffusion有哪些改进?

    Stable Diffusion是对Latent Diffusion模型的改进,主要在以下方面进行了优化: 稳定性:Stable Diffusion模型引入了稳定性措施,通过限制每一步噪声向量的大小来防止梯度爆炸或消失问题的出现。这一改进使得模型在训练过程中更加稳定和可靠。 训练速度:Stable Diffusion模型通过减少

    2024年02月16日
    浏览(29)
  • 复现问题记录 | Stable Diffusion(LDM) (in python3)(一)

    记录复现LDM遇到的问题 conda env create -f environment.yaml 根据environment.yaml创建一个叫ldm的新环境 其中报错是需要github下载的两个模型无法获取,通过VPN单独下载 根据报错信息显示 代码放在./src文件夹下 注意一下 模型的文件名 ,根据报错和yaml分析,这里应该是用的environment.yam

    2023年04月18日
    浏览(44)
  • 由浅入深理解latent diffusion/stable diffusion(4):扩散模型的法律风险

    Diffusion Models专栏文章汇总:入门与实战 前言: 扩散模型在学术界如火如荼地发展, 但是生成模型本身就有很多法律风险,如果未经权利人许可下载原始数据生成模型,是否构成对原始数据版权的侵犯?谁拥有生成模型自动创建的萌字符图像的权利?如果模型自动生成的图像

    2024年02月08日
    浏览(46)
  • 由浅入深理解latent diffusion/stable diffusion(2):扩散生成模型的工作原理

    Diffusion Models专栏文章汇总:入门与实战 前言: 关于如何使用stable diffusion的文章已经够多了,但是由浅入深探索stable diffusion models背后原理,如何在自己的科研中运用stable diffusion预训练模型的博客少之又少。本系列计划写5篇文章,和读者一起遨游diffusion models的世界!本文主

    2024年02月08日
    浏览(54)
  • AI绘画Stable Diffusion原理之Autoencoder-Latent

    传送门: stable diffusion:Git|论文 stable-diffusion-webui:Git Google Colab Notebook部署stable-diffusion-webui:Git kaggle Notebook部署stable-diffusion-webui:Git AI绘画,输入一段文本就能生成相关的图像,stable diffusion便是其中一个重要分支。自己对其中的原理比较感兴趣,因此开启这个系列的文章

    2024年02月15日
    浏览(37)
  • 由浅入深理解Latent Diffusion/Stable Diffusion(5):利用预训练模型快速开始自己的科研任务

    本系列博客导航 由浅入深理解latent diffusion/stable diffusion(1):写给初学者的图像生成入门课 由浅入深理解latent diffusion/stable diffusion(2):扩散生成模型的工作原理 由浅入深理解latent diffusion/stable diffusion(3):一步一步搭建自己的stable diffusion models

    2024年02月12日
    浏览(48)
  • LoRA微调stable diffusion models:原理和实战

    Diffusion Models专栏文章汇总:入门与实战 前言: AIGC大模型(如stable diffusion models)的训练成本已经超过绝大多数人的承受范围,如何利用已有的开源大模型,花费较小的成本微调出属于自己的专有模型?现在微调方法diffusion大模型基本只剩下Dreambooth、textual inversion、LoRA和Hypern

    2024年02月09日
    浏览(54)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包