扩散模型(三)

相关阅读:

  • 扩散模型(一)

  • 扩散模型(二)

Latent Variable Space

潜在扩散模型(LDM;龙巴赫、布拉特曼等人,2022 年)在潜在空间而非像素空间中运行扩散过程,这使得训练成本更低,推理速度更快。其背后的动机源于这样一个观察结果:图像的大部分信息仅关乎感知细节,而在经过大幅压缩后,语义和概念层面的构图依然保留。LDM 通过生成式建模学习,大致将感知压缩和语义压缩分离开来。首先,利用自动编码器去除像素级冗余,然后在学习到的潜在空间上,通过扩散过程操控 / 生成语义概念。

感知压缩过程依赖于一个自动编码器模型。编码器 E \mathcal{E} E 用于将输入图像 x ∈ R H × W × 3 \mathbf{x} \in \mathbb{R}^{H \times W \times 3} xRH×W×3 压缩为一个更小的二维潜在向量: z = E ( x ) ∈ R h × w × c \mathbf{z} = \mathcal{E}(\mathbf{x}) \in \mathbb{R}^{h \times w \times c} z=E(x)Rh×w×c,其中,下采样率 f = H / h = W / w = 2 m , m ∈ N f=H/h=W/w=2^m, m \in \mathbb{N} f=H/h=W/w=2m,mN。然后,解码器 D \mathcal{D} D 从潜在向量中重建图像,即 x ~ = D ( z ) \tilde{\mathbf{x}} = \mathcal{D}(\mathbf{z}) x~=D(z)。该论文在自动编码器训练中探索了两种正则化方法,以避免潜在空间中出现过高的方差。

  • KL 正则化:对学习到的潜在变量施加一个朝向标准正态分布的小 KL 惩罚项,这与变分自编码器(VAE)类似。
  • VQ 正则化:在解码器中使用向量量化层,类似于向量量化变分自编码器(VQVAE),但量化层被解码器吸收。

扩散和去噪过程发生在潜在向量 z \mathbf{z} z 上。去噪模型是一个时间条件 U 型网络,通过增加交叉注意力机制来处理图像生成中灵活的条件信息(例如类别标签、语义图、图像的模糊变体)。这种设计等同于通过交叉注意力机制将不同模态的表示融合到模型中。每种类型的条件信息都与一个特定领域的编码器 τ θ \tau_\theta τθ 配对,以将条件输入 y y y 投影到一个中间表示,该中间表示可以映射到交叉注意力组件中,即 τ θ ( y ) ∈ R M × d τ \tau_\theta(y) \in \mathbb{R}^{M \times d_\tau} τθ(y)RM×dτ:

Attention ( Q , K , V ) = softmax ( Q K ⊤ d ) ⋅ V where  Q = W Q ( i ) ⋅ φ i ( z i ) , K = W K ( i ) ⋅ τ θ ( y ) , V = W V ( i ) ⋅ τ θ ( y ) and  W Q ( i ) ∈ R d × d ϵ i , W K ( i ) , W V ( i ) ∈ R d × d τ , φ i ( z i ) ∈ R N × d ϵ i , τ θ ( y ) ∈ R M × d τ \begin{aligned} &\text{Attention}(\mathbf{Q}, \mathbf{K}, \mathbf{V}) = \text{softmax}\Big(\frac{\mathbf{Q}\mathbf{K}^\top}{\sqrt{d}}\Big) \cdot \mathbf{V} \\ &\text{where }\mathbf{Q} = \mathbf{W}^{(i)}_Q \cdot \varphi_i(\mathbf{z}_i),\; \mathbf{K} = \mathbf{W}^{(i)}_K \cdot \tau_\theta(y),\; \mathbf{V} = \mathbf{W}^{(i)}_V \cdot \tau_\theta(y) \\ &\text{and } \mathbf{W}^{(i)}_Q \in \mathbb{R}^{d \times d^i_\epsilon},\; \mathbf{W}^{(i)}_K, \mathbf{W}^{(i)}_V \in \mathbb{R}^{d \times d_\tau},\; \varphi_i(\mathbf{z}_i) \in \mathbb{R}^{N \times d^i_\epsilon},\; \tau_\theta(y) \in \mathbb{R}^{M \times d_\tau} \end{aligned} Attention(Q,K,V)=softmax(d QK)Vwhere Q=WQ(i)φi(zi),K=WK(i)τθ(y),V=WV(i)τθ(y)and WQ(i)Rd×dϵi,WK(i),WV(i)Rd×dτ,φi(zi)RN×dϵi,τθ(y)RM×dτ

在这里插入图片描述
图 14:The architecture of the latent diffusion model (LDM).

Scale up Generation Resolution and Quality

为了生成高分辨率的高质量图像,霍等人(2021)提议采用由多个扩散模型组成的流水线,这些模型的分辨率逐步提高。流水线模型之间的噪声条件增强对于最终图像质量至关重要,具体做法是对每个超分辨率模型 p θ ( x ∣ z ) p_\theta(\mathbf{x} \vert \mathbf{z}) pθ(xz) 的条件输入 z \mathbf{z} z 应用强大的数据增强。条件噪声有助于减少流水线设置中的复合误差。在用于高分辨率图像生成的扩散建模中,U 型网络是模型架构的常见选择。

在这里插入图片描述
图 15:A cascaded pipeline of multiple diffusion models at increasing resolutions.

他们发现,最有效的噪声应用方式是在低分辨率时使用高斯噪声,在高分辨率时使用高斯模糊。此外,他们还探索了两种条件增强形式,这些形式只需对训练过程进行小幅修改。需注意的是,条件噪声仅在训练时应用,推理时不使用。

  • 截断式条件增强会在低分辨率时,于步骤 t > 0 t > 0 t>0 提前终止扩散过程。
  • 非截断式条件增强会在低分辨率时运行完整的反向扩散过程直至步骤 0,然后通过 z t ∼ q ( x t ∣ x 0 ) \mathbf{z}_t \sim q(\mathbf{x}_t \vert \mathbf{x}_0) ztq(xtx0) 对其进行破坏,再将被破坏的 z t \mathbf{z}_t zt 输入到超分辨率模型中。

两阶段扩散模型 unCLIP(拉梅什等人,2022 年)大量利用 CLIP 文本编码器来高质量地生成文本引导的图像。给定一个预训练的 CLIP 模型 c c c 以及扩散模型的配对训练数据 ( x , y ) (\mathbf{x}, y) (x,y),其中 x x x 是一幅图像, y y y 是相应的图像说明,我们可以分别计算 CLIP 文本嵌入和图像嵌入,即 c t ( y ) \mathbf{c}^t(y) ct(y) c i ( x ) \mathbf{c}^i(\mathbf{x}) ci(x) 。unCLIP 并行学习两个模型:

  • 一个先验模型 P ( c i ∣ y ) P(\mathbf{c}^i \vert y) P(ciy):给定文本 y y y 时,输出 CLIP 图像嵌入 c i \mathbf{c}^i ci
  • 一个解码器 P ( x ∣ c i , [ y ] ) P(\mathbf{x} \vert \mathbf{c}^i, [y]) P(xci,[y]):给定 CLIP 图像嵌入 c i \mathbf{c}^i ci 以及(可选的)原始文本 y y y 时,生成图像 x \mathbf{x} x
    这两个模型能够实现条件生成,原因是

P ( x ∣ y ) = P ( x , c i ∣ y ) ⏟ c i is deterministic given  x = P ( x ∣ c i , y ) P ( c i ∣ y ) \underbrace{P(\mathbf{x} \vert y) = P(\mathbf{x}, \mathbf{c}^i \vert y)}_{\mathbf{c}^i\text{ is deterministic given }\mathbf{x}} = P(\mathbf{x} \vert \mathbf{c}^i, y)P(\mathbf{c}^i \vert y) ci is deterministic given x P(xy)=P(x,ciy)=P(xci,y)P(ciy)

在这里插入图片描述

  • 图 :The architecture of unCLIP

unCLIP 遵循两阶段图像生成过程:

    1. 给定一段文本 y y y,首先使用 CLIP 模型生成文本嵌入 c t ( y ) \mathbf{c}^t(y) ct(y)。利用 CLIP 潜在空间能够通过文本实现零样本图像操控。
    1. 一个扩散或自回归先验 P ( c i ∣ y ) P(\mathbf{c}^i \vert y) P(ciy) 对这个 CLIP 文本嵌入进行处理,构建一个图像先验,然后一个扩散解码器 P ( x ∣ c i , y ) P(\mathbf{x} \vert \mathbf{c}^i, y) P(xci,y) 根据该先验生成一幅图像。这个解码器还能以一幅图像作为输入条件,生成图像变体,同时保留其风格和语义。

与 unCLIP 使用 CLIP 模型不同,Imagen(萨哈里亚等人,2022 年)使用预训练的大型语言模型(即固定的 T5-XXL 文本编码器)对用于图像生成的文本进行编码。总体趋势是,模型规模越大,图像质量和文本与图像的对齐度越高。他们发现,T5 - XXL 和 CLIP 文本编码器在 MS-COCO 数据集上表现相近,但在 DrawBench(涵盖 11 个类别的提示词集合)上,人工评估更倾向于 T5-XXL。
在应用无分类器引导时,增加某个参数(此处你未提及具体参数)可能会使文本与图像的对齐度提高,但图像保真度下降。他们发现这是由于训练 - 测试不匹配导致的,也就是说,因为训练数据 x \mathbf{x} x 处于某个范围 [ − 1 , 1 ] [-1, 1] [1,1] 内,测试数据也应该在这个范围内。为此引入了两种阈值策略:

  • 静态阈值处理:将预测值 x \mathbf{x} x 裁剪到 [ − 1 , 1 ] [-1, 1] [1,1]
  • 动态阈值处理:在每个采样步骤中,将计算 s s s 为某个百分比的绝对像素值;如果 s > 1 s > 1 s>1,将预测值裁剪到 [ − s , s ] [-s, s] [s,s] 并除以 s s s

Imagen 对 U-Net 的一些设计进行了修改,以构建高效的 U-Net。

  • 参数调整:通过为较低分辨率添加更多残差连接,将模型参数从高分辨率模块转移到低分辨率模块。
  • 跳跃连接缩放:按比例 1 / 2 1/\sqrt{2} 1/2 缩放跳跃连接。
  • 操作顺序调整:颠倒下采样(将其移到卷积之前)和上采样操作(将其移到卷积之后)的顺序,以提高前向传播的速度。

他们发现,噪声条件增强、动态阈值处理和高效 U-Net 对图像质量至关重要,但扩展文本编码器的大小比扩展 U-Net 的大小更为重要。

Model Architecture

扩散模型有两种常见的骨干网络架构选择:U-Net 和 Transformer。
U-Net(罗内贝格等人,2015 年)由一个下采样堆栈和一个上采样堆栈组成。

  • 下采样:每一步都重复应用两个 3×3 卷积(无填充卷积),每个卷积之后接一个 ReLU 激活函数和一个步长为 2 的 2×2 最大池化层。在每个下采样步骤中,特征通道的数量翻倍。
  • 上采样:每一步都先对特征图进行上采样,然后接一个 2×2 卷积,每一步都会使特征通道的数量减半。
  • 捷径连接(Shortcuts):捷径连接将下采样堆栈中相应层的特征进行拼接,为上采样过程提供必要的高分辨率特征。

为了实现基于诸如 Canny 边缘、霍夫线、用户涂鸦、人体骨骼、分割图、深度和法线等额外图像信息进行图像合成,ControlNet(张等人,2023 年)对架构进行了改动。具体做法是在 U-Net 的每个编码器层中添加 “夹心” 式零卷积层,这些零卷积层使用原始模型权重的可训练副本。确切地说,对于一个神经网络模块 F θ ( . ) \mathcal{F}_\theta(.) Fθ(.),ControlNet 执行以下操作:

  • 首先,冻结原始模块的原始参数 θ \theta θ
  • 将其克隆为一个具有可训练参数 θ c \theta_c θc 以及一个额外条件向量 c \mathbf{c} c 的副本。
  • 使用两个零卷积层,分别记为 Z θ z 1 ( . ; . ) \mathcal{Z}_{\theta_{z1}}(.;.) Zθz1(.;.) Z θ z 2 ( . ; . ) \mathcal{Z}_{\theta_{z2}}(.;.) Zθz2(.;.),这两个层是 1×1 卷积层,权重和偏置都初始化为零,用于连接这两个模块。零卷积层在初始训练步骤中通过消除作为梯度的随机噪声来保护主干网络。

在这里插入图片描述
图:The ControlNet architecture.

最终输出为: y c = F θ ( x ) + Z θ z 2 ( F θ c ( x + Z θ z 1 ( c ) ) ) \mathbf{y}_c = \mathcal{F}_\theta(\mathbf{x}) + \mathcal{Z}_{\theta_{z2}}(\mathcal{F}_{\theta_c}(\mathbf{x} + \mathcal{Z}_{\theta_{z1}}(\mathbf{c}))) yc=Fθ(x)+Zθz2(Fθc(x+Zθz1(c)))

用于扩散建模的扩散变换器(DiT;皮布尔斯和谢,2023 年)在潜在图像块上进行操作,采用与潜在扩散模型(LDM)相同的设计空间。DiT 具有以下设置:

    1. 将输入 z \mathbf{z} z 的潜在表示作为 DiT 的输入。
    1. 将大小为 I × I × C I \times I \times C I×I×C 的噪声潜在表示分割成大小为 p p p 的图像块,并将其转换为大小为 ( I / p ) 2 (I/p)^2 (I/p)2 的图像块序列。
    1. 然后,这个标记序列通过变换器模块。他们探索了三种不同的设计,以确定如何根据诸如时间步 t t t 或类别标签 c c c 等上下文信息进行生成。在这三种设计中,adaLN(自适应层归一化)-Zero 的效果最佳,优于上下文条件和交叉注意力模块。缩放和平移参数 γ \gamma γ β \beta β t t t c c c 的嵌入向量之和回归得到。维度缩放参数 α \alpha α 同样通过回归得到,并在 DiT 模块内的任何残差连接之前立即应用。
    1. 变换器解码器输出噪声预测和输出对角协方差预测。

变换器架构易于扩展,这一点广为人知。根据实验,这是 DiT 的最大优势之一,因为其性能随着计算量的增加而提升,并且更大的 DiT 模型计算效率更高。

在这里插入图片描述

图:The Diffusion Transformer (DiT) architecture.

参考:
What are Diffusion Models?
Weng, Lilian. (Jul 2021). What are diffusion models? Lil’Log. https://lilianweng.github.io/posts/2021-07-11-diffusion-models/.

References

[1] Jascha Sohl-Dickstein et al. “Deep Unsupervised Learning using Nonequilibrium Thermodynamics.” ICML 2015.

[2] Max Welling & Yee Whye Teh. “Bayesian learning via stochastic gradient langevin dynamics.” ICML 2011.

[3] Yang Song & Stefano Ermon. “Generative modeling by estimating gradients of the data distribution.” NeurIPS 2019.

[4] Yang Song & Stefano Ermon. “Improved techniques for training score-based generative models.” NeuriPS 2020.

[5] Jonathan Ho et al. “Denoising diffusion probabilistic models.” arxiv Preprint arxiv:2006.11239 (2020). [code]

[6] Jiaming Song et al. “Denoising diffusion implicit models.” arxiv Preprint arxiv:2010.02502 (2020). [code]

[7] Alex Nichol & Prafulla Dhariwal. “Improved denoising diffusion probabilistic models” arxiv Preprint arxiv:2102.09672 (2021). [code]

[8] Prafula Dhariwal & Alex Nichol. “Diffusion Models Beat GANs on Image Synthesis.” arxiv Preprint arxiv:2105.05233 (2021). [code]

[9] Jonathan Ho & Tim Salimans. “Classifier-Free Diffusion Guidance.” NeurIPS 2021 Workshop on Deep Generative Models and Downstream Applications.

[10] Yang Song, et al. “Score-Based Generative Modeling through Stochastic Differential Equations.” ICLR 2021.

[11] Alex Nichol, Prafulla Dhariwal & Aditya Ramesh, et al. “GLIDE: Towards Photorealistic Image Generation and Editing with Text-Guided Diffusion Models.” ICML 2022.

[12] Jonathan Ho, et al. “Cascaded diffusion models for high fidelity image generation.” J. Mach. Learn. Res. 23 (2022): 47-1.

[13] Aditya Ramesh et al. “Hierarchical Text-Conditional Image Generation with CLIP Latents.” arxiv Preprint arxiv:2204.06125 (2022).

[14] Chitwan Saharia & William Chan, et al. “Photorealistic Text-to-Image Diffusion Models with Deep Language Understanding.” arxiv Preprint arxiv:2205.11487 (2022).

[15] Rombach & Blattmann, et al. “High-Resolution Image Synthesis with Latent Diffusion Models.” CVPR 2022.code

[16] Song et al. “Consistency Models” arxiv Preprint arxiv:2303.01469 (2023)

[17] Salimans & Ho. “Progressive Distillation for Fast Sampling of Diffusion Models” ICLR 2022.

[18] Ronneberger, et al. “U-Net: Convolutional Networks for Biomedical Image Segmentation” MICCAI 2015.

[19] Peebles & Xie. “Scalable diffusion models with transformers.” ICCV 2023.

[20] Zhang et al. “Adding Conditional Control to Text-to-Image Diffusion Models.” arxiv Preprint arxiv:2302.05543 (2023).

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

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

相关文章

git基础使用--4---git分支和使用

文章目录 git基础使用--4---git分支和使用1. 按顺序看2. 什么是分支3. 分支的基本操作4. 分支的基本操作4.1 查看分支4.2 创建分支4.3 切换分支4.4 合并冲突 git基础使用–4—git分支和使用 1. 按顺序看 -git基础使用–1–版本控制的基本概念 -git基础使用–2–gti的基本概念…

8.攻防世界Web_php_wrong_nginx_config

进入题目页面如下 尝试弱口令密码登录 一直显示网站建设中,尝试无果,查看源码也没有什么特别漏洞存在 用Kali中的dirsearch扫描根目录试试 命令: dirsearch -u http://61.147.171.105:53736/ -e* 登录文件便是刚才登录的界面打开robots.txt…

【漫话机器学习系列】076.合页损失函数(Hinge Loss)

Hinge Loss损失函数 Hinge Loss(合页损失),也叫做合页损失函数,广泛用于支持向量机(SVM)等分类模型的训练过程中。它主要用于二分类问题,尤其是支持向量机中的优化目标函数。 定义与公式 对于…

python算法和数据结构刷题[5]:动态规划

动态规划(Dynamic Programming, DP)是一种算法思想,用于解决具有最优子结构的问题。它通过将大问题分解为小问题,并找到这些小问题的最优解,从而得到整个问题的最优解。动态规划与分治法相似,但区别在于动态…

本地Deepseek添加个人知识库(Page Assist/AnythingLLM)

本地Deepseek两种方法建立知识库 前言 (及个人测试结论)法一、在Page Assist建立知识库step1 下载nomic-embed-textstep2 加载进Page Assiststep3 添加知识step4 对话框添加知识库 法二、在AnythingLLM建立知识库准备工作1.下载nomic-embed-text2.下载An…

记8(高级API实现手写数字识别

目录 1、Keras:2、Sequential模型:2.1、建立Sequential模型:modeltf.keras.Sequential()2.2、添加层:model.add(tf.keras.layers.层)2.3、查看摘要:model.summary()2.4、配置训练方法:model.compile(loss,o…

grpc 和 http 的区别---二进制vsJSON编码

gRPC 和 HTTP 是两种广泛使用的通信协议,各自适用于不同的场景。以下是它们的详细对比与优势分析: 一、核心特性对比 特性gRPCHTTP协议基础基于 HTTP/2基于 HTTP/1.1 或 HTTP/2数据格式默认使用 Protobuf(二进制)通常使用 JSON/…

文字投影效果

大家好,我是喝西瓜汁的兔叽,今天给大家分享一个常见的文字投影效果。 效果展示 我们来实现一个这样的文字效果。 思路分析 这样的效果如何实现的呢? 实际上是两组相同的文字,叠合在一块,只不过对应的css不同罢了。 首先&…

图像处理之图像灰度化

目录 1 图像灰度化简介 2 图像灰度化处理方法 2.1 均值灰度化 2.2 经典灰度化 2.3 Photoshop灰度化 2.4 C语言代码实现 3 演示Demo 3.1 开发环境 3.2 功能介绍 3.3 下载地址 参考 1 图像灰度化简介 对于24位的RGB图像而言,每个像素用3字节表示&#xff0…

【课题推荐】基于t分布的非高斯滤波框架在水下自主导航中的应用研究

水下自主导航系统在海洋探测、环境监测及水下作业等领域具有广泛的应用。然而,复杂的水下环境常常导致传感器输出出现野值噪声,这些噪声会严重影响导航信息融合算法的精度,甚至导致系统发散。传统的卡尔曼滤波算法基于高斯噪声假设&#xff0…

知识库管理系统为企业赋能与数字化转型的关键解决方案分析

内容概要 在当今快速发展的商业环境中,知识库管理系统成为企业进行数字化转型的重要支撑工具。这类系统不仅可以帮助企业高效整合和管理其知识资产,还能提升信息共享与沟通的效率。通过科学的知识管理策略,企业可以在动态市场中实现精益管理…

HTML(快速入门)

欢迎大家来到我的博客~欢迎大家对我的博客提出指导,有错误的地方会改进的哦~点击这里了解更多内容 目录 一、前言二、HTML基础2.1 什么是HTML?2.2 认识HTML标签2.2.1 HTML标签当中的基本结构2.2.2 标签层次结构 2.3 HTML常见标签2.3.1 标题标签2.3.2 段落标签2.3.3…

vue入门到实战 二

目录 2.1 计算属性computed 2.1.1什么是计算属性 2.1.2 只有getter方法的计算属性 2.1.3 定义有getter和setter方法的计算属性 2.1.4 计算属性和methods的对比 2.2 监听器属性watch 2.2.1 watch属性的用法 2.2.2 computed属性和watch属性的对比 2.1 计算属性computed…

Python从0到100(八十六):神经网络-ShuffleNet通道混合轻量级网络的深入介绍

前言: 零基础学Python:Python从0到100最新最全教程。 想做这件事情很久了,这次我更新了自己所写过的所有博客,汇集成了Python从0到100,共一百节课,帮助大家一个月时间里从零基础到学习Python基础语法、Pyth…

Baklib赋能企业实现高效数字化内容管理提升竞争力

内容概要 在数字经济的浪潮下,企业面临着前所未有的机遇与挑战。随着信息技术的迅猛发展,各行业都在加速推进数字化转型,以保持竞争力。在这个过程中,数字化内容管理成为不可或缺的一环。高效的内容管理不仅能够优化内部流程&…

六十分之三十七——一转眼、时光飞逝

一、目标 明确可落地,对于自身执行完成需要一定的努力才可以完成的 1.第三版分组、激励、立体化权限、智能设备、AIPPT做课 2.8本书 3.得到:头条、吴军来信2、卓克科技参考3 4.总结思考 二、计划 科学规律的,要结合番茄工作法、快速阅读、…

实验十 Servlet(一)

实验十 Servlet(一) 【实验目的】 1.了解Servlet运行原理 2.掌握Servlet实现方式 【实验内容】 1、参考课堂例子,客户端通过login.jsp发出登录请求,请求提交到loginServlet处理。如果用户名和密码相同则视为登录成功&#xff0c…

基于springboot+vue的哈利波特书影音互动科普网站

开发语言:Java框架:springbootJDK版本:JDK1.8服务器:tomcat7数据库:mysql 5.7(一定要5.7版本)数据库工具:Navicat11开发软件:eclipse/myeclipse/ideaMaven包:…

【python】四帧差法实现运动目标检测

四帧差法是一种运动目标检测技术,它通过比较连续四帧图像之间的差异来检测运动物体。这种方法可以在一定的程度上提高检测的准确性。 目录 1 方案 2 实践 ① 代码 ② 效果图 1 方案 具体的步骤如下: ① 读取视频流:使用cv2.VideoCapture…

Chapter2 Amplifiers, Source followers Cascodes

Chapter2 Amplifiers, Source followers & Cascodes MOS单管根据输入输出, 可分为CS放大器, source follower和cascode 三种结构. Single-transistor amplifiers 这一章学习模拟电路基本单元-单管放大器 单管运放由Common-Source加上DC电流源组成. Avgm*Rds, gm和rds和…