门户网站建设所需条件,随县住房和城乡建设局网站,网站建设图片上传,国内顶尖设计椅子图片目录 概述DPMDDPM前向加噪反向去噪UNet 训练阶段推理阶段 IDDPMClassifier GuidanceGLIDELDM模型结构VAE扩散模型U-Net 训练阶段推理阶段 参考资料 概述
扩散模型#xff1a;和其他生成模型一样#xff0c;实现从噪声#xff08;采样自简单的分布#xff09;生成目标数据样… 目录 概述DPMDDPM前向加噪反向去噪UNet 训练阶段推理阶段 IDDPMClassifier GuidanceGLIDELDM模型结构VAE扩散模型U-Net 训练阶段推理阶段 参考资料 概述
扩散模型和其他生成模型一样实现从噪声采样自简单的分布生成目标数据样本。
扩散模型包含两个过程前向扩散过程和反向生成过程 前向扩散过程是对一张图像逐渐添加高斯噪音直至变成随机噪音 反向生成过程是去噪音过程我们将从一个随机噪音开始逐渐去噪音直至生成一张图像这也是我们要求解或者训练的部分。 去噪过程一般采用UNet或者ViT使用t步的结果和条件输入预测t-1步增加的噪声然后使用DDPM可以得到t-1步的分布经过多步迭代就可以从随机噪声还原到有实际意义的信号。如果使用原始DDPM速度会慢很多所以很多工作如DDIM、FastDPM等工作实现了解码加速。 DPM
Diffusion Probabilistic Models
《Deep Unsupervised Learning using Nonequilibrium Thermodynamics》2015
首次提出 完成了整体框架和数学推导式子
扩散模型是借鉴了物理学上的扩散过程
在生成模型上分为正向和逆向的过程。 正向过程是向信号中逐渐每步加少量噪声当步数足够大时可以认为信号符合一个高斯分布。 所以逆向过程就是从随机噪声出发逐渐的去噪最终还原成原有的信号。
DDPM
《Denoising Diffusion Probabilistic Models》2020
《去噪扩散概率模型》 真正应用于cvnlp的任务首次将它在高分辨率图像生成上调试与UNet网络高度契合让众人看到了Diffusion在视觉方面的潜力。
DDPM 主要分为两个过程
forward 加噪过程从右往左:加噪过程是指向数据集中的真实图像逐步加入高斯噪声, 加噪过程满足一定的数学规律不需要学习reverse 去噪过程从左往右:去噪过程是指对加了噪声的图片逐步去噪从而还原出真实图像。去噪过程则采用神经网络模型来学习。这样一来神经网络模型就可以从一堆杂乱无章的噪声图片中生成真实图片了。 前向加噪
扩散过程时逐步加噪的过程, 符合马尔科夫假设, 每一步的噪声都是高斯噪声正向扩散过程属于无参模型不需要进行学习 ** 前向加噪可以使用公式一次计算到位 代码实现
反向去噪
从高斯噪声中采样学习一个模型估计真实的条件概率分布从上一状态到下一状态的条件概率模型 也可以直接计算任意状态的分布因此可以直接采样然后和真实图像计算均方误差 用一个 U-Net 结构来对t时刻的噪声进行预测
UNet
UNet可以实现输出和输入一样维度所以天然适合扩散模型。
2015 传统深度学习时代的早期U-Net: Convolutional Networks for Biomedical Image SegmentationU-Net正式发表图像分割领域迎来了它的“ResNet”。
Encoder-Decoder结构 训练阶段
训练U-Net 对 t 时刻的噪声进行预测。
训练数据采样 x0, t 作为先计算 xt
输入xt , time_step
输出噪声z分布
推理阶段 IDDPM
《Improved Denoising Diffusion Probabilistic Models》
比原始DDPM一个重要的变化是不再采用固定的方差而是采用网络来预测方差。在DDPM中生成过程的分布采用一个参数化的高斯分布来建模。
Classifier Guidance
《Diffusion Models Beat GANs on Image Synthesis》2020
openAI在2020年发表的一篇文章。文章从模型结构入手通过扩大模型容量在图像生成任务上击败了当时的SOTA Big GAN。
此外还提出了Classifier guidance用于控制扩散模型生成指定类型的图像
分类器指导的思想与其进行噪声预测时的想法类似主要是修改高斯分布的均值参数来指导图像按类别生成有一个超参数s表示指导的程度算法如下
提出了一种Classifier Guidance的带条件图像生成方法大大拓展了Diffusion Models的使用场景。
一是需要额外训练一个噪声版本的图像分类器。二是该分类器的质量会影响按类别生成的效果。三
GLIDE
《Classifier-Free Diffusion Guidance》2021
Classifier-Free Guidance的核心是通过一个隐式分类器来替代显示分类器而无需直接计算显式分类器及其梯度。
《Hierarchical Text-Conditional Image Generation with CLIP Latents》
《GLIDE: Towards Photorealistic Image Generation and Editing with Text-Guided Diffusion Models》
LDM
《High-resolution image synthesis with latent diffusion models》 2022
《使用隐式扩散模型进行高分辨率图像合成》
以前的扩散模型diffusion models (DMs) 基于像素级别的其需要上百个GPU day 进行训练。
LDMlatent diffusion model 潜空间扩散模型是基于latent, 在减少计算复杂度和保留细节、提升保真度中接近了最佳。
LDMs是两阶段模型two-stage: 采用一个autoencoder来将图像压缩为低维度的latent可减少计算复杂度 然后输入扩散模型, 扩散模型用来生成latent然后再采用autoencoder来重建出图像。
详细过程如下图所示 第一部分就是下面左半部分红色对图片进行压缩将图片压缩为隐变量表示latent这样可以减少计算复杂度 第二部分还是扩散模型diffusion与denoising中间绿色部分。此外引入了cross-attention机制下图右半部分方便文本或者图片草稿图等对扩散模型进行施加影响从而生成我们想要的图片比如根据文本生成我们想要的图片。 模型结构
VAE
自编码模型对原图片进行处理忽略掉图片中的高频信息只保留重要、基础的一些特征。
这种方法带来的的好处是能够大幅降低训练和采样阶段的计算复杂度让文图生成等任务能够在消费级GPU上在10秒级别时间生成图片大大降低了落地门槛。
扩散模型U-Net
解释为一个时序去噪自编码器
训练阶段
训练本质上是一个两阶段训练的过程 第一阶段需要训练一个自编码器。 在通用自编码阶段我们只需要训练一次因此可以将其重复用于多个 DM 的训练或探索可能完全不同的任务 在第一阶段训练自编码器时为了避免潜在表示空间出现高度的异化作者使用了两种正则化方法一种是KL-reg另一种是VQ-reg因此在官方发布的一阶段预训练模型中会看到KL和VQ两种实现。 KL-reg在一个标准正态分布中引入一个KL惩戒因子类似于VAE VQ-reg在解码器 D 中加入一个向量量化层类似于VQGAN 第二阶段才需要训练扩散模型本身。
在Stable Diffusion中主要采用AutoencoderKL这种实现。 推理阶段 模型使用VAE将图片encoder到隐空间生成结果同样也是通过VAE解码成原始大小的图片。
参考资料
DDPM
大白话AI 图像生成模型DDPM |
Diffusion DDPM 1 - 概述